SQL Examiner Suite 2022 change log

The change log below contains a complete list of all fixes and improvements in each public build of the SQL Examiner Suite 2022

All improvements and fixes are marked with a mark showing in which program the changes were made:

  • SQLE
    SQL Examiner (schema comparison and synchronization tool)
  • SQLDE
    SQL Data Examiner (data comparison and synchronization tool)
  • SQLES
    Both SQL Examiner and SQL Data Examiner

8.0.0.122 - April 29th, 2022

Fixes

  • SQLE
    SQLES-989: In rare cases, ArgumentException with "Item has already been added" message occurs when the program compares SEQUENCE objects in PostgreSQL databases.
  • SQLDE
    SQLES-991: In some cases, specified by the user query synchronization settings that prohibited the deletion and updating of data in specific Oracle tables were ignored by the program, which could lead to unplanned data changes.

8.0.0.121 - April 26th, 2022

Fixes

  • SQLE
    SQLES-986: In some cases, when MS SQL tables differ in the names of indexes or constraints, the program generates an incorrect synchronization script (incorrect order of statements), which leads to synchronization errors.
  • SQLDE
    SQLES-984: CLI code refactoring to eliminate program freezes when running multiple program instances at once. In addition, the console now exits faster when an exception occur. Added comparison pipeline state logging, enabled by the /debug option.

8.0.0.120 - April 22nd, 2022

Fixes

  • SQLDE
    SQLES-981: In some cases, in cross-platform comparisons InvalidOperationException occurs when string columns are used as comparison key.

8.0.0.119 - April 14th, 2022

Fixes

  • SQLE
    SQLES-974: In rare cases, NullReferenceException occurs when program loads POLICY objects from a PostgreSQL database during a comparison.
  • SQLE
    SQLES-982: In rare cases, OdbcException with error message 'Unknown error 1142' occurs when program loads PERMISSION objects from a MySQL database during a comparison.

8.0.0.118 - April 5th, 2022

Fixes

  • SQLDE
    SQLES-980: In rare cases, when string columns are used as comparison key, identical records in PostgreSQL databases are considered as different (appear on the Only in Source and Only in Target tabs).

8.0.0.117 - March 29th, 2022

Improvements

  • SQLES
    SQLES-944: Added search phrase highlighting when displaying search results on Creation Script tab in the SQL Examiner and in Preview Pane in the SQL Data Examiner.

Fixes

  • SQLE
    SQLES-920: The program does not generate synchronization scripts for encrypted text objects in the SQL Server database, even if the option Decrypt and compare encrypted text objects is enabled.
  • SQLE
    SQLES-960: In rare cases, NotImplementedException occurs when a user clicks Run button on the last step of Script Database wizard.
  • SQLE
    SQLES-965: In rare cases, NullReferenceException occurs when generating a report for cross-platform comparison.
  • SQLE
    SQLES-967: If during synchronization it is necessary to recreate a table in which new columns were added with a DEFAULT that uses a function that is not in the target database, the program generates an incorrect synchronization script.
  • SQLDE
    SQLES-824: In some cases, Exception occurs after editing a query in the Edit Query window when user switches from the Queries tab to the Comparison Keys tab.
  • SQLDE
    SQLES-950: In rare cases, when an exception occurs during data comparison, the program displays the error message, but does not offer to send an error report, although it should.
  • SQLDE
    SQLES-951: In some cases, when using the /debug option, some debug info is not written to log files.
  • SQLDE
    SQLES-953: The program mistakenly offers to send the Automated Error Report when "ERROR [57014] ERROR: canceling statement due to statement timeout;" occurs when PostgreSQL databases are compared.
  • SQLES
    SQLES-822: In very rare cases, InvalidOperationException occurs when user manually runs Check for Update.
  • SQLES
    SQLES-911: When running the program on a system with different scales on different displays, the size of windows on closing was not saved correctly, and the next time a window was opened on a display with a different scale, the window size was restored incorrectly.
  • SQLES
    SQLES-952: In some cases, ArgumentNullException occurs when user starts Task Scheduler wizard.
  • SQLES
    SQLES-958: In some cases, ArgumentException with error message 'The output char buffer is too small to contain the decoded characters, encoding 'Unicode (UTF-8)' fallback 'System.Text.DecoderReplacementFallback' occurs when a user selects a SQL Server backup file as a comparison source.
  • SQLES
    SQLES-961: In very rare cases, NullReferenceException occurs when user starts New Project wizard (caused by an error in error handling when loading information about installed ORACLE instances from Windows Registry).
  • SQLES
    SQLES-962: If the program was launched with the /debug parameter and a connection error occurred when connecting to a database, then it was processed incorrectly and led to a NullReferenceException.

8.0.0.116 - March 3rd, 2022

Fixes

  • SQLE
    SQLES-942: In rare cases, the Ignore permission option for PostgreSQL database objects is not properly applied, and the program treats the objects as different when they are the same.
  • SQLE
    SQLES-947: When custom mapping is configured for PostgreSQL schemas with different names, SCHEMA objects are not paired, which leads to incorrect comparison and incorrect generation of synchronization scripts.
  • SQLE
    SQLES-948: In some cases, the program incorrectly processes DEFAULT objects in SQL Server databases, which leads to incorrect displaying while a preview and generating an incorrect synchronization script.

