Releases: cool-japan/oxisql
Releases · cool-japan/oxisql
OxiSQL 0.1.2 Release
[0.1.2] - 2026-06-10
Added
C-free oxisqlite-* engine fork (Wave 1)
- Replaced the C-pulling
limbodependency 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 / ROLLBACKcorrectly discards changes;COMMITpersists them. WAL integrity preserved. Newrollback.rs,savepoint.rs,change_counts.rs,type_mapping.rstests.
TLS security patch (Wave 3)
- Vendored
rustls-rustcrypto-patchedfixes RUSTSEC-2026-0104 (CRL-parsing panic inrustls-webpki 0.102.x).
Query cancellation (oxisql-postgres)
PostgresCancelToken— cancel a running query without closing the connection.
Advisory migration locking (oxisql-migrate)
MigrationLocktrait withNoopMigrationLockandPostgresAdvisoryLock. Migrationrechecksumsupport 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.rsstructural lowering;stream.rsasync streaming refactored. TPC-H benchmark queries Q3, Q5–Q9, Q19 added.
Connection options (oxisql-core / oxisql-postgres)
ConnectOptionsparses query-string parameters from URIs.Middlewaretrait withLoggingConnection/MetricsConnection/RetryConnection.Warningtype for server-side diagnostics.
Changed
oxisql-sqlite-compatdependency changed fromlimboto in-treeoxisqliteworkspace path.cfg_blockdependency dropped. Removedunsafe transmuteinconst_concat_slicesmacro.
Full Changelog: v0.1.1...v0.1.2
OxiSQL 0.1.1 Release
[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 getcol_prefix), empty fields becomeNULL, all values stored asTEXTEmbeddedConnection::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;NULLexports as an empty fieldoxisql_embedded::csvmodule (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 externalcsv-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-replbinary — interactive Read-Eval-Print Loop over any OxiSQL backend; supportsmemory://,postgres://,mysql://, andsqlite://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
replfeature flag inoxisql/Cargo.toml(activatesembedded+tokio+anyhow); binary is conditionally compiled (required-features = ["repl"])
Fixed
unique_test_dirhelper inoxisql-embedded/tests/memory_persistent.rsis now guarded with#[cfg(any(feature = "fjall-storage", feature = "redb-storage"))], eliminating thedead_codewarning when building with default features
Full Changelog: v0.1.0...v0.1.1