Quantcast
Channel: SQLyog MySQL Admin FAQ - Latest FAQs

Problems creating a functional DSN on 64 bit Windows.

$
0
0

 

64 bit Windows has more or less 'taken over the scene' from 32 bit Windows since the introduction of Windows 7 and recent hardware systems with 64 bit CPU's and 4 GB (or more) RAM. This may cause various issues with ODBC-enabled programs/applications (such as SQLyog).

To understand this we have to consider the complete 'stack' consisting of 1) the Operation System 2) the ODBC driver and 3) the application. On 32 bit Windows the complete stack is all 32 bit and no conflicts will arise.  On 64 bit Windows both the ODBC-driver and the application may be 32 bit. Some vendors provide both 32 bit and 64 bit drivers and some only 32 bit. Some applications - including SQLyog currently - are only available as 32 bit.

 

The two typical problems with ODBC and a 'mixed-bit stack' are:

1) After installing a 32 bit ODBC driver it does not show up as an option when configuring a DSN from Control Panel .. Administration .. Data Sources. The reason is the ODBC manager launched from Control Panel it is a 64 bit version of the ODBC manager that handles 64 drivers only.  64 bit Windows does however ship with a 32 bit version of the ODBC Manager. It is in the folder {System_Drive}:\Windows\SysWOW64 and is named 'odbcad32.exe'.  To create a DSN using a 32 bit driver navigate to this folder (from command line or from Windows Explorer) and launch odbcad32.exe.  Now you will see the 32 bit driver you installed show up properly and you can configure a functional DSN.

2) If you want to use a 64 bit driver with a 32 bit application like SQLyog, the DSN will have to be configured as a 'user DSN'. A 'system DSN' will not work in this environment. As a consequence a scheduled job will have to run with the privileges of the user that configured the DSN.

 


Problems on Ubuntu 11.x

$
0
0

 

Ubuntu 11.x ships with a 'Window Manager' named "Unity".  It replaces Gnome as the default desktop in Ubuntu.

There is a confirmed issue with mouse operations as well as navigation keys operations (TAB, BACKSPACE etc.) for Windows programs running under Wine 1.3 with the Unity desktop. Several programs are affected - and also SQLyog unfortunately is.  The official Ubunty bug report is here.

If you are affected - and it may depend of several factors like graphics hardware etc. -  we recommend that you try to replace Wine 1.3 with version 1.2. It has worked in all cases that we know about.

Note that the information in this FAQ could soon be outdated. Unity is in an early state of development and Wine is changing as well (and quite a rapidly as of time of writing  - October 2011). A proper and final solution could be found soon with an update to Unity and/or Wine. But also you may experience that what used to work suddenly does not after an upgrade of either. So you should be prepared that you may need to roll back updates (automatic  or not) if you use Windows program with Ubuntu 11.x/Unity/Wine.

 

 

 

I get error 1130 "Host is not allowed to connect ..." or "Access denied ..." or "Could not connect ..."

$
0
0

 

Error 1130 is a networking error. The server cannot resolve the hostname of the client. Or the host is not allowed to connect to the MySQL server.

There are basically 2 categories of possible reasons:


* The simple one:

In MySQL a user a user is specified using BOTH the user name and the host from where the user may connect. If no user has been created where the host-part (using wildcards or not) mathces the host of the client trying to connect MySQL will return this error.


* The tricky ones:

1)

Your hosts file is damaged or invalid. Various vira and spyware attack and alter the host file in various ways. For instance if the hosts file does not contain the line

127.0.0.1 localhost

'localhost' cant' be resolved as pointing to ip 127.0.0.1. On some larger corporate network it is widely used to "roll out" host files to all clients with symbolic names (like 'mysqlserver', 'mailserver' etc.) for important machines on the network and the corresponding ip's. Check with your admin that you got the right file!

2)

If you use the Windows network name as hostname, it may be a network configuration problem. Try using the ip instead.

3)

On Unix/Linux systems the hosts files sometimes reads

127.0.0.1 localhost.localdomain

This causes a problem with MySQL. MySQL docs at http://dev.mysql.com/doc/refman/5.0/en/connection-access.html say:

A Host value may be a hostname or an IP number, or 'localhost' to indicate the local host.

No mention of 'localhost.localdomain'. This means that MySQL can't resolve that 'automatically'! This can affect SQLyog when tunneling and SJA for Linux. Workarounds for this include:

I:
A workaround that has worked is to give the user access from 'localhost.%'

II:
You can add localhost to ip 127.0.0.1 in host file like

a) make sure your '/etc/hosts' file reads as follows:
127.0.0.1 localhost //localhost *MUST* be first (notice separate entries)
127.0.0.1 localhost.localdomain
127.0.0.1 . . .

b) make sure you reference the local server in the SJA.XML file as:
127.0.0.1 or localhost.localdomain

This is known to work in some situations where the MySQL configuration file contains:
bind-address = 127.0.0.1


III:
It has sometimes worked to add a 'dummy' ip to my.cnf like:
bind-address = 10.10.10.10

.. supposed that 10.10.10.x is also the ip of the local machine. Then you use this 'dummy ip' as the host specification when connecting with SQLyog and SJA.

It seems to be something special for some DEBIAN distributions to use this 'bind-address' construction with MySQL. Solution II) and III) both are solutions that users have contributed at our Forums. Both situations involved DEBIAN.


IV:
You can try any host name that the host file maps to ip 127.0.0.1. There might be several! Even a SAMBA NetBIOS alias might work!


V:
You can use the local ip (ie. 10.0.0.1 or whatever) of the actual machine or a name server alias for this. But in this case normal TCP-connections must be enabled in MySQL configuration - that is 'skip-networking' must be disabled/commented out and no 'bind-address' may be there. Of course then an additional DNS lookup will have to take place for the connection to be established. This is of no practical importance!

4)

.. is a variation of 3). With a complex server setup (involving more ip's, domains, subdomains and/or virtual hosts) a similar issue can occur.


In this situation HTTP-tunneling will normally work for all users, but often/sometimes direct connection and SSH will not work with the 'root' user - everything depending on the server configuration. Try another and 'ordinary' user account. You may mirror the privileges of 'root' to a 'superadmin' user.

Finally you could test if this connection issue is the same with 'MySQL Administrator'. It uses the same client code (the C-API) and connects exactly as SQLyog and SJA do.

 

SQLyog is a client for the MySQL server - but what server versions are supported?

$
0
0

 

The points below summarizes the situation as of November 2011:

 

1) We support any MySQL version (whether official MySQL builds or 'fork' builds) that a recent standard MySQL client library can communicate with. That is from 3.23 to 6.x.


2) However any report of issues with a 3.23 version that is not 3.23.58 and any 4.0 version that is not 4.0.26 or 4.0.27 will trigger the standard reply "We don't care" if the issue can be resolved by upgrading to 3.23.58 or 4.0.26+.


3) for 4.1, 5.0, 5.1 and 5.5 versions we also "do not care" about issues with alpha/beta/RC versions if issue can be resolved by upgrading to a stable/GA version in the same tree.


4) for 4.1 specifically we recommend 4.1.20 or higher. Some Linux distributions (most important RHEL4) originally shipped with 4.1.10. This version has serious bugs in charset handling (of which most were fixed in 4.1.12). Official RHEL 4.1.20 builds are available for upgrade by RHEL4 users.


5) for 5.0 specifically we recommend 5.0.67 or higher.


6) for 5.1 specifically we recommend 5.1.35 or higher.


7) for 5.5 specifically we recommend 5.5.16 or higher.


8) for all stable/GA releases it also may happen that we will not resolve an issue if an upgrade to latest stable versions resolves the issue. It depends on the nature and seriousness of the issue and the effort required to fix or 'work around' the issue with the older version.


9) for versions that are only available as alphas/betas/RCs (currently anything higher than 5.5) we will consider only the most recent version released at the time of reporting. There is no guarantee that we will resolve an issue with those if we do not consider the issue critical. We may decide to 'wait and see' as there are often significant change of functionality with each new release of those early builds.


10) and finally versions only available from special branches and servers built from with latest committed source from the source code development trees we will generally not take action if no other build is affected and if it is not obvious that there is a bug that should be fixed under any circumstance.

 

SQLyog Version History

$
0
0
Also read about plans for future versions of SQLyog

SQLyog 10.41 (November 2012)

Bug fixes
  • SQL-exports did not quote TIMESTAMP values. For that reason a dump with such data did not restore. This bug was introduced in 10.4.

SQLyog 10.4 (November 2012)

Features
  • Added a filter in the Object Browser for hiding display of database objects here. More precisely: database objects, where the typed filter string is not a substring of the object identifier, will be hidden. When focus in on the connection node, the filter will act as a database filter. If focus is on a database, a table, a table folder or any sub-table object, it will be a table filter on current database. If the focus is on a stored program or stored program folder of any kind it will be a filter on that type of stored program in current database. The filter is specific for each database object (connection, tables of a database, or a type of stored programs of a database) and is persistent within a SQLyog session (but not persistent across sessions).
  • NULL-values are now displayed with italics like (NULL). This eliminates any confusion with a literal value.
  • Added ALT+F5 as a keyboard shortcut for refreshing a DATA tab.
  • SQLyog will now "USE `mysql`;" when User Management is opened and reset the default database again when it is closed. Before using User Management on a replication master could break replication with specific binlogging settings. This is a workaround for what we consider a bug in MySQL.
  • When 'rebuilding tags' in auto-complete we are now commiting small transactions to SQLite. Before it was one big transaction. This ensures normal operations for indexed data while 'rebuilding tags'.
  • Drastically improved auto-compelte performance. This is actually the third time we do so, but recent additions to SQLite makes this possible again (technically autocomplete now uses SQLite 'WAL mode').
  • Added support for the 'Windows authentication plugin' (available from MySQL 5.5.16).
Bug fixes
  • Fixed a 'commands out of sync' error when executing a stored procedure multiple times.
  • Fixed a bug where the foreground/background color applied for Messages tab failed to paint properly.
  • The 'SQL Scheduler and Reporting Tool' could fail to deliver server messages in mails sent.
  • Creating views/sp's/function/triggers/events added statements twice to messages tab.
  • The 'total time' displayed for a query would not always correctly calculate the sum of 'execution time' and 'transfer time'. This bug was introduced in 9.2.
  • The 'total time' displayed for a query would not always correctly calculate the sum of 'execution time' and 'transfer time'. This bug was introduced in 9.2.
  • A database name would not be completed by autcomplete If the database was listed in connection manager.
  • Fixed some cases where CTRL+Space/Enter incorrectly did not return a table/alias.
  • Fixed some issues where autocomplete did not immediately return objects created - most important objects added by 'Import External Data' tool and 'Copy Database/Table to Other ..' would not display immediately. It was neccessary to 'rebuild tag'. It is not now.
  • Loading a unicode file with BOMs (Byte Order Marks) into the editor could strip characters (3 characters with UTF8 - 2 characters with UCS2/UTF16) from the pasted content. A buffer length allocated did not consider BOMs properly.
  • MESSAGES tab could display conflicting messages about warnings. This bug was introduced in 10.3.
  • When copying from MESSAGES tab and pasting into SQLyog editor - or any editor or program - the pasted content could add garbage characters.
  • 'Silent uninstall' was not working as expected.
  • UPDATE statement generated by Data Sync did not use 'fully qualified tablenames' where as INSERT and DELETE statement did.

Miscellaneous
  • It is now default for new connections to use the GLOBAL sql_mode for the connection. But user may still specify whatever sql_mode he wants.

SQLyog 10.3 (September 2012)

Features
  • The list of connections in Connection Manager can now be managed by typing directly in the ‘dropdown’. What is typed acts as a ‘prefix search’ and first connection name starting with the prefix will be selected. This applies to both the Connection Manager of the main program as well as SJA wizards.
  • Filter is implemented in the Schema Synchronization dialog for filtering tables and other objects. This is a ‘exact match filter’. However SQL-wildcards (“_” and “%”) may be used.
  • Added a filter option to MESSAGES tab. You may show only queries returning a result set, queries not returning a result set, queries returning errors or queries returning warnings only as well as queries returning either warnings or errors. Also MESSAGES tab will now display the (first 128 characters of the) query.
Bug fixes
  • F6 shortcut did not open ALTER TABLE/DATABASE when the focus was outside the Object Browser.
  • Adding ‘%’ to the filter string in ‘custom filter’ was not handled properly and could result in wrong results. This was introduced in version 10.0.
  • Updating an image stored in a BLOB field using the Blob Viewer could fail. Also this was introduced in 10.0.

Miscellaneous
  • It is now default for new connections to use the GLOBAL sql_mode for the connection. But user may still specify whatever sql_mode he wants.

SQLyog 10.2 (July 2012)

Features
  • Saved connections can now be exported and imported. The option is available in the ‘tools’ menu.
  • Added an option to open exported CSV and Excel XML files directly with the program associated with the file extension on the system.
Bug fixes
  • Exporting Schema Designer canvas as image on Wine generated empty boxes for tables with no information about columns. It is actually a bug in Wine (incomplete Windows API implementation for drawing routines).
  • The height of GRID-cells will now adjust to fit font setting for the GRID.

SQLyog 10.12 (June 2012)

Bug fixes
  • With specific settings for GUI appearance (DATA tab in lower pane, ‘autorefresh DATA tab on focus’ enabled) switching from one connection to another and back would reset filter in the first connection. This was introduced in 10.11.
  • Editing data from GRID and pressing arrow-up/down key could scroll the view a full page. Also this was introduced in 10.11.
  • ‘Export table as .. SQL’ from RESULT tab generated invalid SQL if the tab was in ‘read-only’ state. This was introduced in 10.0. Also ‘Export table as .. SQL’ has now been disabled for multi-table result sets. This is an old issue, but exporting data from multiple tables to SQL never made sense.
  • SQL Formatter would add whitespace around non-ASCII characters in identifiers and aliases.
  • The rowcount displayed in status line is now a count of rows available in current DATA/RESULT tab. Before it was the number of rows fetched from MySQL with the last executed SELECT query for that tab and did not reflect INSERTS and DELETES executed later from GUI. Also when a filter is used, the display will show the rowcount after applying filter. It did not before in RESULT tab.
  • Small GUI fixes.

SQLyog 10.11 (June 2012)

Bug fixes
  • Pressing the ESC key while cursor was positioned in an empty row of the GRID could cause a crash. Introduced in 10.1.
  • ‘Hide optimal datatypes’ of a table in INFO tab/HTML view did nothing. Also this was introduced in 10.1.

SQLyog 10.1 (June 2012)

Features
  • It is now optional whether DATA, INFO and HISTORY tabs shall display in ‘upper pane’ (as in 10.0) or in ‘lower pane’ (as before 10.0). The setting is available in tools .. preferences .. general. Note that for DATA tab this applies to the ‘non-sticky’/non-persistent DATA tab. A ‘sticky’/persistent DATA tab will always display in ‘upper pane’.
  • DATA, INFO and HISTORY tabs appearance will now be persistent across sessions when configured to display in upper pane. If visible when program was closed they will open when program starts next time – if hidden when program was closed they will not. When configured to display in lower pane they will always be visible.
  • The checkbox to ‘select all’ as added in DATA and RESULT tab in 10.0 is now implemented all over the program, including SJA wizards.
  • The background color for the editor can now be defined by user. Same applies to Query Builder and Schema Designer canvas. Also settings for syntax highlighting in the editor can now be defined using a full color palette.
  • Multi-column sort in DATA tab now uses CTRL+CLICK modifier when clicking the column header. A simple CLICK (with no CTRL) will discard previous sort setting (if any) and do a single-column sort.
  • Added an option to copy selected text into clipboard with all whitespace (SPACE characters, TAB characters and linebreaks) replaced with a single SPACE character. The option is available from menu and the keyboard shortcut ALT+C.
  • Sorting (single-column) of results is now possible in Data Search tab.

Bug fixes
  • With Windows classic theme enabled, switching SQLyog’s theme could replace the ‘minimize’ button with garbage text.
  • ’Paste SQL statements’ could crash COMMUNITY. This bug was introduced in 10.0.
  • Persistence of display mode (GRID, FORM, TEXT) will now only have effect after the tab has loaded with data. If user interrupts loading of data the current mode will not change.
  • Since version 10.0 undefined data of an auto-increment column will display as “AUTO” and not “NULL”. But with specific table definitions “AUTO” could display for the wrong column.
  • Editing second and higher table from a multi-table result set could fail due to incorrect SQL generated. Introduced in 10.0.
  • In the Import External Data mapping columns dialog, using “Edit SQL” to view/edit the query could generate a query with an incorrect encoding of the statement. As a consequense the statement failed.
  • If an existing connection (in connection manager) with unsaved changes is open “New Connection using Current Settings” would not take the current settings, but the settings saved for the connection instead.
  • The query generated for INSERT from table data/result tab now include only values entered by the user. Columns that were not specified by user are not listed in the statement. UPDATE bahaved like this for a long time, but INSERT did not. This could result in an error when inserting to a table with NOT NULL column(s) with no DEFAULT defined.
  • When SELECT was executed, Auto-paging in Result tab was always enabled even if the option “Enable Autopaging in Data/Result tab” was unchecked. This bug was introduced in 10.0 with the common LIMIT setting for DATA and RESULT tab.
  • Updating and deleting from RESULT tab could fail if PK-column(s) were not included in result set. This bug was introduced in 10.0.
  • In a ‘fully qualified’ object name (`database`.`table` etc.) there may be SPACE characters on both sides of the “.”. SQLyog did not handle this and with autocomplete enabled a crash could occur as autocomplete was not able to identify object name(s) correctly.
  • ‘Export as Excel XML’ could genereate an empty file with no data. This bug was introduced in version 10.0.
  • When inserting/updating the last column in a row in Data/Result tab, pressing tab from keyboard would point to the first column of the next row but the scroll bar failed to bring the selected column into display. This bug was introduced in 10.0.

SQLyog 10.0 (May 2012)