8.0.0.115 - February 25th, 2022

Fixes

  • SQLE
    SQLES-796: In rare cases, NotImplementedException occurs while generating a synchronization script for PostgreSQL tables.
  • SQLE
    SQLES-938: Sometimes the program does not detect differences in names of some objects when comparing SQL Server databases, causing name differences not to be synchronized. The following objects are affected: TRIGGER, SECURITY POLICY, PARTITION SCHEME, PARTITION FUNCTION, SCHEMA, XML SCHEMA COLLECTION, GLOBAL DEFAULT, FULLTEXT CATALOG, FULLTEXT STOPLIST, SEARCH PROPERTY LIST.
  • SQLE
    SQLES-940: When FULLTEXT CATALOG, FULLTEXT STOPLIST, and SEARCH PROPERTY LIST objects in a source and a target SQL Server databases differ in names, the program generates an incorrect synchronization script (wrong order of the SDL statements).
  • SQLDE
    SQLES-943: In some cases, when synchronizing data using the CLI tool, the program terminates unexpectedly without reporting any errors.

8.0.0.114 - February 16th, 2022

Fixes

  • SQLE
    SQLES-934: In some cases, NotImplementedException occurs while generating a synchronization script for MSSQL tables.
  • SQLE
    SQLES-935: Under certain conditions, when the program loads metadata from a live MySQL database, precision and scale for float-point columns can be processed incorrectly, which leads to incorrect scripts on the Generate and Synchronize tabs.

8.0.0.113 - February 11th, 2022

Fixes

  • SQLDE
    SQLES-925: In rare cases, Skip and Stop buttons do not stop comparison but cause the program to hang. (reopen)

8.0.0.112 - February 4th, 2022

Fixes

  • SQLDE
    SQLES-925: In rare cases, Skip and Stop buttons do not stop comparison but cause the program to hang.
  • SQLDE
    SQLES-926: In rare cases, the program takes too long to update the Object List if previously a comparison was interrupted by the Skip or Stop button.
  • SQLDE
    SQLES-928: In rare cases, when an error occurs during comparison, the program does not display the error message, and the comparison hangs.

8.0.0.111 - February 1st, 2022

Fixes

  • SQLE
    SQLES-908: The program trims line breaks at the beginning of text objects when loaded SQL Server database snapshots; consequently, when comparing such snapshot with a live database, it displays non-existing differences on the Creation Script tab. (reopen)
  • SQLE
    SQLES-913: In some cases, when a user opens a comparison from the Recent Comparisons list with the Customize the selected comparison option enabled, NullReferenceException occurs.
  • SQLE
    SQLES-914: Under certain conditions, when the program compares text objects in SQL Server databases, the Ignore tabs, spaces, etc. is not taken into account, which leads to incorrect comparison results. (MSSQL)
  • SQLE
    SQLES-915: In some cases, text objects metadata is being loaded incorrectly. (MSSQL)
  • SQLE
    SQLES-916: In some cases, EXTENDED PROPERTY metadata is being loaded incorrectly from a snapshot. (MSSQL)
  • SQLE
    SQLES-917: The program always displays indexes on the Creation Script tab as different, no matter whether there is a difference. (MSSQL)

8.0.0.110 - January 25th, 2022

Improvements

  • SQLES
    SQLES-876: Now program collects more debug info when an error occurs during comparison or synchronization.

Fixes

  • SQLE
    SQLES-823: In rare cases, InvalidCastException occurs while generating a synchronization script for PostgreSQL text objects.
  • SQLE
    SQLES-905: Under certain conditions, column renaming settings are not saved correctly in a project file, which leads to losing some settings when the program loads the project later.
  • SQLE
    SQLES-908: The program trims line breaks at the beginning of text objects when loaded SQL Server database snapshots; consequently, when comparing such snapshot with a live database, it displays non-existing differences on the Creation Script tab.
  • SQLDE
    SQLES-909: In rare cases, NullReferenceException occurs when the program builds an index while comparing data.
  • SQLDE
    SQLES-910: In rare cases, InvalidOperationException occurs when the program builds an index on char data type key columns while comparing data in cross-platform comparisons.
  • SQLES
    SQLES-869: Under certain conditions, the program does not delete all created temporary files on close.
  • SQLES
    SQLES-887: Under certain conditions, InvalidOperationException occurs during project load when user mapping was applied in the project.
    REOPENED
  • SQLES
    SQLES-902: In some cases, ArgumentOutOfRangeException occurs when user switches to the Advanced tab in the Options window.
  • SQLES
    SQLES-906: In rare cases, ArgumentException occurs when the program loads metadata from a database.

8.0.0.109 - December 30th, 2021

