
SQLWays version 3.7

Copyright (C) 1999-2003 Ispirer Systems.
All Rights Reserved.

---------------------------

+ improvement/modification
! bug fixed

---------------------------

Version 3.7 
-----------

[+] Transferring Oracle Spatial data between Oracle 9i databases.
[+] Microsoft SQL Server parsers enhancements: Function name in FROM clause,
SET ROWCOUNT, UPDATE SET col= (SELECT)-(SELECT), () in FROM, 
INSERT INTO () EXEC function_name [parameters], CREATE INDEX, COMPUTE in SELECT
statement, string constant as alias,
[+] Sybase ASA parsers enhancements: GETDATE(*), INOUT parameter in procedures,
GRANT EXECUTE statement, SUBSTRING(), BEGIN ATOMIC, SELECT statement in 
expressions, LONG VARCHAR data type, FOR statement (for cursor), parameters in
the DECLARE LOCAL TEMPORARY TABLE  statement, parameters in DECLARE EXCEPTION 
statement, MESSAGE statement, parameters in DECLARE CURSOR statement, 
parameters in OPEN CURSOR, UPDATE statement for set of tables, CREATE INDEX 
statement, DOUBLE data type, subselect in INSERT statement, CURRENT DATE,
row limits in SELECT, string constant as alias, multiple double quotes, 
// comments, aggregate functions (MAX, MIN and AVG)
[+] Installation package is provided
[+] Added the option to specify codepage for Microsoft SQL Server BCP utility
[+] Not exporting Sybase Adaptive Server Anywhere system objects
[+] Oracle reserved words extended
[+] By default map datetime data types to Oracle DATE or TIMESTAMP depending 
on Oracle version (9i or 8i)
[+] Extract column aliases for Oracle views
[+] Extracting comments and defaults from DB2 OS/390
[+] Extracting primary keys from DB2 AS/400


Version 3.6 
-----------

[+] Converting Oracle stored procedures and functions to SQL Server.
(variable initialization, %ROWTYPE, default values dbms_output.put_line).
[+] Converting Oracle stored procedures to IBM DB2
(PL/SQL exceptions, %ROWTYPE, default values, FOR loop).
[+] Converting Oracle packages to SQL Server and IBM DB2
[+] Converting SQL Server and Sybase Transact-SQL stored procedures to Oracle
(parameters, print, exec, cursors, cursors attributes, temporary tables,
outer joins (*), % operator).
[+] Converting SQL Server stored procedures to Pervasive.SQL (parameters, 
data types, variables, select into, set, convert and dateadd functions)
[+] Converting Sybase ASA Watcom-SQL stored procedures to SQL Server.
(procedure header, parameters, execute immediate, local temporary tables,
loop, while, cursors, if, case, today(*) and now(*))
[+] SQLWays now allows users to modify table and column names for each table.
[+] Options to automatically resolve identificators conflicts (reserved words,
not allowed characters).
[+] Extporting DEFAULT values and unique constraints from DB2 OS/390.

Version 3.5 
-----------

[+] Converting Oracle stored procedures, functions and triggers to IBM DB2
(parameters, variables, cursors, conditions, loops and error handling).
[+] Migrating to Pervasive.SQL v8. SQLWays supports all data types (except
legacy) including LONGVARCHAR and LONGVARBINARY. SQLWays allows using the BUTIL 
utility or SQL INSERT statements to load data Pervasive.SQL.
[+] Converting Oracle stored procedures and functions to SQL Server.
(outer joins without table aliases, parameter datatype length, 
raise_application_error, cursor attributes, execute immediate, for cursor loops,
%TYPE and return statement).
[+] Converting the Informix DATETIME data type with various precisions.
[+] Converting the SQL Server and Sybase CONVERT functions to IBM DB2 and 
Oracle.
[+] Extporting CHECK constraints and object comments from DB2 OS/390.
[+] Extporting stored procedures and triggers from Ingres.
[+] Supporting MySQL table types - BDB, HEAP, ISAM, InnoDB, MERGE and MYISAM.

Version 3.4 
-----------