Features
  • The DATA tab is now moved to the upper pane. This completes the GUI redesign we started with version 9.5 (but we will continue after 10.0 release to provide optionality for this). A DATA tab will now open from table menu/context menu, keyboard shortcut F11 or from the “+” icon to the right of open query etc. tabs. Also if not the option to ‘paste object name to editor on double-click ‘ is selected in ‘preferences’ it will open on double-click on the table in Object Browser.
  • Added an option to open a DATA tab in ‘sticky’/persistent mode. A DATA tab opened like this will remain open until closed manually by user. If a DATA tab is opened in ‘non-sticky’/non-persistent mode it will be replaced when opening another table in ‘non-sticky’/non-persistent mode.
  • Redesigned the tool bar in DATA and RESULT tab including new icons.
  • SQLyog now opens as default with a blue-colored interface. The old non-colored interface can be selected from preferences .. ‘others’ tab .. ‘theme’ (the 10.0 blue default theme is named ‘twilight’). Currently ‘themes’ apply to the main program dialog only and not popup dialogs. It is actually possible for user to modify a ‘theme’ or to create his own ‘theme’.
  • Several improvements to Schema Sync performance: 1) before an ALTER TABLE statement would be generated for every schema change. Now in most cases they are aggregated to a single ALTER TABLE statement. 2) Optimized queries and internal processing.
  • The current row in DATA and RESULT grid can now be selected using Ctrl+SPACE.
  • Added multi-column filter and sort option in Table data tab.
  • Added a control for select all/deselect all rows in DATA and RESULT grid.
  • Keyboard shortcuts added: 1) Ctrl+Alt+V will now rotate between GRID, TEXT and FORM display modes for DATA and RESULT tab. 2) ALT+Ins and ALT+Del shortcuts added in Table data/Result tab/Data search for Insert and Delete like already available in CREATE/ALTER TABLE.
  • Selection of any display mode (GRID, FORM, TEXT) is now persistent in RESULT tab. The currently active mode will have effect when executing a new query.
  • SQLyog installers are now digitally signed. When downloading with IE9 a false warning appeared due to lack of certificate and also UAC (‘User Account Control’ of Vista+ Windows) would warn that the program was from an ‘unknown publisher’.
  • When upgrading, the installer will now remember what shortcuts were created previously.
  • Table data will now read default limit values from preferences. Same default setting now applies to both DATA and RESULT tabs.

Bug fixes
  • Using a WHERE clause in data sync could cause the wizard to terminate prematurely. This bug was introduced in 8.6x.
  • Import external data could generate incorrect SQL when a Primary Key was present in source and PK-column(s) were not selected for import.
  • Fixed a crash occuring when opening a file that was not a valid jobfile from a SJA wizard.
  • SQLyog could crash when connected with HTTP tunnel and exporting to a fixed-length CSV-file.
  • Quite a lot of GUI fixes.

Miscellaneous
  • The shortcut to 'execute all queries' has been changed from SHIFT+F9 to CTRL+F9 . This is changed because SHIFT+F9 on some keyboards (including most English keyboards) could easily be mistyped if user wanted to type a bracket ( "(" or ")" ).

SQLyog 9.63 (March 2012)

Features
  • Added an option to specify the font used in the Object Browser.
  • Schema Sync now has an option to add SET FOREIGN_KEY_CHECKS = 0 to the script generated.
  • Added an option to specify INIT_COMMAND(s) for a connection. INIT_COMMAND(s) are executed when SQLyog connects and reconnects. The primary purpose is to override settings specified with ‘init_connect’ setting in server configuration for the SQLyog session. For instance if ‘init_connect’ server setting specifies “SET AUTOCOMMIT = 0" you may enter “SET AUTOCOMMIT = 1" in the SQLyog connection manager if you want a non-transactional behavior for the SQLyog session.

Bug fixes
  • If both a column default and a column comment was specified in CREATE/ALTER TABLE a SPACE-character was missing in the generated statement causing invalid syntax error. This bug was introduced in 9.5.
  • Fixed a crash (reported internally) in the ‘Indexes’ tab of the CREATE/ALTER TABLE interface.
  • Schema Sync did not handle BIT-column defaults properly. A redundant apostrophe caused the statement generated to be invalid.
  • Also if Schema Sync operated on a table where only column-level comments differed on source and target an invalid statement would be generated.

SQLyog 9.62 (March 2012)

Features
  • A Korean translation is now included.

Miscellaneous
  • The localization tools have been updated. The compiler for building localizations is now up to 100 times faster than before. Also the XML has now been properly versioned.

SQLyog 9.61 (February 2012)

Features
  • A Chinese (Simplified) translation is now included.

Bug Fixes
  • When there was an INFO tab open the server was unnessarily queried for the content of the INFO tab (based on Object Browser selection) when closing the program. This could cause a slow shutdown.
  • Fixed a crash occurring when pressing the ESC key in the CREATE/ALTER tab/dialog. This bug was introduced in 9.6.

SQLyog 9.6 (February 2012)

Features
  • When performing CREATE/ALTER TABLE operation from inside the Schema Designer now a dialog with a tabbed interface similar to the CREATE/ALTER TABLE tab will open.
  • It is now optional if Query Builder will create statements with ‘fully qualified tablenames’ or not.
  • Implemented Alt+Ins, Alt+Del, Alt+Up and Alt+Down for inserting, deleting, moving up/down the rows in CREATE|ALTER TABLE interface when the focus is on respective grids. The tooltip for the toolbar buttons will now show this shortcuts.

Bug Fixes
  • In Data Sync a low setting of ’max_allowed_packet’ on source server could result in CONCAT_WS() used for checksums’ calculation returning NULL . We did not consider this and as a consequence rows could fail to sync without warning. We will now abort the job with an error message (if user has selected to ‘abort on error’) or print an error to the sja.log file and the console (if user has selected not to ‘abort on error’ ) informing that some rows may have been skippped in such cases.
  • The fix for empty string defaults in 9.51 was not complete. It was (unlike 9.5) possible to create such default but it did not display as ” after creation in ALTER TABLE.
  • If multiple databases with same name existed only differing in lettercase SQLyog would generate certain statements using the ‘mostly lowercased’ database name. This bug was introduced in 9.5.
  • Autocomplete runs in a separate connection, but also when Autocomplete was disabled this connection was created for no reason.
  • SQLyog sometimes waited unnecessarily long (30 seconds - what is the client timeout setting we use internally) to report that SSH connection could not be established. This happened for instance if a wrong RSA passphrase was entered. In such and other cases there is no reason to wait for client timeout.
  • Small fixes - mostly GUI fixes to the new CREATE/ALTER TABLE interface.

SQLyog 9.51 (January 2012)

Features
  • The active database context is now highlighted in Object Browser using a bold font..

Bug Fixes
  • Drop-downs in the DATA and RESULT tab grid (used by SET and ENUM columns) could ‘drop down’ where they should ‘drop up’ instead.
  • Specifying empty string defaults for strings columns was broken in 9.5.
  • Fixed a rare crash caused by an undoumented behavior from the Windows API resulting in division by zero. Crash is now avoided by adding an additional condition check.
  • Fixed a painting issue in the Foreign Key tab in the new (from 9.5) tabbed interface for CREATE/ALTER TABLE that could render the interface here unusable on some systems.
  • Other minor fixes with same tabbed interface.

SQLyog 9.5 (December 2011)

Features
  • All CREATE TABLE and ALTER TABLE GUI functionalities will now open in a non-modal tabbed interface. The new tab appears in the SQL area (alongside QUERY tabs etc.). With the new interface some minor bugs with the old interface have been fixed as well. Also the SQL generated is cleaner as regards formatting and redundancy. Note that in this beta the old dialogs are still used by Schema Designer.
  • HISTORY and INFO tabs will now also appear in the SQL Area. The rationale is that those are not related to a specific (set of) query(ies). We plan to move the DATA tab up there as well for same reason.
  • When SQLyog opens, the SQL Area will new open the HISTORY tab, INFO tab, and a single QUERY tab. Other tabs belonging in this area can be opened on demand. HISTORY and INFO tab display are persisitent across session (ie. if one is closed when SQLyog closes down it will not diplay when SQLyog is opened next time – but may be opened by user, of course).
  • Search is now possible in INFO tab/text mode and in HISTORY tab. CTRL+F will open the 'Find' dialog.
  • Foreign Key lookup now works across databases.

Bug Fixes
  • The BIT datatype was not supported properly in text-mode.
  • On COMMUNITY if the SQL Area was increased to fill all vertical space, the divider could not be dragged back.
  • In ‘Execute SQL-script’ it is now optional if the complete script should abort or not if an error was encountered. Before it always aborted. The fix does not apply to HTTP tunnel where we will still ‘abort on error’ always.
  • Copying to clipboard could erroneously raise an ‘out of memory’ error. This was a miscalculation.
  • ‘Import External Data’ wizard now supports SHIFT+CLICK selection of objects.
  • The connection manager GUI’s of the SJA wizards did not handle SSL certicates properly (the main program window did not suffer from this).
  • If an ENUM/SET column was returned using an alias the drop-down combo in the RESULT GRID did not display.
  • Underscores were not handled properly by Autocomplete.
  • Syntax highlighting is now not used in INFO tab. It made sense for the CREATE statement only and was disturbing in other contexts.
  • A default for a BIT datatype could not be specified properly. Now b'..' and x'..' notation may be used when specifying column defaults.
  • When connected to pre-4.1 servers non-ASCII characters could garble.
  • Closing a query tab with multiple result sets could cause a memory peak and raise an out of memory error.
  • Duplicate table failed to copy spatial indexes.

SQLyog 9.33 (November 2011)

Bug Fixes
  • Fixed two regression bugs in Autocomplete introduced in 9.31: 1) a performance regression if the option to "Show suggestion as you type in SQL editor" was enabled. 2) Table alias support was broken.
  • The Autocomplete popup windows opened by Ctrl+Enter and Ctrl+Space could ‘pop down’ where it should ‘pop up’ resulting in the content being partly invisible. This bug was introduced in 9.31.

SQLyog 9.32 (November 2011)

Bug Fixes
  • Typing using the numerical keypad typed nothing in the SQL editor. This bug was introduced in 9.31.
  • With Japanese interface enabled some favorites items could fail to display.

SQLyog 9.31 (November 2011)

Features
  • Improved the handling of (built-in and stored) functions and stored procedures in Autocomplete. This involves 1) A stored program is now handled also if a ‘fully qualified routine name’ is not used. 2) Introduced a Ctrl+Shift+Space keyboard shortcut that will display the parameter-list of a routine when the cursor in positioned inside it. 3) While writing a routine call the parameter list will highlight the current parameter. Also note that we have also reversed the behavior of Ctrl+Space and Ctrl+Enter keyboard shortcuts for Autocomplete – this in order to comply with most IDE’s and advanced editors.

Bug Fixes
  • Schema Sync could generate an incorrect ALTER TABLE statement with an A TIMESTAMP .. ON UPDATE CURRENT_TIMESTAMP column on source. This bug was introduced in 8.4.
  • On Wine the status line (at the button of the program window) did not display. This was introduced in 9.3.
  • The Keyboard CTRL+SPACE did nothing on Wine. Now CTRL+SPACE and CTRL+ENTER behave identically on Windows and Wine.
  • On Wine the autocomplete popup window painted with a frame hiding some details.
  • When Japanese language was selected for the program interface ‘Copy Database/table’ returned an error. Also this was introduced in 9.3.

SQLyog 9.3 (October 2011)

Features
  • This release adds a Japanese translation of the User Interface.

Bug Fixes
  • The data display area in Data Search tab did not handle text mode.
  • The Autocompete popup windows did not allow 'rotation' from bottom to top (and vice versa) using arrow keys.
  • A user variable using a keyword after "@" (like "@SELECT") would be handled like a keyword by syntax highlighting. Now it is not.

SQLyog 9.2 (July 2011)

Features
  • The ‘Foreign Key lookup’ introduced in 9.0 is now also available in RESULT tab. With HTTP-tunnel this is not possible however.
  • Added a calender control for managing DATE, DATETIME and TIMESTAMP columns.
  • Data Search enhancements: 1) Added an option to search on column level. 2) Added Google-style “+” and “-” operators meaning ‘exact match’ and ‘not matching’. ‘+’ and -’ may be combined with “double quotes” and the NULL keyword. 3) Added an option to use hexadecimal patterns for search using x’..’ notation (note that this feature requires MySQL 4.1 or higher). 4) Added a filtering option. You may select to search specific data types only and/or a subset of databases in a connection, a subset of tables in a database or a subset of columns in a table. 5) 'Data Search' item was added to object (context) menu's where it applies.
  • Added an option to clone a connection in the connection manager.

Bug Fixes
  • After query execution from editor messages from one connection were always sent to the topmost connection window even though the active connection was not the topmost.
  • On Windows Vista and higher CSV-import of numerical data written in ‘scientific notation’ failed.
  • Fixed a crash with ‘stored programs’ if the ‘stored program’ definition was loaded from a file with a long name (too long to display fully in the tabbed interface). This bug was introduced in 9.1
  • ALTER VIEW could fail to open the view definition in MySQL 5.1+ if an underlying table was ALTERed after creation. This is actually a server bug due to which SHOW CREATE TABLE failed. SQLyog now works around this bug by fetching the VIEW definition from information_schema if SHOW CREATE TABLE fails. One limitation of this is that the ALGORITHM clause will not necessarily be the exact one specified while creating the view as Information_Schema has no record of the ALGORITHM clause.
  • Execute SQL Script will now show data transfered in percentage rather than the size. Once the execution/import is succesfull it will show the total size.
  • Removed extra whitespace in query when displayed in the message tab due to an error.
  • The execution time displayed for a query is now formatted for better readability. Note that English decimal notation (".") is always used.
  • Fixed a segmentation fault (crash) in the 'SQL Scheduler and reporting tool' of SJA for Linux.
  • Form View discarded the column alias while displaying the result.
  • Added *.ppk filter in SSH private key file open dialog.
  • F1 opened wrong help page when pressed from Table Data/Result Tab.
  • Fixed an issue were selecting the auto_increment option in 'Import External Data' wizard had no effect.

Miscellaneous
  • When opening SQLyog will now display a Query tab and a Data Search tab (and no Query Builder or Schema Designer tab as before).

SQLyog 9.1 (June 2011)

Features
  • Added an option to ‘Search Data’ in a database or a table. Just enter any string, perform the search - using either a 'fuzzy' search with wildcards or a search using regular expressions - and tables with all matches can be accessed – even for UPDATE – with a single click.
  • Quite a lot of dialogs have been made resizable. This includes ‘Reorder Columns’, ‘Copy Table’, ‘Add Favorites’, ‘Organize Favorites’, ‘Export as SQL Dump’, ‘Export As (CSV/html/…)’, ‘Table Diagnostics’ and ‘Copy Database’. Those left that are not resizable now are either those where it would not make sense and some that will very soon be replaced with another interface.
  • Redesigned the ‘advanced’ option in Import External Data tool.
  • When using the option to define a display color for a connection the background color and the foreground color can now be defined independently.

Bug Fixes
  • The ‘Job manager’ could fail to add jobs from the SJA wizards. This bug was introduced in 8.8.
  • Import External Data could fail to display all columns of target table when importing from a source containing lesser columns than target.
  • In TEXT mode the last row of data could fail to display if it contained a NULL value.
  • Export (to various formats) could cause SQLyog to ‘hang’ with tables with 500+ columns.
  • In ‘export as Excel XML’ it was possible to enter alphabetics for numerical parameters and the result of the export was unpredictable.
  • In ‘Import External Data .. advanced’ the complete job would abort even if user had only specified an abort condition for a single table. Also when the table was not present in the target and abort option was selected only the table structure was created and no data were imported. These bugs were introduced in 9.0.
  • In ‘edit’ menu the shortcut to ‘execute query’ was always displayed as F5 irrespective of user setting. This is a regression introduced in 9.0.
  • The 'Format Current Query' option in tool bar has been replaced with 'Format Query'. Now If there is a selection it will format the selection, otherwise it will format the current query.

Miscellaneous
  • When opening SQLyog will now display a Query tab and a Data Search tab (and no Query Builder or Schema Designer tab as before).

SQLyog 9.02 (April 2011)

Bug Fixes
  • The option in ‘preferences’ to ‘Keep focus on SQL editor after query execution’ did not have any effect. This bug was introduced in 9.0.

SQLyog 9.01 (April 2011)

Bug Fixes
  • Introduction of the option to TRUNCATE TABLE in the ‘Import External Data Tool’ in 9.0 introduced a bug. If user selected DROP+ (RE)CREATE TABLE only structure would be created but data would not be imported.

SQLyog 9.0 (April 2011)

Features
  • Added an option (in GRID and FORM view) to look up/search valid values for columns having Foreign Key CONSTRAINTS.
  • In CSV-exports NULL-values can be written as a user-specified string. "\N' is default for compliance with MySQL ( SELECT INTO OUTFILE and LOAD DATA), but for use with other programs (such as spreadsheets) other options may be relevant.
  • Added an option to automatically add 'child' tables to selected tables (before it was only possible to add 'parent' tables) in Schema Designer and Query Builder.
  • Added a "Change Background Color" option in Edit menu
  • A foreground color for text display contrasting a defined background color is now automatically provided by SQLyog in Object Browser and Connection tab.
  • The visual effects of tabs have been improved with continued scrolling support. There is a + icon next to the last tab which provides options to add new tabs.
  • In ‘Import External Data’ there now is an option to TRUNCATE target tables. Before only DROP+CREATE was possible.
  • In ‘Import External Data’ added an option to discard/clear column DEFAULTs. Some ODBC-sources use default specification that will not work with MySQL and it was tedious to define this for every table when a large number of tables were imported.

Bug Fixes
  • Data entered from the GUI to mange ENUM/SET types were not escaped properly what caused problems with the " ' " (single quote) and " \ " (backslash) character.
  • Focus in Object Browser was lost when creating a Stored Procedure.
  • There is now a button/link to open the log file in each dialog wherever it is referred.
  • Fixed an issue where non-binary data were displayed as "(Binary/Image)".
  • Now TAB/SHIFT+TAB keys will rotate through buttons, check-boxes and tools in Result/Table Data tabs.
  • Fixed a crash occurring when running Schema Sync and a Query Builder or Schema Designer TAB was active in the program main window.
  • Fixed a truncation issue while importing binary data from PrimeBase server.
  • When repeatedly stepping forward and backwards in SJA wizards most recent data entered by user could be lost and replaced with previous values.
  • Deleting multiple rows of a table without a Primary Key could crash SQLyog. This bug was introduced in 8.8.
  • Fixed a crash occurring when connecting on some Windows 7 systems with Service Pack 1 installed.
  • While formatting multiple queries the SQL formatter does now not add a new line if an empty line already exists between two queries. Formatting multiple times would insert new empty lines between queries for each cycle.
  • A few more Query Formatter ‘refinements’.
  • When closing a Query tab or a Query Builder tab user was prompted to save even if he had ‘blanked’ the content of the tab. Now it does not unless the tab was populated from a file. SQLyog will still prompt user to save in this case.
  • A small GUI fix with the ENUM/SET dialog.
  • After dropping a column from Object Browser context menu focus in Object browser would change randomly. Now focus will be retained on the parent COLUMNS folder.
  • SQLyog could crash when attempting to delete rows from the table having a foreign key constraint. This bug was introduced in 8.82 due to improvements made in scrolling.
  • SQLyog could crash while the table contents were being loaded in table data tab and the user tried altering the table at the same time.
  • If server had timed out the connection SQLyog could fail to reconnect when opening a ‘stored program’ definition.

SQLyog 8.82 (February 2011)

Bug Fixes
  • Exporting could fail with the ‘PAD_CHAR_TO_FULL_LENGTH’ sql_mode (introduced in MySQL 5.1.20) set globally. This bug was introduced in 8.8. We now use the ” (‘empty’) sql_mode for the background thread where the export is running.

