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.164 - April 5th, 2023

Fixes

  • SQLES
    SQLES-1369: The previously hidden option "Round float types..." has been made enabled for all users.

8.0.0.163 - March 23th, 2023

Fixes

  • SQLDE
    SQLES-1324: In some cases, the program synchronizes only a few tables marked for synchronization, the rest is skipped and not synchronized.
  • SQLDE
    SQLES-1326: If the target database in a comparison from the Recent Comparison list has been replaced with a new (<New>) database, the comparison settings are completely reset and should be restored manually.
  • SQLDE
    SQLES-1351: In some cases when comparing Oracle and HANA databases, Unable to cast... exceptions occur.
  • SQLDE
    SQLES-1331: If a user made a comparison with a new (<New>) target database and then created a database copy during synchronization, only the comparison with the database copy will be available in the Recent Comparison list. The comparison with the new (<New>) target database cannot be repeated.
  • SQLES
    SQLES-1349: FileNotFoundException occurs when starting SQL Examiner or SQL Data Examiner redistributable command-line tools.
  • SQLES
    SQLES-1350: The custom name of a database backup is replaced with the default template-based name in the command line parameter /BackupTargetDB.

8.0.0.162 - March 15th, 2023

Fixes

  • SQLE
    SQLES-1338: In some cases, when synchronizing unique indexes in MySQL databases, the program generates an incorrect synchronization script (excessive statements).
  • SQLE
    SQLES-1329: If procedures or functions in a PostgreSQL database use arrays of user-defined types, the program generates an incorrect synchronization script.
  • SQLDE
    SQLES-1340: When generating a Database Variance Report the Custom ODBC Data Source connection string used as a database name can contain a password.
  • SQLDE
    SQLES-1339: Fixed a typo in Database Variance Reports (Identical rows).

8.0.0.161 - March 13th, 2023

Fixes

  • SQLDE
    SQLES-1328: When the program works in debug mode and collects logs, debug logging can be extremely slow.

8.0.0.160 - March 10th, 2023

Fixes

  • SQLDE
    SQLES-1305: Added the ability not to retrieve indexes when reading metadata via ODBC which eliminated excessive delays in some cases.

8.0.0.159 - March 9th, 2023

Fixes

  • SQLE
    SQLES-1303: Syntax errors while parsing PostgreSQL creation scripts.
  • SQLDE
    SQLES-1305: Additional hidden settings have been added to fine-tune the program's work with ODBC sources.
  • SQLDE
    SQLES-1305: Added additional logging of program work with ODBC data sources.
  • SQLDE
    SQLES-1311: In some cases NullReferencesException occurs when synchronizing data in Oracle databases and the program crashes.

8.0.0.158 - March 6th, 2023

Fixes

  • SQLE
    SQLES-1307: In some cases, NotImplementedException occurs when synchronizing SQL Server temporal tables between a database snapshot (source) and a live database (target).
  • SQLE
    SQLES-1308: In some cases, when synchronizing SQL Server temporal tables in a database snapshot (source) and a live database (target), the program generates an incorrect synchronization script (wrong order of statements).
  • SQLDE
    SQLES-1305: In some cases, ArgumentException occurs when loading data from a HANA database using Custom ODBC Data Source.

8.0.0.157 - March 3th, 2023

Fixes

  • SQLE
    SQLES-1294: In some cases, when synchronizing views in PostgreSQL databases, the program generates an incorrect synchronization script.
  • SQLE
    SQLES-1299: In some cases, after starting a comparison the Edit project window freezes and, finally, closes.
  • SQLDE
    SQLES-1272: Faster loading of metadata from HANA database via ODBC.

8.0.0.156 - February 15th, 2023

Fixes

  • SQLE
    SQLES-1286: In some cases, when parsing PostgreSQL creation scripts, an error with the "Incorrect syntax near 'main'" message occurs.
  • SQLDE
    SQLES-1287: In some cases, when loading the schema, ArgumentException with the "[Spep 10, db ] cannot change status from 1 to 1" error message occurs in the New Data Comparison wizard.

8.0.0.155 - February 10th, 2023

