Skip to content

Releases: cool-japan/oxisql

OxiSQL 0.1.2 Release

11 Jun 01:49

Choose a tag to compare

[0.1.2] - 2026-06-10

Added

C-free oxisqlite-* engine fork (Wave 1)

  • Replaced the C-pulling limbo dependency with a 7-crate pure-Rust fork of limbo 0.0.22 (oxisqlite, oxisqlite-core, oxisqlite-ext, oxisqlite-macros, oxisqlite-sqlite3-parser, oxisqlite-time, oxisqlite-uuid). Removed all 3 C touchpoints: mimalloc, lemon.c, built/git2. CC=/usr/bin/false cargo build --workspace → exit 0.

Full-transaction ROLLBACK support (Wave 2)

  • BEGIN / INSERT / ROLLBACK correctly discards changes; COMMIT persists them. WAL integrity preserved. New rollback.rs, savepoint.rs, change_counts.rs, type_mapping.rs tests.

TLS security patch (Wave 3)

  • Vendored rustls-rustcrypto-patched fixes RUSTSEC-2026-0104 (CRL-parsing panic in rustls-webpki 0.102.x).

Query cancellation (oxisql-postgres)

  • PostgresCancelToken — cancel a running query without closing the connection.

Advisory migration locking (oxisql-migrate)

  • MigrationLock trait with NoopMigrationLock and PostgresAdvisoryLock. Migration rechecksum support and directives: -- oxi:no-tx, -- oxi:skip-if-exists, -- oxi:require-version.

SQL optimizer enhancements (oxisql-parse)

  • decorrelate.rs (correlated-subquery decorrelation), explain.rs, optimizer/cse.rs (CSE pass), optimizer/join_reorder.rs (cost-based join reordering, 842 lines), optimizer/simplify.rs (833 lines), plan_cache.rs (LRU plan cache with schema-invalidation).

DataFusion bridge improvements (oxisql-datafusion)

  • plan_bridge.rs structural lowering; stream.rs async streaming refactored. TPC-H benchmark queries Q3, Q5–Q9, Q19 added.

Connection options (oxisql-core / oxisql-postgres)

  • ConnectOptions parses query-string parameters from URIs. Middleware trait with LoggingConnection/MetricsConnection/RetryConnection. Warning type for server-side diagnostics.

Changed

  • oxisql-sqlite-compat dependency changed from limbo to in-tree oxisqlite workspace path.
  • cfg_block dependency dropped. Removed unsafe transmute in const_concat_slices macro.

Full Changelog: v0.1.1...v0.1.2

OxiSQL 0.1.1 Release

04 Jun 15:39

Choose a tag to compare

[0.1.1] - 2026-06-04

Added

CSV Import / Export (oxisql-embedded)

  • EmbeddedConnection::import_csv(table_name, csv_data) — import RFC 4180 CSV directly into a new table; first row is treated as the header, column names are sanitised (spaces/hyphens → underscores, leading digits get col_ prefix), empty fields become NULL, all values stored as TEXT
  • EmbeddedConnection::export_table_to_csv(table_name) — export any table to RFC 4180-compliant CSV (CRLF line endings); values containing commas, double-quotes, or newlines are properly quoted; NULL exports as an empty field
  • oxisql_embedded::csv module (public) — standalone CSV utilities: parse_csv, build_csv_output, value_to_csv_field, sanitise_column_name, build_create_table_sql, build_insert_sql, quote_csv_field; zero external csv-crate dependency, hand-rolled state-machine parser handles quoted fields, "" escapes, bare LF, CRLF, and embedded newlines

Interactive SQL REPL (oxisql facade — repl feature)

  • oxisql-repl binary — interactive Read-Eval-Print Loop over any OxiSQL backend; supports memory://, postgres://, mysql://, and sqlite:// URIs; multi-line statement accumulation (flush on ; or blank line); tabular result rendering with auto-sized columns and truncation
  • Dot commands: .help, .tables, .schema <table>, .quit / .exit / .q
  • New repl feature flag in oxisql/Cargo.toml (activates embedded + tokio + anyhow); binary is conditionally compiled (required-features = ["repl"])

Fixed

  • unique_test_dir helper in oxisql-embedded/tests/memory_persistent.rs is now guarded with #[cfg(any(feature = "fjall-storage", feature = "redb-storage"))], eliminating the dead_code warning when building with default features

Full Changelog: v0.1.0...v0.1.1

OxiSQL 0.1.0 Release

02 Jun 02:22

Choose a tag to compare