Changes in SQLines Data tool.
In progress. Please contact us at support@sqlines.com for updates, improvements and new features.
Preserving case-sensitive identifiers (enclosed with double quotes) (Oracle to PostgreSQL)
Validating negative decimal numbers (like -.30 and -0.30)
Fixing applying -batch_max_rows option (Sybase ASE)
Excluding columns generated for function-based indexes to prevent errors “Name 'sybfi2_1' is reserved for internal use by Adaptive Server. Please use a different name” (from Sybase ASE)
Released on February 29, 2024.
Enclosing columns with [] during data validation process (to
SQL Server)
Refactoring data validation (Sybase
SQL Anywhere)
Fixing applying
-batch_max_rows option (Sybase
SQL Anywhere)
Converting DECIMAL(65,s) to DECIMAL(38,s) due to data type range limitations (MySQL to
SQL Server)
Transferring indexes (from MySQL)
Transferring foreign keys (from MySQL)
Reading IBM DB2 iSeries catalog view QSYS2.TABLES to get the table list using ODBC driver
Adding ODBC data source to SQLines Data UI
Transferring BIT(
n) data type data (MySQL to
SQL Server)
Implementing case-insensitive table name mapping (-tmapf option)
Using hex encoding internally when transferring binary data using COPY command (IBM DB2, Informix, Sybase ASA to PostgreSQL)
Fixing transferring LONG BINARY data larger 3
MB (from Sybase
SQL Anywhere)
Transferring column DEFAULT values and AUTO_INCREMENT properties including next value (from MySQL)
Fixing global data type mapping sqlines_dtmap.txt for DATETIME and INT data types (from MySQL)
Added -identity_start option to specify the start value for identity columns (by default, it is taken as the next value for the corresponding source table)
Applying column mapping and escaping for ALTER TABLE … DEFAULT statements (to Oracle,
SQL Server, PostgreSQL)
Validating BIT values 0 and 1 with BOOLEAN values 'f' and 't' (Sybase ASA to PostgreSQL)
Ordering rows using numeric, datetime and string columns for tables without unique keys or indexes (from Sybase ASA)
Fixing data validation for BIGINT data type (PostgreSQL)
Added the option -datetime_year_lte_to_null to convert DATETIME values to NULL if their year is less or equal to the specified value (from MySQL)
Transferring data of IMAGE data type (Sybase ASE to Oracle)
Fixing data validation for NUMERIC and DECIMAL datatypes comparing string representation like .50 and 0.5 (from Sybase ASA)
If table transfer failed set SET IDENTITY_INSERT
table1 OFF explicitly to prevent errors: “IDENTITY_INSERT is already ON for table '
table1'. Cannot perform SET operation for table '
table2'” for tables with identity columns (to
SQL Server)
Moving VARCHAR(max), NVARCHAR(max), IMAGE and TEXT columns to the end of SELECT list to prevent “Invalid Descriptor Index” errors (from
SQL Server)
Released on January 09, 2024.
Transferring data from INTERVAL HOUR TO FRACTION(n) type to INTERVAL HOUR TO SECOND(n) (Informix to PostgreSQL)
Migrating primary key and unique constraints (from MySQL)
VARCHAR and NUMERIC data transfer (invalid datatype in OCI call error) issue (PostgreSQL to Oracle)
Validating tables with primary key or unique constraints (MySQL to PostgreSQL)
Reading TEXT values more than 4,000 bytes (from PostgreSQL)
Validation query for tables with reserved words as columns (PostgreSQL)
Applying
-batch_max_rows option for Informix
API (Informix)
Fixing closing cursor and freeing resources when -batch_max_rows=1 (PostgreSQL)
Added -sybase_ident_quotes option to specify how to enclose column identifiers in Sybase Adaptive Server Enterprise (Sybase ASE)
Handling and reporting error ”[
SQL Anywhere]Database server connection limit exceeded” (10 connections for Personal Server) (from Sybase
SQL Anywhere)
Handling multiple AUTOINCREMENT columns per table (leaving the first one) (Sybase
SQL Anywhere to
SQL Server)
Fixing transfer of tables with column names containing blanks (Sybase
SQL Anywhere to
SQL Server)
Updated version of built-in
SQL converter (used to convert DEFAULT expressions i.e.)
Fixing ODBC connection issues
When dropping existing foreign key constraints enclose the constraint name with [] (to
SQL Server)
Updated the list of reserved key words (to
SQL Server)
Skipping creating defaults and constraints for columns of global temporary tables (from Sybase
SQL Anywhere)
Enclose index names with [] (to
SQL Server)
Enclose index names with `` (to MySQL, MariaDB)
Handling errors “Transaction (Process ID
num) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.” when creating constraints (to
SQL Server)
Handling errors “Introducing FOREIGN KEY constraint 'fk_name' on table 'table_name' may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints.” (to
SQL Server)
Fixing data validation including DATE NOT NULL and DATETIME YEAR TO FRACTION NOT NULL to ORDER BY column list if there are no primary key or unique constraints (from Informix)
Released on September 12, 2023.
Released on June 27, 2023.
Bug fix - Enclosing column names containing special characters (, -, (, ) and so on) with double quotes (to Oracle)
Bug fix - Enclosing column names starting with a digit with double quotes (to Oracle)
Bug fix - Fixing error “another command is already in progress” when reading data from PostgreSQL after fetching table with 0 rows or when a fetch error happens (releasing query result resources)
Bug fix - Logging PostgreSQL libpq library use and load errors
Bug fix - Transferring Oracle DATE (was mapped to DOUBLE)
Bug fix - Oracle NLS_LANG environment variable setting
Bug fix - IBM DB2 DB2CODEPAGE environment variable setting
Released on May 28, 2023.
Migrating DATETIMEOFFSET data type (from
SQL Server)
Using DATETIME YEAR TO FRACTION and INT8 columns for sorting data for validation if there are no primary key or unique columns (from Informix)
Allow specifying the target size for global data type mapping in sqlines_dtmap.txt
Migrating TEXT data type to VARCHAR(MAX) (MySQL to
SQL Server)
Supporting ODBC Driver for
SQL Server on Windows as
SQL Server Native Client is deprecated
Adding
-sql_lib and
-sql_driver options to specify
SQL Server client libraries and driver for Windows and Linux
Reducing memory consumption when validating data for PostgreSQL
Bug fix - Informix driver for Linux also returns fractional part of DATETIME YEAR TO FRACTION(
n) as zero when binding as
SQL_TIMESTAMP_STRUCT (from Informix)
Bug fix - DATETIMEOFFSET data type mapping in
sqlines_dtmap.txt file (from
SQL Server)
Bug fix - Truncating table.dump.txt on restart on Linux
Bug fix - Show error message if COPY FROM STDIN initialization failed (to PostgreSQL)
Bug fix - Data type missed in CREATE TABLE for a column with NUMBER data type defined as a computed column (GENERATED AS expression) (from Oracle)
Released on March 12, 2023.
Bug fix - Migrating fractional part of DATETIME YEAR TO FRACTION(n) (Informix to PostgreSQL)
Bug fix - Creating dump data file (table.dump.txt) and validation difference file (table_diff.txt) in the directory defined by -out option (they were always created in the current directory)
Bug fix - Fixing crash when extracting data from Oracle rule types (DBMS_RULE i.e. SYS.RE$NV_NODE)
Bug fix - Dumping DATETIME value to table_diff.txt file (from Informix)
Bug fix - DATETIME and TIMESTAMP data types validation (Informix to PostgreSQL)
Using one-based index for rows when dumping row differences to table_diff.txt file during data validation
Released on February 07, 2023.
Extracting Oracle SDO_GEOMETRY spatial data in WKT Spatial format (Well-Known Text)
Added
-dlog option to specify name and location for executed DDL statements (default is
sqldata_ddl.sql)
Bug fix - Skip creating constraints, sequences, defaults and indexes in Truncate mode (-cmd=truncate)
SQLData UI - Initializing connection windows with last active connection settings (server name, user name, database etc.)
Extending sqldata.trc metrics for rows validation mode
Bug fix - Fixing SQLData UI crash when performing data validation on tables with large number of columns (validation SELECT query more than 2048 bytes)
Bug fix - Transferring VARCHAR data (MariaDB/MySQL to MariaDB/MySQL)