Skip to content

Releases: cojen/TuplDB

Version 1.8.0

04 Mar 15:07
Compare
Choose a tag to compare

Main changes:

  • The Table.load, insert, replace, update, merge, and delete methods 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, and tryDelete.
  • Defined a new Query interface which directly represents a runnable query. It can be used as an alternative to passing query strings to the Table class all the time.
  • The Table methods for obtaining QueryPlan instances have been moved to the new Query interface.
  • Added new Table methods 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

04 Mar 19:02
Compare
Choose a tag to compare

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

18 May 16:08
Compare
Choose a tag to compare
  • 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.

Version 1.5.3.3

04 Oct 00:12
Compare
Choose a tag to compare
  • Ensure that index passed to verification observer is unmodifiable when called from an unmodifiable index.