[+] Converting stored procedures from Oracle to SQL Server.
[+] Improvements of stored procedure conversion from SQL Server to Oracle
(queries and error handling).
[+] Extended data type mapping that allows you to map data types for all tables
and each individual table as well.
[+] Importing views in the order of their dependency on each other.
[+] Extracting views and triggers from DB2 z/OS and OS/390.
[+] Extracting indexes, constraints, primary and foreign key, views, 
stored procedures, functions and triggers from Informix.
[+] Extracting views, stored procedures and triggers from Microsoft 
SQL Server 6.5 and Sybase SQL Anywhere 5.5
[+] Extracting functions from Oracle, Microsoft SQL Server and Sybase.
[+] Support the NONRECOVERABLE option for the DB2 LOAD command.
[!] Converting datetime data types to the MySQL DATETIME by default.

Version 3.3 
-----------

[+] Converting stored procedures from SQL Server to Oracle.
[+] Converting SQL Server LEFT, RIGHT, SUBSTRING, LEN and COALESCE functions
to IBM DB2 and Oracle.
[+] Converting Oracle SUBSTR and LENGTH functions to IBM DB2 and SQL Server.
[+] Converting IBM DB2 LEFT, RIGHT, SUBSTR and LENGTH functions to Oracle and
SQL Server.
[+] Added the option to convert the datetime datatypes to the IBM DB2 DATE
datatype.
[+] Added the option to convert the datetime datatypes to the Oracle
TIMESTAMP datatype.
[+] Added the option to convert the identity properties of columns.
[+] Added the option to specify the CLIENT option in the DB2 LOAD command. 
This allows loading data from a remote client to DB2 using the LOAD command.
[!] Specifying the size of BINARY and VARBINARY columns in the DDL scripts 
for Sybase.

Version 3.2 
-----------

[+] Converting views between Oracle, IBM DB2 and Microsoft SQL Server.
[+] Converting Oracle outer joins (+) to IBM DB2 and SQL Server outer joins
(LEFT OUTER JOIN, RIGHT OUTER JOIN).
[+] Converting Oracle DECODE expressions to IBM DB2 and SQL Server simple
CASE expressions.
[+] Converting Oracle SYSDATE, IBM DB2 CURRENT TIMESTAMP and SQL Server 
GetDate() functions.
[+] Converting Oracle NVL, IBM DB2 COALESCE and SQL Server ISNULL functions.
[+] Added option to generate the CASCADE CONSTRAINTS option in the DROP TABLE
statements for Oracle.
[+] Supports SQL Server and Sybase money data types (MONEY and SMALLMONEY).
[+] Allows you to specify the YY format (last 2 digits of year) for dates in 
text files.
[+] Added option to specify Unix shell location.
[!] Extracting stored procedures from Microsoft SQL Server 7.0

Version 3.1 (Chyfo renamed to SQLWays)
-----------

[+] GUI Wizard provided.
[+] Extracting views, stored procedures and triggers from Sybase Adaptive 
Server.
[+] Generating Windows command files and Unix Bourne shell scripts for
importing views, stored procedures and triggers.
[+] Added option to specify generating the TO_DATE function for DATE columns in
SQL INSERT statements for Oracle.
[+] Added the option to specify directory where import will be executed.
[+] List of Oracle and Microsoft SQL Server reserved words extended.
[+] Added option to convert Oracle LONG RAW to Oracle BLOB.
[+] Set Oracle SQL Loader "str" option when row delimiter differs from the 
default value.
[+] Added option to specify a command that will be executed after importing 
each database object (table, view etc). For import scripts for Windows only.
[+] If the /INI option is not specified, SQLWays looks for sqlways.ini file in 
the current directory, then in the directory from which the SQLWays application
loaded. 
[+] Allow to specify more than one character for SQL statement delimiter.
[!] Fixed specifying date formats in Oracle SQL Loader control files.
[!] Fixed extracting views and triggers from DB2 when schema name is explicitly
specified and its length is less than 8 symbols.
[!] Using isql instead of isql.exe in import scripts for Sybase on Unix.

Version 2.9.7
-------------