SQLyog 8.81 (February 2011)

Bug Fixes
  • Fixed a serious bug in User Management where assigning a new password to a user created a new user instead. This bug was introduced in 8.8.

SQLyog 8.8 (February 2011)

Features
  • In Schema Sync and ‘copy database’ connections are now identified with their color code as defined in the connection manager.
  • In ‘Import External Data’ import of Foreign Keys/relationships are now disabled as default when importing from Access and the interface has been clarified in this respect. The reason is that unless Access security settings are changed for the database it is not possible to import Foreign Keys/relationships and an error would occur if not security settings allowing for exposing relationships were defined.
  • Implemented a tooltip on Query tabs (including Query Builder and Schema Designer tabs) displaying full path to file (if any).
  • -- With HTTP-tunnel there is now an option to specify a MySQL socket file for connection to MySQL. Note that in that case MySQL ‘host’ and ‘port’ settings are ignored (if any). Due to this added functionality the tunneler file for HTTP-tunneling has been updated with this release.
  • Hexadecimal and binary/base2 strings can now be entered for any datatype using ” x’..’ ” and ” b’..’ ” notation in GRIDs. SQLyog will now not ‘quote’ such values starting with “x’” and “b’” when performing DML operations from the GRIDs.
  • Implemented support for the BIT datatype. In DATA and RESULT tab BIT’s will now display using ” b’..’ ” notation what in combination with the point above ensures that BIT data are updateable. Note that with HTTP-tunnel this is not functional in RESULT tab as PHP does not provide sufficient meta-information for a result set to decide column-widths.
  • Drastically improved memory management in DATA and RESULT tabs. This allows for larger result sets in memory and improves scrolling. This also fixes a bug introduced in 8.7 where scrolling could render wrong values displayed in the GRID.
  • Added an option in GUI to specify a sql_mode for the connection as well as for using the GLOBAL mode for the SESSION.
  • Added CTRL+ALT+L keyboard shortcut for switching GRID and FORM mode.

