Skip to content

v1.4.0

Choose a tag to compare

@johnedquinn johnedquinn released this 05 Jun 19:22

PartiQL Kotlin v1.4.0

We're excited to announce PartiQL Kotlin v1.4.0, which introduces thread-safe, cacheable execution plans — enabling safe concurrent query execution from a single compiled plan.

Highlights

Thread-Safe Execution Plans

Plans compiled via PartiQLCompiler.compile(plan, mode) now support concurrent execution across threads. The new PartiQLVM.execute() API builds a fresh operator tree per invocation with no shared mutable state — compile once, execute everywhere.

Key additions:

  • PartiQLVM and ExecutionPlan for thread-safe query execution
  • ExecutionCatalog interface for providing table data at execution time via integer-referenced lookups
  • SymbolTable mapping plan-assigned IDs to catalog/table names
  • PartiQLPlanner.builder().useRefs() to opt into ref-based table nodes

CLI Formatting (partiql fmt)

A new fmt subcommand pretty-prints PartiQL statements with width-aware formatting — useful for standardizing query style across a codebase.

Experimental MAP Type Support

Initial experimental interfaces to support the MAP data type have been added as an experimental feature. This work is slated to result in full support in a future minor version release.

Migration

The following APIs are now deprecated in favor of the thread-safe alternatives:

  • Statement → use PartiQLVM.execute() with ExecutionPlan
  • PartiQLCompiler.prepare() → use compile() + PartiQLVM
  • RexTable → use RexTableRef with useRefs()
  • Strategy.apply() → override applyFactory()

What's Changed

Full Changelog: v1.3.14...v1.4.0