[+] Generating Bourne shell scripts to perform import on a Unix system.
[+] Added the options to specify datetime (timestamp), date and time formats in
the text file. Now it is possible to define various datetime representations
using format elements like YYYY, MM, MON, DD, HH, MI and SS.
[+] Extracting stored procedure definitions from Oracle and Microsoft SQL 
Server (Chyfo Enterprise Edition only).
[+] Extracting trigger definitions from Oracle, IBM DB2 and Microsoft SQL
Server (Chyfo Enterprise Edition only).
[+] Extracting identity properties of columns from Sybase (IDENTITY property), 
MySQL (AUTO_INCREMENT property) and Microsoft Access (AutoNumber column).
[+] Added the option to force NOT NULL constraints in the DDL scripts for
columns that make up a primary key.
[+] Importing tables with the IDENTITY columns to Sybase using the Sybase BCP
utility.
[+] Allow using templates like *.* in Chyfo Standard Edition. Chyfo Standard 
Edition can export up to 100 tables at once.
[+] Generating SQL INSERT statements for tables containing CLOB (character 
large object) and NULL BLOB (binary large object) columns.
[+] Added options to replace or remove newline characters from the data.
[+] Set NULL column constraints for Sybase explicitly since the Sybase command
prompt ISQL utility sets NOT NULL by default.
[+] When migrating LOB data from/to IBM DB2 or Oracle Chyfo doesn't create an
empty LOB file if the LOB data is NULL. Chyfo creates a file to place the LOB
data only if the LOB data is not NULL.
[+] If the source database is IBM DB2 or Microsoft Access, do not shift LOB 
columns to the end of column list by default.
[+] Added the option for MySQL to specify whether or not import is performed 
from the client host (the LOCAL keyword in the LOAD DATA INFILE command).
[+] Specifying an error file for the Sybase BCP utility, where BCP stores any
rows that it was unable to import to the Sybase database.
[!] Fixed generating index scripts for Microsoft SQL Server, Sybase and MySQL. 
Specifying the index name only without the owner name.
[!] Fixed using the Sybase BCP utility when the table owner is not specified.
[!] Set the row terminator option (-r) for the Sybase BCP utility.

Version 2.9.6
-------------

[+] Added the option to change index names that exceed specified maximum length
when migrating to IBM DB2. By default Chyfo automatically changes index names
longer than 18 characters. All such conversions are logged in the 
chyfo_info.txt file.
[+] Added support for MySQL binary and character LOB datatypes (TINYBLOB, BLOB,
MEDIUMBLOB, LONGBLOB, TINYTEXT, TEXT, MEDIUMTEXT and LONGTEXT) in the DDL
scripts for MySQL.
[+] Added the option for converting Sybase Adaptive Server Enterprise (ASE)
DATETIME and Sybase Adaptive Server Anywhere (ASA) TIMESTAMP without the
millisecond part.
[+] Added the option /NODDL not to generate DDL scripts for exporting tables.
[+] Added the option /NOCMD not to generate OS command files to invoke database
utilities to execute DDL scripts and import data to the target database.
[+] Capability to specify multiple characters for the column delimiter.
[!] Convert Oracle NUMBER(38) to DB2 DECIMAL(31,0) because the maximum
precision for DB2 DECIMAL is 31.
[!] Fixed exporting large number of tables with referential constraints that
caused hangs in some cases.
[!] Fixed migrating data of BLOB columns into MySQL.
[!] Specifying size of BINARY and VARBINARY columns in the DDL scripts that
allows migrating data of these columns between MS SQL Server databases without
truncation errors.
[!] When exporting an Access table that has the Access reserved words in column
names, enclosing such columns in quotes, when columns are explicitly enumerated.
[!] If the size of LOB columns in the source database is less than 1K increase 
the size to 1K in the DDL scripts for IBM DB2.
[!] When migrating a table and creating scripts taking into account that LOB
columns can be excluded from migrating using the option /EXC.
[!] Export tables from MS Access databases that contain a dash (-) character
in their names.

Version 2.9.5
-------------

[+] Support connecting to databases using ODBC File Data Sources.
[+] Added the "modifiedby" option to specify additional options for the IBM DB2
IMPORT/LOAD utilities.
[+] Added the option for MySQL to specify a remote host where a MySQL database 
resides.
[+] The user password is not showed in the Chyfo log file. 
[+] Added the option to generate DROP INDEX statements.
[+] Added the option to generate index scripts for primary keys and unique
constraints.
[+] Added the option to generate statistics statements for IBM DB2.
[+] Retrieving indexes from Oracle databases using the Oracle catalog views
due to old Oracle ODBC drivers problems.
[!] Retrieving indexes from Oracle 8.0.x and earlier databases.
[!] Query the MS SQL Server catalog views in upper case for proper working with
case-sensitive databases.
[!] Fixed exporting DECIMAL(n,0) negative values from IBM DB2 database.
[!] Fixed effecting of the option /DECPT on DECIMAL and NUMERIC datatypes.
[!] When migrating to MySQL, convert VARCHAR columns that are greater 255
characters to the TEXT datatype. 
[!] Fixed setting the line delimiter option for the MySQL LOAD DATA INFILE
command.

