Forum Replies Created
-
AuthorPosts
-
peterlaursen
ParticipantPlease tell your setting for the 'lower_case_table_names' variable?
(“SHOW GLOBAL STATUS LIKE 'lower_case_table_names';”)
peterlaursen
ParticipantI don't think we can do this for technical reasons. SQLyog is a C++/Windows API program and the Windows API's “tab control” does not have an 'undock' option for a tab or a pane.
I have seen several program that have this option. I believe they may have been Delphi programs. If I am right, the Delphi runtime has that option, but the Windows API has not. It is of course possible to write a 'custom control' defining an 'undockable' tab. But it is non-trivial (very complicated actually) to do. We also had this request before – in particular from users using a multi-monitor setup. As far as I remember we discussed it many years ago, and decided that the benefit would not justify the effort.
A workaround is to open 2 SQLyog instances and connect to same database/server from both and arrange the 2 program windows in such a way that you can see at the same time what you want to see..
peterlaursen
ParticipantI think we should rather concentrate on why connection is lost? Is it a network stability issue?
I also know that some cheap 'shared hosting' will kill queries running for long time.
If so what do you expect a client can do about it? You can by framing the query (use REPLACE/INSERT ON DUPLICATE KEY .. REPLACE|IGNORE statements rather than plain INSERT statements for instance).
Not resubmitting the query may also leave the database in an inconsistent state
peterlaursen
ParticipantNow you know what file stores the data. So as long we have not resolved why this happens, please keep a backup of that file.
peterlaursen
ParticipantSQLyog.ini is stored in {system_drive}:Users{user}AppDataRoamingSQLyog (for the {user} that installed it).
(note that AppDATA is a hidden folder unless you unhided it from Control Panel .. Folder Settings
This is not a normal problem. We have only very sporadic reports like this (maybe a few per year). The installer simply does not touch the AppData folder – only the SQLyog executable does. One reason could be some 'security software' interacting *thinking that this is not the real SQLyog* after an upgrade. This is called 'masquerading protection'. What do you use of 'security softwares'?
peterlaursen
ParticipantPlease tell:
1) Did you upgade SQLyog? If so from what version?
2) What is the Windows version you are using?
peterlaursen
ParticipantLet me just add that if you use the 'mysql' command line client, you will also have to wait for the server response after sending a query. The client interface is not usable before some kind of server response has been received.
But you can have more instances of the 'mysql' command line client open at the same time – just as you can have more connections open (to same or to different servers) in SQLyog.
peterlaursen
ParticipantOk .. I think I understand now.
It is a limitation with the MySQL client/server protocol (and not specific for SQLyog) that a connection can only handle one query at at time (tthe protocol does not have 'support for parallelism of queries' . This is unlike other – MS SQL Server for instance as far as I know). When a query is sent to the server the client is in an 'idle wait-state' untill the server has responded (with a result set, a message or an error).
You will need to open multiple connections to the server to do things in parallel (CTRL+N is the keyboard shortcut for this).
The MySQL protocol is documented here: http://dev.mysql.com/doc/internals/en/client-server-protocol.html
peterlaursen
ParticipantWhat is the exact SQLyog version you are using? Please ensure that it is 11.25 (released yesterday – refer http://blog.webyog.c…11-25-released/).
peterlaursen
ParticipantWe believe we have fixed this. If you need the fix before next public release, please mail [email protected] and we can provide you a not-yet-released build with the fix.
peterlaursen
ParticipantI have added this request here: http://code.google.com/p/sqlyog/issues/detail?id=1974
This will not go in 'next release'. The next release (or next few releases) will be bug fix releases. Saving query tab contents will likely take a few months. And I am not sure about Schema Designer, Query Builder and Data Search tabs. We may not include those from the beginning (there is no detailed plan at the moment).
peterlaursen
ParticipantWe had one more report (http://forums.webyog.com/index.php?showtopic=7287).
Can you please tell if the user, you connect as, has defined “REQUIRE SSL”?
Simply execute “SHOW GRANTS FOR 'user'¨@'host';”
(replace 'user'¨and 'host' with actual values)
peterlaursen
ParticipantAnd finally .. the whole discussion here arises because of InnoDB. In MyISAM there is no such issue. Because MyISAM locks the whole table (and not only rows as InnoDB does) when executing and INSERT, UPDATE or DELETE statements.
peterlaursen
ParticipantA quote on “Bulk inserts”
“Statements for which the number of rows to be inserted (and the number of required auto-increment values) is not known in advance. This includes INSERT … SELECT, REPLACE … SELECT, and LOAD DATA statements, but not plain INSERT. InnoDB will assign new values for the AUTO_INCREMENT column one at a time as each row is processed.”.
Now, please understand (if you don't already) that it is the server that assigns the values. It is not the client/SQLyog. You are welcome to ask such questions here in this Forum, but in principle your question here is for the server and not for us. MySQL has a Forum too: http://forums.mysql.com/
peterlaursen
ParticipantI think you will find the answer in MySQL documentation:
http://dev.mysql.com/doc/refman/5.5/en/innodb-auto-increment-handling.html
Note in particular how the 'innodb_autoinc_lock_mode' option/variable affects this. In MySQL 5.1+ this variable is “1” as default – in 5.0 and before it was “0”. The reason to set it to “1” is that it improves performance of replication in some scenarios. If you don't use replication it makes no difference and setting it to “0” should avoid the 'gaps' in the autoincrement counter in most cases.
But there is not – and never was – any guarantee (in MySQL or any RDBMS) that auto_increment values will always be sequential without gaps. The purpose of auto_increment values is – and ONLY is – to ensure a unique identifcation of each row. The value itself has no importance.
Did I understand?
-
AuthorPosts