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.133 - July 20th, 2022

Fixes

  • SQLDE
    SQLES-1079: Under certain conditions, NotSupportedException occurs with "Unsupported Oracle data type 101 encountered" message when the program loads data from an Oracle table which contains BINARY_DOUBLE or BINARY_FLOAT columns.

8.0.0.132 - July 14th, 2022

Fixes

  • SQLE
    SQLES-1030: In some cases, the program display wrong comparison status for database options if the compared databases have different names.
  • SQLE
    SQLES-1044: Under certain conditions program generates an incorrect synchronization script for temporal tables in SQL Server databases when these tables differ in columns and these columns are part of a PRIMARY KEY constraint or are specified as period columns in the ADD PERIOD FOR SYSTEM_TIME.
  • SQLE
    SQLES-1070: In some cases, when FUNCTION или PROCEDURE objects in PostgreSQL databases are differ in privileges, the program generates incorrect 'GRANT' and 'REVOKE' commands, which leads to the "ERROR: function FunctionName does not exist" error.
  • SQLES
    SQLES-1067: The program does not remember size of a closed dialog window if the window was closed with Cancel button.

8.0.0.131 - July 7th, 2022

Fixes

  • SQLDE
    SQLES-984: CLI code refactoring to eliminate program freezes when running multiple program instances at once. (reopen)
  • SQLDE
    SQLES-1022: When compared with database the program allows to run synchronization wizard even if no tables or records are selected to synchronize.
  • SQLDE
    SQLES-1057: Minor issues in HiDPI mode in the CLI Wizard on the Additional synchronization settings step.
  • SQLDE
    SQLES-1059: In rare cases, NullReferenceException occurs in the Add Custom Mapping window when setting up a new comparison.
  • SQLDE
    SQLES-1060: The program offers to send an error report when the "Invalid operation. The connection is closed." error occurs, although this is a regular situation, which is corrected by changing the timeouts.

8.0.0.130 - July 1st, 2022

Improvements

  • SQLDE
    SQLES-1026: Added the Fix current/last sequence values when applicable synchronization options for PostgreSQL and Oracle databases.

Fixes

  • SQLE
    SQLES-1045: Under certain conditions, the program generates incorrect synchronization script for PostgreSQL databases which leads to the "ERROR: sequence must have same owner as table it is linked to" error during syncnhronization.
  • SQLE
    SQLES-1050: Under certain conditions, the program generates incorrect synchronization script for tables in PostgreSQL databases which differ in DEFAULT columns, which leads to "ERROR: relation SequenceName does not exist" error during syncnhronization.
  • SQLDE
    SQLES-1036: In rare cases, InvalidOperationException occurs when user closes the Script Data wizard after viewing SQL script on the View the Synchronization Script step.
  • SQLDE
    SQLES-1047: In some cases, the program incorrectly compares money and numeric(9,4) data types in SQL Server and PostgreSQL databases in cross-platform comparisons; as result some identical rows can be displayed on the Different Records tab.
  • SQLDE
    SQLES-1052: In some cases, NullReferenceException occurs when user uncheck some tables in the Export to CSV wizard.
  • SQLES
    SQLES-1053: In some cases, the program incorrectly finds path to the Oracle drivers what causes the inability to connect to an Oracle database.

8.0.0.129 - June 28th, 2022

Fixes

  • SQLES
    SQLES-1032: The Show history hyperlink is not highlighted in task list in the Task Scheduler wizard.
  • SQLES
    SQLES-1034: Incorrect Last Run Time is displayed in task list for а newly created task.

8.0.0.128 - June 10th, 2022

Fixes

  • SQLE
    SQLES-1025: In some cases, when the Use CREATE OR REPLACE option is enabled, the program generates an incorrect synchronization script for FUNCTION objects in PostgreSQL databases.
  • SQLDE
    SQLES-1027: In rare cases, when a string columns are used as comparison key, the Perform case-sensitive comparison of strings option can be mistakenly applied which leads to incorrect comparison results.

8.0.0.127 - June 3rd, 2022