Fixes

  • SQLE
    SQLES-1277: In some cases, when parsing PostgreSQL creation scripts, the error "Incorrect syntax near '::'" occurs in the New Schema Comparison wizard.
  • SQLE
    SQLES-1285: In some cases, when parsing PostgreSQL creation scripts, the error "Cannot create trigger 'triggerName' as its schema is different from the schema of the target table or view." occurs in the New Schema Comparison wizard.
  • SQLES
    SQLES-1265: In some cases, when trying to connect to a MySQL database, the error "Object cannot be cast from DBNull to other types" occurs in the New Comparison wizard and the program doesn't offer to send an error report. (reopen)

8.0.0.154 - January 25th, 2023

Fixes

  • SQLE
    SQLES-1266: In some cases, the program applies the /exclude parameter to ExtendedProperty objects in an SQL Server database incorrectly. As a result, the synchronization script contains statements for objects that should have been excluded.
  • SQLES
    SQLES-1265: In some cases, when trying to connect to a MySQL database, the error "Object cannot be cast from DBNull to other types" occurs in the New Comparison wizard and the program doesn't offer to send an error report.

8.0.0.153 - January 19th, 2023

Fixes

  • SQLES
    SQLES-1264: If an error occurs while connecting to the MySQL server, the program shows the wrong error message "Unable to cast object of type 'System.Data.ConnectionState' to type 'System.String'" instead of the actual error.

8.0.0.152 - December 26th, 2022

Fixes

  • SQLDE
    SQLES-1250: In some cases, the program compares floating-point values incorrectly, therefore the records are displayed in a wrong tab.

8.0.0.151 - December 22nd, 2022

Fixes

  • SQLE
    SQLES-1235: In some cases, OracleException with the "ORA-00942: table or view does not exist" error message occurs in the New Schema Comparison wizard while loading roles metadata from an Oracle database.
  • SQLE
    SQLES-1248: In some cases, NullReferencesException occurs in the New Schema Comparison wizard when analyzing connections between PostgreSQL database objects.

8.0.0.150 - December 9th, 2022

Fixes

  • SQLE
    SQLES-1157: In some cases, if an error occurs in the New Schema Comparison wizard while loading database metadata, the program freezes after a user clicks OK in the error message box. (reopen)
  • SQLE
    SQLES-1211: In some cases, the program skips some objects when comparing indexes and triggers in Oracle databases.
  • SQLE
    SQLES-1233: In some cases, when comparing user-defined types in Oracle databases, OracleException occurs with the "ORA-31603: object 'SYS_YOID00000XXXXX$' of type TYPE not found in schema 'SCHEMANAME'" error message. (reopen)
  • SQLE
    SQLES-1237: In some cases, NotImplementedException occurs when synchronizing SQL Server and PostgreSQL databases when a user clicks the Next button on the Configure Advanced Settings step or tries to preview the synchronization script.
  • SQLDE
    SQLES-1241: OdbcException with the "ERROR [42P01] ERROR: relation 'schema.tablename' does not exist" error message occurs when a user opens a PostgreSQL comparison project with queries referencing a removed table.
  • SQLDE
    SQLES-1158: Under certain conditions, NullReferenceException occurs while re-comparing data.
  • SQLES
    SQLES-1236: In some cases, NullReferenceException occurs when a user runs the CLI Wizard from the Edit Task window (Scheduled Tasks).

8.0.0.149 - November 30th, 2022

Fixes

  • SQLE
    SQLES-1233: In some cases, when comparing user-defined types in Oracle databases, OracleException occurs with the "ORA-31603: object 'SYS_YOID00000XXXXX$' of type TYPE not found in schema 'SCHEMANAME'" error message.
  • SQLE
    SQLES-1234: In some cases, when comparing indexes in Oracle databases, NullReferencesException occurs.
  • SQLDE
    SQLES-1220: In some cases, when synchronizing SQL Server databases, the "Incorrect syntax near 'ON'." error occurs.
  • SQLDE
    SQLES-1223: In some cases, when synchronizing geometry values between SQL Server databases, the "Could not find method 'STGEOMFROMTEXT' for type 'Microsoft.SqlServer.Types.SqlGeometry' in assembly 'Microsoft.SqlServer.Types'" error occurs.
  • SQLDE
    SQLES-1226: If a table is skipped during comparison, it should be omitted only in the current session, but the table doesn't appear in the comparison after the project has been reopened.
  • SQLES
    SQLES-1232: In some cases, NullReferenceException appears in the New Comparison wizard if at least one of the chosen data sources is a MySQL database and the program can not find the driver.

