What's new in Octopus 3.6.3 **************************** 1. Improved relations mechanism to support result set with more rows as result of the relation 2. fixed problem with relations when source of the relations column has value NULL 3. fixed problem with big ObjectIDs(conversion from String to BigDecimal) 4. Added link in start menu to home page 5. Modifed internal folder name in zip distributions 6. CsvJdbc driver, fix bug with ColumTypes where suppresHeader is True 7. CsvJdbc, support for input strings which contains " What's new in Octopus 3.6.2 **************************** 1. Fixed bug in csv driver when autoCommit+true option is used 2. Fixed problem with transformations when input source is definied as selectStatement What's new in Octopus 3.6 **************************** 1. Changes and fixes in DataCleaning feature. What's new in Octopus 3.5 **************************** 1. Changes and fixes in loader cache. 2. Improved work with dates, added support for postgre8 jdbc driver. Now appropriate method is called on PreparedStatement ( setDate(),... ) 3. Fixed bug in csvjdbc driver related to reading meta data. 4. Fixed bug in replace keywords in xmljdbc and i18njdbc driver. 5. Added support for "NOT NULL" in query in csvjdbc driver. What's new in Octopus 3.4 **************************** 1. Added support for Java 1.5 2. Problem with data types which have space in name( LONG VARCHAR on DB2, INT IDENTITY on MSQLSERVER...) - use double occurence of underscore instead of space in type name in conf file e.g: tag. Key part of transformations is implementation of Transformer interface. This is the class that is responsible for data transformation. 2.Octopus - GUI is improved. Now, user can create new octopus project, and also this *.opf(project file) can be saved and used later. When user switch from Octopus Loader tab to Octopus Generator tab parameters will stay filled in boxes. 3.OctopusLoader - In DBVendorConf.xml files added new parameters (isDate, isBinary, isNumber). isDate - In previous release, these parameters was placed in source.It is now posible to configure OctopusLoader using this parameters. 4. OctopusGenerator - In DBVendorConf.xml files added new parameters hasSize and isDecimal.OctopusGenerator use this parameters to determine for which type must generate sql statements with size and isDecimal to determine which type is decimal or not. 5. OctopusLoader - In DBVendorConf.xml files added new tag . It is now possible to give Octopus Loader format of date (for target database) which will be used to format date from source database. Also, this format of date will be used for . If this parameter is not given in DBVendorConf.xml file then will be used "MM/dd/yyyy hh:mm:ss" which is default format. 6. Octopus - Now Octopus use LoaderException(String msg,Exception e) constructor instead LoaderException(String msg). This will improve debuging and exception tracing. In LoaderException added method getStackTraceAsString(). In full mode OctopusLoader will write in log file all exceptions using LoaderException.getStackTraceAsString(). 7. OctopusGenerator - Added set and get methods for all input parameters(e.g TargetDatabase,SourceDatabase,...). 8.Octopus: Added inputToString() method that will give possibility to get String as output with all input parameters. This method is also in Loader.java and it has possibility to write this parameters in log file when log mode is "full" 9.Octopus: -If attribute replaceInSQL is set to true, replacement will be performed in selectStatements also,not just in SQL tags. 10.Octopus -Validation of loaderJob.olj files is changed. Instead of DTD Octopus now uses Schema for validation. 11.Octopus -Added jar file for LDAP (jdbcldap.jar). 12.Octopus -Added configuration files SybaseConf.xml (for database vendor Sybase) and ParadoxConf.xml (for database vendor Paradox). 13.Octopus -Added new parameter setMaxRowsSupported in conf file for database vendors. This parameter is used to determine if driver support java.sql.Statement.setMaxRows() method. It is usefull when Loader gets from target table just metadata. 14.Octopus -Added P6spy, open source framework for applications that intercept and optionally modify database statements. Added p6spy.jar file and spy.properties file - configuration file for p6spy. What's new in Octopus 2.7 **************************** The following sections list the new or updated features associated with Octopus 2.7 1. Octopus - New GUI is introduced, with new functions ( look and feel can be choosen from menu ) and with more logical user interface. 2. OctopusLoader - In conf files, now it is posible to choose which method on PreparedStatement will be call for which database-specific type. For every database-specific type, there is attribute named 'javaType', and according to this value, Octopus will perform call to different methods on PreparedStatement object. 3. OctopusGenerator - Added new parameter in conf file 'MaxConstraintLength', which determine max. length of name of constraint( primary key, index, ... ). Some databases have problem with long names of constraints. 4. OctopusLoader - Added new parameter in conf file 'GetColumnsSupported', which determine does specified driver support Connection.getMetaData().getColumns() method or not. 5. Octopus - In build.properties new parameters are added : build.compiler=jikes - choose which compiler will be used : possible values are : jikes, modern, classic build.optimize=on - is compile will be performed with or without optimization. build.debug=off - is compile will be performed with debug or not. jopt.jar= - path to jopt.jar, if set jar files will be optimized using jopt. 6. OctopusLoader - All paths to files which will be included in LoaderJob are now relative to position of LoaderJob. ( tags 'href' attribute ). 7. OctopusLoader - setFetchSize and setCursorName parameters are added into tag. What's new in Octopus 2.6.3 **************************** The following sections list the new or updated features associated with Octopus 2.6.3 1. OctopusLoader - Octopus application is looking for all needed files relatively from LoaderJob.olj file (all sql and xml files, source and target database, logger …). 2. Restore and Backup - In Octopus Generator application is implemented Restore and Backup API (new java classes), include with Restore and Backup tasks (new classes which extends Jacarta Ant task). 3. Conf files - In conf files for Octopus application are added two parameters: FileSystemDatabase and MaxConstraintLength. First, represents if used driver write in file system, and second represents maximum length of constraint in database. 4. Jikes - In Octopus application is added possibility to be compiled with jikes of javac compilers. Compile process can be done with -debug or -optimize options. Also, application is enabled to use jopt optimizer. Named options can be set in build.properties file: build.compiler - enable to choose which compiler will be used build.optimize - compile java files with or without optimize option. build.debug - compile java files with debug option. 5. setFetchSize and setCursorName - setFetchSize and setCursorName parameters are added into tag and in tag too. 6. Trace log - In Octopus GUI is add possibility to save trace log 7. Look and Feel - In Octopus GUI is added possibility to change application Look and Feel. 8. Mapping - In Octopus application is added possibility to determinate (in conf file) which setXXX method will be used for handling specific data type in prepared statements methods. New attribute (javaType) is added for sql data types (e.g. INTEGER). 9. Backup and Resore - Octopus is enabled to backup and restore only named tables in used database 10. DropIntegrity - In Octopus is added possibility to generate sql statements for drop foreing keys. 11. Hsql database - Fix problem with hsql database and decimal data type. What's new in Octopus 2.6.2 **************************** The following sections list the new or updated features associated with Octopus 2.6.2 1. SubCounter Column - Fixed problem with increasing subcounter column values when keyColumnName in tag is relation column. 2. SubCounter Column - If you set tableMode attribute to value 'Cache' in tag, sql statements for reading subcounter key values will be cached. What's new in Octopus 2.6.1 **************************** The following sections list the new or updated features associated with Octopus 2.6.1 1. CsvJdbc - CsvJdbc now make difference between null object and empty string. 2. Swing GUI for Octopus application [Task Id=1716,1715] - Swing GUI for Octopus application is improved. 'Help' features from GUI was modernized and 'About' features is added. Names of panels and buttons are also improved. 3. OctopusGenerator [Task Id=1659 ] - New parameter 'includeTableList', which enables you to restrict Generator to limited set of tables, is added into OctopusGenerator application. 4. JavaWebStart [Task Id=1686 ] - Desktop icon for Java Web Start is replaced with new icon. 5. Log Mode [part of Task Id = 1646] - Log mode 'none' is changed and now it only return application exit code. All his jurisdictions, which he had in previous versions of Octopus, are now passed to log mod 'normal'. 6. Relations [Task Id= 1798 ] - Bug in relations for OctopusLoader application is fixed. 7. Documentation [Task Id=1718,1510 ] - Documentation is upgraded. 8. Configuration files [part of Task Id = 1646, and part of Task Id=1576] - In Octopus application is added two configuration files. These files are: CJDBCConf.xml and OctetstringConf.xml Named files are added to support C-JDBC driver and JDBC-LDAP Bridge for LDAP servers. 9. JDK 1.3 [Task Id=1500 ] - Octopus application now support JDK 1.3 in runtime. 10. LDAP Server [part of Task Id= 1618] - Octopus is enabled to work with LDAP servers. This can be done with JDBC-LDAP Bridge for Ldap servers. LDAP server is tested only as source. 11. log4j [Task Id= 1681 ] - Implementation of Logger interface for log4j logger has removed from Octopus application and now is distributed separately. 12. Logging [Task Id= 1680 ] - Documentation for logging (adding a new logger) is upgraded. 13. JavaWebStart [Task Id= 1717 ] - Java Web Start is updated on octopus.objectweb.org 14. OctopusLoader [Tadk Id= 1724 ] - Same table can be JDBC source and JDBC target for OctopusLoader application. 15. Octopus application [Task Id= 1515 ] - Octopus application is tested with QED 3.3 database. 16. Mozilla Web Browser and Internet Explorer [Task Id= 752 ] - Java Web Start is tested on Mozilla 1.4 Web Browser and Internet Explorer (6). What's new in Octopus 2.5 **************************** The following sections list the new or updated features associated with Octopus 2.5. 1. Single quote - Single quote caused problem when you were trying to update some column, now it is fixed. 2. RestartCounter method - Problem with RestartCounter method is fixed. New java class file is added, for this method. 3. Microsoft driver [Task Id= 1818 ] - Problem with Microsoft driver and binary (blob) fields is fixed. With Microsoft driver reading data from jdbc souce (and bynary columns are used) must be "forward" only, and you can read same source data (in the same order) only ones. Because of the named problem, new parameter "ReadingOrderRelevant" is added into Octopus application. Octopus now supports this method. 4. PostgreeSQL database - In Octopus application is added support for "BYTEA" type of data. This type of data represents Blob objects. 5. tag - Problem with tag is fixed. 6. Java Web Start - Java WebStart is placed on project page, and building all necessary files is enabled via buildDistribution Ant task (JavaWebStart distribution is included in build process). 7. XmlJdbc driver [Task Id= 1500 ] - XmlJdbc driver now support jdk1.3 in runtime. 8. CsvJdbc driver - Additional check of csv format. 9. CsvJdbc driver [Task Id= 1514 ] - Now, this dirver never parse binary (hex) data. 10. CsvJdbc driver [Task Id= 1500 ] - CsvJdbc driver now support jdk1.3 in runtime. What's new in Octopus 2.4 **************************** The following sections list the new or updated features associated with Octopus 2.4. 1. HypersonycSQL Database Vendor [Task Id=1497 ] - HypersonicSQL database, version 1.7.1, is added in maven repository and Octopus application also. All examples are now working with this database. 2. setFetchSize() and setCursorName() methods [Task Id= 1626,1694 ] - In Octopus Loader is implemented full control of using setFetchSize() and setCursorName() methods. In conf files (database configuration file) are placed two parameters: SetCursorNameEnabled and SetFetchSizeEnabled. User is enabled to use these methods independently because of different implementation of these methods in database drivers (e.g. if you use microsoft driver, setCursorName() method is not supported, and if you set SetCursorNameEnabled to true application will fail). 3. Caching SQL queries - In Octopus application 2.4 all SQL queries, which will be sent to target database, may be cached. This is possible to accomplish if you set tableMode parameter to 'Cache' instead of 'Query' (tableMode="Cache"). This parameter is attribute of tag in importDefinition file. 4. SetEmptyStringAsNull parameter - SetEmptyStringAsNull parameter enables you to replace all empty strings in source database with 'null' object in target database. Possible values are: true and false. This parameter is needed because some drivers do not know difference between null and empty string( -e.g. csv, xml ). 5. Optimisation - Optimization of Octopus has made this application much faster. 6. Csv and Xml Driver - Csv and Xml driver have been improved. - Csv driver now can work with text that has line brakes, carriage returns and double quotes. 7. New Database enabled - Enabling OctopusGenerator application to work with McKoi database. This database can be input or output in to OctopusGenerator application. 8. New build targets - Added new build targets for every subproject. This targets can be called only after make buildNoDoc, make buildAll, make distributions. Call to targets for build subprojects will rebuild only specified subproject. 9. New windows installation features : - Now windows installation will try to find JAVA_HOME property from registry, and if fail to find it, installation will try to read JAVA_HOME property from environment, and if nothing of this is find, user must choose java home directory. 10. MySql database vendor [Task Id= 1612 ] - As default for MySql database, in configuration file for this database, value for RequiredUser parameter is set to "true". This must be done because specific structure of MySql database. If you want to change this specification in MySql database, you must edit "user" table in default (system) "mysql" database. 11. OctopusGenerator [Task Id=1523 ] - In connection property for Microsoft driver, OctopusGenerator set property SelectMethod=cursor. This is done if you don't specify any value for SelectMethod property. What's new in Octopus 2.3 **************************** The following sections list the new or updated features associated with Octopus 2.3. 1. Auto mapping - "autoMap" method is implemented into OctopusLoader application in order to enable application to auto-map columns in "importDefinition" jobs. That means, that we have to map at least one column in "importDefinition" job, and OctopusLoader will map all the other columns in source table to appropriate columns in target table. 2. Copy Table method - "copyTable" method is implemented into OctopusLoader application in order to simple copy one named table from source database to target database. This operation is highly optimized. 3. Blob object - OctopusLoader application is enabled to work with BLOB object, and to transform them 'from' and 'to' String objects. 4. Backup and Restore - Scripts for backup and restore of database are created, and added to EnhydraOctopus application. 5. Csv and Xml drivers - Csv and Xml jdbc drivers are now enabled to work with BLOB objects. - Csv and Xml jdbc drivers are now enabled to work with PreparedStatements. - 'maxFileSize' parameter is implement into Csv driver. This parameter is used to constraint max size of files (For example, when you inserting data into table, if file size become bigger then specified with this parameter, driver will create new file for same table, and add extension '.csvextension'.). 6. Prepared statement - In Octopus Loader PreparedStatements is used for inserting data into target database instead of 'usual' Statements. 7. Include tables method - Inside Octopus application a possibility is created which enables you to choose which table is going to be processed inside the same "importDefinition" job. 8. Data Cleaning method - Method "dataCleaning" which is implemented in Octopus 2.2, is optimized. 9.GUI - GUI for starting of OctopusLoader application is created. - OctopusGenerator and OctopusLoader applications share the same GUI (Graphic User Interface.) 10. SQL Statements - A possibility is added to OctopusGenerator application, which creates sql statements for all specified database vendors, and also possibility to choose which sql statements will be created. 11. 'mode' for xml files - A possibility is added to OctopusGenerator application, which enabled you to choose in which mode you are creating necessary xml files. If you choose "optimized" mode, you will create xml file for simply coping all tables from source database to target database, and if you are choose "full" mode, you will create xml file which will map source database to target database with possible options. 12. Logger - A possibility is added to OctopusLoader application, which enables you to 'log' output from application with 'standard' and 'log4j' logger. Also, Octopus enables you to implement some new logger. 13. Documentation [Task Id= 139] - Documentation for Enhydra Octopus application is rearranged and beside HTML format documentation is generated in PDF format also. 14. FreeTds driver - Fixed problems in FreeTds driver with PreparedStatements 15. Import Jobs are unique - Names of importDefinition, copyTable and sql jobs are unique 16. Exclude tables - Added new parameter in dbVendor conf file to exclude tables which will be used in Octopus Generator. 17. Octopus [Task Id= 460] - Octopus is now enabled to install/run with Java JRE What's new in Octopus 2.2 **************************** The following sections list the new or updated features associated with Octopus 2.2. 1. Data Cleaning method - Implemented data cleaning method which enables cleaning data during operations with databases 2. New supported databases - Enabling OctopusGenerator application to work with Access, CSV and XML databases. Those databases can be input or output in to OctopusGenerator application. Because those databases doesn't support foreign keys and primary key methods (metadata), OctopusGenerator can't generate appropriate sql statements. 3. Structure of project - Structure of Octopus application is changed. Structure of Octopus application is adjusted to look like structure of Enhydra Server ( build of application is performed with command 'make' instead of 'generate' ). 4. Release option - All users are enabled to adjust release for Octopus application ( 'release' property in build.properties file). 5. Xerces - Xerces is replaced with new version of Xerces ( xercesImpl.jar and xml-apis.jar ). 6. Java Web Start - Starting LoaderGenerator via JavaWebStart is enabled. 7. Validation of xml files [Task Id = 387 ] - Added run time xml validation of loadJobs. If validating error occurred parser will print line number in real XML file. 8. Qed Database Vendor - QED database version 3.1 added in maven repository and Octopus also. This version of QED database work only with JAVA 1.4.1 and higher. 9. SQL Server 7 [Task Id= 140] - Octopus is now supporting SQL Server 7. 10. Octopus [Task Id= 410] - In Octopus is added one configuration file per vendor (for all supported database vendors). 11. Octopus [Task Id=160, 412] - In Octopus application is implemented Generator for LoaderJob files and its GUI. 12. OctopusGenerator [Task Id= 411 ] - LoaderGenerator can be started as Ant task. 13. Maven [Task Id= 148] - Octopus application is build with Maven. 14. Driver Name [Task Id= 156 ] - Driver name is added into JDBCParameters attributes. 15. Binary files [Taks Id=151, 153] - Binary distribution and Source distribution files are now build with Octopus application. 16. Octopus [Task Id= 392] - CSV adn FREERDS drivers are included into Octopus application. 17. Xml Driver [Task Id= 385,408] - Xml driver is included into Octopus application, and its examples. 18. DocBook [Task Id= 393] - DocBook generation of documentation for Octopus is enabled. 19. Csv driver [Task Id= 397, 448, 504] - documentation for cvs driver usage is added, - configurable delimiter is added, - csv variable delimiter is supported. 20. LoaderGenerator [Task Id= 388] - Doml file as input JDBC source for OctopusLoader is supported.