Fixes

  • SQLE
    SQLES-987: In rare cases, click on the column renaming info banner leads to NullReferenceException.
  • SQLE
    SQLES-1001: In some cases, when MySQL tables are being synchronized, the program shows warning that a newly added column does not have a DEFAULT constraint, even though it does.
  • SQLE
    SQLES-1018: In some cases the program incorrectly compares DEFAULT constraints and column data types when compares MySQL and MariaDB databases, consequently tables in the Object Tree shown as different even though they are not different.
  • SQLE
    SQLES-1023: Under certain conditions, when there are such differences in SQL Server databases, which require DROP and CREATE of the table during synchronization, NullReferencesException occurs when user tries to preview synchronization script.
  • SQLDE
    SQLES-778: In rare cases, ArgumentException occurs when user changes some settings in the Edit Project window and clicks "Finish".
  • SQLDE
    SQLES-1017: The program does not allow comparison of data stored in columns with xml data type between SQL Server and PostgreSQL databases.

8.0.0.126 - May 27th, 2022

Fixes

  • SQLE
    SQLES-1009: In rare cases, when SQL Server tables are differ in columns and constraints, incorrect syncronization script is being generated which deletes columns which should remain intact.
  • SQLE
    SQLES-1016: When program loads database schema from a SQL Server backup file, some dependencies between database objects can be missed, which can lead to unsuccessful synchronization.

8.0.0.125 - May 25th, 2022

Improvements

  • SQLE
    SQLES-692 Added horizontal scrolling for long lines than don't fit in the Current Line pane in the main program window.

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. (reopen)
  • SQLE
    SQLES-1003: If during the synchronization of tables in CLI, the table is recreated and an error occurs during the transfer of data from the old to the new one, the program does not consider this error critical, which leads to the loss of data.
  • SQLE
    SQLES-1004: In some cases, when a SQL Server table containing columns with timestamp or rowversion data types is recreated during data synchronization, then the INSERT INTO script may be generated incorrectly.
  • SQLE
    SQLES-1011: In rare cases, the program does not extract some of the PostgreSQL database objects, due to which some of the compared objects are not matched in a pair and displayed as existing only in the source and only in the target database, although these objects are in both databases.
  • SQLE
    SQLES-1014: In some cases, the program incorrectly retrieves metadata of PostgreSQL DB TRIGGER objects, due to which the creation scripts for these objects are displayed incorrectly, and errors may occur during synchronization.
  • SQLDE
    SQLES-984: CLI code refactoring to eliminate program freezes when running multiple program instances at once. (reopen)
  • SQLDE
    SQLES-1012: In some cases, when string columns and columns of another data types are used as comparison key, NotSupportedException occurs.

8.0.0.124 - May 17th, 2022

Improvements

  • SQLDE
    SQLES-922: When selecting as a target database, show table creation warnings only when creation is likely leads to any issues.
  • SQLDE
    SQLES-923: When selecting as a target database, allow user to select for synchronization (creation in the target database) even those tables that do not have data.

Fixes

  • SQLE
    SQLES-996: In rare cases, when user selects an object in the Object Tree, IndexOutOfRangeException occurs.
  • SQLDE
    SQLES-990: In some cases, OverflowException occurs when comparing columns of decimal data type between SQL Server and PostgreSQL databases.
  • SQLDE
    SQLES-992: CLI does not report errors found when parsing SQL queries loaded from a project file or config file and silently tries to continue working.
  • SQLDE
    SQLES-993: In some cases, when unescaped column names that match certain keywords are used in a query to SQL Server tables, the program reports an error when editing the query in the New Query window, although the query is correct.
  • SQLDE
    SQLES-994: In some cases, the program does not handle critical exceptions that occur in database drivers when extracting data; consequently, the program does not report errors and crashes.
  • SQLES
    SQLES-999: The link to download the SQL Compact drivers offered by the program in the New Project wizard is incorrect.

8.0.0.123 - May 5th, 2022

Fixes

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

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-07-20


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


Table of contents