Bug Fixes
  • SQLyog will now never use TIMESTAMP(14) but only TIMESTAMP. TIMESTAMP(14) returns an error in MySQL 5.5.
  • Fixed a truncation when importing data from ‘standalone’ Primebase server (note: not MySQL with PBXT storage engine. This never was a problem).
  • When editing a very large ENUM-list SQLyog could crash.
  • Schema Designer did not properly keep track of names of renamed tables.
  • Fixed a truncation of display in Form View with specific character sequences.
  • Right-clicking a JOIN line/symbol in Query Builder could fail to bring up the JOIN properties dialog.
  • The SQLyog editor highlighted a keyword followed by a dot as a keyword instead of recognizing it as an identifier.
  • While ‘rebuilding tags’ autocomplete did not return database objects.
  • The option in ‘preferences’ to ‘generate queries using backticks’ did not have effect when double-clicking an identifier name into the editor. This is fixed and additionally now also autocomplete will ´backtick`objects if the preferences’ option is selected.
  • Modified the SQLyog installer to prevent installing on an unsupported platform.
  • Fixed a bug in automatic indentation introduced in 8.7. The cursor was not indented correctly following the previous line if indentation was more than one SPACE or TAB character.
  • An orphaned PLINK instance could be left running when closing a SSH connection. It would typically happen with rather slow servers or connections and when connection was closed very shortly after it was established.
  • When formatting multiple SQL queries SQLyog removed empty lines between queries.
  • There was no option not to save connection details when connecting with new connection details. The Connection Manager fix in 8.7 missed that point.
  • In data sync wizard "all columns" option in the GUI drop down should be checked and displayed. But the "all columns" option was unchecked and it also truncated to "A"
  • The 'Scheduler and Reporting' Tool (formerly 'Notification Services') was sending a blank email for successful execution of INSERT and UPDATE queries.
  • When a Primary Key column contained negative values Data Sync could sometimes skip some rows.
  • Immediately updating a newly inserted row could fail because of using wrong value in WHERE clause. This also affected rows inserted with 'duplicate row'.
  • Lots of GUI fixes and lots of internal optimizations.

Miscellaneous
  • ‘Notifications Services’ was renamed to ‘SQL Scheduler and Reporting Tool’

SQLyog 8.71 (November 2010)

Bug Fixes
  • In Form View if a BLOB/TEXT column contained specific sequences of non-ASCII characters the button to open the BLOB viewer would not display correctly.
  • When updating from the RESULT tab and when using HTTP-tunnel identifiers were not `backticked`. For same reason the update would fail with identifiers containing SPACE or other characters requiring `backticks` in the statement. This bug was introduced in 8.7.
  • ‘Copy Database’ GUI did not display the connection name of the source database.
  • The fix in 8.7 that autocomplete could sometimes delete the character following cursor position was not complete.

SQLyog 8.7 (November 2010)

Features
  • Added an option to reorder TABs using drag’n'drop in the GUI. The option is available for connection tabs as well as Query/Query Builder/Schema Designer tabs.
  • Added ‘FORM view’ option (in addition to ‘GRID view’ and ‘TEXT view’ already available) for managing data in DATA and RESULT tabs. ‘FORM view’ will display one row at a time and is in particular convenient when entering data from the keyboard. Auto_increment columns are handled. Other CONSTRAINTS must be handled by user. FORM view is an ENTERPRISE/ULTIMATE feature.
  • As a consequence of the above CTRL+L keyboard shortcut will now ‘toggle’ between TEXT mode and either GRID-mode or FORM-mode (which is active).
  • The Query Formatter is now completely rewritten. In principle all types of SQL statements are now supported and all limitations with the old implementation are lifted.
  • Inside ‘pseudo comments’ (like /*! .. this .. */) “paranthesis’es matching” is now enabled. Inside plain comments it is still disabled.
  • The Editor now has a ‘folding option’. Multi-line code and comment blocks between bracket-pairs, BEGIN-END pairs, C-style comment pairs (/* and */), WHILE-END WHILE pairs, LOOP-END LOOP pairs, REPEAT-END REPEAT pairs and CASE-END CASE pairs can now be ‘folded’ in/out (ie: hidden or unhidden).
  • Autocomplete will now backquote table name (+ routine name etc.) if databasename is backquoted when inserting first-mentioned after a “.” (dot).
  • There is now no size limit on files to be opened in the editor (except for available memory).
  • When inserting rows both GRID-view and FORM view will now indicate auto_increment columns as (Auto) for easy identification. Normally user should not enter those, but let the server handle.
  • We have reverted back the automatic proxy detection in upgrade-check. We had a few reports that it could cause a crash when the machine was awakening from standby and hibernation. Only Win7 Professional edition seems affected.
  • The fix for slow initialization with large autocomplete databases that was introduced in 8.62 and reverted again in 8.63 is now included again. It has stabilized with this build.
  • When backing up 'all databases' with 'scheduled backup' the Performance_Schema database (as of MySQL 5.5) will now not be included in the backup. This is similar to how Information_Schema always was handled.
  • When updating from RESULT tab we will now handle the database context automatically. The database context as selected by user is not used. Note that this applies to MySQL 4.1+ server and when not using HTTP-tunnel (as pre-4.1 MySQL and PHP do not expose the database in the result set).
  • The caption (in 'tools' menu) ‘Restore from SQLdump’ was changed to ‘Execute SQL script’.

Bug Fixes
  • Fixed formatting issues with text-mode if multiple multi-line string columns were displayed.
  • The ‘persistence setting’ for ‘all rows’ in DATA tab would sometimes be forgotten
  • If scrolling in GRIDs is done using Scroll Bar (including Scroll Bar context menu) focus will now not change and will remain on the previously selected row. However navigation between rows in GRID using Pageup/PageDown will still change the focus between rows.
  • If more than 9 Query etc. tabs were open it was not possible to navigate beyond the 9th using keyboard shortcuts. Now ALT+9 will select the last tab (for connection tabs same was implemented in 8.5).
  • “EVENT” was not recognized as a keyword by syntax highlighting and autocomplete.
  • Improved vertical scrolling in GRIDs with a large number of rows displayed.
  • Schema Sync will now show columns in the order they are defined in the table. Before they were alphabetically sorted.
  • Removed redundant COMMENT clause in the ALTER script generated by Schema Sync.
  • If 0 (zero) was given as the default value for a timestamp column CREATE/ALTER TABLE table would raise a syntax error, as SQLyog was quoting the default value as ’0'. Also specifying NULL as default (what is redundant for a NULLable column) would fail for similar reasons.
  • ‘–-’ (two hyphens) followed by TAB (not only SPACE) is a valid MySQL single-line comment. We did not handle TAB in this context.
  • Fixed a crash while copying to clipboard from table data/result tab.
  • Autocomplete could sometimes delete the character following cursor position.
  • CREATE/ALTER TABLE now ignores NULL entered as default for a NULLable column. It is redundant. Before invalid syntax was generated.
  • With specific user operations in Connections manager a connection could be saved even if user replied NO the the ‘save question’. Also the connection manager now does not prompt user to save changes if only password/passphrase is changed and it is selected not to save password/passphrase.
  • The FIND dialogue sometimes failed to keep focus on the FIND dialogue itself (recent fix was not complete).
  • The dialog for defining ENUM/SET values was not showing when the ENUM/SET cell got focus using keyboard(when using mouse it was working as expected). Also it could open when another cell in same row of GRID had focus.
  • When an existing jobfile for Data Sync was opened the order-of-tables in the jobfile was not honoured. It is now. This is in particular relevant for users using TRIGGERS as there is no way temporarily to disable TRIGGERS in MySQL.
  • SJA for Linux was exporting file size upto 2 GB only (a compiler flag allowing for 'large files' was missing in build script).
  • SJA for Linux did not show any error in mail or in console if it failed to connect to server. We will now notify both places (provided that 'send mail' option for the job is enabled).
  • With a large number of rows displayed GRID could display garbage and fail to identify properly BLOB/TEXT data belonging to the row.
  • When a new row had just been added from GRID it could be deleted even if user specfied another row to be deleted.
  • Horizontal scroll bar in Query Editor and History Tab was not proper with long lines.
  • Several small GUI fixes.

SQLyog 8.63 (October 2010)

Bug Fix
  • The fix for slow initialization with large autocomplete databases in 8.62 has been reverted with this build. It introduced other issues like a possibility of SQLite database corruption and crashes. The fix will be added to 8.7 development tree when stable.

SQLyog 8.62 (October 2010)

Features
  • SJA now supports an additional -r parameter that tells how big CHUNKS should be when copying to an empty table. The -r parameter has only effect with Data Sync jobs and is ignored with other types of jobs. This is a command line option only that is not supported from the GUI Wizard.
  • GUI improvement in Data Sync Wizard clarifying the difference between syncing ‘All tables’ (existing at any time) and all tables existing at the time of building the job. It is now also much easier to select ‘almost all tables’ for a Data Sync job.
  • Data Sync will now ignore differences as regards indexes on source and target tables except for the Primary Key/Unique Index used for sync. There is no need to require that all indexes are the same.
  • SJA for Linux had a dependency on the ‘libstdc++.so.5' shared library that is not installed as default on some recent Linux distros. This and similar dependencies have been solved with this build. The download size has increased but it is necessary to ensure that SJA will run ‘out of the box’ on all Linux systems.

Bug Fixes
  • While Viewing Advanced Properties of table SQLyog executed SHOW TABLE STATUS with no LIKE clause. That could be slow.
  • Fixed a crash when copying to clipboard from RESULT tab.
  • Changed the keyboard shortcut for Save Changes in User Manager for consistency with normal Windows practice.
  • Fixed a crash when deleting a row from RESULT tab.
  • Invoking specific keyboard shortcuts (Ctrl+TAB, Ctrl+F4) could cause a crash if a background connection thread (Schema Sync, Copy Database, Restore from SQL Dump, Back up database as SQL Dump) was running.
  • Working with TRIGGERS could be very slow (in Schema Sync, backup etc.). This is due to an issue with Information_Schema. We now use a SHOW syntax that is not affected.
  • Schema Sync prefixed a VIEW-name with the database name and thus it failed if source and target databases were not named identically.
  • Schema Sync did not consider ALGORITHM and SQL SECURITY -clauses for a VIEW.
  • When executing multiple queries the ‘execution time’ information displayed in status line was for a single query. Now we will aggregate for all queries.
  • Removed result tab and profiler tab from a newly opened query tab. There is no information to display at that time.
  • Find/Replace was setting the focus back to the editor whenever a match was found..
  • SJA wizards were always opening up in the center of primary monitor even though SQLyog was running in another monitor.
  • Right clicking on scroll bar of different windows was not popping up the scroll context menu.
  • Data Sync was ignoring any table names with more than one leading SPACE character saved in job files.
  • Data Sync was not allowing anonymous users to connect while reading the connection details from job files.
  • Parenthesis’es highlighting inside ‘single quoted string’, “double quoted string” and `quoted identifier` is disabled now.
  • Fixed a crash that could happen due to memory corruption while adding queries executed in Schema Designer to History tab.
  • When updating a resultset from RESULT tab SQLyog failed to use the Primary Key alone in the WHERE clause if the SELECT query populating the RESULT tab used a table alias in the FROM clause. Updates could then fail if there were floating point columns in the resultset. Also when adding new row in such case defaults were not displayed in the GRID.
  • Initialization of the program could be slow if user had very large SQLite databases used by autocomplete.
  • Vertical scrolling in RESULT Tab or DATA Tab was saving the unsaved changes.
  • User manager tool bar button was not working with SQLyog Professional version.
  • Renaming a connection changing only LETTERCASE failed.
  • Importing an external file from BLOB-viewer could fail.

SQLyog 8.61 (September 2010)

Features
  • INFO tab/HTML mode now displays a count of each type of database objects.

Bug Fixes
  • Fixed a crash on Vista+ with ALTER TABLE. It happened due to changing compiler to Visual Studio 2010 in 8.6. The older Visual Studio version used handled this bug in our code without crashing.
  • Fixed a buffer overrun issue with long column headers that also could cause SQLyog to crash. Also this was a similar issue due to upgrading the build environment in 8.6.
  • SQL formatter inserted garbage value if query contained '%'.
  • "Parenthesis'es highlighting" is now disabled inside MySQL-comments. Before an unmatched parenthesis in a comment would cause 'mis-matching' of parenthesis'es in the executable SQL outside comments.
  • Fixed some incorrect MySQL API calls with HTTP tunneling. This issue was reported internally only.
  • The RESULT tab in text mode was showing incomplete data with multi-line strings.
  • Import external data now always uses UPPERCASE for keywords in queries sent to the ODBC-source as some ODBC-sources require this.
  • Table Data tab was unable to perform custom filter when there was an escape character in the filter text.
  • SQLyog was hanging while showing filter tooltip with more than 80 charecters in Table Data tab.

SQLyog 8.6 (August 2010)

Features
  • User Management is completely redesigned and rewritten. Now privileges on all levels - as well adding/deleting/renaming users and changing passwords - are managed from the same interface – an expandable tree view. Also GRANT and REVOKE syntax is now used (before the MySQL privileges tables were manipulated directly).
  • Added a ‘custom filter’ option in DATA and RESULT tab GRIDs. With this option, user can filter on any value from any cell.
  • Added options to filter on ‘%value’ and ‘value%’ in both the ‘Filter’ menus and ‘Custom Filter’ dialogs.
  • Added a tooltip to the 'filter' icon in DATA and RESULT tabs displaying current filter settings.
  • CTRL+INS and SHIFT+INS keyboard shortcuts will now copy and paste (like CTRL+C and CTRL+V) in GRIDS.
  • Added support for “parenthesis’es matching” in the editor TAB as well as the small query editors in 'Notifications Services' and 'Import External Data' wizards. You may find what parenthesis/bracket matches another one by simply positioning the cursor after a bracket. The actual bracket and its match will highlight. Note that this feature will work with any string – whether valid SQL or not. Both plain parenthesis’es, square brackets and curly braces are supported (independently of each others).
  • If “save password” is checked for a connection, then focus in Connection Manager will be on the connection name – else it will be on the password. Before focus was always on password when Connection Manager was opened.
  • Improved performance by optimizing code when SQLyog was internally performing string comparisons (what it does a lot).

Bug Fixes
  • In text-mode, columns in DATA and RESULT tab would not align properly with non-ASCII characters. We were basically counting bytes – not characters. This is now fixed. But note that alignment issues may still happen in special cases with some non-western scripts in cases where the font itself prints more characters with the width of a single character.
  • Fixed some bugs when migrating default values from SQL server using Import External Data. Issues were occurring with specific default values and datatypes.
  • Terminating a job from SJA wizards was not killing the PLINK process used for SSH-tunneled connection.
  • The dialog for defining ENUM/SET properties only appeared after clicking the 'length' cell from CREATE/ALTER TABLE. Now it pops up as soon as user has selected the ENUM/SET type.
  • The output in the MESSAGES tab is restructured to make the output more readable when multiple queries are executed.
  • When opening a ANSI-encoded file with non-ASCII characters the encoding would not be detected correctly, and the content would garble (no issue with UTF8 and (Windows) UTF16-encoded files). This bug was introduced in 8.3.
  • SQL exports added redundant Unix-linebreaks, what would cause some editors to display an empty line. This bug was introduced in 8.4.
  • SQLyog could crash when connecting from ‘import external data’ wizard to a source database with a huge number of tables in it.
  • The Windows Explorer dialog for selecting files to be opened could display garbage characters at the beginning with non-English locales. The reason was SPACE characters incorrectly added by SQLyog.
  • Fixed a GDI leak occurring when switching between TABS in the GUI (editor TABS or connection TABS).
  • Fixed a crash that could occur when closing the copy database dialog.
  • Create Index dialog was not resizing/positioning the grid properly. Sometimes the issue could render the dialog unusable
  • Other small GUI fixes.

Miscellaneous
  • With this build we have changed our build environment from Visual Studio 2003 to 2010.
  • Windows 2000 is no longer supported.

SQLyog 8.55 (July 2010)

Bug Fixes
  • If user edited data in RESULT-tab GRID and changed from Edit Mode to Read Only mode without saving, the UPDATE statement would omit the proper WHERE-clause. As a consequence all rows would be updated. This bug was introduced in 8.4. All users using 8.4 or higher should upgrade due to this serious bug.
  • Sorting and filtering on YEAR-type columns in RESULT tab did not work. Now it works with YEAR(4), but with YEAR(2) it still does not with this release.
  • A connection tab/window can now be closed even if there is only one connection.
  • Fixed an issue with Schema Sync when source and target differed in both columns and Foreign Keys. Sometimes the ALTER script would only specify the FK-changes to target

SQLyog 8.54 (July 2010)

Bug Fixes
  • With many servers/connections registered in SQLyog the drop-down list in the connections dialog would flicker. The flickering was introduced in 8.5.
  • Query Formatter was not handling queries of size greater than 2 KB. Now the size is increased to 8 KB. The 2 KB limitation was introduced in 8.18
  • Import of data from .xlsx files from Excel 2007+ was failing with double-precision datatypes.
  • Update-check failed if SQLyog was running behind a HTTP-proxy. The settings will now be detected. However proxies requiring authentication are not handled with this release.

SQLyog 8.53 (July 2010)

Bug Fixes
  • SJA was always using port 22 to connect to SSH, but now any valid SSH port can be used to establish connection with MYSQL server using SSH.
  • Fixed a PLINK crash which was introduced in SQLyog 8.5.

SQLyog 8.52 (June 2010)

Bug Fixes
  • Solved an issue with SSH connection when PuTTY is present. PLink was using the default settings of PuTTY to connect, resulting error in connection (Introduced in 8.5).
  • Solved an issue with SSH connection where SQLyog was reporting Error No. 2003 even if the MySQL port was correct (Introduced in 8.5.1).
  • If MySQL connection used “anonymous user”, SJA was throwing an error.
  • For create/alter database, collation drop-down list did not populate values correctly if TAB key was used to select the charset.
  • In Scheduled backup if the database name contains Non-ANSI characters, export was failing when ‘ALL database’ option was selected.
  • Fixed the way keyboard shortcuts Ctrl+Tab and Ctrl+Shift+Tab behave.

Miscellaneous
  • Selecting a connection from the drop-down list of connection window is now faster.
  • Keyboard shortcut Ctrl+W now closes the current connection tab.
  • Keyboard shortcut for the Database Synchronization tool has been changed to Ctrl+Alt+W.

SQLyog 8.51 (June 2010)

Bug Fixes
  • The 'Export Table Data As...' option from the object browser menu was exporting just the column headers, this was introduced in 8.5 GA
  • In the Notification Services wizard, if the field contains the data with quotes, SJA was inserting extra slashes along with the field value
  • The 'timeout' for establishing connection using SSH has been increased from 15 seconds to 30 seconds (15 seconds was too less to establish connection with slow SSH servers).

SQLyog 8.5 (June 2010)

Features
  • This version introduces a tabbed interface for connections. Tabs will be colored (if chosen) like the Object Browser. Note that the meaning of shortcuts Ctrl+number have changed: they will now shift between connection tabs. The old Ctrl+number shortcuts have been changed to Ctrl+Shift+number.
  • Added an option to 'duplicate row' from DATA tab GRID context menu. Tables with auto_increment columns are handled. Note that handling all other CONSTRAINTs is user's responsibility.
  • When a GRID operation returns a warning there is now a clickable link for SHOW WARNINGS. Note: this is not implemented for HTTP-tunneling.
  • In RESULT tab data can now be filtered client side as already possible in Table Data.
  • Menu option 'Paste SQL Statement' will format the query as per the SQL Formatter Preferences settings.
  • Tabs can now be closed with the click of middle mouse button (mouse wheel).
  • Keyboard shortcut F3 for 'Find Next' in Query Editor and Result/Table Data tab in Text mode. Note: Not implemented in BLOB-viewer.
  • Shift+click can be used to select/deselect multiple objects in tree-view control of Copy Database, Export, etc.
  • Added a menu option to ‘Find Next’ in ‘edit’ menu and query editor context menu.
  • Find/replace settings are now persistent within the session.
  • Improved the speed of (csv, html, xml, excelxml and sql) - exports from RESULT tab.
  • Files can now be drag'n'dropped into the program window and file will be opened in a new Query/Schema Designer/Query Buillder tab depending on file type (like 'file .. open' menu). Same is implemented in SJA wizards where a file can be opened.

Bug Fixes
  • It was not possible to enter a value higher than 999,999 for OFFSET and LIMIT in DATA and RESULT tabs. Now up to 15 digits are allowed.
  • 'No Database Selected' error could occur with Data Sync after a reconnect. We are now prefixing table names with database name in Data Sync.
  • Shortcut for copying 'Ctrl+Insert' was not preserving the letter case.
  • Fixed a rare issue where the SQLyog configuration file (SQLyog.ini ) could be corrupted – and even deleted – if multiple program instances using same .ini instance were running simultaneously. Scenarios include the situation where user by mistake (double)clicked the program icon twice.
  • Autocomplete could fail to select the items from the listbox (popup window) display after typing “.” if a ‘_’ (underscore) character was present with list box items. Technically this was an incompability between sorting in SQLite, Scintilla and standard C functions. We have added our own code to handle this. But note that for performance reasons it is not handled perfectly with Ctrl+Space and Ctrl+Enter where it can be necessary to use arrow-keys for selection in such case.
  • Several small fixes with ‘Find Next’ in editor and Blob Viewer.
  • SJA wizards would sometimes fail to specify the correct jobfile path to the Windows Task Scheduler.
  • The grid control in Manage Index dialog did not resize properly with some monitor resolutions.
  • The upgrade check dialog popped up on top of other running applications.

Miscellaneous
  • Use of 'compressed protocol' is now default for new connections. Our test tell that the positive effect of using it can be huge when it should be used and the negative effect when using it when it should not, is very small.
  • Added keyboard shortcut Ctrl+9 for selecting last connection tab.
  • In RESULT/DATA tab all Copy related options are grouped together.
  • Minimized the number of pop-ups while creating a Table.
  • The PLINK shipped with SQLyog was updated. This solves rare connection problems with specific SSH configurations. Mostly connections to very recent Linux distributions were affected.
  • Also the SQLite library within SQLyog has been upgraded to the latest version. The new version of SQLite improves stability as compared to the previous version where a possible journal file corruption was not handled.
  • If user does not specify a file extension for the jobfile the wizard will add the standard extension ‘.xml’.
  • The option in 'preferences' to 'Add keywords in UPPERCASE' is removed. It was redundant since introduction of the 'auto-capitalization' feature.
  • Dialog fonts are now default system font.
  • In order to save space Query Builder and Schema Designer tabs will now show the filename without ('.queryxml' and '.schemaxml') extensions.
  • Installers will now have two numbers after the numbers identifying the version no. (identical to common naming conventions for RPM installers for Linux). This is done in order to ensure that every installer we build has a unique name. Various proxy systems would sometimes cache and provide the old file on download request.

SQLyog 8.4 (April 2010)

Features
  • Dumps created with ’scheduled backup’ can now be zipped.
  • ‘Notifications Services’ can now read queries from an external file.
  • Added an option to send a mail alert if an error occurs while executing a ‘maintenance query’ from Notifications Services.
  • In RESULT tab data can now be sorted by clicking on column headers like already possible in DATA tab. However note the difference as compared to sorting in DATA tab: in DATA tab we will send a SELECT .. ORDER BY .. query to MySQL – in RESULT tab we will sort inside the internal SQLyog data buffer. That means that for strings sorting in RESULT tab does not respect the collation defined for the data. Also all sorting on string values in RESULT tab is currently always case-insensitive (and note: this also applies to binary types: binary, varbinary and BLOB).
  • ‘copy to clipboard’ and ‘export to CSV-file’ -settings are now independent.
  • The file menu has been reorganized to comply with standards. Note that to insert from a file into an open editor tab you must now use the context menu item from the editor. Such menu item in the context menu was also added with this release.
  • Added menu items (for exports and 'copy to other..') to table-level in Object Browser.
  • Added an option to find redundant indexes. The control and the information is available from INFO tab/html view. This is an ULTIMATE feature.
  • Drastically improved the speed of the auto-complete option to show suggestion while typing.
  • Save dialog when closing a connection now has ’yes to all’ and ‘no to all’ options.

Bug Fixes
  • Schema Optimizer did not handle the auto_increment flag. Underlying reason was that MySQL 'Procedure Analyse()' does not. We now retrieve this information otherwise.
  • Sorting in RESULT tab did not handle BIT types properly. Now such type is sorted as an integer. Also we fixed a few more minor bugs with sorting in RESULT tab.
  • When the database context was changed by user between execution of same SELECT-query by clicking 'refresh' an empty RESULT tab displayed, what was confusing. Also it was possible to crash SQLyog from this empty RESULT tab. Now we print an error in MESSAGES tab in such case and no RESULT tab displays.
  • Fixed a crash (reported internally) that could happen when sorting on multiple columns in DATA tab. Also an invalid query could be generated under same conditions.
  • Notifications services would not execute queries after a query returning an error if connection was over a HTTP-tunnel even if user had selected not to abort on error.
  • Very long strings containing the ‘_’ or the ‘\’ character could cause a buffer overrun when looking up a match in the auto-complete database. Windows would then terminate SQLyog.
  • Fixed a rare issue where access to a port (to be used for a SSH tunnel) was erroneously blocked by SQLyog before it was reserved. Even SQLyog itself could then not use it and connection would fail.
  • Selecting from the connections dropdown in connection manager using keyboard was not functional.
  • The MySQL keywords PROFILE and PROFILES were not considered as keywords by the SQLyog editor and auto-complete.
  • New row(s) added in GRID in DATA tab did not display when shifting to TEXT-mode. A refresh was necessary.
  • On un-checking 'save password' option in connection window, SQLyog was not deleting password in sqlyog.ini file.
  • Schema Designer was prompting table out-of sync message if there was a difference in table's AUTO_INCREMENT 'value' or if extra spaces were present between identifiers.
  • On executing SELECT statements having clauses like PROCEDURE, INTO FILE, FOR UPDATE, etc., SQLyog was adding LIMIT clause if result tab paging option is enabled.
  • Manage privileges dialog was missing lock table and create_temporary_table privileges for MySQL server version less than 4.1.
  • Copy database would fail if source server has lost its connection while fetching data because of too small 'net_write_timeout' value. But still copy database dialog was showing 'copy successful'.
  • GUI fixes.

Miscellaneous
  • In order to indicate table storage engine SQLyog was retrieving the table's information from Information_Schema while expanding database from object-browser. This was slow in some MySQL server versions. Now the query to retreive the engine information will be executed on demand only.
  • SQLyog now has a common option in Preferences to "Prompt if a tab with unsaved changes is closed". Earlier it was separate for Query Editor, Schema Designer and Query Builder tabs.
  • In RESULT result tab in edit mode we have restricted adding more than one new row at a time. If conflicted with filtering.
  • In RESULT result tab in edit mode we have restricted adding more than one new row at a time. It conflicted with filtering.

SQLyog 8.32 (March 2010)

Bug Fixes
  • If ’all rows’ option for a table was selected in DATA tab this setting had effect when switching to a table that had never been viewed before. Consequently first selecting ‘all rows’ for a small table and next selecting a huge table could cause system memory exhaustion. This bug was introduced with the table-level row-number persistence in 8.22. Now a table that has never been opened before will be opened first time with the default LIMIT setting.
  • First time a specific query was executed paging in RESULT tab (as introduced in 8.31 beta1) did not work properly for that query.
  • If paging was disabled for RESULT tab the ‘rows in a range’ radiobutton was still selected (but ‘greyed out’ though).
  • When printing from Schema Designer blank sheets could be printed if a table object was positioned close to the border of a page.
  • Fixed (yet another) multimonitor issue.
  • When a Query Builder tab was closed with an unchanged QB layout, SQLyog prompted if changes should be saved.
  • If tables named identically except for lettercase existed in same database on a unix/linux server one of those tables would display data for the other table in DATA tab. The wrong table was specified in the query sent to MySQL. This bug was introduced in 8.0.
  • Fixed a crash when copying data to clipboard from DATA tab using toolbar icon.
  • Improved GUI in ‘Import External Data Tool’ wizard (explaining limitations with various Microsoft ODBC drivers).
  • SQLyog connection manager required a user name, what prevented connection as a MySQL ’anonymous user’.
  • The automatic detection of what local port to use for SSH-tunneling (as introduced in 8.21) could in rare situations detect a port from where connection was not possible.
  • Schema Sync could generate an invalid USE .. LIMIT … statement. This bug was introduced with paging in RESULT tab in 8.3.

SQLyog 8.31 (March 2010)

Note: A 8.31 GA version was never released (a 8.31 beta1 was but was replaced with 8.32 and 8.4 beta1)

SQLyog 8.3 (March 2010)

Features
  • Added an option to define a ‘color code’ for a connection. The color will be used as background color in the Object Browser.
  • A Query Builder session can now be saved and resumed.
  • In Query Builder a table alias can be defined for any table by double-clicking the title bar of the table symbol.
  • In RESULT tab results can now be retrieved page-wise. This is ON as default with this build with a defined LIMIT of 1000 rows. For a specific query user can change and for this specific query the setting is persistent across sessions. Also read ‘miscellaneous’ paragraph below.
  • Added a context menu to Query Builder canvas.

Bug Fixes

  • Deleting a user would leave non-global privileges orphaned in the ‘mysql’ database. Now we use DELETE USER syntax if server supports.
  • Also using EDIT USER dialogue to change host or user specifier for a user would not move non-global privileges. We have split the old ALTER USER dialogue into two: a EDIT USER and RENAME USER dialogue. The latter will use RENAME USER syntax if server supports.
  • On Wine Data Sync could generate a malformed XML-string what would case Data Sync to abort.
  • Fixed an issue where SSH-tunneling failed with public/private key authentication. Technically the fix is in the PLINK binary shipped with SQLyog.
  • SJA failed to send notification mails if Yahoo SMTP servers were used. Note that the fix disables encryption option with Yahoo SMTP servers – but it won’t work anyway due to a non-standard SMTP implementation server-side.
  • When importing data from a Universe ODBC-source string data could be truncated.
  • The fix in 8.22 for the issue that horizontal scrollbar in GRID would sometime not appear was not complete. It could still happen.
  • SQLyog will now trim trailing whitespaces in Connection Manager and Create object dialogs to avoid MySQL Errors.
  • Opening a file from ‘recent files’ list could crash SQLyog if a Query Builder or Schema Designer tab was selected and the file specified was not a valid XML file for that tab. This bug was introduced in beta 1.
  • When calling a Stored Procedure with more than one SELECT statement from ‘Notifications Services’ only one result set was sent by mail.
  • The sja.log file had no line-breaks between what was recorded for two jobs.
  • On multi-monitor system resizable dialogues could open on the wrong monitor. New implementation is like this: on multi-monitor systems main program dialogue and ‘first child dialogue’ (example: ALTER TABLE) will open where they were closed (if possible), second and higher child dialogues (example: table advanced properties) will always open on top of its ‘parent’ dialogue. Non-resizable dialogues (such as confirmation boxes) will always open on top of their ‘parent’.
  • With multiple SSH-tunnelled connections open stopping and re-executing queries in multiple connections in a fast manner could crash SQLyog.
  • If more than one comment occurred before a SELECT statement in the editor, the statement was not identified as a SELECT statement by the Query Profiler and the Query Profiler TAB would not display.
  • We did not validate client-side if user checked atoincrement option for a bit column with Create/Alter table dialog.
  • If an error occurred while renaming a trigger then trigger was lost as SQLyog was not recreating it back.
  • Small GUI fixes.

Miscellaneous
  • The default LIMIT setting for DATA tab has been removed. The setting is not required since we introduced table-level persistence for number of rows displayed. The default for new tables that have not been opened before is 50 – but when user changes the value and next ‘refresh’es SQLyog will save the LIMIT for that particular table persistently across sessions. This in combination with page-wise display in RESULT tab results in a more uniform User Interface for DATA and RESULT tabs.

SQLyog 8.22 (January 2010)

Bug Fixes
  • ‘Test connection’ would succeed even if a non-existing database was specified in the database field. Connection would next fail.
  • Database name (if any) would erase on clicking OK in error dialog in connection window.
  • HTML exports could drop the first character of string output.
  • With multimonitor setup and SQLyog on the right screen some rarely used dialogues would pop up on left screen.
  • Copy database/table will now display ‘connecting to source/target server’ while connecting. If establishing connection took more than a few seconds users could have the impression that nothing was happening.
  • An extra RESULT tab could appear when executing a query. This bug was introduced in 8.2. Professional and Enterprise editions were affected.
  • We did not validate client-side if user specified a default value for an auto-increment column.
  • In notification wizard sending mail would fail if there was no semicolon after the query and “include original query” option was checked.
  • With more than 65 536 (2^16) rows displayed in GRID, the GRID scrollbar would expose strange behavior. We were using a scroll control using 16 bit integers internally. New scroll control handles +4 billion rows.
  • In Wine when displaying very wide tables and result sets (like 500+ columns) the column header could disappear. The underlying reason was that Wine failed to render a gradient as transparent but rendered it as opaque instead.
  • Horisontal scrollbar in GRID would sometime not appear when executing a query returning a large number of columns if not scrollbar was required for previous query.
  • With larger than ‘normal’ DPI setting the BLOB Viewer header would not display properly.
  • ‘Export as SQL-dump’ dialogue was redesigned to allow for longer files paths.

SQLyog 8.21 (January 2010)

Features
  • Now SJA will also send mail alert if job aborted due to MySQL error. Before it was only internal SJA error.
  • The local port used by SSH-tunneling will now be selected automatically. This will avoid conflicts in case multiple programs use SSH. Also with Data Sync from command-line/scheduler it was possible to use same port for both connections what would effectively sync a server with itself.
  • Caption for ‘Parse’ button in Notification Services Wizard was changed to make it clear that it will actually execute the statement(s) entered. There is no way to let the server parse a statement except for executing it.
  • Connection windows for SSH connections will now list SSH host details in the title bar.
  • Tooltips for an icon will now list the keyboard shortcut performing same action.
  • The option to display ‘all’ versus a ‘LIMIT’ed set of rows in DATA tab is now table-specific and saved across sessions (note that – similar to the ‘column width persistence’ feature – connection parameters are not using for identifying a table; only the database name and the table name are).
  • Objects in an Object Browser node is now sorted case-insensitive.

Bug Fixes

  • Continously clicking the ‘Calculate’ button in Schema Optimizer in a fast manner could crash SQLyog.
  • The keyword.db file (used by auto-complete and syntax highlighting) is now read only. Various validators for Windows7-compatibility would report that SQLyog wrote to “Program Files” folder at runtime (what it did not).
  • When copying to clipboard an out of memory error could occur also when there was enough memory.
  • The table menu will now indicate what storage engine is currently used for the table.
  • Auto-complete and syntax highlighting did not recognize keywords archive, blackhole, federated, example, maria, pbxt, federatedx, falcon and mrg_myisam.
  • Notifications Services/’Send Query to Email address’ option did not send a mail if an error occurred. Now a mail listing the error will be sent.
  • We did not validate client-side if user specified a default value for an auto-increment column.
  • In DATA and RESULT tab the context menu was only working from GRID-cells. Now it also does from GRID headers and ‘whitespace’ in the tabs.
  • Updating a ’TIMESTAMP on update CURRENT_TIMESTAMP’ had no effect (the particular column was not listed in the UPDATE-statement sent by SQLyog). This was a necessary restriction before 8.13 but since we – from 8.13 – only list columns that have actually been edited by user, we can now lift this restriction.
  • Import External Data – TRIGGERS could fail to update a SQL Server (n)varchar if it contained an empty string.
  • If user had selected to save SSH-password locally and later changed the password, the new password was not saved – unless clicking ’save’ button in connection manager interface.
  • When importing an external script with no explicit SET NAMES on top, SET NAMES latin1 was executed by SQLyog. Now we won’t do this – and server default charset will have effect for the import in such case.
  • Autocomplete did not handle identifiers with the ‘_’ character correctly what could result in too many matches when matching the database with a pattern in editor containing such character.
  • Other small GUI fixes.

Miscellaneous
  • This release ships with an updated tunneler file for HTTP-tunneling. In the old tunneler file functions were used that are depreciated in PHP 5.3x.
  • The 'Objects' menu was renamed to 'Others'.

SQLyog 8.2 (December 2009)

Features
  • Added a ‘Schema Optimizer’ feature. Based on “procedure analyse()” it will propose alterations to data types for a table based on analysis on what data are stored in the table. The feature is available from INFO tab/HTML mode.
  • A table can now be added to Query Builder canvas multiple times. A table alias is automatically generated for second and higher instance of the table. This is required for special queries like self-JOINs.
  • In the ‘Import External Data’ wizard same import settings can now be applied to all tables in one operation.
  • In MESSAGES tab we are now displaying the query if error occurs during execution in order to make it easier to identify what query raised an error when executing multiple statements.

Bug Fixes

  • ‘Import External Data Tool’ -TRIGGERS did not use the Primary Key for the WHERE-clause if a PK existed on source (all columns were used with the WHERE instead). This could cause problems with tables having Floating Point data.
  • A malformed XML-string could cause failure to connect with HTTP tunneling. This was a rare issue only.
  • After DROP a ’stored program’ followed by CREATE same, autocomplete would not recognize the ’stored program’ unless after a program restart.
  • ‘duplicate table’ has an option to duplicate triggers defined ON that table, but the way we named the new trigger could cause inconsistencies. Now the new trigger will be named ‘oldtriggername_newtableame’.
  • Autocomplete was not functional with names of Triggers and Events.
  • In MESSAGES tab font could change if non-ASCII characters were displayed.
  • ALTER TABLE failed to rename a column when old and new column name only differed by letter-case. Actually the dialogue just shut down.
  • A calculation error could cause export tools to create BULK INSERT statements larger than specified by user.
  • Import External Data Tool will now always map any autoincrement type from ODBC sources to a MySQL autoincrement integer. Before this datatypes that could autoincrement on source but not in MySQL (example: a SQL Server ‘decimal autoincrement’) failed to import.
  • Now Import External Data Tool will convert SQL Server ‘GETDATE()’ to MySQL ‘now()’. Before this an error occurred at import with GETDATE()’s.
  • Fixed a Object Browser flickering issue when refreshing.

Packaging and Licensing
  • The licensing scheme for SQLyog has changed: there is now the free Community version (unchanged) and 3 different commercial licensing models: Professional, Enterprise and Ultimate.
  • TRIAL now has ULTIMATE features with the exception that there is a restriction on how many tables and other objects can be handled in a single SJA job (similar to what was previously the case with Enterprise TRIAL).

SQLyog 8.18 (November 2009)

Bug Fixes
  • Schema Sync will now query Information_Schema for a VIEW definition. MySQL sometimes returns 'databasename.viewname' and not just 'viewname' when using SHOW CREATE.
  • Schema Sync failed to set the auto-increment flag when syncing a table having this flag to a table not having. This bug was introduced in 8.13.
  • SMTP authentication and notification could fail with passwords having special characters.
  • Solved a crash with Query builder while creating VIEWs.
  • The display of the optimized query from EXPLAIN EXTENDED is now truncated to 2 KB. With long BLOB/TEXT data there will need to be some limit.
  • Info tab in html format was showing incorrect value for table's data size having values in Gigabytes.
  • The fix in 8.15 for the issue that Windows Vista and higher could warn that SQLyog was not properly installed was not complete. It could still happen.

SQLyog 8.17 (October 2009)

Bug Fixes
  • When connected to a 5.0 server compiled without PROFILING option and with Query Profiler/SHOW PROFILE feature enabled SQLyog would still send PROFILING-related queries. It was not properly detected that the server did not support this. MySQL versions from 5.1 and up (also when compiled without PROFILING option) were not affected.
  • In DATA and RESULT tabs/text mode unicode/non-ASCII characters could cause a change of the font that was used for displaying data. This was an old bug from when introducing full unicode support in 6.0.
  • In RESULT tab BLOB/TEXT data would sometimes not display beginning of data in GRID. This bug was introduced in 8.15.

Miscellaneous

  • EXPLAIN EXTENDED option is now disabled as default in Query Profiler.

SQLyog 8.16 (October 2009)

Bug Fixes
  • Exports as Excel-XML was broken in 8.15 . Empty strings and ZERO’s occurred instead of data.
  • ‘Search and replace’ could truncate the result. Also this bug was introduced in 8.15.

Miscellaneous

  • SQLyog Application Manifest was updated to return version information.

SQLyog 8.15 (October 2009)

Features
  • Added an option to execute SHOW WARNINGS automatically if the ‘warning-count’ is not 0. The output will appear in MESSAGES tab. Note: this is not implemented for HTTP-tunnelling.
  • Improved the memory handling in GRIDS with BLOB/TEXT columns. This fixes some slugginess when scrolling a GRID containing such data.

Bug Fixes

  • A dump containing VIEWs created on an early 5.0-server could fail to restore on recent servers. The underlying reason is a bug with the ‘default’ column in the output of SHOW FULL FIELDS on the early 5.0 servers. But we can aviod using this information and this is what we did now.
  • Copy database/table from a 3.x or 4.0 server to a more recent server failed with column names containing special characters.
  • If a sqlyog.ini files exists in installation folder it should be copied to ‘AppData’ folder. This is required for upgrading from versions before 6.06. However with latest releases an empty file was created in ‘AppData’.
  • The ‘Import External Data Tool’ could truncate strings when importing data from a 4D database. It is actually a bug in the 4D ODBC driver but we found a workaround.
  • SSL-connections failed if authentication keys were created with cipher option.
  • SQL-exports generated INSERTS for MERGE and FEDERATED tables.
  • In INFO-tab/text-mode we will now not highlight ’string literals’. A comment with an odd number of quotes would make following lines display with ’string literal’ highlighting/coloring.
  • When connected with SSH-tunneling to a Windows machine with Cygwin SSHD the bash.exe process created for each connection did not close again.
  • CREATE TABLE .. advanced options did not set some create-options to ‘default’.
  • Execution of some queries would be slow with Query profiler/EXPLAIN extended selected. Most important queries with a UNION were affected. Technically it was an issue with the Query Formatter code and how it ‘hooked’ into the program. This bug was introduced in 8.0.
  • Windows Vista and higher could warn that SQLyog was not properly installed due to lack of an Application Manifest. It was false alarm but now such Manifest is included with the installer.

Miscellaneous

  • Functionality change: Before this release we stripped out the database name from Stored Program and View SQL-code when generating SQL-dumps and when copying a database to another host. Also Schema Sync did with VIEWs. This was in order to make it easy to import/copy to another database. However with tables named identical to the database and when database names was a substring of a table name it failed sometimes. We realize now that SQL code inside Stored Programs and Views may be so complex that parsing for the database name and stripping it is not safe. With this release we have stopped this ’stripping’ and Stored Programs and Views will be dumped by SQLyog identically to what ‘mysqldump’ does.

SQLyog 8.14 (August 2009)

Bug Fixes
  • When backing up a VIEW a temporary table was created on source. That could fail if user did not have TMP_TABLE privilege or if the table violated server or storage engine restrictions for tables (but note that we still write statements that create and later drop a ‘dummy’ table when restoring, as this is the only safe way to backup/restore VIEWS defined on VIEWS).
  • When updating from GRID’s SQLyog sends a SHOW CREATE TABLE to ensure that table definition has not changed. But incomplete syntax was used (”SHOW CREATE TABLE `table`” - not “SHOW CREATE TABLE `database`.`table`”). With the new reconnect implementation in 8.13 that could raise the error ‘no database selected’ after a reconnect.

SQLyog 8.13 (August 2009)

Features
  • SQLyog can be started with a ‘-dir’ switch like “SQLyogENT -dir somefolder”. This dir switch specifies where SQLyog will look for the sqlyog.ini file and where all writeable files will be saved. This was mainly implemented for users that want to have all SQLyog-related files on a removeable drive or some kind of encrypted storage. Note that if you use the setting in ‘preferences’ to store TAGS file some specific place the ‘preferences’ setting will still have effect, also if the -dir switch is used.
  • Improved/rearranged the GRIDS in Data Sync and Import External Data wizards .
  • SJA mail functionality now supports SSL/TLS encryption. This applies to SJA for Linux and SJA for Windows running on Windows, but not not SJA for Windows running on Wine, as we did not find any way to access encryption functionalities from Wine.
  • ALTER VIEW will now format the SELECT-part of the VIEW definition.
  • Now all batch jobs will not generate BULK INSERTS larger than 16MB (like already implemented in Import External Data in 8.11).
  • In CREATE/ALTER TABLE the charset and collation columns can now be hidden for better overview (most users never use it).
  • When updating from DATA or RESULT grid the UPDATE statement will now only list columns that were changed. That results in more readable statements and may also improve performance with ‘wide’ tables and tables with large BLOB/TEXT columns.
  • As a consequence of the above the restriction, that a grid containing spatial or binary data could not be updated, has been lifted (but such columns themselves still cannot be updated from the grid).
  • Added an option to perform backups in a single transaction (similar to ‘mysqldump’ “–single-transaction” option).
  • The connection manager has been redesigned to allow for longer connection names. Also the ‘…’ button was renamed to ‘rename’ (what was what it always did).
  • Added support for MySQL compressed protocol in both SQLyog GUI and SJA.
  • Added an option for user to specify the timeout setting for the session (note: it will work with MySQL 4.1 and up only as earlier versions do not support SESSION variables).
  • Now SQLyog logs to the sqlyog.err file if memory allocation fails with string manipulation (for example when handling blob/text data where a single value may be larger than available memory).
  • Version parameter was added to SJA. You can now execute “sja -–version” or “sja -v” and version will be returned. Before only the file size could be used to detect the SJA version.
  • Now full GUI support for all charsets added to MySQL after 5.1. Everywhere SQLyog presents user for a list of available charsets and collations the server will be queried about this information. Before it was not like that everywhere!
  • If the custom size for bulk insert in ‘preferences’ is larger than server default, then SQLyog will use the server default for generating BULK INSERT statements. Users overlooked/forgot that they had specified a setting. As a result backups that would not restore on same server could occur. Also now user specification is restricted to 5 digits (what means it will have be be less than 100 MB).
  • The various options available for backups have been reorganised in GUI to make it more clear what options have effect on the source server while backup job is running and what options are options that are written to the file.
  • A new query tab can now be opened by double-clicking in the unused space to the right of existing open tabs.

Bug Fixes

  • Edit menu showed F5 for both Refresh and Execute Query.
  • Autocapitalisation settings had effect where they should not. It has now been disabled in MESSAGES tab and in the error dialogue.
  • Non-column results (like functions, expressions etc.) were afffected by column-width persistence feature what they should not (it had weird effects sometimes).
  • Various places a horizontal scrollbar displayed where it was not requiered.
  • Fixed wrong behaviour with GRID scrollbar after resize.
  • ALTER TABLE dialogue executed SHOW TABLE STATUS with no LIKE-clause. That could be slow with a large number of big InnoDB tables in a database.
  • PROFILER tab sometimes did not show after executing multiple queries.
  • After doing FILTER in DATA tab, LIMIT would be reset to previous value.
  • A ‘duplicate key’ error would occur with batch jobs (including Data Sync) if an autoincrement column had a ‘0‘ value. We now set ‘NO_AUTO_VALUE_ON_ZERO’ sql_mode for batch jobs.
  • On Wine F8 keyboard shortcut was only functional after executing a query.
  • When copy database/table from a MySQL server 5.1 or higher to a 3.x or 4.0 server timestamps with ON UPDATE-clause caused a syntax error as ON UPDATE is not valid on such target. There was no issue when source was 5.0 as we transform the CREATE statement. But the condition had a bug so it did not work with 5.1+ .
  • It was not possible to enter an empty string in the GUI for ENUM/SET management.
  • When queries were inserted from ‘edit .. paste SQL statements’ menu the tokenizer editor component could fail to identify exactly where a statement started and stopped. Reason was that the tokenizer expects Windows linebreaks (\r\n) but templates contained Unix linebreaks (\n).
  • SQLyog could fail to save properly from RESULT tab if PK-column(s) were not displayed in GRID (an incorrect WHERE-clause was generated). This bug was introduced in 8.1.
  • Emptying a database rendered Autocomplete non-functional for the session.
  • A scheduled SJA job raised an internal error code in the Windows scheduler. It had no effect on the job as such (queries were executed, mails were sent), but various monitoring tools for Windows servers would raise an alert.
  • Data Sync could throw an incorrect ‘AUTO INCREMENT definition mismatch’ error for data types (like TIMESTAMP type) where auto-increment does not apply with specific schemas. Also this bug affected Schema Sync.
  • Fixed a crash in Scheduled Backup.
  • Fixed an issue with Schema Sync if the same ’stored program’ was formatted differently on source and target. Target was not always synced properly and SS would detect differences forever.
  • On Wine Data Sync could pop up a message that SJA had crashed. But actually it only crashed after user clicked OK in the dialogue.
  • If user did not have SELECT privilege to the `mysql`.`proc` table ALTER STORED PROCEDURE/FUNCTION failed silently. Actually nothing happened. Now we return an error.
  • ‘reorder columns’ threw away ” (empty string) DEFAULTs for string columns.
  • When data were changed in GRIDs and the GRID-curser was moved to another row of the GRID by right-clicking in a cell of another row of the GRID, no UPDATE statement was sent (left-click and arrow-down key worked as expected).
  • With low wait_timeout setting on it could happen that Data Sync took more time than this setting to prepare a BULK INSERT statement. Connection to would be lost and sync not completed. We now SET wait_timeout = 28800 in Data Sync. Also ‘restore from SQL dump’ will now do the same.
  • Mails sent by SJA could truncate a HTML tag for background color. ‘white’ would become ‘hite’. The display with specific email clients was unpredictable.
  • When data sync used the option to generate a sync script the sja.log displayed ZERO's for inserted, updated and deleted rows. Now the log will display what was written to the script instead.
  • When a routine body contained empty lines, Scema Sync would sometimes not sync such empty lines properly. Schema Sync would then detect differences forever.
  • In INFO tab/HTML-view empty lines in a routine body could be 'stripped out'.
  • 'copy database' failed to copy triggers when selecting only triggers for copy.
  • In various error dialogues we will now truncate query strings to 2 KB. Before there was no limit.
  • SSH-tunneling failed with the "FreeSSHD" SSH-implementaton for Windows.

Miscellaneous

  • SQLyog reconnects are now coded differently (now the MySQL API reconnect option is used - before it was our own code). The new code means that with SSH-tunnel it will now not be necessary to re-instantiate PLINK (the running PLINK instance will be used). As a consequence SQLyog will now not log to HISTORY when SQLyog reconnected in most situations. However a PLINK-SSHD reconnect will still be logged always.

SQLyog 8.12 (June 2009)

Bug Fixes
  • Backups did not `backquote` identifiers inside the columns-list of an INSERT statement (ie. “INSERT .. (col1, col2) VALUES ..” instead of “INSERT .. (`col1`, `col2`) VALUES..”). If specific (but not all) keywords were used for naming a column, backups would not restore. This bug was introduced in 8.1.
  • A sync script generated with Data Sync had INSERT statements duplicated. Also this bug was introduced in 8.1.
  • Fixed a painting issue when switching between DATA tab and RESULT tab.

SQLyog 8.11 (June 2009)

Bug Fixes
  • A memory corruption could occur when saving a file using ’save as’ (’save’ was not affected) from the editor. Various issues like painting issues and even a crash could then occur.
  • Scrolling with mouse scroll-button was not functional in the new GUI for SET/ENUM management.
  • ‘duplicate table’ did not duplicate all ‘table options’ defined for a table - like MAX_ROWS etc. (Also note that Foreign Key CONSTRAINTS are not duplicated either, but that is intentional and not a bug).
  • Bulk INSERTS generated by Import External Data Tool will now be restricted to 16 MB in size if max_allowed_packet in server configuration is larger than 16 MB. On specific systems/configurations memory issues were reported.

SQLyog 8.1 (June 2009)

Features
  • Added an option to import text/.csv, .xls (Excel) and .mdb (Access) files without without using a preconfigured DSN setting (user only need to specify the file and ODBC driver details are passed transparently for user). When using this option also detailed column mapping is possible.
  • Added an option to ‘preview SQL’ in CREATE/ALTER TABLE.
  • OBJECTS tab was renamed to INFO tab. There is now a choice between the (old) text-based display and a new tabular/HTML-based view.
  • New GUI for defining ENUM and SET columns in Create/Alter GUI.
  • Column width in all GRIDs (not only DATA and RESULT tabs) are now persistent.
  • Autocomplete had a complete ‘overhaul’ resulting in better performance.
  • The caption ‘Migration Toolkit’ was changed to ‘Import External Data’ in menus etc.
  • The session.xml file (used by SJA internally) is now not exposed to users in Wizards. The file is created in user’s ‘AppData’ folder when job is invoked from a Wizard. If invoked from command-line files will be created in the folder where the SJA executable is, if not specified differently from command line. The reason for this change is that the two XML files (jobfile and sessionfile) have frequently been confused by users.
  • Drastically improved the speed of exports (typically 3-4 times faster) by changing the buffering concpet used internally. This refer to exports as CSV, XML ,HTML, Excel XML and all SQL export/backup options.
  • The changed buffering concept as described above also was applied to Data Sync. Additionally this release comes with query optimisations of queries used by Data Sync. Fewer queries are needed. As a combined result Data Sync is now much faster than before in particular with remote servers (up to 2-3 times with normal DSL connections).
  • Added 'scheduled backup' option to Object Browser context menu.
  • Some reorganisations of menus, improved captions and explanations in dialogues and wizards etc.

Bug Fixes

  • Query Profiler would sometimes fail to display the total time in SHOW PROFILE.
  • Fixed a painting issue in Schema Designer.
  • Fixed a program crash in copy database/table.
  • On Win2K and Wine icons will now be 8 bit color depth, as those environments do not support 32 bit color depth icons properly.
  • Autocomplete would sometimes erroneously insert a linebreak.
  • Query Builder could generate SQL with an ambiguous column (not prefixing column name with tablename for a PK-column) if the same column name existed in joined tables. This bug was introduced in 8.03.
  • When connected to MySQL before 4.1 a string containing special (non-ASCII) characters could be identified as a binary string. Also this bug was introduced in 8.03
  • Autocomplete was not functional within the argument-list of a function.
  • ‘empty database’ (from the database menu/context menu) caused Autocomplete to become non-functional for the session.
  • Scheduled backup did not handle the “&” character in file and folder names.
  • Removed redundant SPACES in CREATE statements. These SPACES could cause formatting to garble when copying (to a web form for instance).
  • If a file named 'sja' or 'sja.exe' existed in SQLyog 'AppData' folder SJA failed to connect with SSH tunnel. A user reported that such 'shadow copy' was created periodically. Issue is not fully understood (except that Windows looked for PLINK too in 'AppData') but the fix works!
  • Fixed a scrolling issue in Data Sync GRID.
  • The templates for ALTER ('stored programs and VIEWS) will now have a "USE db_name" on top. Before the statement could be executed against the wrong database if user changed the database context.
  • Lots of fixes for small (mostly GUI-related) issues reported internally.

SQLyog 8.05 (April 2009)

Features
  • User Management icon was re-introduced in the Icon Bar.
  • In DATA and RESULT tab you can now open the BLOB VIEWER for BLOB and TEXT types with any keyboard keystroke (like SPACEBAR). The ‘NOT NULL’ checkbox will then automatically uncheck (if checked) and BLOB VIEWER window is ready for input from the keyboard without any mouse action

Bug Fixes

  • SQLyog could crash when retrieving binary data over a HTTP-connection.
  • Fixed a crash when updating from the RESULT tab (details: a pointer used internally could contain an invalid value).
  • When multiple reconnects took place in ‘copy database/table’ with short intervals various issues could occur - including a program crash.
  • When Schema Sync CREATED a table having a string column with default ” (empty string) the default was not created for that column (it was no problem if the table on <target> existed in advance and was ALTERED) .
  • On MySQL 4.1 and 5.0 SHOW FULL FIELDS does not expose an ON UPDATE CURRENT_TIMESTAMP clause for a TIMESTAMP column . We will now get this information from SHOW CREATE TABLE. The most serious problem before this was that when syncing from 4.1/5.0 to 5.1/6.0 an ON UPDATE CURRENT_TIMESTAMP clause could erroneously be dropped on <target>.
  • Also this release contains a large number of GUI-releated fixes including fixes for painting issues and Object Browser issues related fixes. Also the Object Browser fixes in 8.04 introduced new issues that were now also fixed.

SQLyog 8.04 (March 2009)

Features
  • Crash dumps with no information (zero-size) will now be deleted automatically.
  • When saving/copying from the editor the LETTERCASE modfications for keywords and functions will now be preserved.
  • Selecting a ‘child’ object for a table (columns and indexes) will now refresh the DATA tab if DATA tab is open. Before only selecting the table object itself did. Also the table information is now available in OBJECTS tab when a column or index is selected.
  • Now also a ‘key’ icon is used for identifying the Primary Key in an Object Browser ‘Indexes’ folder.
  • When a GRID cell is only partly visible, doubleclicking it will move the grid position so that cell/row will become visible (before it worked like that with singleclick - we changed to doubleclick as this is a de facto standard in such grids - in Excel for instance).
  • The copy database/table dialogue will now expose detailed information about objects copied.
  • In ‘empty database’ added a ‘SELECT ALL’ option in order to avoid multiple confirmation popups.

Bug Fixes

  • An index defined on more than one column dislayed as many time in the Object Browser as the number of columns used for defining the index.
  • Fixed scrolling issues with the GRIDs.
  • The GRID of CREATE/ALTER TABLE dialogue required double-click in a cell before pasting into that cell was possible.
  • Query Builder ‘copy query to same query tab’ was broken.
  • Query formatter would insert Unix linebreaks (\n) instead of Windows linebreaks (\r\n) between multiple queries what in turn could result in that the tokenizer/editor would fail to recognize exactly where a statement started and ended.
  • In the Schema Sync dialogue the ‘compare’ button could grey out. This bug was introduced with the ‘refresh’ option added in 8.03.
  • The ‘include column names’ option in CSV-export dialogue (including ’save to clipboard’) was not persistent
  • Fixed some flickering and repainting issues in Schema Designer in particular as well as other similar small issues elsewhere in the program.
  • A floating point value displayed in the form ".1234" (no ZERO before the decimal sign) would be exported as integer "1234" with "export as Excel XML". Also NULL values for numerical types could result in a XML file that Excel would not open.
  • Adding/dropping an index would collapse the 'columns' folder for the table in Object Browser and vice versa.
  • F6 keyboard shortcut was disabled if focus was on a 'columns' folder in Object Browser.
  • When using "copy database" and an error occurred while copying a 'stored program' the copy proces would not abort on error. Instead next object was copied or attempted copied. This has been changed so that behaviour with 'stored programs' is the same as with tables.
  • When clicking the database dropdown in the connection manager of SJA wizards the mouse pointer did not change to an ‘wait state’ pointer while list of databases was fetched from the server, what could give user an impression of SQLyog ‘hanging’
  • Progress bar improvement with “Export as SQL dump” and “Restore from SQL dump”. Also progress information with files larger than 4 GB displayed wrong due to 32 bit integer overflow. Now a 64 bit integer is used.
  • Lots of small fixes reported internally and by users.

Functionality changed

  • We will now not UPDATE a row of data from DATA or RESULT tab if any of the columns displayed for the actual row contains data identified as binary data by containing a NULL byte (’\0? in C-notation) no matter whether this occurs for binary, varbinary, char or varchar types. Instead an error message will print (reason for this: the UPDATE operation would store what was displayed - not the underlying binary data causing the display).
  • The arrow icons displaying in column headers of the DATA grid indicating sorting state have been replaced/reverted to conform with de-facto standards.

SQLyog 8.03 (March 2009)

Features
  • New major feature: column width persistence in GRIDs. Once you have defined a column width for a combination of database/table/column the defined column width will always be used. Note that connection details are not used for identifying columns with this new functionality so with replicated and identically named synchronized databases it is sufficient to define in one place. Alias’ed columns in results are handled by the column name and not the alias. Non-column results (like constants, results of expressions/functions, returns of SHOW etc.) are not supported currently. The feature can be turned on/off. Note that if both this new option and the old ”Truncate column headers … ” is checked in program ‘preferences’ the “Truncate ..” option will be ‘overridden’ by the new column width persistence feature.
  • ‘Find’ dialogue will now remember last used values.
  • Resizing columns in GRID was made easier. A 'zone' around the column splitter and not only the splitter line itself will now accept the mouse event.
  • Added an option to open a file in a new tab (Editor tab and Schema Designer tab).
  • Added an option to use ‘hard SPACES’ for tabulation in the editor (with this checked the code will display identically when copied to other programs).
  • In editor you can now start typing a query in any position and ENTER will position cursor in same position of the next line.
  • Added ‘view data’ option to the context menu of a VIEW.
  • In Query Builder PK-columns are now marked with a (beginning) ‘*’.
  • In Object Browser introduced a new ‘key’ icon for PK-columns.
  • ‘Find’ was implemented in BLOB viewer. Currently there is only the Ctrl+F shortcut to do this and no other GUI option (no button or whatever).
  • In Schema Sync added a ‘refresh’ option in the dropdowns for <source> and <target> databases.
  • The program dialogues for SHOW values/processlist/status, SHOW warnings with CSV-import and Table advanced properties are now resizable.

Bug Fixes

  • Fixed an issue where SQLyog failed to SET NAMES when reconnecting.
  • Exporting floating point data as Excel XML could truncate data.
  • Quite a lot of fixes for (mostly cosmetical) GUI issues.
  • Fixed some ‘flickering’ issues.
  • Double clicking in the GRID could cause the GRID position to move.
  • Fixed a bug with detection of encoded strings stored in BLOBs (This was introduced in 8.0 - and it is still recommended to use TEXT types for encoded strings).

Miscellaneous

  • For 16×16 icons we now use the icons from before 8.0. The new icons had too many details for this resolution. Also now users that prefer the old icons can have them!
  • A restriction on the file size to be loaded into the editor (introduced in 7.12) was enlarged from 2 MB to 20 MB. A warning will now print if size is exceeded (but also note that there is no such restriction when importing external files (from tools .. restore ..)).

SQLyog 8.02 (February 2009)

Features
  • Both SQLyog and SJA will now detect if Base64 encoding is required for HTTP-tunnel.

Bug Fixes

  • Importing external scripts with a large number of DDL-statements was slow with Auto Complete turned on (due to redundant updations of the Auto Complete database).
  • Deseleting a single object (like a single table) in the export dialogue also deselected all objects in other categories (like all non-table objects).

Funtionality change

  • CHUNK setting (for exports) now also has effect for non-HTTP-tunneled connections. Using this option is required if it takes more time to retrieve data from a table than server ‘net_write_timeout’ setting.
  • SQLyog will now not reconnect if connection is lost during imports. Instead an error message will prompt (the reason for this is that session variables defined on top of the script would be reset to server defaults with reconnection. As a result (and most important) special characters could garble and other errors could occur as well).
  • When trying to INSERT or UPDATE spatial data types from the DATA/RESULT tab SQLyog will now throw an error. Spatial data must be handled from the editor (but a result set from a table with spatial columns can be updated from RESULT tab if there are no spatial columns in the result).

SQLyog 8.01 (February 2009)

Bug Fixes
  • Query profiler could fail to fetch the result of SHOW PROFILE for (text-wise) long queries.

SQLyog 8.0 (February 2009)

Features

  • New major feature: Query Formatter. Any SELECT, UPDATE, INSERT or DELETE statement can be formatted with a single click. Various formatting options/styles are available in ‘preferences’.
  • New major feature: Query Profiler. With this feature enabled every SELECT statement will trigger execution of EXPLAIN (EXTENDED) and SHOW PROFLE (if supported by server) for the query and will detect changed SESSION STATUS VARIABLES (with some additional explanation of the meaning of those) due to execution of the query. The feature is highly configurable. The information will display in an ‘Profiler’ tab opening in the DATA/RESULT area. With this new feature there is no longer an excuse not to profile queries continously in the application development process - simply because whether you do it or not the effort will be practically the same!
  • New icon theme. The size of icons displayed in the icon bar is configurable.
  • Added an option to force LETTERCASE (Uppercase/Lowercase) for display of keywords and functions in the editor. Note that only the display in editor is affected. When copying or saving, the LETTERCASE will be copied be as it was entered.
  • Added option for user to select/deselect the 'info-line' displaying at the bottom of DATA, RESULT and PROFILER tabs.
  • A VIEW can now be generated directly from the Query Builder.
  • Column width's defined by user in Data GRID will now be preserved when refreshing, filtering, sorting and using previous/next buttons.
  • Some minor GUI usability improvements and fixes in Data Grid and in Object Browser.

Bug Fixes

  • If BLOB-viewer was closed by clicking the upper-left corner ‘x’ symbol, changes were lost without warning.
  • A SQL script with a user´defined DELIMITER using semicolon failed in editor as well as when importing an external script. Most important “DELIMITER ;;” (double semicolon) did not work.

Functionality change

  • The SQL_WHERE option in Data Sync is changed so that WHERE-condition is evaluated against source only (before it was both source and target (logically OR'ed)).

Miscellaneous

  • The ENTERPRISE uninstaller will now remove registration info from the system. This is a request by users who misspelled the registration name or by mistake registered to themselves as a person and not to their company/organization. Note that as a consequence you now should have your registration details available if you uninstall and reinstall!.

SQLyog 7.15 (January 2009)

Features

  • Added an option to use Base64 encoding for communicating XML data stream with the HTTP tunneller. Using this option can be required to work around this XML-related bug in PHP: http://bugs.php.net/bug.php?id=45996.
  • Improved editor performance with large scripts if Wordwrap was enabled.

Bug Fixes

  • On Windows Vista Business edition, SQLyog could crash while closing down. No other Windows OS (and also not any other Vista edition) was affected.
  • Also a ‘hang’ could occur when closing down. It could happen with all systems, but Windows Vista was mostly affected.
  • Schema Sync failed with identically named Foreign Key CONSTRAINTs on identically named colums of basically same type (that could still differ in LENGTH, SIGNED/UNSIGNED specification etc.).

Miscellaneous

  • When a PK is built on a string column using a case insensitive collation, SJA could try to insert a row where the PK was identical to an existing one as compared “COLLATION-wise” (ie. when only LETTERCASE differed). That would result in ‘duplicate key’ error and the sync job would abort. We have now reverted back to case insensitive camparison with string-based PK’s as before 7.0, but (to avoid data loss/overwriting) we will abort sync of tables when a string-based PK uses a binary or case sensitive collation.

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 statup.
  • 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-tunnelling. 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 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 and manage privileges (including sub-dialogues) 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 reorganised 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 occured 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 selection 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 Synchronisation (renamed from Structure Synchonisation). 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.
  • 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 (afffected were small tables with short column types only - like integers and very short string types). This bug was introduced early in 6.x with 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 Schema Designer 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 should 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 tunnelled 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 (March 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.
  • 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.
  • Query Builder can now use a VIEW for generating queries.
  • 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 tag . But old (version="4.2") format can still be executed. If there is no version string in the 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 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 tag (with the values "yes" or "no") that indicates if the backup shall be utf8-encoded. When set to "no" it could occur (with versions 6.1 and higher) that SJA tried to use a non-existent charset for the backup and the job would abort.
  • The HTTP-tunneler 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.
  • 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.
  • 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.
  • 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
  • ALTER TABLE would generate invalid SQL with column-level comments.
  • 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.

SQLyog 6.14 (November 2007)

Bug Fixes
  • ALTER TABLE would generate invalid SQL with column-level comments.
  • COMMUNITY version (not ENTERPRISE) could crash when editing connection details.
  • On Wine a meaningless error message could occur when selecting a table.
  • Exports could generate duplicate rows if there was activity on the screen while exporting. Windows XP was affected - not Vista.
  • With specific data 'export as Excel XML' could mistake text data for binary data.
  • When a Foreign Key referenced a column used for the definition of a multi-column Primary Key the Schema Designer could display a "1" symbol and (not an "infinity" symbol as it should be) at the 'parent'.
  • Horizontal scrollbars were added where missing.
  • Fixed a display issue in DATA tab with large DPI monitor setting.

SQLyog 6.13 (November 2007)

Bug Fixes
  • Empty or incomplete lines in sqlyog.ini would cause stop reading from the file. As a consequence details that could not be read would not be written. Those details that could not be read were lost.
  • Reading from sqlyog.ini was slow with huge number of connections.

SQLyog 6.12 (November 2007)

Bug Fixes
  • SQLyog could crash when trying to connect to a server when the thread used for establishing the previous connection had not stopped executing (connection code wasn't thread-safe).
  • Structure Sync could generate DROP statements where the name of the object to be dropped was empty.
  • Scheduled Backup threw the error "incorrect table name" when backing up all tables from MySQL 4.0 and before ('export' had no such issue).
  • Fixed an issue with Migration Tool where importing Foreign Keys could fail when migrating from Microsoft Access.
  • Fixed an encoding issue with special characters and Data Sync when syncing between MySQL versions where one supports SET NAMES and the other one does not.
  • Fixed an issue that could cause SMTP authentication to fail.
  • Fixed an encoding issue with special characters and Data Sync when syncing between MySQL versions where one supports SET NAMES and the other one does not.

SQLyog 6.11 (October 2007)

Bug Fixes
  • The fix for BIGINT based PK's greater than 2147483647 in 6.1 introduced another problem with data sync. Symptom was that updates could fail with MySQL error 1064 (syntax error).

SQLyog 6.1 (October 2007)

Features
  • Visual Schema Designer. Refer to the help file shipped with the program for details.
  • Common Error Dialogue: when a GUI operation returns an error the error message is 'wrapped' in a dialogue explaining the meaning and origin of the error message (note that this is not implemented when manually executing queries from the editor).
  • Added an option to specify DEFAULT charset/collation for databases and tables different from 'upper-level' default (server/database).
  • Cleaned up CREATE/ALTER TABLE... advanced dialogue (removed largely depreciated 'RAID' and 'PASSWORD' options).
  • In CREATE/ALTER TABLE we now perform client-side validation for the most common user errors (such as failure to specify the length of a data type where it is required).
  • Functionalities of F5 and F9 can be switched. Defaults are now: F5 updates/refreshes, F9 executes.
  • Structure Sync supports column level charset/collations.
  • Pagewise display of table data with << (prev) and >> (next) keys/buttons.

Bug Fixes
  • 'change tabletype' was disabled when connected to the most recent MySQL 5.1 releases (due to a recent change in the Information_Schema content with those MySQL versions).
  • Fixed an issue with DATA SYNC when the Primary Key was based on a BIGINT and value for this PK field was greater than 2147483647
  • With a large ('wide') table specific repeated operation with the SCROLL BARs, SCROLL BUTTONs and arrow keys could cause a crash in the DATA tab.
  • If user's 'AppData' path used special characters (due to a localized 'AppData' folder or a user name with special characters) program was not able to access sqlyog.ini for read and write operations.
  • Solved the problem reported by a fraction of users that the sqlyog.ini file was not copied when upgrading from 6.05 and earlier versions.
  • Fixed a crash with the FIND dialogue.
  • Fixed a bug with Stored Procedures and Structure Sync. After executing the sync script from the editor it still could occur that the sync tool reported differences.
  • Importing a dump could add redundant spaces in the definition of SPs, triggers etc. This was not critical for the content/meaning but would affect Structure Sync and other comparison tools.
  • Fixed a crash that could occur in Migration Tool when opening a saved jobfile.
  • Lots of small bugfixes, usability improvements and small requests implemented.

SQLyog 6.07 (September 2007)

Bug Fixes
  • In 6.06 we re-enabled reconnect in Structure Sync (it was accidentally disabled since 6.0). However after a reconnect the program could enter an infinite loop. A crash could result from this.

SQLyog 6.06 (August 2007)

Features
  • Files used by SQLyog that are not read-only (.ini, .log, .err) are now no longer created in 'program files' files tree (or what localized name it has). The storage follows Microsoft recommendations for the various Windows versions. Existing files will be moved when program is started first time and a backup created in the original position. Windows Vista has actualized this.
  • CREATE/ALTER TABLE GUI now supports '' (two singlequotes) in the DEFAULT column of the grid for defining an empty string as column default. If column type is not char, varchar, varbinary, set or enum a warning will display (that is also true for binary and bit types, where MySQL accepts '' as default - but with strange results!). To use the literal string '' (two singlequotes) as column default enclose it in backquotes like `''`.

Bug Fixes
  • Fixed an issue with 'auto-complete' introduced in version 6.05 where autocomplete windows did not show if cursor was in last position of the editor.
  • Fixed an issue with empty strings when migrating data from the Sage accounting software on Win2K.
  • Structure Sync truncated default charsets one character at the end ('utf8' became 'utf' etc). This bug was introduced in 6.05.
  • Fixed issues with comments inside Stored Procedures, Triggers etc. Structure Sync and exports were affected in various ways.
  • Fixed a bug with "copy database to diff host/db" and data sync if both the connections are SSH. Symptoms included 'access denied' error and a database being sync'ed to itself.
  • Reconnection in Structure Sync (introduced in version 5.22) was accidentally disabled since 6.0.
  • If program was closed in a state where DATA/RESULT pane was hidden, it could not be displayed again after program restart unless 'resetting' sqlyog.ini.

SQLyog 6.05 (July 2007)

Bug Fixes
  • The fix in 6.04 for UTF8-encoded files introduced new problems with UTF16-encoded files.
  • BLOB viewer was not functional in Wine/LINUX. This bug was introduced in 6.0.
  • Font settings in 'preferences' had no effect on RESULT tab in text-mode.
  • Fixed a rare issue where - when exporting a stored procedure/function - the first character in the routine name could be substituted with another character.
  • When importing data greater than 5120 bytes Migration Tool could truncate data. This bug was introduced in 6.0.
  • On Wine/LINUX closing a connection could cause a program crash.
  • Solved a highlighting issue with 'quoted strings' and `backquoted identifiers`containing a single qoute ('quoted\'strings' and `backquoted'identifiers`).

