Login | Register
My pages Projects Community openCollabNet

Axion: Releases: 1.0 Milestone 2: Release Notes

Release 1.0 Milestone 2: Release Notes

This document describes the changes that have been made between the Milestone 1 and Milestone 2 releases of Axion.

Bugs Fixed

  • A bug which prevented the creation of indexes containing non-Comparable data types was addressed. See http://axion.tigris.org/issues/show_bug.cgi?id=5.

  • In M1, the ORDER BY clause was being applied after any LIMIT or OFFSET clause, leading to unexpected results. This has been corrected.

  • Clob encoding made explicitly UTF8, used to use default platform encoding. This meant databases weren't always portable across platforms.

  • Transactional behavior of LOBs improved.


Enhancements

  • Added support for functions that take more than zero arguments to INSERT statements. Previously only no-argument functions were allowed.

  • Added support for addBatch, clearBatch and executeBatch to both Statement and PreparedStatement.

  • Added support for now() and SYSDATE pseudo-column.

  • Added support for ResultSet.first and ResultSet.beforeFirst.

  • Added support for DROP TABLE tablename IF EXISTS. (See [PATCH] CASE EXPRESSION AND DROP TABLE IF EXISTS.)

  • Added COALESCE function. (See [PATCH] CASE EXPRESSION AND DROP TABLE IF EXISTS.)

  • Added IFTHEN function. (See [PATCH] CASE EXPRESSION AND DROP TABLE IF EXISTS.)

  • Added support for CASE expressions. For example: select case when a = 1 then 'X' when a = 2 then 'Y' else 'Z' from [...] (See [PATCH] CASE EXPRESSION AND DROP TABLE IF EXISTS.)

  • Added support for LIKE clauses. (See LIKE functionality implemented.)

  • LOB conversion made more flexible and robust. CLOBs can now be set as Strings or Clobs as well as via the I/O methods. LOBs can now be set as byte arrays or Blobs as well as via the I/O methods.

  • Added BASE64ENCODE and BASE64DECODE functions.

  • Added "run on startup" database initialization script support.

  • BTree index performance significantly improved. (See btree index performance improved by ~100x.)

  • Disk DML operation performance significantly improved by batching up all the changes within a single transaction for a single "apply". (See Re: Performance of Axion inserts.)

  • Added arbitrarily-sized NUMBER type added (backed by BigDecimal).

  • Added support for LEFT and RIGHT OUTER joins, as well as true INNER join syntax.

    SELECTs like the following are now supported (in addition to the "cross join" and Oracle-style outer join syntax supported in previous releases):

    SELECT * FROM t1 INNER JOIN t2 ON (t1.c1 = t2.c2)
    SELECT * FROM t1 LEFT OUTER JOIN t2 ON (t1.c1 = t2.c2)
    SELECT * FROM t1 RIGHT OUTER JOIN t2 ON (t1.c1 = t2.c2)
    SELECT * FROM t1 JOIN t2 ON (t1.c1 = t2.c2) /* implicit inner join */
    SELECT * FROM t1, t2 /* cross join */
    SELECT * FROM t1, t2 WHERE t1.c1 = t2.c2 /* cross join with where */
  • Added base JDK 1.4/JDBC 3 support. Axion now (minimally) supports JDBC 3 and JDK 1.4. Axion will run under JDK 1.3 and 1.2 JVMs, but will only compile under JDK 1.4.




Axion - Open Source Java Database Engine
$Id: release-notes.html,v 1.25 2007/11/15 15:09:27 rwald Exp $
Published 15 Nov 2007 at 3:04 PM GMT.