Releases: cojen/TuplDB
Releases · cojen/TuplDB
Version 1.9.0
Main changes:
- Depends on Java 22 and switched to the Java FFM API. Direct page access mode is now always enabled, and disabling it has no effect. This change isn't really expected to be "breaking", but it's a major change. The FFM API is slightly slower compared to using the Unsafe class directly, and so TuplDB will attempt to use one of the Unsafe classes automatically by default, falling back to the FFM API when necessary.
- Support complex query expressions.
- Various bug fixes and performance improvements.
See changelog for more details.
Version 1.8.0
Main changes:
- The
Table.load,insert,replace,update,merge, anddeletemethods now throw an exception instead of returning a boolean value. The original methods are supported in the form of newly added "try" variants:tryLoad,tryInsert,tryReplace,tryUpdate,tryMerge, andtryDelete. - Defined a new
Queryinterface which directly represents a runnable query. It can be used as an alternative to passing query strings to theTableclass all the time. - The
Tablemethods for obtainingQueryPlaninstances have been moved to the newQueryinterface. - Added new
Tablemethods for supporting custom filtering, transformation, aggregation, grouping, joins, and views. - Various bug fixes and performance improvements.
See changelog for more details.
Version 1.7.0
Main changes:
- Removed the EntryConsumer, EntryFunction, RowScanner, and RowUpdater interfaces.
- Repurposed the Scanner and Updater interfaces to only work with tables.
- Reading from a closed/deleted index now throws ClosedIndexException or DeletedIndexException.
- Support remote database access.
- Support table query ordering, which selects an appropriate index or performs a sort.
See changelog for more details.
Version 1.6.0
- Fix race condition which can cause the JVM to crash when the database is closed.
- Fix deadlock during compaction caused by releasing the wrong node latch.
- Fix improper lock release when writing cache primer.
- Fix improper lock release/acquire when when opening indexes.
- Fix BoundedCursor such that it doesn't observe uncommitted deletes when initially positioning it.
- Fix possible reporting of negative cursor count in the database stats.
- Fix safety of using updaters that require lock mode upgrades.
- Improve utility of the suspendCheckpoints method by waiting for an in-progress checkpoint to complete.
- Don't reset checkpoint duration stat when thresholds aren't met.
- Depends on Java 17.
- Add an API for supporting relational collections of persistent rows.