SQLyog 6.04 (June 2007)

Bug Fixes
  • Fixed a rare crash that could occur when executing a script returning multiple results and an error occurred with the last one.
  • HTTP credentials (username and password) were not saving properly in job file.
  • 'duplicate table' failed to copy a specified index length.
  • The encoding of utf8-encoded files could be detected wrong when reading into the SQL-editor. (note: this is really a bug in Windows utf8 implementation that we 'worked around')
  • Fixed a focus issue when two or more connections were open
  • Structure Sync could fail with identically named (but different) Stored Procedures on either host

SQLyog 6.03 (June 2007)

Bug Fixes
  • Program could crash when opening a migration jobfile containing a query.
  • Importing with the Migration Tool using a 'file-DSN' was broken since version 6.0. Various errors could result when trying to use such DSN. 'user-DSN' and 'system-DSN' worked as expected.
  • The special PLINK build shipped with SQLyog ENTERPRISE failed to authenticate if there were spaces in the password/passphrase
  • When connected to MySQL 3.23/4.0 there were problems when editing data in RESULT TAB with certain special characters. The fix for this in version 6.02 was not complete.
  • Fixed an issue where SQLyog threw a 'meaningless' error message.

SQLyog 6.02 (June 2007)

Bug Fixes
  • Binary data (such as images) would sometimes not import correctly with the migration tool.
  • Migration of UNICODE data is now functional with the MyODBC driver version 3.51 (MyODBC 5.0 (beta) still not supported).
  • Cursor focus would be lost when switching between applications with ALT+TAB.
  • Fixed a display issue in the RESULT tab with certain special characters when connected to MySQL servers where 'SET NAMES' does not apply (MySQL 3.23 and 4.0).