Improvements

  • SQLE
    SQLES-891: We refactored the Script Database... and Update Database Scripts... wizards and significantly reduced the time for configuring the scripting engine.
  • SQLES
    SQLES-900: We added an ability to specify an encoding to use when querying MariaDB to workaround an issue with MySQL Connector/NET. See the article for more details.

Fixes

  • SQLE
    SQLES-895: In some cases, NotImplementedException occurs while the program generates a synchronization script for PostgreSQL tables.
  • SQLE
    SQLES-897: When comparing any source with the SQL Server scripts folder as a target, if the source and target differed only in extended properties, then nothing was updated when trying to update the scripts in the target folder.
  • SQLE
    SQLES-899: In some cases, user-defined schema mappings were not correctly applied when comparing PostgreSQL databases.
  • SQLDE
    SQLES-889: Sometimes IOException occurs when a user multiple times changed settings of the row filter "show only rows that differ in data in the selected columns".
  • SQLDE
    SQLES-894: Under certain conditions, ArgumentException occurs when comparing data in SQL Azure or SQL Compact.
  • SQLDE
    SQLES-896: Sometimes, upon an attempt to select a table in the Object List which was compared with errors, NullReferenceException occurs.

8.0.0.108 - December 22nd, 2021

Improvements

  • SQLE
    SQLES-893: We updated an icon used in the Object Tree for SQL Server's temporal tables to distinguish them from regular tables clearly.

Fixes

  • SQLE
    SQLES-892: The program generates an incorrect synchronization script for a DEFAULT constraint with the boolean data type when a PostgreSQL database (source) is compared with a SQL Server database (target).
  • SQLE
    SQLES-893: In some cases, the program generates an incorrect synchronization script for SQL Server's temporal tables (DDL statements are in the incorrect order and sometimes use wrong object names).

8.0.0.107 - December 13th, 2021

Fixes

  • SQLE
    SQLES-884: In rare cases, NullReferenceException occurs during cross-platform schema comparison.
  • SQLE
    SQLES-887: Under certain conditions, InvalidOperationException occurs during project load when user mapping was applied in the project.

8.0.0.106 - December 6th, 2021

Fixes

  • SQLE
    SQLES-881: In some cases, NullReferenceException occurs when a user compares Oracle databases and selects a table in the Object Tree if there are differences in columns with comments.
  • SQLE
    SQLES-882: In cross-platform comparisons, when database creation scripts are used as both source and target, a synchronization script is generated as for source database type instead of the target database.
  • SQLE
    SQLES-885: In rare cases ArgumentOutOfRangeException occurs when program generates synchronization script for SQL Server databases.
  • SQLDE
    SQLES-875: In some cases, NullReferenceException occurs during cross-platform comparison when key column(s) are char, and there are NULLs in some rows in these columns.
  • SQLDE
    SQLES-880: Sometimes, the program proposes to send an automated error report even if an exception was handled (for example when database connection timeout occurs).

8.0.0.105 - November 30th, 2021

Improvements

  • SQLDE
    SQLES-879: The program saves the Preview script before synchronization setting in the Synchronization wizard between runs.

Fixes

  • SQLDE
    SQLES-874: Under certain conditions, NullReferencesException occurs while loading data in cross-platform comparisons if key specified char key columns. (reopen)

8.0.0.104 - November 26th, 2021

Fixes

  • SQLDE
    SQLES-877: Added an ability to specify a Row Matching Mode for cross-platform comparisons by an internal variable in Windows Registry. This is a temporary solution until this option is implemented in GUI and CLI.

8.0.0.103 - November 26th, 2021

Fixes

  • SQLE
    SQLES-872: In some cases, a MySqlException occurs during loading CHECK CONSTRAINT metadata from a MySQL database.
  • SQLDE
    SQLES-870: In some cases, a NullReferencesException occurs when the program generates a synchronization script for SQL Server when the Disable UNIQUE constraints and unique indexes option is enabled.
  • SQLDE
    SQLES-874: Under certain conditions, NullReferencesException occurs while loading data in cross-platform comparisons if key specified char key columns.
  • SQLES
    SQLES-871: In rare cases, the MissingMethodException occurs when a program starts.

8.0.0.102 - November 24th, 2021

Improvements

  • SQLDE
    SQLES-868: In specific cases, in cross-platform comparisons, rows in a source and target table were incorrectly matched when the char data type column (or multiple columns) was used as the comparison key. As a result, these rows were displayed on the Only in Source and Only in Target tabs instead of the Different tab. We have reworked the comparison engine to ensure maximum compatibility by the cost of little performance degradation.

8.0.0.101 - November 17th, 2021

Fixes

  • SQLDE
    SQLES-867: While synchronizing queries, on rare occasions, NullReferenceExeption occur when in a target database, the size of a field of a char data type is less than in a source database

8.0.0.100 - November 16th, 2021

Initial public version of the SQL Examiner Suite 2018. You can see the list of changes and improvements in the 2022 version in the Release Notes.

  • Product:  SQL Examiner, SQL Data Examiner
  • Edition:  All
  • Version:  2022
  • Published:  2021-11-16
  • Last Upadted:  2022-05-02


Do not see what you are looking for?
Please submit a support request


Table of contents