Version 2.9.4
-------------

[+] Conversion of IDENTITY columns between MS SQL Server, IBM DB2 and Oracle
databases.
[+] Added options /TD, /TU and /TP to specify database, user name and password
for the target database in the command prompt.
[+] Added the option /TVER to specify the version of the target database.
[+] Added the option /OFR to specify the use of Unix rules for file pathes in
the scripts and new line character in the text files.
[+] For IBM DB2 added the db2cmd.exe command in the chyfo_all.cmd file before
table scripts that allows executing them from the Windows command prompt.
[+] Converting IBM DB2 CURRENT DATE, CURRENT TIME, CURRENT TIMESTAMP column
default values to appropriate functions for Oracle and MS SQL Server.
[+] Added options to specify import/load modes (insert, replace e.g.) for
the IBM DB2 IMPORT and LOAD utilities.
[+] Added the option to convert timestamp columns into DB2 native string
format.
[+] Added the option to specify the number of blanks that are placed between
columns for the fixed length output format.
[+] When the option /GCMD is specified the general command file is always
created despite the number of exported tables.
[+] Executing generated .cmd files without parameters means that the parameter
'all' is specified.
[+] When the target database is IBM DB2 timestamp columns are always padded 
with 6-digit microsecond part in the text files.
[!] Loading BLOBs greater than 65536 bytes into Microsoft SQL Server.
[!] Using long SELECT statements in the option /S in the command prompt.
[!] Specifying target user name as the schema name in RUNSTATS statements for 
IBM DB2 when the schema name is not specified explicitly.
[!] Fixed generating the general command file when a table list file is used
to specify tables to be exported.
[!] Fixed using the /SF option to specify a query containing new line
characters. 

Version 2.9.3
-------------

[+] Specifying different migration sequences that allow choosing the order
of creating table constraints, importing data and creating indexes. 
[+] General command file that allows executing DDL and import/load scripts for
all exported tables at once. The tables in the general command file are ordered
by referential constraints.
[+] Exporting data into XML output format.
[+] Support for the Oracle 9i TIMESTAMP datatype.
[+] Added the option /INI to specify the initialization file name.
[+] Added the option /LDEL to specify line delimiter in the text file.
[+] Added the option to specify the case of the column names in the SQL
statements.
[+] Added the option to specify, which of the following commands (DB2 LOAD or 
DB2 IMPORT) should be used for moving data into an IBM DB2 database.
[+] Added options to specify executable modules for Oracle SQL Loader and 
SQL Plus.
[+] Added options to specify the datatype to represent a BIT datatype for
Oracle, IBM DB2 and MySQL.
[+] Added the option /TRACE to write detailed information into the log file.
[+] Error file to save not loaded rows and max error option for the MS BCP
utility.
[+] Added the option to specify the service name for Oracle utilities like
SQL*Plus and SQL*Loader.
[!] Correct DDL for MS SQL, DB2, Sybase and MySQL when converting Oracle 
integer datatypes (NUMBER(N)).
[!] The command path is enclosed by double quotes if it contains blanks.
[!] Correct table specification for the Microsoft BCP utility in the form
database..table if the schema name is not specified.
[!] Explicit generation of NULL constraints in the DDL scripts for MS SQL.
This allows to overcoming the command prompt ISQL behaviour that assumes that 
default for columns is NOT NULL.
[!] Empty character columns are not enclosed by double quotes for the MS BCP
utility.
[!] Character columns containing delimiters are not enclosed by double qoutes
for the MS BCP because it doesn't support this.
[!] Replace percent symbol by underscore in the column names for MySQL.
[!] Prevent MySQL scripts from stopping when a SQL error occurs

Version 2.9.2
-------------

[+] Generation of DDL statements and command scripts for Sybase.
[+] Added the option to convert CLOB (TEXT, MEMO) data into other data types.
[+] Added the option /OTF to specify the output text file name exactly with an
extension.
[+] Added options to specify tablespaces for IBM DB2.
[!] Fixed using blanks in the table, column and index names.
[!] Fixed converting IBM DB2 BLOB and CLOB into MS SQL Server IMAGE and TEXT
datatypes.

Version 2.9
-----------

[+] Generation of DDL statements and command scripts for MySQL.
[+] Generation of command scripts to run DDL statements.
[+] Customization for IBM DB2 and MySQL script generations (database, user,
password)
[+] Added the option /LOBIN to write the LOB data inside of the text file.
[+] Generation of format files for the Microsoft BCP utility.
[+] Loading LOBs (TEXT, IMAGE) into MS SQL Server using the BCP utility.
[+] Improvement of logging facilities.
[!] Retrieving of PRIMARY KEYS from MS Access databases.

