Carbonado / News: Recent posts

Carbonado 1.2.2 released

Bug fixes and minor new features.

- Added remote access support including remote procedures.
- Minor features including new PartitionKey annotation.
- Bug fixes and deprecations.

Posted by Brian S O'Neill 2010-12-10

Carbonado Version 1.2 Released

Carbonado version 1.2 is released. This version adds many new features over 1.1, which are outlined in the release notes. The user guide has been updated to cover many of these new features.

- Builds using JDK1.6, but targets JDK1.5.
- Added support for sequences for SQL databases that don't natively support sequences.
- Added @Automatic annotation, which also supports auto-increment columns.
- JDBC repository supports optional automatic version management, eliminating
the requirement that triggers be installed on the database.
- FilteredCursor ensures that filter being used is bound.
- BDBRepository detects if changes are made to primary key definition and throws exception.
- Added support for derived properties.
- Enhanced query engine to optimize for covering indexes.
- Added methods to access Storable properties by name.
- JDBCRepository allows more column types to be represented by Strings -- numbers and dates.
- JDBCRepository supports char and Character property if column is char type of length 1.
- JDBCRepository allows non-null column to be @Nullable if also @Independent.
- Fixed bug in generating SQL with nullable primary key properties.
- Added convenience method, Query.exists().
- Added support for defining alternate keys in synthetic Storables.
- Added trigger support for after loads and queries.
- Removed vestigial support for wrapping Storables.
- Storable toString and toStringKeyOnly methods skip uninitialized properties.
- Calling Storable.update when there are no dirty properties actually does an
update instead of being "smart" and ignoring the update request. The old
behavior was non-intuitive and interfered with expected trigger behavior.
- Many-to-one join properties which don't exist always return null now, instead
of throwing FetchNoneException. Behavior now matches that of nullable join
properties, which never threw FetchNoneException. Nullable join properties
which resolve to null are cached as before, but non-nullable join properties
do not cache null.
- Added support for "where exists" in queries via new syntax.
- Added support for outer joins via new syntax.
- Transactions can be detached and attached from/to the current thread.
- Storables can be serialized for temporary persistence or remote calls.
- Support fetching slices of queries, which translates to a SQL offset and limit.
- Added volatile map repository.
- Added listener callback for replicated repository resync.
- Added support for BigInteger and BigDecimal property types.

Posted by Brian S O'Neill 2008-11-08

Version 1.2 BETA1 Released

The first beta release of version 1.2 is available. This version adds many new features over 1.1, which are outlined in the release notes. The user guide has been updated to cover many of these new features.

1.1 to 1.2
-------------------------------
- Builds using JDK1.6, but targets JDK1.5.
- Added support for sequences for SQL databases that don't natively support sequences.
- Added @Automatic annotation, which also supports auto-increment columns.
- JDBC repository supports optional automatic version management, eliminating
the requirement that triggers be installed on the database.
- FilteredCursor ensures that filter being used is bound.
- BDBRepository detects if changes are made to primary key definition and throws exception.
- Added support for derived properties.
- Enhanced query engine to optimize for covering indexes.
- Added methods to access Storable properties by name.
- JDBCRepository allows more column types to be represented by Strings -- numbers and dates.
- JDBCRepository supports char and Character property if column is char type of length 1.
- JDBCRepository allows non-null column to be @Nullable if also @Independent.
- Fixed bug in generating SQL with nullable primary key properties.
- Added convenience method, Query.exists().
- Added support for defining alternate keys in synthetic Storables.
- Added trigger support for after loads and queries.
- Removed vestigial support for wrapping Storables.
- Storable toString and toStringKeyOnly methods skip uninitialized properties.
- Calling Storable.update when there are no dirty properties actually does an
update instead of being "smart" and ignoring the update request. The old
behavior was non-intuitive and interfered with expected trigger behavior.
- Many-to-one join properties which don't exist always return null now, instead
of throwing FetchNoneException. Behavior now matches that of nullable join
properties, which never threw FetchNoneException. Nullable join properties
which resolve to null are cached as before, but non-nullable join properties
do not cache null.
- Added support for "where exists" in queries via new syntax.
- Added support for outer joins via new syntax.
- Transactions can be detached and attached from/to the current thread.
- Storables can be serialized for temporary persistence or remote calls.
- Support fetching slices of queries, which translates to a SQL offset and limit.
- Added volatile map repository.... read more

Posted by Brian S O'Neill 2008-05-29

Version 1.1.3 Released

Version 1.1.3 is primarily a bug fix release, but a few minor features have been added too.

Changes:
1.1.2 to 1.1.3
-------------------------------
- Reduce creation of unnecessary nested transactions.
- Added feature to JDBCRepository to suppress Storable reloading after insert
or update.
- Fixed query plan bug which sometimes caused a correctly selected index to be
fully scanned.
- Index build skips records which are corrupt instead of giving up entirely.
- Support named databases in one BDB file.
- Add index repair method.
- Fix automatic replication repair which might sometimes throw IllegalStateException.

Posted by Brian S O'Neill 2008-05-29

Version 1.1.2 released

Version 1.1.2 is a bug fix release:

- Fixed query engine rule which sometimes favored index with incorrect ordering.
- Fixed replication repair bug which threw an IllegalStateException for insert
repair if only alternate keys were specified.
- Fixed query descending sort order bug which produced ascending results.
- Fixed bug in GroupedCursor which discarded last group if it had one element.
- Fixed transaction leak caused when calling update, if an update trigger
exists, and no properties were dirty.

Posted by Brian S O'Neill 2007-10-21

Version 1.1.1 released

Version 1.1.1 is a bug fix release:

- Fixed spurious IllegalArgumentException from StorableGenerator.
- Fixed bug which prevented updating Oracle BLOB of length 2000 to 4000.
- Fixed IllegalArgumentException with optimized join queries of the form
"a.b = ? & (a.c = ? | a.d = ?)".

Posted by Brian S O'Neill 2007-07-26

Version 1.1 released

Carbonado version 1.1 has been released. Version 1.2 development will move to trunk shortly. For now, version 1.2 adds better MySQL support.

Posted by Brian S O'Neill 2007-03-27

Version 1.1-BETA11

Version 1.1-BETA11 has just been released, which is likely to be the final BETA before the release of version 1.1.

Posted by Brian S O'Neill 2007-03-20