8.0.0.148 - November 22nd, 2022

Fixes

  • SQLE
    SQLES-1214: In some cases, the CLI tool applies the /exclude parameter incorrectly, as a result, some objects are included into synchronization.

8.0.0.147 - November 21st, 2022

Fixes

  • SQLE
    SQLES-1210: In some cases, ArgumentException occurs when comparing user privilege metadata in Oracle databases.
  • SQLES
    SQLES-1216: In some cases, the "AADSTS1002016: You are using TLS version 1.0, 1.1 and/or 3DES cipher which are deprecated to improve the security posture of Azure AD." error occurs in the New Comparison wizard when connecting to an Azure SQL database.

8.0.0.146 - November 16th, 2022

Improvements

  • SQLE
    SQLES-1152: After optimization the program loads indexes metadata from an Oracle database up to 10 times faster.
  • SQLDE
    SQLES-1161: Now it is possible to configure all previously unavailable report options in the CLI Wizard.

Fixes

  • SQLE
    SQLES-1207: In some cases, OracleException with "ORA-31600: invalid input value TYPE BODY for parameter OBJECT_TYPE in function GET_DDL" error message occurs in the New Schema Comparison wizard when loading user-defined types metadata.
  • SQLE
    SQLES-1213: In some cases, the "ERROR: syntax error at or near "."" error occurs during synchronization of PostgreSQL databases if 'SCHEMA' objects have different privileges.
  • SQLDE
    SQLES-1146: In some cases, when comparing data in SQL Server databases, InvalidOperationException occurs with the "There is already an open DataReader associated with this Command which must be closed first." error message. (reopen)
  • SQLES
    SQLES-1206: In some cases, UnauthorizedAccessException occurs with the "Access denied" message after changes in the Edit Task window have been confirmed.

8.0.0.145 - November 7th, 2022

Fixes

  • SQLE
    SQLES-1151: In some cases, if a table has to be recreated when synchronizing Oracle databases, the program generates an incorrect synchronization script.
  • SQLE
    SQLES-1172: In some cases, the /include, /exclude, /IgnoreDifference parameters were applied incorrectly in CLI.
  • SQLE
    SQLES-1182: In some cases, if the Ignore schemas option is applied, the program generates an incorrect synchronization script for extended properties objects in an SQL Server database.
  • SQLE
    SQLES-1186: The OdbcException with the message "ERROR [42804]: UNION types text and "char" cannot be matched." occurs in the New Schema Comparison wizard when loading user privilege metadata from a PostgreSQL 15 database.
  • SQLE
    SQLES-1205: In some cases, the program displays incorrect creation and synchronization scripts for FOREIGN KEY objects in a PostgreSQL 15 database.
  • SQLDE
    SQLES-1181: In some cases, FormatException or ArgumentException occur if an incorrect connection string was specified for a Custom ODBC Data Source or Custom OLE DB Provider.
  • SQLES
    SQLES-1203: In some cases, the program cannot find the installed MySQL Connector/NET driver and suggests installing it again.

8.0.0.144 - October 26th, 2022

Fixes

  • SQLE
    SQLES-1113: Under certain conditions, while comparing Oracle or PostgreSQL databases using custom schema mapping, the program generates an incorrect synchronization script with wrong schema names.
  • SQLE
    SQLES-1133: In some cases, the "Unable to connect to the source control server." error occurs when connecting to the remote Git repository, although the connection settings are correct.
  • SQLE
    SQLES-1142: In some cases, when using the NullInsertWarningMode option in CLI, the program generates an incorrect synchronization script.
  • SQLE
    SQLES-1157: In some cases, if an error occurs in the New Schema Comparison wizard while loading database metadata, the program freezes after a user clicks OK in the error message box.
  • SQLE
    SQLES-1159: In some cases, the NullReferenceException occurs in the New Schema Comparison wizard while loading user-defined data types metadata from an Oracle database.
  • SQLDE
    SQLES-1062: In some cases, the key column checkboxes in the Column mapping window can be checked only on the second attempt.
  • SQLDE
    SQLES-1147: In some cases, when comparing data in PostgreSQL databases, OdbcException occurs with the "ERROR [42883] ERROR: could not identify an ordering operator for type 'typename'" error message.
  • SQLDE
    SQLES-1158: In some cases, NullReferenceException occurs while data is being recompared.
  • SQLDE
    SQLES-1168: Top hyperlinks in the Database Variance Report Wizard report are not working, if the Create a separate file for each table option was enabled when a report was generated.
  • SQLDE
    SQLES-1173: In some cases, NullReferenceException occurs when a user runs the CLI Wizard from the Edit Task window (Scheduled Tasks).
  • SQLDE
    SQLES-1176: The program doesn't compare data in SQL Server DATETIME columns and TIMESTAMP columns in Oracle, PostgreSQL and MySQL databases, when connecting to these databases as to Custom ODBC Data Source.
  • SQLES
    SQLES-1164: When connecting to an Oracle database using Connection Type "Basic" and Login name "SYS" in the New Comparison wizard, the "ORA-28009: connection as SYS should be as SYSDBA or SYSOPER" error occurs.

