C-JDBC History File

Next release
Release date:
CVS Tag:
Description:
_____________________________________________________________

C-JDBC 1.0b15
Release date: Tuesday, 04 November 2003 
CVS Tag:c-jdbc-1.0b15
Description: More JDBC2.0 features supported, reporting, and many fixes.
     # Added generation of report when fatal error occurs
       or with proper shutdown.
     # Added getProcedures and getProcedureColumns support
       in the driver.
     # Fix possible recoveryLog misbehavior when a checkpoint
       was stored while some transactions were not committed.
     # Added getColumns and getPrimaryKeys in metadata for Virtual
       databases.
     # Fix registration of virtual databases in Jmx. Was executed twice
     # Fixed wrong port of the naming service for jmx. The only port
       that was changed was the one of the JRMP adaptor. Reported by
       Marc Wick.
     # Fixed NPE in DriverCompliance tests
     # Fixed getDump method that was failing in createTableRule
     # Added IP-specific binding to permit the C-JDBC Controller to use a
       specific IP on a multi-NIC server.
     # Shutdown is available over Jmx
     # Implemented three levels of shutdown of the controller. A shutdown
       client is available through script files.
     # Added JDBC 3.0 compatible java.sql.Statement class to allow the code
       to compile getGeneratedKeys support with JDK 1.3
     # Driver compliance now tests getGeneratedKeys support (not required).
     # Moved C-JDBC ResultSet cloning from RequestManager to driver.ResultSet.
     # Added support for getGeneratedKeys for SingleDB, RAIDb-0, RAIDb-1 and
       RAIDb-2 based on the contribution from Vadim Kassin.
     # Modified ResultSet method with code from Mysql driver. This is to 
       prevent a class cast exception reported by ahoutman@bic-tech.com
     # Fixed bug in RAIDb 0, 1 and 2 pessimistic schedulers for create queries.
     # Fixed NPE when RAIDb-2 does not specify a create table policy.
     # Fixed request manager database schema merging that was affecting the 
       schema of individual backends.
     # Fixed DriverCompliance to handle NoSuchMethodError exceptions with
       the 2.0.x org.gjt.mm.mysql.Driver
     # Enhanced GUI Console popup menu with basic shortcut commands and 
       file browsers to simplify loading XML/SQL/JAR files
     # Fixed NPE in database schema fetching when underlying driver does not
       support getColumns or getPrimaryKeys.
     # Fixed ArrayOutOfBoundException when calling stored procedures with
       RAIDb-1 or RAIDb-2 with a WaitCompletionPolicy set to 
       WaitForCompletionPolicy.ALL. Bug reported by Paolo Arcagni.
     # Modified c-jdbc.dtd to add a specific Distribution element to define
       distribution rules for sharing a virtual database between several
       controllers (horizontal scalability).
     # Removed specific distributed schedulers. The distribution is handled
       by the DistributedRequestManager and not by each scheduler.
     # Modified Controller and controller configuration classes to support
       controller naming.
_____________________________________________________________

C-JDBC 1.0b14
Release date: Thursday, 23 October 2003 
CVS Tag:c-jdbc-1.0b14
Description: New Configuration of controller,  as well as other things.
     # In console, getDump and getInfo for xml dump and 
       original getInformation method.
     # Output of schema in xml format can be accessed via a set of 
       additionnal getXmlInformation methods.
     # Jmx adaptors can be specified by type and by port in the 
       c-jdbc-controller.xml file.
     # Fixed initialization problem with VariablePoolConnectionManager when    
       maxPoolSize is missing. Bug reported by Guillermo Schulman.
     # Fixed problem finding controller.xml file when C-JDBC is installed in
       a directory containing a space on Windows. Problem reported by 
       ahoutman@bic-tech.com.