SQLyog 6.01 (June 2007)

Bug Fixes
  • Fixed some issues when migrating from MS SQL Server.
  • When opening an existing jobfile in the Migration Wizard the column mapping in that jobfile was not honored.

SQLyog 6.0 (June 2007)

Features
  • SQLyog is now fully UNICODE-compliant.
  • Advanced GUI Query Builder.
  • Filtering of data from the context menu of a cell in the GRID of DATA tab.
  • Sorting on multiple columns in DATA tab.

SQLyog 5.32 (May 2007)

Bug Fixes
  • Fixed an issue in HTTP Tunneler that could cause a crash.
  • Fixed some GUI issues...

SQLyog 5.31 (May 2007)

Bug Fixes
  • Fixed an issue in data Sync when TIME type field is used as a primary key.
  • When exporting a view without a 'Drop View' option errors could occur while importing.
  • Fixed an issue while exporting 'Data Only' from a database containing view.
  • Some minor bug fixes.

SQLyog 5.24 - 5.30 (March-May 2007)

Security
  • Norton Antivirus 2007 with virus detections from 25th March reported that the SQLyog installers were virus. The files would be quarantined. It was an issue with the NSIS installer-builder. This software was updated. Note: this NAV alert was/is a 'false positive' and with detections 1-2 days later there was no alert!!