8.0.0.143 - September 23rd, 2022

Fixes

  • SQLDE
    SQLES-1125: In some cases, when comparing data in PostgreSQL databases, OdbcException occurs with the "ERROR HY010 The cursor is open." error message.
  • SQLDE
    SQLES-1143: In some cases, when comparing data in SQL Server databases, the "A severe error occurred on the current command. The results, if any, should be discarded" error occurs.
  • SQLDE
    SQLES-1146: In some cases, when comparing data in SQL Server databases, InvalidOperationException occurs with the "There is already an open DataReader associated with this Command which must be closed first." error message.

8.0.0.142 - September 14th, 2022

Fixes

  • SQLE
    SQLES-1131: In some cases, the program generates an incorrect synchronization script for temporal tables in SQL Server databases. Consequently, the DATA_COMPRESSION option value is incorrect after synchronization.
  • SQLE
    SQLES-1132: The program generates an incorrect synchronization script when a graph table should be dropped and created during synchronization.
  • SQLE
    SQLES-1134: In some cases, the program freezes while generating a synchronization script for user functions with recursive calls.
  • SQLE
    SQLES-1137: In some cases, while parsing text objects, the program links objects mentioned in comments and therefore adds excessive statements when synchronizing the text objects.
  • SQLDE
    SQLES-1136: In some cases, the Fix current/last sequence values when applicable option works incorrectly for Oracle databases.
  • SQLDE
    SQLES-1138: In some cases, when comparing values with different data types, FormatException occurs with the "Input string was not in a correct format." error message.
  • SQLES
    SQLES-1139: The program downloads updates but doesn't start installation when a user checks for updates manually.

8.0.0.141 - September 9th, 2022

Improvements

  • SQLE
    SQLES-1118: Oracle database metadata loads up to 10x faster. (reopen)

8.0.0.140 - September 6th, 2022

Improvements

  • SQLE
    SQLES-1118: Oracle database metadata loads up to 10x faster.

Fixes

  • SQLE
    SQLES-1122: In some cases, ArgumentException occurs when loading COLUMN object metadata from Oracle databases.

8.0.0.139 - August 26th, 2022

Fixes

  • SQLE
    SQLES-1114: In some cases, NullReferenceException occurs when comparing SECURITY POLICY objects in SQL Server databases.
  • SQLE
    SQLES-1119: In some cases, when comparing SQL Server and PostgreSQL databases, objects with a same name from different schemas are mapped although they shouldn't.
  • SQLDE
    SQLES-1109: When synchronizing PostgreSQL databases, if a new table is created with columns of type array, the table is created incorrectly, which leads to an error when inserting data into this table.
  • SQLDE
    SQLES-1120: In some cases, NullReferenceException occurs when user switched between data tabs.
  • SQLDE
    SQLES-1121: Under certain conditions, an attempt to swap source and target databases in the Edit Project window doesn't actually swap databases when a user closes the window.
  • SQLES
    SQLES-1107: In some cases, the program doesn't offer to install Oracle client software when the software is not installed, displaying the "System.Data.OracleClient requires Oracle client software version 8.1.7 or greater" instead.

8.0.0.138 - August 16th, 2022