_____________________________________________________________
C-JDBC 1.0b13
Release date: Thursday, 16 October 2003 
CVS Tag:c-jdbc-1.0b13
Description: This release offers Jmx control, hyper sonic environment, squirrel
 graphical tool, as well as speed optimizations.
     # Added RAIDb-1 preconfigured example for linux and windows platforms.
     # Added optional package hsqldb (Hyper Sonic SQL) for testing. If 
       selected can be accessed via Squirrel with no configuration option.
     # Added Jmx Support for the controller and the Virtual Database, Jmx is 
       now enabled by default. Communication between the console and the 
       controller is now done by Jmx over RMI. Removed unused interfaces and 
       duplicates.
     # Added Squirrel Sql Client to the binary release with a default 
       configuration for C-JDBC. Modified the izPack installation accordingly.
     # Disabled Nagle algorithm on driver-controller sockets using the 
       TCP_NODELAY option. This is to solve a performance problem under 
       Linux that ignores the flush on the output stream and waits for the 
       Nagle algorithm's timeout (200ms) before sending small messages such as
       C-JDBC protocol commands (integers).
     # Fixed [BUG #512]: VariablePoolConnectionManager initialization could
       result in a NPE due to a too early thread start.
     # Full controller version number is now displayed at controller startup 
       and correctly reported by the C-JDBC driver metadata. 
  
C-JDBC 1.0beta12
Release date: 24 September 2003
CVS Tag: c-jdbc-1_0beta12
  Description: 
     # Maintenance release as beta11 was missing files.
     # Driver now accepts short for URLs such as jdbc:cjdbc://host/db
     # Updated DriverTest to test new C-JDBC URL format.
     # Fixed synchronization bug in 
         DatabseBackendWorkerThread.waitForAllWritesToComplete
     # Updated tests on VariablePoolConnection.
  
C-JDBC 1.0beta11
Release date: 22 September 2003
CVS Tag: c-jdbc-1_0beta11
  Description: 
     # Added support for loading controller configuration from xml file. Updated
     user guide with starting instructions.
     # Fixed inconsistent behavior of various ResultSet.getBigDecimal(...)
       implementations as suggested by Mark Wick.
     # Fixed [BUG #485]: VariablePoolConnectionManager accepts a minPoolSize
       value of 0 and initializes the correct number of connections specified
       by initPoolSize.
     # Fixed infinite loop in virtual database admin console when connection
       was lost with controller.
     # Fixed backend initialization. Connection pool is no more added when the
       backend is added but when it is enabled (which was the expected
       behavior).
     # Database schema is now dynamically updated when backend are enabled or
       disabled and changes are propagated to scheduler and cache schemas.
     # Fixed bug in controller logger definition in log4j.properties.
     # Removed RMI communication between driver and controller. Driver and
       controller now only communicate using sockets even for the controller
       lookup (which was the last part using RMI). VirtualDatabaseServerThread
       has been removed and there is now a single ControllerServerThread for
       all databases that handle the job to ControllerWorkerThread that to the
       dispatch and admission control for virtual databases. Finally, 
       VirtualDatabaseWorker threads handle the connection with the driver.
     # Fixed NPE in VirtualDatabase.getTables if table pattern is null.
     # Added implementation of Statement.execute(sql) and 
       Statement.getMoreResults() used by SQuirreL SQL.
     # Updated Driver.DatabaseMetaData to support more information needed by
       SQuirreL SQL. Changed getIdentifierQuoteString() to return a space.
     # DriverCompliance now tests if driver supports setMaxRows and if so
       setMaxRows is set whenever needed to reduce the amount of data to be
       gathered by the underlying driver.
     # Fixed admission control so that driver gets a "Too many connections"
       error message if maximum number of connections is reached.
     # New JDBC url format is used for connection to C-JDBC. Refer to user 
       manual for further information. Default is: 
       jdbc:cjdbc://hostname:portnumber/databasename 
       and portnumber can be omitted.
     # Fixed bugs to allow PreparedStatement.setXXX(..,"null") calls as 
       specified in the JDBC api. Fixed by Marc Wick.
     # Fixed PreparedStatement.setTimestamp format. Thanks to Marc Wick.
     # Fixed [BUG #498]: Statement.getBoolean() now converts to a boolean even
       if the database returns a number. Fixed by Alexander Laamanen.
     # Fixed deadlock in VariablePoolConnectionManager that conflicted with 
       RemovePoolConnectionsThread in releaseConnection().
     # Fixed synchronization problem for read request that execute concurrently
       outside the scope of a transaction in RAIDb-1 and RAIDb-2 controllers.
       Bug noticed by Mark Wick when trying to debug cache code.
     # Improved Driver connection problem error messages.
     # Started work on internationalization. Messages are now referenced from a
     property file, and can be translated as needed.
     # Saving of current controller configuration can be done from the JMX console.
  