Version 2.7
-----------

[+] Generation of DDL statements for CHECK and UNIQUE constraints for Oracle,
IBM DB2 and MS SQL Server (Chyfo Pro only)
[+] Extraction of VIEW definitions from Oracle, IBM DB2 and MS SQL Server
[+] Retrieving of column DEFAULT values for Oracle, IBM DB2 and MS SQL Server
[+] Added the option /STDEL to specify a statement termination character.
[+] Added the option /NSTOP to continue processing when an error occurs.
[+] Customization for the Microsoft BCP utility script generations 
(server name, user, password)
[!] Fixed some bugs in INSERT statements generations
[!] Fixed some bugs in DDL statements generations from MS Access and MySQL

Version 2.5
-----------

[+] Generation of INSERT statements
[+] Added the option to generate COMMIT statement after specified number of 
INSERT statements are generated
[+] Added the option /DECPT to specify a decimal point character.
[+] Added the option to convert floating point values (REAL, FLOAT, DOUBLE) by 
Chyfo (allows getting around limitations of some ODBC drivers)
[+] Added the option to automatically shift LOB columns to the end of column
list (allows getting around limitations of some ODBC drivers - "Invalid
descriptor index" error)
[!] Loading of empty and NULL LOB columns into Oracle

Version 2.3
-----------

[+] Generation of DDL statements for PRIMARY KEYS (Chyfo Pro only).
[+] Generation of DDL statements for REFERENTIAL CONSTRAINTS (Chyfo Pro only).
[+] Added the option to put all DDL scripts to one file.
[+] Added the option to generate DROP TABLE statement.
[+] Support of early ODBC versions.
[!] Fixed converting of large DOUBLE numbers.

Version 2.1
-----------

[+] Converting of large numbers of tables using templates (like %.%, schema1.%)
    (Chyfo Pro only).
[+] Providing a list of tables for converting (from the command prompt or
    a file). 
[+] Added the option /TABLST to create the list of tables available on the
    database by template (Chyfo Pro only).
[+] Support MS SQL Server UNIQUEIDENTIFIER and BIT data types.
[+] Added the option for converting MS SQL DATETIME without the millisecond
part.
[+] Added the option /EMPS to omit the schema name in generated DDL statements.
[+] Added the option /CDEL to specify a column delimiter for CSV text format.
[!] Defining the output schema name.
[!] Converting MS SQL Server SMALLDATETIME columns.

Version 1.7.5
-------------

[+] Generation of DDL statements for table indexes (CREATE INDEX scripts).
[+] Customization for Oracle SQL Loader script generations 
    (userid, date formats, load option).
[+] Added the option for converting DB2 TIMESTAMP without the microsecond part 
[+] Added the schema name option to change or set schema name for the output
    table  
[+] LONG VARCHAR columns which are less than 4000 chars converted into 
    VARCHAR2 for Oracle.
[+] Added the option for DECODE function in Oracle SQL Loader control file
    that allows loading empty strings into CHAR NOT NULL columns for
    fixed length text file.
[!] Loading empty strings (not NULL) into CHAR NOT NULL columns in Oracle
    for CSV format.

Version 1.7.4
-------------

[+] Added initialization file for saving common options.
[+] Option /DDL for DDL statements generation only.
[+] LOBs are saved in the subdirectory LOBS of /DIR by default.

Version 1.7.3
-------------

[+] SELECT clause definition from a file.
[+] Support LOB (CLOB, BLOB) data types.
[!] Rule for defining table name in queries.
[!] Enclose empty strings (not NULL) in double quotes.
[!] Enclose TIMESTAMP values in double quotes .
[!] Converting from DB2 LONG VARCHAR into Oracle CLOB.

Version 1.7.1
-------------

[+] Table's creation scripts.
[+] MS SQL Server support.
[+] List of columns that should not be converted.
[!] Converting LONG VARCHAR data type.

Version 1.7
-----------

[+] TAB format.
[+] Support IBM DB2 IMPORT and LOAD commands .
[+] Start row and number of rows to be exported.
[!] CSV format.

Version 1.3.1 
-------------

[+] Support Oracle SQL Loader utility.
[!] Fixed some converting bugs.

Version 1.3 
-----------

First public release.