Fixes

  • SQLE
    SQLES-1074: Under certain conditions, when an SQL Server database contains temporal tables, Script Database wizard doesn't script history table objects.
  • SQLE
    SQLES-1073: Under certain conditions, when comparing temporal tables in SQL Server databases, the program displays history table objects as equal, although they are different.
  • SQLE
    SQLES-1100: In some cases, when synchronizing indexes in PostgreSQL databases, the program generates an incorrect synchronization script (wrong order of statements), which can cause the "ERROR: function does not exist" error. (reopen)
  • SQLDE
    SQLES-1077: In some cases, toolbar buttons are hidden on the Different Records tab.
  • SQLDE
    SQLES-1098: In some cases, while comparing floating-point values in cross-platform comparisons, InvalidCastException occurs.
  • SQLDE
    SQLES-1108: In rare cases ArgumentNullException occurs after swapping source and target in the Edit Project window.

8.0.0.137 - August 11th, 2022

Fixes

  • SQLE
    SQLES-1099: When comparing Oracle databases, the program displays columns with DEFAULT NULL and without DEFAULT values as different, despite there is no difference.
  • SQLDE
    SQLES-1091: In some cases, the Fix current/last sequence values when applicable option in the synchronization wizard is available even if it is not supported by the target database.
  • SQLDE
    SQLES-1097: When a user refreshes table list in the Edit Project window, the program marks all tables for comparison, although only updating of the list is expected.
  • SQLDE
    SQLES-1104: In some cases, switching between Duplicate columns mode and Duplicate rows mode doesn't work until the program is restarted.
  • SQLDE
    SQLES-1106: In some cases, when a user refreshes table list in the Edit Project window, the program does not automatically detect a comparison key when it's possible.

8.0.0.136 - August 5th, 2022

Fixes

  • SQLE
    SQLES-1100: In some cases, when synchronizing indexes in PostgreSQL databases, the program generates an incorrect synchronization script (wrong order of statements), which can cause the "ERROR: function does not exist" error.
  • SQLDE
    SQLES-860: Under certain conditions, while comparing floating-point values in cross-platform comparisons, identical values are displayed as different. (reopen)
  • SQLDE
    SQLES-1092: In some cases, while comparing floating-point values in cross-platform comparisons, OverflowException occurs. (reopen)
  • SQLDE
    SQLES-1102: In some cases, when the program synchronizes floating-point values between Oracle and SQL Server databases, the "The number 'value' is out of the range for numeric representation (maximum precision 38)." error occurs.
  • SQLDE
    SQLES-1103: In some cases, when the program synchronizes floating-point values between SQL Server and Oracle databases, the "ORA-01426: numeric overflow" error occurs.
  • SQLDE
    SQLES-1105: Under certain conditions, when when specifying a query to compare query results, the program falsely reports a syntax error if a query contains ROW_NUMBER() OVER (PARTITION BY ...) function.

8.0.0.135 - July 29th, 2022

Fixes

  • SQLE
    SQLES-1094: In some cases, while synchronizing tables with triggers in PostgreSQL databases, the program puts synchronization commands in a wrong order, which can cause the "ERROR: function does not exist" error.
  • SQLDE
    SQLES-1092: In some cases, while comparing floating-point values in cross-platform comparisons, OverflowException occurs.

8.0.0.134 - July 26th, 2022

Improvements

  • SQLDE
    SQLES-1035: The Precede string constants with N prefix in synchronization script option moved from the Options tab of the Edit Project window to the Configure Advanced Settings tab of the syncronization wizard.

Fixes

  • SQLE
    SQLES-1072: In some cases, the "ERROR: function "your_function" already exists with the same argument types" error occurs when synchronizing FUNCTION or PROCEDURE objects in PostgreSQL databases.
  • SQLE
    SQLES-1080: In some cases, when synchronizing TABLE or SEQUENCE objects in PostgreSQL databases, the program puts synchronization commands in a wrong order, consequently, the "ERROR: relation "sequencename" does not exist" error occurs.
  • SQLDE
    SQLES-1058: The Case of keywords option is applied incorrectly to some keywords when generating synchronization script. As a result, the case of the keywords differs from the one specified by the option.

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 displays wrong comparison status for database options if 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 <New> 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 option 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 2022. 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 Updated:  2023-05-02

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

Table of contents