C-JDBC 1.0beta10
Release date: 5 September 2003
CVS Tag: c-jdbc-1_0beta10
  Description: 
    # Fixed [BUG #250]: Equivalent insert is now correctly computed when
      fields contain spaces (JUnit tests have also been extended).
    # Fixed [BUG #473]: Update statements parsing did not handle properly
      case sensitivity. This is now fixed and query cache maintains coherency
      even if parsing has failed by flushing the whole cache. Bug isolated
      by Dominic Dupuis.
    # Improved Ant build file (way to build IzPack installers, moved
      jdk1.3 src from ./src_jdk1.3 to ./src/jdk1.3 directory, removed
      hardcoded paths and other minor fixes) and upgraded from IzPack
      3.0.7 to 3.1.0b.
    # The Developper Guide is now not included in the bin distribution.
    # Changed DriverCompliance testing for PreparedStatement. Failure now
      just generates a warning and test uses a fake INSERT statement (as
      used by the JDBCRecoveryLog) instead of an empty commit statement 
      that was not compatible with HSQL 1.7.2alphaN. Problem reported by
      Mark Wick.
    # ResultSet.getBigDecimal no more throws ClassCastException if underlying
      object is of type Double or String. It is silently converted to a
      BigDecimal as suggested by Mark Wick.
    # Blob and Clob are now supported and have been tested with success on 
      mysql and postgresql on  a single backend. Special encoding is done 
      for the data so no exception is thrown for speficic data formatting on 
      large objects.
    
C-JDBC 1.0beta9
  Release date: 26 August 2003
  CVS Tag: c-jdbc-1_0beta9
  Description: 
    # Added the management of some SQL functions (COUNT, MAX, etc.)
      when parsing queries.
    # Added the invalidation of the cached queries associated with a
      table in case of a DROP request.
    # Fixed the parsing of SQL queries in case of columnUniqueDelete
      granularity.
    # Fixed bug related to cache invalidation when several unique
      columns determine unique DELETE requests.
    # Added support for Statement.setMaxRows(int) that was not
      implemented on controller side.
    # Fixed race in JDBCRecoveryLog that could lead to 'Duplicate
      entry ...' errors and some requests failed to be logged. Bug
      noticed by Jim Crossley.
    # JDBCRecoveryLog works now asynchronously to improve performance
      and to provide a framework to handle log failures.

C-JDBC 1.0beta8
  Release date: 21 August 2003
  CVS Tag: c-jdbc-1_0beta8
  Description:
    # Modified javadoc target in the build file to build C-JDBC test
      Suite Javadoc.
    # Updated user documentation with console history usage and fixed
      release procedure in developer doc.
    # Fixed [BUG #298]: request scheduler definition has been rewritten.
    # ResultSet.getDate, getTime and getTimestamp now gracefully converts
      the requested object to the right type instead of throwing a cast
      exception if the native driver returned an object of a different type.
    # Fixed bug when query cache is running on the same host as the driver,
      the ResultSet is not properly cloned when sent over the local emulation
      of the socket. Now the ResultSet is systematically cloned to prevent
      any problem.
    # Virtual database console does not call anymore rs.beforeFirst() prior
      to display the ResultSet. This allows to check the above bug fix and
      is the expected behavior from a Java application.
    # Test suite code cleaning.