Features
  • Full support for the SolidDB storage engine - including Foreign Key support. SolidDB from version 5.0.27-0064 is supported.
  • A small improvement to the Migration wizard: when importing to an existing table the wizards now displays the columns of that table in the 'map' dialogue.

Bug Fixes
  • Fixed a crash occurring with copy operations ('copy database/table', 'duplicate table) with HTTP-connection and php_mysql() extension at the target. HTTP with php_mysqli() extension was not affected.
  • When installing version 5.23 or 5.24 over 5.22 (or earlier) the option not to save passwords to the sqlyog.ini file was disabled for existing connections.
  • Fixed an issue with ALTER TABLE and UNSIGNED decimal, float and double types.
  • Fixed a port forwarding issue with Scheduled Backup and SSH tunnel
  • A buffer overrun could occur in datasync (as SQLyog internal string class was not properly used).
  • When a string was displayed in the GRIDs and this string was too long to 'fit' the width of the cell the program could enter an infinite loop and become irresponsive.
  • When SQLyog was installed to a folder where the path contained a SPACE character and there was a file in the path 'matching' the path-before-the-space (example: in C:\ there was a file named 'program' and SQLyog was installed to 'C:\program files\...') a Windows error message would occur on some Windows versions (including XP) telling that SQLyog was not a valid Win32 program.
  • Copy to clipboard with LONGBLOBs could cause a crash.
  • Fixed two issues which caused SQLyog to flicker and consume high CPU even in idle mode n Windows Vista.
  • Fixed a migration issue with the specific text string 'ignore'.
  • Fixed a Stored procedure / Function crash with limited privileges.
  • Ampersand (&) was showing as underscore(_) in grids, headers, Object browser and BLOB Viewer..
  • Fixed an issue with ALTER TABLE and UNSIGNED decimal, float and double types.
  • Several small (mostly GUI-related) fixes.

Miscellaneous
  • When doing a 'export as SQL' from a TABLE SQLyog now displays a warning that this export option is not giving a full backup and user should consider using the 'backup as SQL dump' option instead (the 'export as SQL' option introduced with SQLyog 5.22 was intended mainly for use with RESULTs and not TABLEs).
  • Removed the preferences option to log queries in history tab during batch jobs. This could consume excessive memory.

SQLyog 5.23 (February 2007)

Security
  • Added a 'save password/passphrase' option for the SSH password/passphrase.

New features
  • Each QUERY tab now has is own 'child' (set of) RESULT tab(s). Issuing a query from one QUERY tab will not destroy or overwrite the results from a query issued from another QUERY tab. To display a RESULT tab just click its 'parent' QUERY tab. Also MESSAGES, DATA and OBJECT tabs are now 'children' of a specific QUERY tab 'parent'. HISTORY however is shared between all QUERY tabs.
  • HTTP-tunneling now supports both the php_mysql() and the php_mysqli() PHP<=>MySQL connection methods. The tunneler will detect which extension is available and use it. If both are available php_mysqli() will be used. One important aspect is that with php_mysqli() the results from a SELECT statements inside of a Stored Procedure will be returned to the CLIENT - and SQLyog will display a RESULT tab for each such query.
  • SSH-tunneling now supports public/private key authentication.
  • Added support for SSL-encrypted connections.
  • As a consequence of the above the Connections Manager design has been reorganized.
  • SQLyog now support the PBXT (PrimeBase XT) storage engine for MySQL 5.1 and 5.2 (PBXT version 0.98 and higher). Also Foreign Keys are supported with PBXT.

Bug Fixes
  • Fixed a crash (occurring in table menu and context-menu) on Windows 98. This occurred in COMMUNITY version only - not ENTERPRISE. This bug was introduced in 5.22.
  • If a connection (only HTTP connections effected) was deleted from Connections Manager details shown for other connections could 'mess up'.
  • The drop-down showing the alternative values for a ENUM type column would display empty from RESULT tab (but not from DATA tab and SET types were not affected either).
  • It was not possible to specify UNSIGNED for FLOAT and DOUBLE types from 'CREATE TABLE' and 'ALTER TABLE'.
  • Fixed some small issues with ALTER TABLE and table level comments (an InnoDB specific issue, an issue with the " ' " character).
  • If more connections were open and one of those was a HTTP-connection, then HISTORY data from this HTTP-connection would be written to the HISTORY of another connection, when that other connection window was made active.
  • Fixed some rare issues occurring if the connection to the server was lost (a rare crash, a repainting issue).
  • DATA SYNC now perform operation on tables in the order DELETE > INSERT > UPDATE. This solves a problem (rows could be deleted on target) occurring with certain type of applications (including Forums) that had some sort of 'trigger code' updating a 'counter' row in a table while that table was sync'ed.
  • If a query was running in one connection window, the "STOP running query" functionality would not work in that window if another database was selected in another connection window in between..
  • Fixed a multithreading issue that in rare situations could prevent HTTP connections to be successful.
  • Fixed a flickering/CPU-utilization issue on Windows Vista.
  • On multimonitor systems when the Primary Monitor was the right monitor and program window was moved to the Secondary (left) Monitor and then closed, it would open again on the right/Primary Monitor next time. This is now fixed - it will open where it was last closed (see next note too, however!)
  • On Windows 98 when program was closed from a minimized state it would open minimized next time. After that only 'minimized' and 'maximized' (and not 'normalized') states were available. Now it will always open in a 600*600 pixel program window on upper left corner of the (primary) screen when it has been closed from a minimized state.
  • In SQLyog 5.13 we implemented 'transparent escaping of the escape character' in CSV export. No matter if the user entered '\' or '\\' as the escape character '\' would be the escape character (and the SQL would be like "... ESCAPED BY '\\' ...". But it was never implemented in CSV-import like this. It is now!
  • 'copy to other ... ' would garble utf8 characters if one or more connections were HTTP connections.
  • In the XML-schema used by SJA the '&' character (ampersand) was not properly encoded as '&'. As a consequence most SJA jobs would fail when user names, database names etc. used this character.
  • Fixed an issue with 'favorites' in Windows Vista.
  • Executing a query of the form "SELECT ... from databasename.tablename" would print an error if another database was selected in Object Browser and if one or more query tab was in 'edit' mode. In this situation the QUERY tab will be 'reset' to 'non-edit' mode in such situation.
  • 'reorder columns' did not use escaping for column-level comments.
  • 'duplicate table' failed to duplicate column-level comments for autoincrement-fields.
  • several small (mostly GUI-related) fixes.

SQLyog 5.22 (January 2007)

Contributions/Credits
  • With this release we have finished integrating the contribution donated by user Ray Anderson, Sacramento, California. His contributions include quite a lot of small fixes for font and grid -related issues.

New features
  • Added direct export to Microsoft Excel XML-format.
  • Added 'export data as SQL' as an option. Note: this feature is NOT intended for backup purposes as only INSERT (DATA) statements and a very simple CREATE statement will be created.
  • All available export options are now available from RESULT tab and DATA tab as well.
  • Redesigned menus and dialogues related to DATA export for better clarity.
  • SQLyog Backups are now 'backwards compatible' (they import on earlier MySQL versions due to the use of 'version-dependent conditional comments' (like /*!40101 Engine ...*/)).

Bug Fixes
  • Fixed an issue with the editor, where a lot of empty lines would cause SQLyog to fail to recognize where a statement started and stopped.
  • Fixed an issue with copy database to different host (it was copying only one stored procedure and one function). This bug was introduced in v5.20.
  • 'ALTER TABLE... advanced properties' did not show the non-default options that were already set (except for Storage Engine setting).
  • STRUCTURE SYNC did not use the connection code (a function) that the rest of the program does, and would not reconnect if a connection was lost while retrieving the database structure.
  • Fixed an issue with DATA SYNC when there were TEXTs and/or BLOBs in a table, but no Primary Key.
  • 'reorder columns' raised an error with numerical fields. This bug was introduced in v5.20.
  • 'reorder columns' failed on MySQL 3.23. This bug was introduced in v5.20.

SQLyog 5.21 (December 2006)

New features
  • Autocomplete speed improvements (about 10 times faster than version 5.20).
  • SJA for Windows now has integrated debug facilities like introduced with SQLyog 5.20.

Bug Fixes
  • Wrong connections details would cause Notifications Services to crash.
  • Backing up an empty database would cause would cause a crash.
  • It was not possible to create more than one table with an autoincrement field, unless closing the CREATE TABLE dialogue.
  • A few cosmetically issues were fixed.

SQLyog 5.20 (November 2006)

Naming and Licensing

  • The free SQLyog version is now named 'SQLyog Community Edition' and is released as Open Source under the GPL license

New features
  • User Management fully up-to-date with MySQL 5.1.
  • SQLyog now dynamically retrieves the list of available Storage Engines from MySQL.
  • Support for SQL-server/Access 'money'/'currency' type with the Migration Tool.
  • Added option to name a Foreign Key CONSTRAINT.
  • Added an option to 'BLANK' a user's password.
  • It is now possible to use the auto_increment attribute with an INTEGER column that is not defined as PK. CREATE TABLE will create the UNIQUE KEY needed for you. Also the Migration Tool now supports such autoincrement field.
  • The 'smart' KEYWORDS/FUNCTIONS/DEFAULTS handling introduced with SQLyog 5.1 is now configurable from 'preferences'.
  • HTTPS tunneling now supports certificates.
  • Font settings enhanced. There are now settings for BLOB-viewer, HISTORY/OBJECTS, Editor and 'everything else' (basically GRIDs). As of 5.2 the last one covers DATA tab, RESULT tab, and CREATE/ALTER TABLE panes. It will be completed in coming versions.
  • Added an option to STOP 'copy table/database'.
  • DATA SYNC will now show 'signs of activity' when syncing BIG tables.
  • Migration Tool can now import data from a VIEW on an ODBC-source to a TABLE in MySQL - provided of course that the ODBC-driver exposes the VIEW and the data in it.
  • SQLyog now has built-in debugging capabilities. The implementation of this does not involve additional code or processes running, and does not affect the efficiency of the program.

Bug Fixes
  • Fixed issues with import of Foreign Keys and the " ' " character in comments in the Migration Tool.
  • (scheduled) backup did encode as utf8 even if you deselected the option in the Wizard. Only the SET NAMES statement was omitted.
  • 'copy to other ...' used excessive memory when copying big tables. This is now fixed.
  • The import dialogue displayed twice as many SQL-statements as there actually was.
  • The warning that more rows would be updated did not display with some special Schemas (schemas without a PK and extensive use of TEXT/BLOBs)
  • Conditional comments (like /*! ... */) raised an error with the import tool.
  • Fixed an issue with import of indexes from PostgreSQL.
  • When two tables named identically except for the LETTERCASE existed in a database 'copy to other ...' would always copy the 'most LOWERCASED' of them.
  • When UPDATING SQLyog does generally not include BLOBs/TEXTs in the WHERE clause that it sends. However it should when that column is used for a Primary Key. This is now fixed.
  • Migration will now map a TEXT type from SQL Server or MySQL to a TEXT and not VARCHAR
  • The display of the total time passed for the query as displayed in MESSAGES tab was wrong (information in status line was correct).
  • Several small bug fixes - most of them GUI-related.

SQLyog 5.19 (September 2006)

Bug Fixes
  • Fixed a crash when editing data from RESULT-pane.
  • Fixed a bug with the Migration Tool that could cause negative values to become 0 (zero).

SQLyog 5.18 (September 2006)

New features
  • We have removed the NAG-screen in 5.18 and future versions. It will now only display a discrete link to webyog.com.

Bug Fixes
  • Migration Tool TRIGGER functionality was broken.
  • Context menu for 5.x Objects was disabled if Connection Window was not maximized.

SQLyog 5.17 (August 2006)

New features
  • This release introduces the 'short' DELIMITER format (like the 'mysql' command line client and other programs from MySQL AB) with SQLyog. The old/long format is still supported.

Bug Fixes
  • Fixed a port forwarding issue with SSH tunneling when SSH-host and MySQL-host were different. This bug was introduced in 5.15
  • Fixed a memory allocation issue with 'autocomplete', that in rare situations could cause SQLyog to crash
  • Fixed some other small issues - mostly GUI-related

SQLyog 5.16 (July 2006)

New features
  • Editor TAB width is now configurable
  • Easier use of keyboard shortcuts to copy and paste data in the grids
  • Migration tool has improved error logging and supports import of Unicode data
  • Support for Far Eastern character sets in the connections manager ('CJK languages')

Bug Fixes
  • It was not possible to switch between connections windows while a long-running query was running
  • Several small bug fixes with the Migration Tool
  • Small GUI bugs fixed with the Grids
  • Fixes to the Structure Sync Tool (GUI issues and an issue with triggers)
  • Fixed some issues with the Data Sync Tool when PK was based on a TIMESTAMP or a DATETIME
  • A fix with User management (user lost non-GLOBAL privileges if his name or host-descriptor was changed).
  • A new connections window would sometimes not show up 'on top' of existing connections windows
  • Autocomplete did not update the TAGS-db-files 'on the fly' when an object was created/dropped/changed

SQLyog 5.15 (June 2006)

Miscellaneous
  • SQLyog Enterprise will return specific error messages if SSH Tunneling fails for any reason. Previous versions of SQLyog used to return a generic error message

Bug Fixes
  • Fixed a bug in HTTP Tunneling when magic_quotes_runtime had the value on in php.ini
  • Fixed a minor bug in “Reorder columns” while connected to MySQL 4.1.

SQLyog 5.14 (June 2006)

Miscellaneous
  • Major speed improvements

Bug Fixes
  • Fixed some small bugs with HTTP-tunneling

SQLyog 5.1/5.11/5.12/5.13 (April-June 2006)

New Features
  • Smart 'autocomplete'.
  • Smart KEYWORDS and DEFAULTs handling.
  • Important enhancements to the STRUCTURE SYNC tool.
  • Important improvements for handling of character set (with the data structures and for the connection).
  • Favorites feature support file and file-links as well.
  • Fully configurable CHUNK and BULK settings.

Miscellaneous
  • Dozens (or more) usability improvements and enhancements

Bug Fixes
  • Too numerous to mention!

SQLyog 5.02 (January 2006)

Bug Fixes
  • Fixed some rare issues where SQLyog could crash.
  • Fixed two issues where the amount of memory used by SQLyog would 'build up'. One affected the Migration Tool, another occurred when resizing or moving program window.
  • Fixed an issue with escape characters in column comments.

SQLyog 5.01 (December 2005)

New Features
  • Support for MySQL 5.1. Fixed some minor issues with previous SQLyog versions related to the freshly released MySQL 5.1 (alpha).

Bug Fixes
  • Fixed a bug where SQLyog was not starting in Win98 and Win NT.
  • Fixed a critical bug in SQLyog Query tokenizer.
  • Fixed couple of bugs in Alter Table option.
  • Fixed a bug in BLOB Insert/Update window.
  • Fixed a screen repainting issue.
  • Fixed an issue in SQLyog Migration Toolkit while importing data from a Fox Pro database.

SQLyog 5.0 (November 2005)

New Features

MySQL 5 Support
  • Complete support for all MySQL 5.x features like Stored Procedures, Functions, Triggers & Views
  • SQL editors now supports configurable delimiter using the DELIMITER command
  • Compatibility with all strict-modes introduced in MySQL v5.x

Data Synchronization
  • Data sync tool now supports sync between tables having NO indexes

Scheduled backups
  • Support for adding timestamp in the backup file name
  • Support for exporting individual tables in a timestamp named folder

SQLyog Job Agent
  • Support for providing session xml file path for SJA through a command line argument. Now you can execute: sja -ssession.xml job.xml to provide your own session XML file path

SQL Editor
  • Multitabbed SQL editor interface
  • Option to generate SELECT and INSERT statements for table with a click of a mouse (or shortcut key)
  • SQLyog will now prompt you to save SQL statements before closing the tab. This is configurable through Tools -> Preferences
  • Colors used for syntax highlighting are now configurable
  • SQL editors now support Goto Line option
  • Double-clicking on an object name in the Object Browser copies the name to the Query Editor. This option is configurable from Tools -> Preferences
  • Display of object information on node selection in the Object Browser is now configurable through Tools->Preferences

Security
  • Added an option where user can specify to save connection details password or not.

Miscellaneous
  • Support for SET NAMES in SQLyogTunnel.php
  • Support for BLOB columns in WHERE clause while updating a row in Data tab
  • Option to fill Excel friendly values while exporting to CSV format. This feature is also available while copying resultset to the clipboard. Now copying & pasting resultsets to Excel for further processing is very straight-forward
  • Support for field level comments in Create/Alter Table window
  • Support for FK names while creating foreign keys
  • HTTP Tunneling now supports importing of SQL batch files containing DELIMITER command
  • SQLyog will now display an error message while importing CSV data on a HTTP tunnel
  • SQLyog will now create all log and .ini files in the "Application Data" folder if the installation directory is read-only

Bug Fixes
  • Fixed a crashing bug in SQLyog Migration Toolkit

SQLyog 4.1 (August 2005)

New Features

  • Scheduled ODBC Import - Painless migration to MySQL including the ability to create jobs to transfer external data at regular intervals.

  • PHP Tunneler now checks for MAGIC_QUOTES flags. You will need to update SQLyogTunnel.php from the latest build of v4.1.

SQLyog 4.07 (July 2005)

New Features
  • Reconnect and re-execute a query if timeout occurs.
  • Connection names are now alphabetically sorted in the connection window.
  • Support for more images in BLOB viewer.

Bug Fixes
  • Fixed a critical bug in Data Sync Tool.
  • Fixed a bug where shortcut for hiding ObjectBrowser was not working.
  • Fixed a syntax coloring bug in SQL editor.
  • Fixed a bug in Alter Table window.
  • Fixed a bug with respect to scrolling in result and data grid.
  • Fixed a bug related to selection of database in "Export As Batch Script" option window.
  • Fixed a bug with export as CSV option.

SQLyog 4.06 (May 2005)

New Features

  • Option to select the window that you want to put focus on after execution of a query.

SQLyog 4.05 (April 2005)

New Features
  • Powerful scheduled backup with email notification.
  • Dialogless result editor with option to update multiple tables.
  • Multithreaded query execution with option to allow multiple query execution simultaneously.
  • Optimized SQL import, upto 1000% faster then previous versions.

SQLyog 4.03/04 (February 2005)

New Features
  • HTTP Tunneling now supports Proxy/HTTP Authentication.

Bug Fixes
  • Fixed a non-critical bug in Data Sync Tool.

SQLyog 4.02 (February 2005)

Bug Fixes

  • Fixed a critical bug affecting user administration.

SQLyog 4.01 (January 2005)

Bug Fixes
  • Fixed a system crashing bug while using multi monitor setup.
  • Fixed a system crashing bug in data synchronization when using HTTP Tunneling.
  • Fixed a bug where '&' character was handled incorrectly when using HTTP Tunneling.
  • Fixed a SQL syntax coloring bug in SQL Editor.
  • Fixed bugs while exporting data as CSV.

SQLyog 4.0 (November 2004)

New Features
  • SQLyog is now FREE.
  • SSH and HTTP Tunneling - smartly manage your MySQL server even if the MySQL port is blocked or remote access to MySQL is disallowed!
  • New and improved SQL editor
  • Optimized SQLyog Job Agent for data synchronization.
  • Fully compatible with MySQL versions 3.22.x to 5.x.
  • Passwords are now kept in an encrypted format in sqlyog.ini.
  • Improved HELP file.

SQLyog 3.7 (April 2004)

New Features

  • SQLyog Notification Services
  • SQLyog Database Synchronization Tool now supports 2-way synchronization.
  • Now you can execute SJA jobs through SQLyog using Tools -> Job Manager.
  • Fully compatible with MySQL versions 3.23.x to 4.1.1.

SQLyog 3.64 (February 2004)

Bug Fixes
  • Minor bug-fix in SQLyog Job Agent
  • Fixed a bug involving FULLTEXT index in Column Reorder/Drop FK option.

SQLyog 3.63 (November 2003)

Bug Fixes
  • Minor bug-fix in SQLyog Job Agent
  • Fixed a bug with column width in Insert/Update window.
  • Fixed a minor UI bug.
  • Fixed a bug in Structure Sync Tool.

SQLyog 3.62 (October 2003)

Bug Fixes

  • Minor bug-fix in SQLyog Job Agent.

SQLyog 3.61 (October 2003)

  • Minor bug-fix in SQLyog Job Agent

SQLyog 3.6 (October 2003)

New Features
  • Database synchronization tool.
  • Schedule database synchronization.
  • Ability to set various preferences like Font, columns width, etc.

Improvements
  • Improved keyword and function list for syntax highlighting.
  • Improved persistence of Dialog settings.
  • Improved column width algorithm in ResultWindow and Insert/Update window.
  • Numeric data are right aligned in ResultWindow.
  • Bulk insert option breaks scripts into multiple lines, making it more readable.
  • Improved user interface. WinXP style icons and toolbars.
  • Lot of minor improvements....

Bug Fixes
  • Fixed a bug in Copy Table... option where auto_increment were not copied correctly.
  • Fixed a bug where edit menu was popping up at wrong coordinates.
  • Fixed a bug with repainting of editor window.
  • Fixed a bug in Insert/Update wherein you could not specify blank limits.
  • Fixed a data display bug in Insert/Update window.
  • Lot of minor bug fixes...

SQLyog 3.52 (July 2003)

Improvements
  • Improved SQL Editor.
  • Fixed a bug wherein Find/Replace dialog was not working.
  • Fixed a bug wherein opening of any Modal window resulted in SQLyog being removed from Alt+Tab list.
  • Fixed a bug where wrong column numbers were getting shown in the status bar.

SQLyog 3.51 (June 2003)

Improvements
  • Improved Execute Batch Option.
  • Improved support for MySQL 4.1.
  • Improved SQL Editor.
  • Allows to select UNSIGNED option for DECIMAL datatype in Create/Alter Table dialog

SQLyog 3.5 (June 2003)

Improvements
  • Complete support for MySQL 4.1.
  • Vastly improved ODBC Import.
  • Restores the app Window Location on StartUp.
  • BLOB data does not require double click for viewing if the data is < 255 bytes.
  • More compact and optimized executable (480 KB).
  • Lots of minor improvements...

Bug Fixes
  • Fixed a bug where auto_increment information was not getting copied using Copy Table... option.
  • Fixed a bug where TIMESTAMP values were not getting enclosed with ' using Export As Batch Script Option...
  • Lots of minor bug fixes...

SQLyog 3.11 (March 2003)

Bug Fixes
  • Fixed a system crashing bug in Alter Table option when working with MySQL v4.1
  • Fixed a bug in Copy Database To Another Host/DB option, which prevented Structure Only option from getting selected.
  • Fixed a bug in Foreign Key Management option, where ON UPDATE [values] was not executed properly.
  • Fixed a bug with Bulk Insert option in Export Database As Batch Script.
  • Fixed a bug in Diff Tool where a ` character was missing in the generated script.
  • Added option to Select/Unselect all tables in Backup/Restore Table option.
  • Fixed a resize bug in ResultWindow.

SQLyog 3.1 (March 2003)

Bug Fixes
  • Fixed a system crashing bug while altering table structure for tables meeting both of the following attributes :
  • - having a column of SET or ENUM type.
    - value list of SET or ENUM exceeds beyond 256 bytes.

  • Fixed a bug which effected width of columns in Grid.
  • Fixed a system crashing bug in Update For Query Window.

Improvements
  • You can now choose individual tables to be copied to another Host/dB
  • You can make foreign key relationships within same table.
  • Improved SQL Editor to support HUGE SQL Scripts.
  • You can filter databases to be added in the the ObjectBrowser.
  • Option to select your own Font.
  • QueryWindow shows the connection name in its Title.
  • Option to truncate database (it will empty all the tables).
  • Option to generate Single Insert Statement in Export As Batch Script feature.
  • Option to export data of a table in HTML/XML.
  • Improved Installer

SQLyog 3.03 (February 2003)

Bug Fixes
  • Fixed a system crashing bug while Synchronizing Databases.

Improvements
  • You can choose BDB Table Handler while Creating/Altering Tables.

SQLyog 3.02 (February 2003)

Bug Fixes
  • Fixed a bug while Updating BLOB data in Insert/Update dialog box.
  • Fixed a bug while creating relationship between columns having different names.

SQLyog 3.01 (February 2003)

Bug Fixes

  • Fixed a system crashing bug while Synchronizing Databases.

SQLyog 3.0 (February 2003)

New Features
  • ODBC Import. The simplest and the most powerful tool to import data from any ODBC compliant database to MySQL.
  • Database Synchronization Tool. Bring your remote databases in Sync with a single mouse click.
  • Connection Manager.
  • Manage relationships on InnoDB tables. All other options fully InnoDB compliant.
  • Column Reordering.
  • Copy databases between two MySQL hosts.
  • Insert/Update on a Resultset of a query.
  • Fully updated keyword list for syntax highlighting.

Improvements
  • Pick list for Enum/Set values in Insert/Update Dialog.
  • Improved data grid. Allows multiple row deletion.
  • Option to add column name while exporting data in CSV.
  • Multi selection of tables in export as SQL Scripts dialog.
  • Empty a database with a single click of mouse.
  • Show/Hide edit window.
  • Improved error messages.
  • Primary key values are escaped in Insert/Update dialog.
  • Fixed a bug with # commenting style.
  • Fixed a bug while saving a BLOB data.
  • Fixed a bug in Alter Table dialog for BINARY attribute.
  • Fixed a memory leak problem while creating a database.
  • Fixed a bug where FULLTEXT was not getting copied in Copy Table option.
  • Fixed a bug while trying to delete a row when no Primary Key defined on the table.

SQLyog 2.51 (November 2002)

Improvements
  • When a resultset is returned with a BLOB field, the text now gives information to DblClk on the field to view data.
  • Now supports dB/Table names with spaces, -, # etc.

Bug Fixes
  • Fixed a system crashing bug while altering table structure for tables meeting both of the following attributes :
  • - having a column of SET or ENUM type.
    - value list of SET or ENUM exceeds beyond 128 bytes.
  • Fixed a bug with current row focus in Insert/Update dialog.

SQLyog 2.5 (November 2002)

New Features
  • Alter Table structure in an easy to use Grid mode.
  • Insert / Update data in a table.
  • Save your BLOB data in a file.
  • Client side sorting
  • Create / Edit Users.
  • Manager permissions for Database / Table / Column.
  • View information for Database / Table.
  • Export database schema in HTML.
  • Execute very big SQL batch files.
  • Export data in Fixed Width.
  • View all the queries executed in history log.
  • Various operations on Tables.
  • Improved Export functionality.
  • Improved Import functionality.
  • Improved SQL Editor.
  • Show / Hide Result Pane.
  • Lot of keyboard shortcuts for "mouse-less" experience.
  • And many more...

Bug Fixes
  • Lot of bug fixes.

SQLyog 1.71 (August 2002)

New Features
  • A very easy to use Table Maker through which you can create tables quickly and easily.
  • Support for BLOB fields.
  • Option for Table Diagnostics.
  • HIDE / SHOW object browser.
  • Supports binary data while exporting.
  • Flush Host/Logs/Privileges/Tables.
  • View results in Text mode as well as in Grid Mode.
  • Copy results (all record as well as particular record) from a query in Clipboard in CSV format.
  • Option of XML, CSV and HTML export are clubbed in one dialog box. Just give the name and select the type of file from the File Type dropdown.
  • mySQLyog has been renamed to SQLyog.
  • SQL Editor supports more data.
  • Lot of keyboard shortcuts for "mouse-less" experience.
  • Auto-search facility in the Export Data dialog box.
  • Import data dialog box has Select / Unselect All Field option.
  • Focus is set on the password field if the connection to mySQL fails.
  • Execute current query, selected query or all the query(s) .
  • Smarter column width in the Result window when result is in Grid Mode.
  • Fills the Connection Dialog Box with the default value for the first time.
  • Object Browser does not hold all the data about the server in one instance. Whenever you want the data, it is retrieved at that time. Helps in better memory use and increases the speed to connect to MySQL server.

Bug Fixes
  • Fixed bugs while exporting large table structure to a file.
  • Fixed bugs while selecting table with long name while exporting data.
  • Fixed bugs in exporting long table names and fieldnames while importing data.
  • Fixed a system crashing bug when a user gives big name for a personal key.
  • Now formatting is done to text if text is pasted from non-text source.
  • Fixed a system crashing bug while executing procedure analyse().

mySQLyog 0.9 (May 2002)

  • First release of the software.
  • Added most of the common features of a query analyzer.
  • Supports multiple queries, they have to be separated by ; (C like separation).
  • Adding SQL to personal folder added. This relieves you from the burden of saving and opening of the most common and frequently used SQL commands.

Problems on Ubuntu 11.x

$
0
0

 

Ubuntu 11.x ships with a 'Window Manager' named "Unity".  It replaces Gnome as the default desktop in Ubuntu.

There is a confirmed issue with mouse operations as well as navigation keys operations (TAB, BACKSPACE etc.) for Windows programs running under Wine 1.3 with the Unity desktop. Several programs are affected - and also SQLyog unfortunately is.  The official Ubunty bug report is here.

If you are affected - and it may depend of several factors like graphics hardware etc. -  we recommend that you try to replace Wine 1.3 with version 1.2. It has worked in all cases that we know about.

Note that the information in this FAQ could soon be outdated. Unity is in an early state of development and Wine is changing as well (and quite a rapidly as of time of writing  - October 2011). A proper and final solution could be found soon with an update to Unity and/or Wine. But also you may experience that what used to work suddenly does not after an upgrade of either. So you should be prepared that you may need to roll back updates (automatic  or not) if you use Windows program with Ubuntu 11.x/Unity/Wine.

 

 

 

About CHUNKs and BULKs

$
0
0

 

With the introduction of SQLyog version 5.1 fully configurable BULK and CHUNK settings were introduced. BULKs have been available for a while (but only little configurable) and CHUNKs is something quite new. The purpose of both is the make it possible to backup and restore huge amounts of data in a fast and reliable way even if server and network resources are limited.

BULKs and CHUNKs have effect with the 'Export as SQL' tool of all SQLyog versions and the (Scheduled) Backup 'powertool' of SQLyog Enterprise and SQLyog Ultimate.

The settings for the 'export' tool are available from 'preferences' and for the 'backup' 'powertool' the option is provided by the backup wizard. Now let's see what they are:



CHUNKs: CHUNKs have effect on the (source) server from where data are exported. The CHUNK size is specified in number of rows. If for instance a chunk size of 1000 rows is specified then data will not simply be fetched using one 'SELECT ...' but more SELECTs like 'SELECT ..LIMIT 1,1000', 'SELECT ... LIMIT 1001,1000' will be used until the end of data is reached. This assures that is it possible to specify a CHUNK size that does not exceed various types of resources ( like the memory available) to user ... what would result in very slow operation or even maybe a 'hang' or 'deadlock'. Also specifying a not too big CHUNK setting will ensure that no timeout will occur. Such timeout may happen due to server 'net_write_timeout' setting or network settings not specifically related to MySQL. Also note that with HTTP-connection for each SELECT statement the HTTP-connection will have to be re-established. Each re-connect can sometimes take several seconds. So don't specify more CHUNKs/lower CHUNK setting than what you need to in order to back up successfully.

Note that implementation was changed with SQLyog 8.02 release. Before that CHUNK setting had only effect for HTTP-tunnelled connections. From 8.02 onwards it has effect with all types of connections. From version 11.31 CHUNK setting also has effect with 'copy database/table ..'. Before that it only had with backup/export to SQL.

BULKs: BULK on the opposite have effect on the client where the exported data are saved as a file. The BULK size is specified in number of KB (Kilo Bytes). There is a 'standard' setting available that will set a BULK size equal to the max-allowed-packet setting in MySQL configuration. The BULK setting specifies how big each INSERT statement in the saved file will be allowed to be. When that size is exceeded, a new INSERT statement will be generated from the next row of data. Building BULKs has normally practically no influence on speed/performance of the backup process. However in the restore process many and small BULKs can slow down things. However too large BULKs (larger than server max-allowed-packet setting) will cause teh server to drop teh conenction (and SQLyog - or whatever client you use for restoring this dump - will return the MySQL client error 'MySQL server has gone away')

As you see BULKs and CHUNKs operate completely independently of one-another.


The settings that should be taken into consideration when specifying BULKS and CHUNKS are many, but primarily:
  • The max-allowed-packet setting in MySQL configuration
  • MySQL 'net_write_timeout' setting as well as Storage Engine and User -specific settings in MySQL configuration
  • The MAX_POST setting in PHP configuration (if HTTP-tunneling is used)
  • Various settings on relays servers on the remote network, proxies etc.


It is not possible to tell what will be the most effective setting. It depends. But note that max-allowed-packet setting in MySQL configuration has a standard value of 1 MB with the most recent MySQL versions, and BULK size cannot exceed that if restore shall be possible. MAX_POST setting in PHP configuration often is 8 MB and that also sets an upper limit on the BULK size (if data shall be restored over a HTTP-connection).

Basically you will have to experiment a little by yourself to find the settings that are optimal for you - and they of course may be different with different hosting providers if you have more. A practical experience with most cheap hosting is that CHUNKs setting of 2000-10000 (rows - depending on how many and what type of columns you have) and BULK setting of 100-500 (KB) normally work fine.