Version History - 2008
SQLyog 7.14 (December 2008)
- Bug Fixes
-- Schema Sync did not distinguish "default NULL" and "default '' (empty string)" for string types.
-- When multiple connections were open in one program instance and one connection was in wait-state (for instance due to a TABLE LOCK), the whole program could become non-responding.
-- If a server thread running a query sent by SQLyog was killed, SQLyog would not always detect it. The connection window associated with that thread would then stay in wait-state forever. Due to the 'multiple connections issue' as described just above also the whole program could be affected.
-- With MySQL servers 4.0 and before and when connecting with HTTP-tunnel, SQLyog could send an invalid SET SQL_MODE statement when copying large amounts of data. The copy operation would then abort. This bug was introduced in 7.12.
-- Reconnecting while populating Object Browser could crash SQLyog.
-- Fixed 2 rare crashes in Schema Sync and DATA tab (reported internally).
-- Fixed a bug with 'replace' in editor. 'replace' took effect *after* cursor position not *from* cursor position, so if cursor was positioned inside the string to be replaced that particular instance would not replace.
-- Refreshing the GRID moved the cursor to 'home' position.
-- Fixed a bug in Autocomplete transaction handling (introduced in 7.13) that could cause a crash at startup.
-- Migration Tool could fail to find rows when migrating from SQL server 2008.
SQLyog 7.13 (November 2008)
- Bug Fixes
-- Fixed a rare crash in Schema Sync. This issue was discovered when testing internally. No user had reported this.
-- Management of column-level privileges was not functional.
-- It was only possible to select a single group of objects in GRIDS with the shift+click modifier.
- Miscellaneous
-- Autocomplete now uses secure atomic transactions when writing to SQLite databases ('Tags files'). We had a few reports of random program crashes that could be traced down to corrupt SQLite databases. This corruption will now not happen any more.
SQLyog 7.12 (October 2008)
- Features
-- This release improves the handling of Foreign Keys with HTTP-tunneling. In Data Sync, Migration, 'copy to other', 'empty database' and 'truncate database' statements are now processed in batches and "SET FOREIGN_KEY_CHECKS = 0" statement (if selected by user) will be reinstantiated for every batch. This is a 100% solution to problems with FK's normally occuring with PHP applications/connections due to the non-persistent nature of PHP<>MySQL connections.
-- In preferences added an option to 'force disable FK check throughout HTTP import batch process'. Selecting this will have same effect as above when importing external files with SQLyog (from tools .. restore from SQL-dump) over an HTTP-connection. It is selected as default. - Bug Fixes
-- On Wine selecting individual objects (like a single table) for export/copy could export/copy all. This was yet another issue with the tree-view control in Wine.
-- Autocomplete with table alias failed if "FROM" in FROM-clause was written UPPERCASE.
-- It was not possible to create the Primary Key on <target> with the Migration tool if using option to import using a user-specified query.
-- Dropping a table ON which a TRIGGER was defined did not refresh the TRIGGERs folder for the database in the Object Browser. Also 'reorder columns' did not automatically refresh the COLUMNs folder for a table.
-- The display in Object Browser could garble if program was minimized/maximized while a query was running.
-- Right-clicking a only partially visible cell in DATA/RESULT tab would not select properly.
-- The CREATE USER privilege (introduced in MySQL 5.03) was not handled by SQLyog user management.
-- Fixed a painting issue in 'manage privileges' dialogue introduced with resizability in 7.11.
-- Fixed an issue with the CSV import dialogue that could result in a 'hang' or 'crash.
-- When nothing was selected for SQL export an empty file was generated. Now an error pops up.
-- Fixed a crash in data sync. This issue affected only empty tables (or empty WHERE results) without a PK.
--CSV-export escaped wrong inside enclosed/quoted strings. Only the enclose character itself should be escaped, but also field seperator character and linebreaks were.
SQLyog 7.11 (September 2008)
- Bug Fixes
-- Pressing Crtl+end in GRID did not show the last row. This bug was introduced in 7.1.
-- Fixed a flickering issue in Data tab. It was a threading issue related to the STOP button introduced in 7.1.
-- When executing a query not returning a result set focus would leave editor (unless the 'keep focus on editor' option was set). This made no sense. Now focus will be kept on editor if there is no result set.
-- Data sync could fail with column names containg a SPACE character and if specific keywords was used for column names.
SQLyog 7.1 (September 2008)
- Features
-- Added keyboard shortcut (F6) for Edit Index.
-- The behaviour of Ctrl+R shortcut was slightly changed. It will now position cursor inside the active tab in Result pane. Before it was functional only with DATA tab and RESULT tabs.
-- Added tab-navigation (for query tabs) entries in Edit-menu. Also the active Query tab can now be closed from menu.
-- In certain situations Schema Sync would generate CHANGE-clauses for a column that basically did nothing (changing column to what it was). This is now 'cleaned up'.
-- A tab in the Query pane (a Query tab, a Schema Designer tab and a Query Builder tab) can now be closed with Alt+L keyboard shortcut and can now be navigated with Ctrl+pgup and Ctrl+pgdn keyboard shortcuts.
-- Favorites are now displayed using Scintilla editor component. For statements with complex formatting this makes the preview more readable.
-- Autocomplete now supports alias in UPDATE and DELETE statements.
-- BLOB viewer and the program dialogues for schema sync, create/alter table, manage indexes (including sub-dialogues) manage foreign keys (including sub-dialogues) and manage privileges are now resizable. From now resizable dialogues have a 'gripper' icon in right bottom corner.
-- Added a movable 'splitter' between the object area and the script area in schema sync dialogue.
-- Preferences dialogue was redesigned.
-- Added an option in Preferences to 'Automatically refresh DATA tab on focus'. This was the program behavior before 7.0. In 7.0 to 7.02 it was not. Now it is optional.
-- Shift+click is now functional for multiple selection everywhere in GRIDS (before it was only in Result/Table Data tabs).
-- 'show in text' (Ctrl+L) is now functional for both DATA tab and RESULT tab. Also 'Find' (Ctrl+F) now works with DATA tab in text mode.
-- Stop option implemented in data tab. This is in particular useful if accidentially the 'show all' option was selected for a huge table.
-- Added an icon in data tab tool bar indicating if current display is filtered. Also from this icon 'reset filter' can be applied directly.
-- Added option in Schema Sync to compare all objects or compare only tables.
-- Now the result tab displays the query as a ribbon at the bottom. This is useful where more queries are executed from the same editor tab.
-- Refresh option included for show variables, show processlist and show status.
-- Changed functionality for shortcut F3; now it pops up 'Find' dialog (before it was for keyboard shortcut dialog - F12 is used for this now).
-- The sync script generated by Schema Sync could fail when a change in columns used for Foreign Key(s) or a change with the Foreign Key itself was attempted.
-- The display of execution time etc. for queries (in MESSAGES tab, HISTORY tab and statur bar) was reogranised for better clarity. - Bug Fixes
-- The GRID would truncate the display of strings longer than 511 characters.
-- When a user-defined DELIMITER and a comment occurred close to another in the program editor, the editor tokenizer component could fail to identify exactly where a statement began and ended.
-- Data Sync could fail with a table having no Primary Key, but more Unique Keys, if the same column was used for defining more than one of the Unique Keys of the table. This was introduced with the new Data Sync code of 7.0 (before 7.0 Unique Keys were not used by Data Sync at all - only Primary Keys were).
-- Fixed an escaping bug in Data Sync.
-- Fixed an issue with WHERE clause in Data Sync.
-- Proxy authentication details were not written correctly to jobfile by SJA wizards.
-- Since 7.0 the WHERE clause defined by user in migration wizard was not written to jobfile.
-- In Wine Schema Sync could generate an erroneous sync script (specific functions on Wine functioned slightly different than the original Win32 API).
-- Fixed a number of GUI related issues.
SQLyog 7.02 (August 2008)
- Bug Fixes
-- If a reconnect took place shortly after 'Compare' button in Schema Sync was clicked, the 'MySQL server has gone away' error could occur (Details: Data from a not updated internal buffer was used - in reality it was before the reconnect that the server 'went away'!).
- Miscellaneous
-- Reconnects are now written to HISTORY (as a comment).
SQLyog 7.01 (July 2008)
- Bug Fixes
-- When SQLyog tried to reconnect while exporting a crash could occur. This bug was introduced in 7.0 with the speed optimization of the export dialogue.
SQLyog 7.0 (July 2008)
- Features
-- New GRID design ('zebra' Office 2007 style) for easier navigation.
-- Multiple selections in GRIDs with SHIFT+CLICK.
-- Improved Data Synchronization. Now typically 2-8 times faster than before depending on data. Option to generate a SQL sync script was added..
-- Drastically improved the speed of exports.
-- New more user friendly design for the Schema Synchronization (renamed from Structure Synchronization). Various filter ('hide and ignore') options were added. Also a long-running Schema Sync compare task can now be stopped.
-- Added automatic and manual update check.
- Bug Fixes
-- A backup script backing up all databases could fail to restore VIEWs referencing another database than the one where the VIEW was.
-- Fixed an issue in reordering of tables in Schema Synchronization.
-- Around 50 other small (mostly GUI-related) fixes for issues reported by users.
SQLyog 6.56 (May 2008)
- Bug Fixes
-- Structure Sync could miss the concluding quote around column comments. This bug was introduced in 6.5.
-- Migration from SQL Server could fail with empty tables.
-- Migration (UPDATE and DELETE) triggers could fail with specific schemas on source (affected were small tables with short column types only - like integers and very short string types). This bug was introduced early in 6.x the full Unicode support added here.-- Migration could generate non-matching columns-count with specific schemas. This was also introduced early in 6.x
-- Message about "Successful rows" could display twice in Migration (sja.log). Note: This was a cosmetical issue with the message only. Rows were only migrated once!
SQLyog 6.55 (May 2008)
- Bug Fixes
-- With specific export settings. CSV-export could add an erroneous NULL byte (hexadecimal 00) before the field seperator (if no escape character was specifed and if string data contained the chosen seperator character).
-- With specific content of an editor tab, SQLyog could enter an infinite loop and become irresponsible. It was a bug in the code for column alias'es with Autocomplete introduced in 6.52.
-- When SQLyog was closed from a secondary monitor and started again when secondary monitor was not attached, SQLyog program window would not open on the primary monitor.
-- With specific Multimonitor configuration context menu of the Processlist dialogue would open on primary monitor also when program was running on secondary monitor.
-- After stopping a running query SQLyog could fail to initialize sql_mode for the new connection created.
SQLyog 6.54 (April 2008)
- Bug Fixes
-- When executing Structure Sync between a 5.1.x server and an earlier version, Structure Sync could try to access a non-existing Information_Schema.Events table, what returned an error (it depended on the exact 5.1 version).
SQLyog 6.53 (April 2008)
- Bug Fixes
-- When defining parameters for export, database selection had no effect if the database was selected after the output file was specified. This bug was introduced in 6.5.
-- SQL-dumps created with SQLyog 'export' and 'scheduled backup' did not specify default charset and collation in CREATE DATABASE statement when dumping from MySQL versions where it applies (MySQL >= 4.1).
-- The size of the SQLyog program window would grow a little everytime it was opened. This is due to a change introduced in 6.5. This has been reverted.
-- The various fixes for BIGINT PK's in Data Sync in the 6.1x tree had slowed down data sync with BIGINT PK's.
-- Alias support in Auto-Complete could fail if there were comments close to the actual statement. This bug was introduced in 6.52 (with the support for column alias'es introduced here).
-- In RESULTS tab in text-mode the string "(NULL)" could be truncated to "(NUL".
SQLyog 6.52 (April 2008)
- Features
-- Data Sync now has SMTP (mail) functionalities similar to other SJA modules.
-- Autocomplete now supports column alias'es.
-- Zooming in SchemaDesigner can be done with 'Ctrl +' and 'Ctrl -'.
-- Added an option to specify (in preferences .. powertools) storage position for TAGS files (used by Autocomplete). On networks where 'roaming profiles' are stored on a domain server specifying a local folder will reduce network traffic and save storage on the server.
- Bug Fixes
-- ALTER TRIGGER template did not display DEFINER.
-- Create/Alter table .. Advanced Properties generated the string '[default]' where it shoud be 'default' only.
-- Fixed an issue with 'abort on error' in Scheduled Backup. The job was always aborted on error. Now if set to NO it will proceed to next statement.-- Notifications Service could crash if query was not SELECT. In particular HTTP tunneled connections were affected by this.
-- Migration from an Access database could leave a .ldb file behind (that should be deleted after the migration process was over).
-- On Vista a graphical artifact could occur on right side of screen when program was maximized.
-- Some other small GUI fixes.
SQLyog 6.51 (April 2008)
- Bug Fixes
-- The template for ALTER TRIGGER mismatched the trigger name and the database name.
-- The OBJECTS tab displayed incomplete information for the server/connection. This only affected COMMUNITY edition.
SQLyog 6.5 (April 2008)
- Features
-- Export and copy dialogues were re-designed. Individual Stored Procedures, Views etc. can now be selected.
-- Added a ZOOM option for a Schema Designer LAYOUT. The ZOOM setting is stored in the LAYOUT itself. Note: Zooming is possible using Ctrl+mouse scroll button (may not be functional on Laptop touchpads and other non-mouse pointing devices).
-- A Schema Designer LAYOUT can now be saved as graphics (currently .bmp format is supported).
-- A Schema Designer LAYOUT can now be printed. For saving graphics from Schema Designer to formats not supported consider printing to a 'virtual printer'. Such software exist with support for .pdf, .xps, .png and more. There is a preview option to see how the print will split into more pages (using the settings of current default printer).
-- Transactions are now supported for copy operations (but of course the Storage Engine must support too!). This is configurable from 'preferences'. Data Sync and Migration will use transactions if ENGINE supports it.-- Query Builder can now use a VIEW for generating queries.
-- Copy operations can use BULK inserts (optionally). This can increase speed of those operation up to ~10 times. Migration and Data Sync will now also use BULK inserts if <target> is empty.
-- Full support for MySQL EVENTS (in GUI, exports, copy, structure sync) with MySQL >= 5.1.
-- Added an option to export 'all databases' and 'all user data' with 'scheduled backup'. Note the difference: 1st option will export `mysql` database - 2nd will not. None of them will export Information_Schema (it cannot be restored as I_S is a readonly database). However you can select I_S individually for export.
-- Support for alias in autocomplete. This is in continued development. Currently table alias's are supported (not column alias'es).
-- Tables are now organized in a folder in the Object Browser.
-- OBJECTS tab now populate with data for the connection/server, VIEWs and 'stored programs'.
-- With SSH tunnel reconnection is now functional for the complete connection chain: SQLyog<>PLINK<>SSHD<>MySQL.
-- For HTTP-tunnel added an option to specify 'urlencode' HTTP header format on a per-connection basis (default is 'text/xml' header format). Using this option can be required if Apache 'mod_security' (as well as some largely undocumented filters and 'hacks') is enabled.
-- Context help added. Every dialogue of the program has been associated with a page in the help file (CHM) that will open when pressing <F1>.
-- MESSAGES tab will now report warnings for queries executed from the SQL editor.
-- Lots of small requests and issues fixed. - Miscellaneous
-- Note that the SJA jobfile format has needed to be changed/expanded due to some of the changes above. The GUI wizards will generate a version string like 'version="6.5"' in the <job> tag. But old (version="4.2") format can still be executed. If there is no version string in the <job> tag (as was the case up to 4.1), 'version="4.2"' will be assumed implicitly.
-- Note that for copy operations reconnect will be disabled if you use transactions. This is required for data security. If a reconnect took place when still non-committed statements had been executed they would not be committed ever (because with a new connection the transaction log for the old connection is not available) and user would not be aware of this. For Data Sync and Migration transactions are always enabled if ENGINE supports it, because this does not result in any conflict as SJA does not reconnect automatically - Bug fixes
-- Opening a .schemaxml file (to Schema Designer) failed if path contained unicode characters (save not affected and no other save/open operations of the program either).
-- It could occur that a connection thread started for the purpose of export did not correctly use the same connection parameters as the 'parent thread'. That might result in a 'Error 0'" (actually this includes two different fixes).
SQLyog 6.16 (February 2008)
- Features
-- Added an option to specify CHARSET parameter for CSV-import. Unicode (UTF8 and UCS2/UTF16) will be detected automatically. For files encoded with a non-unicode encoding, user must select the MySQL charset used for the import. Alternatively there is a <default> option that will not use the CHARSET parameter at all (= old program behavior).
-- SJA SMTP (mail) code will now use ESMTP if available and fall back on ('ordinary') SMTP if not (before only ESMTP was supported what failed with some specific routers). - Bug fixes
-- A crash could occur when backing up (using 'export' as well as 'scheduled backup') an object having a DEFINER different than the current user. This further depends on the MySQL version and whether user had SELECT privilege to the `mysql `database or not. Now a message will appear (on the screen or in the sja.log file) that this object was skipped due to lack of privileges when it is not possible to back up.
-- When exporting to HTML, XML or CSV -formats from the RESULT tab one row could be missing if the RESULT tab dropdown was in edit-mode. EXCEL and SQL formats were not affected.
-- When data were inserted or updated from RESULT tab, SQL and EXCEL export options would not export the new/changed rows unless after a reconnect.
-- When connected to MySQL 3.x and 4.0 the ALTER TABLE GUI would generate invalid SQL if existing column(s) were edited and new column(s) added in one operation (a comma was missing).
-- Assigning privileges (from 'manage permissions) for a specific user to a specific Stored Function and Stored Procedure was buggy (wrong string identifying the ROUTINE type was inserted). Also a problem with VIEW-related privileges was fixed.
-- A jobfile for 'scheduled backup' created with versions before 6.1 contains a <usecharset> tag (with the values "yes" or "no") that indicates if the backup shall be utf8-encoded. This tag was not properly ignored (as it should from version 6.1) - instead it could occur that a non-existing charset (named 'yes' or 'no' respectively) was requested from the server. That would return an error that again would cause the job to abort.
-- The HTTP-tunneller was updated to 'work around' an issue with 'foreach' loops on PHP 4.3.10. HTTP-tunneling to a server with that specific PHP version could cause a program crash.
-- The uninstaller would not remove Start Menu shortcuts on Windows Vista.
-- If SSH tunnel was used for both connections in DATA SYNC the plink process for the <target> connection was not getting terminated properly.
-- Display in the CREATE/ALTER TABLE grid would be truncated if an ENUM or SET type was defined with a value containing the ")" character.
-- Data Sync would not identify that rows containing data like ('data',NULL) and (NULL,'data') are different, as NULL-values did not 'contribute' to the checksums calculated. No update would take place.
-- The fix in Data Sync for BIGINT Primary Keys containing very large numbers in 6.11 was not complete. Internal data could be truncated what again could result in wrong identification of rows to be inserted, updated or deleted.
-- Certain queries (when performing GRID operations) were not 'piped through' the reconnection wrapper module. This could with low 'wait_timeout' server setting result in the 'server has gone away' error message if affected operations were executed with longer intervals between.
-- Structure Sync failed to sync a specified index length.
SQLyog 6.15 (January 2008)
- Bug Fixes
-- Fixed a bug with migration of an Access 'text' type that could occur when more/many such columns were migrated.
-- When the content of an editor tab was changed using 'search and replace' the tab was not properly 'flagged' internally as changed. As a consequence the (*) indicator for this 'change-status' would not display and program would not prompt user if changes should be saved.
-- Fixed a bug in validating the SP/VIEW/... name while creating. A symptom was that an empty name could be used.
-- With a TINYINT having (-1) as default Structure Sync would use COLLATE specification and thus generate an invalid statement when connected to a MySQL 4.1.x server.
-- When expanding/collapsing the folder tree in the Object Browser by clicking the "+" and "-" in a very fast manner, data could be copied to the editor when it should not.
-- When connected to MySQL 3.23 and 4.0.x < 4.0.18 'reorder columns' could generate invalid SQL with a Primary Key definition.
-- Improper message was returned when invalid or non-existing path was used for exporting a dump..
-- After an unsuccessful import (because of syntax error in the file for instance) the file handler was not properly free'd. As a result next attempt would fail with 'Error saving ... ' message. Only HTTP-connections were affected.
- Miscellaneous
-- "SET FOREIGN_KEY_CHECKS = 0" is now default where it applies (exports, data sync).
-- The display for F5/F9 shortcut settings in 'preferences' was changed. 'Reverse' setting now means that F5 executes! It is 'reversed' as compared to what help... keyboard shortcut tells.
-- This build does not use 'urlencode' in HTTP header. This is not the final solution but we realize that it is more rare that it is needed compared to the situations where it won't work.