C-JDBC 1.0beta7
  Release date: 19 August 2003
  CVS Tag: c-jdbc-1_0beta7
  Description:
    # Added 'database' caching granularity that becomes the default caching
      policy of the QueryCache.
    # Cache now handles transaction commit/rollback but isolation is only
      ensured with transaction level schedulers.
    # Fixed bug in cache invalidation for drop queries.
    # Updated documentation about stored procedures in console, new caching
      functionalities, DTD updates and removed missing features that have
      been implemented.
    # Added package description for Javadoc.
    # Removed test classes from C-JDBC API Javadoc.
    # Unified management of NOW() and RAND() SQL macros by all schedulers.
    # NOW() is handled as a Timestamp instead of a Date. 
    # Fixed query cache behavior for statements containing SQL macros.
    # Added tcsh like command redo (!command_prefix) to automatically recall
      command history from GUI console.
    # Commands are now added only once in the console history and history
      pointer is kept between command calls.
    # Fixed missing SQLException throwing when read request failed twice
      in RAIDb-1 schedulers.
    # Added read request automatic recovery and failure detection in RAIDb-2
      controllers.

C-JDBC 1.0beta6
  Release date: 14 August 2003
  CVS Tag: c-jdbc-1_0beta6
  Description:
    # Updated user documentation with DataSource usage by Marek Prochazka,
      and added stored procedure usage.
    # Added support for stored procedures in driver, controller, console,
      SingleDB, RAIDb-1 and RAIDb-2.
    # Added support for connection.setReadOnly(boolean) so that user can
      force connections to be read-only and prevent the cache to be flushed
      especially when calling stored procedures.
    # Changed log and checkpoint table default names in DTD to prevent
      case sensitivity issues with table names with some RDBMS.
    # Fixed bad logger name in BackendWorkerThread.
    # Fixed driver connection cache so that connection points to failed 
      controllers are automatically flushed from the cache. This fixes the
      'connection refused' exception that some users got when restarting
      the controller while keeping the client running.
    # Updated developer documentation with the C-JDBC release procedure.

C-JDBC 1.0alpha5
  Release date: 6 August 2003
  CVS Tag: c-jdbc-1_0alpha5
  Description:
    # Added a section in the documentation about the Requet Player.
    # escapeProcessing can now be disabled in PreparedStatement.setString(...)
      if setEscapeProcessing(false) has been called. Problem reported by
      Mike Daleiden
    # Cache management: added a new caching granularity (columnUniqueDelete).
    # Added basic support for batch updates.
    # Improved syntax checking in delete statement parsing.
    # Updated DTD with the new columnUniqueDelete cache granularity 
      and the new JDBCRecoveryLog definition.
    # JDBCRecovery log and checkpoint table create statement are now user
      tunable to be portable across on database engines that does not
      accept the default create statements.
    # Updated examples with and documentation with various RecoveryLog 
      definitions including a HSQL specific log table creation statement.
    # Added configuration for CheckStyle v3.1.
    # Removed redundant public modifiers in interfaces.
    # Cleaned some empty statements detected by Checkstyle.
    # Fixed bug in VirtualDatabaseConsole that prevented to exit the console
      if the connection was lost with the controller.
    # Added driver.DataSource implementation. This allows to bind an
      initialized C-JDBC DataSource object at an "application server" site,
      and to retrieve it a client site via JNDI.
    # Fixed bug in JDBCRecoveryLog reported by Jess Sightler: setting
      of logTableId was not thread safe.
    # Improved requestplayer tools: added -f (--file) allowing to use
      another configuration file instead of default file in
      config/requestplayer.properties.

