Changes (as compared to 8.17) include:
* 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. Refer to documentation for details.
* 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 (note: table alias support in Query Builder is an ongoing process).
* 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.
* ‘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_newtablename’.
* Autocomplete was not functional with names of Triggers and Events.
* In MESSAGES tab font could change if non-ASCII characters were displayed.
* 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.
* ALTER TABLE failed to rename a column when old and new column name only differed by letter-case. Actually the dialogue just shut down.