C-JDBC 1.0alpha4
  Release date: 13 June 2003
  CVS Tag: c-jdbc-1_0alpha4
  Description:
    # Added graphic console: this new console is launched by default
      and provides some facilities, but the old console can still be
      used using the new option -t (--text).
    # Added -f (--file) option to the console allowing to use a given
      file as the source of commands instead of reading commands
      interactively.
    # Fixed bug in src distribution: src_jdk1.3 was not included
      (reported by bd-c-jdbc@knowledgeworks.plus.com).
    # Modified build file to allow compilation in JDK < 1.3.
    # Query cache commit/update reports a warning instead of throwing
      a NotImplemtentedException.

C-JDBC 1.0alpha3
  Release date: 5 June 2003
  CVS Tag: c-jdbc-1_0alpha3
  Description:
    # Fixed bug in the build process reported by Greg Ward: the doc is
      now really generated only if the generate.doc property is set in
      build.properties (the value does not matter) and the dist target
      succeeds now when doc is not generated.
    # Applied [Patch #8]: Fixed typo in log and error message.
    # Modified doc build process to include automatically the release
      number defined in build.properties in User and Developer's
      guides, XML config files samples, ...
    # Fixed [BUG #272]: Ctrl-D results in NullPointerException in the
      console.
    # Fixed [BUG #303,#307]: Modified JDBCRecoveryLog to ensure Sybase 
      compatibility.
    # Fixed [BUG #296]: Console can not handle null values.
    # Fixed bug in XML configuration file parsing which prevents
      RAIDb-0 scheduler level query to work (reported by Xavier
      Spengler)
    # Fixed [BUG #299]: Console: error in admin prompt returns to main.
    # Fixed multiple backends usage with SingleDB load balancer.
    # Updated user documentation with Tomcat, JOnAS and JBoss configuration.

C-JDBC 1.0alpha2
  Release date: 22 May 2003
  CVS Tag: c-jdbc-1_0alpha2
  Description:
    # Fixed [BUG #272]: Failed to execute query with java.sql.Statement.
    # Fixed [BUG #273]: Unsupported Datatype in C-JDBC console.
    # Fixed [BUG #290]: Case sensitive parsing is supported and optional
      (this option has been added to the DTD).
    # Fixed [BUG #291]: Typo in config.sh fixed by Greg Ward.
    # Fixed [BUG #292]: Typo in console found by Greg Ward.
    # Fixed ResultSet display in console if driver returns a negative
      column display size.
    # Added support for backend network failure (usually when the
      backend dies) the backend is now automatically disabled and the
      read request is performed by another backend.
    # Updated examples.
    # Fixed bug in packaging of the binary distribution that prevents
      JMX http interface to work (stylesheets were missing).
    # Added contribution from Guillaume Bort for getCatalog/setCatalog
      and DatabaseMetaData.getTables support (needed by JBoss).
    # Fixed missing ResultSet closing in database schema fetching (problem
      reported by Andre Austin).
    # Fixed PreparedStatement compliance testing that failed for SAP DB
      (problem reported by Dan Winfield).
    # Fixed typo in the QueryCacheDB entry of the C-JDBC DTD as reported
      by the Apollon team.
    # Enhanced runtime exception handling in C-JDBC console.
    # Added sanity checks for missing user name or password when trying to get
      a connection from the driver.
    # Full ResultSetMetaData implementation.
    # Fixed problem with ResultSet.getInt() for Oracle by Andre Austin.

C-JDBC 1.0alpha1
  Release date: 7 May 2003
  CVS Tag: c-jdbc-1_0alpha1
  Description:
    # Fixed [BUG #144]: RMI registry startup on already used port.
    # Fixed [BUG #262]: SQL requests where systematically converted to
      lowercase.
    # Added support for BLOBs.
    # Improved error message handling in driver.
    # Improved request parsing by using SQL skeletons given in
      PreparedStatements.
	
C-JDBC 1.0alpha0
  Release date: 29 April 2003
  CVS Tag: c-jdbc-1_0alpha0
  Description:
    Initial release.
