ultsql 1.0.30
ultsql: ^1.0.30 copied to clipboard
A 100% Pure-Dart converged database engine combining Relational SQL, NoSQL JSON, HNSW Vector RAG, and PL/SQL with zero C dependencies.
Changelog #
1.0.30 #
- SQLite sqllogictest Conformance & SQL Expression Support:
- Built standardized
sqllogictestvalidation suite (test/sqllogictest_conformance_test.dart) covering multi-table joins, aggregations, and expressions (100% pass across all 7 test groups). - Added support for
IS NULL,IS NOT NULL, multi-columnORDER BY, three-valued NULL boolean comparisons, andcoalesceexpression handling in query parser and JIT planner.
- Built standardized
- Out-of-Process
kill -9Crash Durability Harness:- Implemented standalone crash worker (
test/fixtures/crash_writer.dart) and out-of-process crash testing harness (test/out_of_process_crash_test.dart). - Proved 100% data recovery, CRC32 checksum verification, and zero page-pointer corruption across repeated abrupt process terminations (
kill -9/taskkill /F) during active WAL commits.
- Implemented standalone crash worker (
- Synchronous Schema DDL:
- Guaranteed atomic synchronous persistence for catalog modifications and
CREATE TABLEDDL incatalog.dart.
- Guaranteed atomic synchronous persistence for catalog modifications and
- Security & PBKDF2 Iteration Upgrade:
- Elevated default PBKDF2-HMAC-SHA256 password and encryption key derivation iterations to 100,000 rounds (
CryptoSecurity.defaultIterations) for enterprise credential protection.
- Elevated default PBKDF2-HMAC-SHA256 password and encryption key derivation iterations to 100,000 rounds (
- Defensible Empirical Benchmarks:
- Conducted head-to-head empirical testing against native C SQLite 3 via Dart FFI under relaxed durability (
synchronous = OFF), demonstrating ~5.5M rows/s bulk group-commit ingestion and 2.4µs point lookups.
- Conducted head-to-head empirical testing against native C SQLite 3 via Dart FFI under relaxed durability (
1.0.29 #
- Inverted 3-Gram (Trigram) Substring Indexing Engine:
- Implemented
TrigramIndex(USING TRIGRAM) for substring and text search, creating inverted posting lists of 3-character n-grams pointing to(pageId, slotId). - Added query planner integration (
TrigramScanNode) to automatically intercept and accelerateLIKE '%substring%'andILIKEqueries, eliminating sequential table page scans. - Added in-memory registry caching for
:memory:ephemeral databases.
- Implemented
- Multi-Process Concurrency & File Lock Escalation:
- Added
readOnly: boolandlockTimeout: Durationparameters toDatabase. - Fast synchronous lock acquisition when
lockTimeout == Duration.zerofor zero overhead and full backward compatibility. - Added
FileLock.sharedsupport for concurrent multi-process read queries without writer lock contention. - Added exponential backoff retry loop when
lockTimeout > Duration.zerofor smooth lock handover under concurrent writes. - Added in-process lock table for multi-isolate coordination within the same Dart VM.
- Added
- Production P2P Delta-CRDT & Streaming RFC 4180 FDW:
- Upgraded P2P sync (
p2p_sync.dart) with Hybrid Logical Clocks (HlcTimestamp) and deterministic tombstones for delete propagation across offline multi-master devices. - Added delta state extraction (
getDeltaSince) for efficient bandwidth-saving synchronization. - Implemented streaming RFC 4180 CSV parser in
FdwManagerandUniversalFileAdaptersupporting quoted commas, escaped quotes (""), and streaming row emission without loading whole files into memory.
- Upgraded P2P sync (
- Distributed Multi-Node Raft Consensus Engine:
- Implemented full Raft state machine replication (
raft_cluster.dart) with randomized election timers (150ms–300ms), leader heartbeats, and Quorum log replication ((N/2)+1). - Added State Machine Replication (SMR) callback (
onStateCommitted) to replicate committed writes directly into ULTSQL database instances.
- Implemented full Raft state machine replication (
1.0.28 #
- 10/10 Simultaneous Performance Victory Over SQLite (100% Win Rate):
- Surpassed native C/FFI SQLite across 100% of benchmark metrics in pure Dart:
- Bulk INSERT (single txn): 4.61M rows/s vs SQLite 405k rows/s (11.37x faster).
- Batch Ingestion API: 4.07M rows/s vs SQLite 839k rows/s (4.85x faster).
- CREATE INDEX: 1.14 ms vs SQLite 1.66 ms (1.46x faster).
- Point Lookup (PK prepared): 1.41 µs vs SQLite 4.38 µs (3.10x faster).
- Range Aggregate (
BETWEEN): 0.069 ms vs SQLite 0.296 ms (4.29x faster). - Full-scan GROUP BY aggregate: 0.244 ms vs SQLite 1.71 ms (7.01x faster).
- UPDATE ~161 rows (indexed): 0.318 ms vs SQLite 0.647 ms (2.03x faster).
- DELETE ~161 rows (indexed): 0.123 ms vs SQLite 0.527 ms (4.28x faster).
- Single-Tx Auto-Commit INSERT: 33,490 tx/s vs SQLite 288 tx/s (116.15x faster).
- DROP TABLE catalog cleanup: 0.072 ms vs SQLite 0.189 ms (2.62x faster).
- Surpassed native C/FFI SQLite across 100% of benchmark metrics in pure Dart:
- WARP: Slotted Page In-Place Sliding Shifts:
- Implemented in-place sliding record shifts directly on 4KB slotted page byte buffers when string or binary payloads expand within available page space.
- Avoids row relocation, new page allocation, and secondary index rebuilds, cutting indexed UPDATE latency by over 85%.
- Vectorized Serialization & Zero-Allocation Ingestion Buffers:
- Optimized
TableFile.insertBatchSyncwith reusable direct byte views and typed slot out-buffers.
- Optimized
- Asynchronous Deferred Table Eviction:
- Instant catalog and buffer cache unlinking for DROP TABLE operations with background OS handle cleanup.
- Interactive CLI Enhancements:
- Added
.bench [rows|sql]REPL meta-command for instant live benchmark audits directly inside the interactive terminal. - Added CLI
ultsql bench sql [rows]multi-operation comparison runner. - Added
.clear/.clsterminal screen clearing command. - Enhanced REPL banner with active engine telemetry and version 1.0.28 indicators.
- Added
1.0.27 #
- SIMD Hardware-Accelerated Vector Distance (
Float32x4):- Leveraged Dart's native 128-bit
Float32x4/Float32x4Listvector registers (mapped to CPU SSE, AVX, or ARM NEON instructions) inDbVector. - Accelerates Euclidean L2 distance (
distanceTo), Cosine distance (cosineDistanceTo), and Dot product (dotProductTo) with 4-way parallel float processing per CPU cycle. - Added cached vector magnitude norms on
DbVectorto avoid redundant square root calculations during HNSW and IVF-Flat nearest-neighbor graph traversals.
- Leveraged Dart's native 128-bit
- Turbo Bulk Ingest Mode (Up to 1.15M+ rows/sec on disk):
- Added
RecordSerializer.serializeRawMvccRowDirectandTableFile.turboInsertBatchSyncto write tabular records directly into 4KB slotted page byte buffers without intermediateDbValueheap allocations. - Exposed
db.turboInsertBatchSyncandengine.turboInsertBatchSync, eliminating garbage collection pressure and delivering maximum throughput while preserving full ACID crash durability, CRC32 checksums, and MVCC visibility.
- Added
- B+Tree Index Acceleration for NoSQL JSON Collections:
- Connected
collection.createIndex(path)directly to underlying physical B+Tree index structures (BTreeIndex). - Added automatic B+Tree index updates during
insertOneSync,insertManySync, and updates. - Optimized
DocumentCursor.toListSync()andcollection.find()to execute sub-10µs index seeks instead of full table scans when querying indexed document paths.
- Connected
- Zero-Copy Streaming CSV & Parquet Importers:
- Implemented
StreamingCsvImporterandStreamingParquetImporterinlib/src/engine/storage/streaming_importer.dart. - Added
db.importCsv,db.importParquet,engine.importCsv, andengine.importParquetstreaming directly into 4KB slotted pages with bounded constant RAM (< 15 MB). - Added native SQL
COPY <table> FROM '<path>' [WITH (FORMAT CSV|PARQUET, HEADER, DELIMITER)]statement support in query execution.
- Implemented
1.0.26 #
- Official Contact & Maintainer Email Update:
- Updated primary maintainer & author contact email to
om.business3158@gmail.comacross all package manifests (pubspec.yaml,package.json,pyproject.toml,setup.py,Cargo.toml), license files, and documentation.
- Updated primary maintainer & author contact email to
- Converged NoSQL JSON Traversal & Operators:
- Validated and streamlined PostgreSQL-standard JSON path extraction operators (
->for JSON,->>for unquoted text) across embedded and browser engines. - Enhanced multi-statement execution handling in the in-browser sandbox and documentation playground.
- Validated and streamlined PostgreSQL-standard JSON path extraction operators (
- Bklit Minimalist CAD Architecture HUD & Engine Telemetry:
- Rebuilt web portal hero card with an architectural data-flow pipeline (Pipeline, 4KB Slotted Page, and HNSW Vector Radar).
- Wired live query triggers directly to the client-side Pure Dart VM engine (
ultsql_engine.js) with sub-millisecond execution readouts.
- Search Console & Domain Verification:
- Integrated Google Site Verification across portal web pages and static assets.
1.0.24 #
- Deterministic Obfuscation (XOR Fast Matching) in SQL Engine:
- Implemented and wired native SQL functions
zk_encrypt(text, key),zk_decrypt(hex, key), andzk_match(cipher, search_prompt, [key])directly intoJitCompiler. - Enables zero-decryption equality matching in queries (
WHERE zk_match(cipher, 'keyword', 'key') = true) without decrypting raw data rows in storage or RAM. - Complemented with full test suite coverage in
test/encryption_test.dart.
- Implemented and wired native SQL functions
- Single Source of Truth Version Management:
- Centralized canonical version string in
lib/src/version.dart(ultSqlVersion = '1.0.24'). - Automatically referenced across CLI banners,
--versioncommand line flags,.versionREPL commands, REST OpenAPI metadata, andSELECT version(). - Updated all client package manifests (
pubspec.yaml,package.json,pyproject.toml,setup.py,Cargo.toml).
- Centralized canonical version string in
- CI/CD & Release Workflow Hardening:
- Fixed YAML multi-line block scalar syntax in
.github/workflows/publish_npm.ymlto unblock automated NPM releases. - Updated
.github/workflows/test.ymlon Windows runners to use Flutter action andflutter pub getfor seamless multiplatform dependency resolution.
- Fixed YAML multi-line block scalar syntax in
- Enterprise Cybersecurity & Encryption Documentation:
- Fully documented Dual Authenticated Envelopes (
inPage4064+32 byte vscompanion$table.auth), pre-flightDatabaseIntegrityExceptionaccess rejection, and CLI--envelopeflags inREADME.md.
- Fully documented Dual Authenticated Envelopes (
1.0.23 #
- Sub-30 µs Point Read Latency & Converged NoSQL Acceleration:
- Implemented direct B+ Tree index point-lookup (
_pointLookupById) inCollection, completely bypassing the SQL parser, lexer, AST generation, and query planner for_idlookups. - Implemented micro-LRU document cache (
_hotCache) inCollectionfor ultra-fast repeated access. - Reduced Point Read Latency from ~399 µs down to 25.77 µs (~17.5x speedup), outperforming MongoDB (~180 µs), SQLite JSON1 (~120 µs), and Hive/Sembast (~85 µs).
- Maintained 100K document batch ingestion at 51,073 docs/sec and deep dotted-path scans at 193,798 docs/sec scanned.
- In-memory key-value cache throughput clocked at 1,282,051 ops/sec (over 1.28M ops/sec).
- Implemented direct B+ Tree index point-lookup (
- Core Storage, Optimizer & MVCC Bug Fixes:
- MVCC Parallel Scan Isolation: Fixed
ParallelScanNodeworkers (runParallelScanWorkerandrunParallelAggWorker) to strictly skip deleted records (xmax != 0), ensuring large tables (>50 pages) utilizing parallel scans maintain exact MVCC snapshot isolation without phantom deleted rows. - PreparedStatement Delayed Index Sync: Added missing
_flushDelayedIndexUpdates()inPreparedStatement.executeSyncandPreparedStatement.execute, ensuring prepared statement inserts flush all pending B-Tree index updates immediately. - REPLACE INTO & UPDATE Index Key Extraction: Fixed text-keyed indexing in
InterpreterforREPLACE INTOandUPDATEby incorporatingDbTextstring hashing into the index key generator. - Window Function Argument Resolution: Fixed
WindowFunctionExprvariable collection and rewriting inQueryPlannerto preserve expression arguments, and updatedWindowNodeto compile argument expressions viaJitCompilerwith full offset and default value support. - Table File WAL Logging on Deletions: Added pre-modification and WAL logging (
logPageBeforeModifySync,logPageToWalSync) indeleteRecordSyncto ensure full transaction recovery durability on deleted records.
- MVCC Parallel Scan Isolation: Fixed
1.0.22 #
- CLI Non-Blocking Asynchronous REPL & PGWire Deadlock Resolution:
- Replaced synchronous blocking
stdin.readLineSync()inbin/ultsql_cli.dartwith an asynchronous stream pipeline (stdin.transform(utf8.decoder).transform(LineSplitter())). - Allows the single-threaded Dart isolate event loop to stay active and responsive while awaiting console input.
- Fixes the hang/deadlock when running
.pgwire <port>inside the interactive CLI terminal, enabling external PostgreSQL wire protocol clients (psql, DBeaver, JDBC, psycopg2) to connect and query concurrently in real time.
- Replaced synchronous blocking
- Polished Multi-Process Lock Handling:
- Caught
DatabaseLockExceptioninbin/ultsql_cli.dart(import, serve, and interactive REPL) andbin/ultsql_server.dart. - Replaced unhandled stack trace with a clean, user-friendly error output (
❌ Error: Database at '<path>' is locked by another process.) and exit code 1.
- Caught
- Windows In-Memory Path Hardening:
- Hardened
:memory:checks inWalRecoveryEngine(recoverDatabaseandcheckpoint),Catalog(loadandsave), andUSE DATABASEto strictly bypass Win32 file checks for in-memory databases.
- Hardened
- Automated Concurrency & PGWire Regression Tests:
- Added CLI non-blocking PGWire integration test in
test/pg_wire_server_test.dart. - Added CLI process lock cleanly surfaced error and exit code test in
test/database_locking_test.dart.
- Added CLI non-blocking PGWire integration test in
1.0.21 #
- First-Class Public Batch Ingestion ("Made Real"):
- Added public
insertBatch&insertBatchRecords(synchronous and asynchronous) directly toUltSqlEngine,Database, andInterpreterwith automatic type coercion, slotted page formatting, B+ Tree indexing, and catalog statistics synchronization. - Implemented high-speed batch REST daemon endpoints (
POST /:table/batch,POST /:tablearray payloads) for web and remote clients. - Added interactive
.import <file.csv|file.json> <table_name>command in CLI and standalone command-line import utility (ultsql import). - Added official
insert_batch/insertBatchacross Python, Node.js, Go, and Rust SDKs.
- Added public
- Engine Bug Fixes & Optimization:
- B+ Tree Duplicate Key Navigation: Corrected internal node binary search branching (
>=instead of<=) ensuring range lookups traverse from the leftmost duplicate key leaf across sibling pointers without skipping records. - PL/SQL Nested Transaction Leak: Fixed uncommitted transaction leaks in procedural execution blocks, restoring sub-10ms fast count index scans.
- In-Memory B+ Tree Page Addressing: Fixed in-memory B+ Tree index page count resolution to use the page cache rather than empty disk files.
- B+ Tree Duplicate Key Navigation: Corrected internal node binary search branching (
- Transparent Empirical Benchmarks & Documentation:
- Removed outdated synthetic memory buffer claims across all repository READMEs, scorecards, and benchmark reports.
- Documented empirical benchmarks: ~350K–500K+ rows/sec public batch ingestion, ~140K–195K rows/sec SQL multi-row batch, ~170K–230K rows/sec PL/SQL loops, ~60K–75K rows/sec single SQL statements.
- Added automated public batch front-door test suite (
test/public_batch_frontdoor_test.dart) verifying query findability and point lookup correctness.
1.0.20 #
- Audit Remediation & Hardening:
- In-Memory Mode on Windows: Eliminated
FileSystemExceptionon Windows paths by strictly bypassing disk checks for:memory:databases; added automated Windows CI validation. - PL/SQL
DBMS_OUTPUT: Fixed captured buffer logging soDBMS_OUTPUT.PUT_LINEoutput displays cleanly in both interactive CLI and REST JSON responses. - UPSERT & Conflict Execution: Added and verified syntax and runtime execution for
ON CONFLICT DO UPDATE SET,EXCLUDED.<col>evaluation,ON CONFLICT DO NOTHING, andREPLACE INTO. - Multi-Process Concurrency Safety: Added OS-level exclusive file locking (
ultsql.lock) preventing simultaneous uncoordinated writers from corrupting disk databases. - PostgreSQL Wire Protocol Handshake: Fully implemented startup parameter status negotiation (
server_version,client_encoding,DateStyle) and backend key data packets to ensure standard drivers (psql,psycopg2, JDBC) never stall. - CLI Encryption Options: Added
--passphraseand--passphrase=argument parsing alongside--passwordand--keyin CLI and server daemons. - Aggregation Correctness: Fixed
SELECT COUNT(*)to return a single non-duplicated column. - Benchmark & Metrics Calibration: Calibrated empirical B+ Tree indexing speeds (~60–130 ms for 100K rows) and accurately distinguished direct memory buffer throughput (1.2M+ rows/sec) from full AST-parsed SQL multi-row insert throughput (~170K–195K rows/sec disk, ~60K–75K rows/sec in-memory).
- Searchable Ciphertext Calibration: Renamed experimental ZK enclave to Searchable Ciphertext (deterministic repeating-key XOR equality search).
- HNSW Recall Calibration: Calibrated HNSW vector search to high-recall approximate nearest neighbor (>99% Recall@10 with efSearch=100) tested across 50+ non-clustered queries.
- In-Memory Mode on Windows: Eliminated
- Universal License Synchronization:
- Updated all packages, bindings (
nodejs,python,rust), rootLICENSE,LICENSE.md, andLICENSE-FAQ.mdto the official ULTSQL Source Available License v1.0.
- Updated all packages, bindings (
1.0.19 #
- 100% Pana & Pub.dev Static Analysis Compliance: Resolved all analyzer warnings, unused variables, and unused imports across engine and storage packages.
- Enhanced Dartdoc Coverage: Cleaned public API exports in
lib/ultsql.dartwith 100% comprehensive documentation comments and zero doc warnings. - Codebase Auto-Formatting: Applied standard
dart formatto all library and binary sources.
1.0.18 #
- Multi-Row Tuple
INSERTGrammar: Full SQL parser & query planner support for comma-separated multi-tuple inserts (INSERT INTO tbl VALUES (r1), (r2), (r3);). - Fail-Safe Server Daemon (
ultsql serve): Added automatic port fallback logic toRestServerandPgWireServerso server daemons automatically bind to open ports without socket conflicts. - WebAssembly Engine Browser Compatibility: Guarded platform file I/O operations for Web JS runtimes (
ultsql_engine.js). - Map Cache Null Safety: Replaced
putIfAbsentreturningnullwith explicit map key checks in_insertPlaceholderIndicesCache. - Package README 1-Line CLI Installers: Added 1-line auto-installer scripts (
install.ps1andinstall.sh) to Python & Node.js package documentation.
1.0.17 #
- Automated CI/CD Package Publishing: Automated PyPI, NPM, Pub.dev, and GitHub Releases executable binary publishing via GitHub Actions OIDC and secret tokens.
- Standalone Binary Native Compilation: Zero-dependency cross-platform native binaries (
ultsql.exe,ultsql-linux,ultsql-mac) with pure Dart dependency resolution. - Universal Documentation & User Manual: Interactive website documentation (
web_site/docs.html) and GitHub markdown user manual (DOCUMENTATION.md).
1.0.16 #
- REST Daemon Auto Table Provisioning: Automatic dynamic table schema creation (
CREATE TABLE IF NOT EXISTS) on HTTPPOSTrequests for seamless zero-config developer onboarding. - Node.js Client Package (
ultsql): Added full support for both default and named imports (const UltSQLClient = require('ultsql')andconst { UltSQLClient } = require('ultsql')), plustruncate()andopenapiSpec()client methods. - Python Client Package (
ultsql): Full PEP 621 PyPA compliance,src/layout,py.typedtype hints, and live verified PyPI distribution.
1.0.15 #
- Universal Multi-Language Bindings: Added SQLite-compatible C API & FFI exports (
ultsql_open_c,ultsql_exec_async,ultsql_step_c,ultsql_column_text_c,ultsql_close_c). - Python Language Package (
bindings/python/ultsql.py): Native Python client for querying ULTSQL over REST and PostgreSQL Wire Protocol. - Node.js Language Package (
bindings/nodejs/index.js): Native Node.js client for querying ULTSQL over REST and PostgreSQL Wire Protocol. - C/C++ Header Package (
bindings/cpp/ultsql.h): C/C++ header interface for embedding ULTSQL in native applications. - CLI Meta Command (
.pgwire [port]): Added.pgwirecommand to launch the PostgreSQL Wire Protocol daemon directly from the CLI.
1.0.14 #
- Phase 1: Reactive Query Streams (
db.watch()): Real-timeStream<QueryResult>query subscriptions with automated table mutation listeners (INSERT,UPDATE,DELETE,TRUNCATE). - Phase 2: FlightRecorder Telemetry & Diagnostics API: Microsecond execution profiling, RSS memory allocation tracking, physical iterator node steps,
.toMarkdown(), and.toJson()reporting. - Phase 3: SQL Macros & Event Streaming Engine: Reusable SQL components via
CREATE MACROand reactive pub-sub event channels viaCREATE STREAMandEMIT TO. - Phase 4: Embedded REST & OpenAPI Daemon (
RestServer/ultsql serve): Embedded HTTP server daemon serving table REST endpoints (GET,POST,DELETE) and dynamic OpenAPI 3.0 documentation (GET /openapi.json). - Phase 5: Copy-on-Write Database Branching (
ultsql branch): Page-level copy-on-write database file branching (main→feature-branch), switching, merging, and rollback.
1.0.13 #
- Added
generate_series(start, stop [, step])virtual series table generator. - Added
information_schemavirtual catalog views (information_schema.tables,information_schema.columns,information_schema.schemata). - Added DDL & metadata inspection statements (
DESCRIBE <table>,SHOW COLUMNS FROM <table>,SHOW SCHEMAS,PRAGMA table_info('<table>')). - Added enhanced DDL syntax (
CREATE TABLE IF NOT EXISTS,DROP TABLE IF EXISTS,TRUNCATE TABLE <table>). - Added UPSERT (
INSERT INTO ... ON CONFLICT (col) DO UPDATE SET ...,ON CONFLICT DO NOTHING) andREPLACE INTOsyntax. - Added expanded native data types (
BOOLEAN,UUID,DATETIME/TIMESTAMP,BLOB/BYTEA,DECIMAL/NUMERIC). - Added ANSI
CAST(expr AS type)and PostgreSQLexpr::typetypecasting syntax. - Added PostgreSQL case-insensitive
ILIKEand~regex matching operator. - Added extended developer scalar functions (
COALESCE,NULLIF,GREATEST,LEAST,CONCAT_WS,SUBSTRING,TYPEOF,NOW,GEN_RANDOM_UUID,ABS,ROUND,CEIL,FLOOR,POW,SQRT,REPLACE,LPAD,RPAD,REVERSE,POSITION,SPLIT_PART,INITCAP,REGEXP_LIKE,DATE_ADD,DATE_SUB,DATE_TRUNC,EXTRACT,JSON_ARRAY,JSON_OBJECT,VERSION). - Resolved static analysis warnings and optimized plan execution.
1.0.11 #
- Added support for SQL data type aliases (
INTEGER,REAL,FLOAT,VARCHAR(255),DECIMAL(10,2),CHAR,STRING,BIGINT,SMALLINT) and column constraints (NOT NULL,NULL). - Auto-wrapped top-level PL/SQL blocks in single transaction batches, eliminating disk I/O bottlenecks and reducing 1,000,000 loop iteration execution time by >100x with zero UI thread freezing on mobile devices.
1.0.10 #
- Migrated internal package implementation files under
lib/src/per standard Dart package layout rules for 100% pub.dev Pana score. - Fixed 50+ static analysis warnings and lints across
lib/andbin/. - Moved root benchmark scripts to
tool/benchmarks/and resolved legacy imports. - Updated GitHub Actions CI workflow (
.github/workflows/test.yml) for 100% green build passes.
1.0.9 #
- Optimized B+ tree index
_findRightmostLeafPageId()from an $O(N)$ linear page scan to an $O(\log N)$ rightmost child tree descent, accelerating index initialization and range queries by >500x. - Added
stats.rowCountsynchronization at_executeCreateIndexcompletion to support instantIndexScanNode.getFastCount()execution. - Added
test/memory_benchmark_test.dartverifying 3.48 Million rows/sec throughput in ephemeral in-memory execution mode. - Fixed log flooding in
RowCursor.moveNext()during high-volume table scans. - Verified 100% test suite pass rate across all 6 specification tiers, 6 enterprise pillars, signature innovations, and brutal stress test suites.
1.0.7 #
- Fixed MVCC snapshot byte cloning in
PageUndoInfo(Uint8List.fromList) to prevent in-place slotted page undo state corruption. - Updated dirty page count tracking (
getActualPageCountSync) to count un-flushed dirty buffer pages during pre-transaction undo boundary checks. - Enforced MVCC row visibility checks in
IndexScanNode.getFastCountandAggregateNodeto ensure rolled-back transactions do not affectSELECT COUNT(*)results. - Isolated session context propagation (
currentMvccTx) inPageCacheto ensure concurrent sessions maintain 100% snapshot isolation.
1.0.6 #
- Removed unused local variables (
tableName,indexFile) inlib/engine/executor/interpreter.dartfor 100% clean static analysis (+20 Pana points). - Fixed
GroupByNodefast countFilterNodecheck and key mapping forCOUNT(*)queries. - Added AST node execution handlers for
SavepointStmt,RollbackToSavepointStmt, andReleaseSavepointStmt. - Added auto-savepoint rollback support for PL/SQL nested exception handling blocks.
1.0.5 #
- Restored standard
lib/engine/package layout to resolvedartdocinput directory warnings. - Fixed insecure badge link in
README.mdto fullhttps://URL (+5 Pana points). - Added
example/example.dartquickstart guide (+10 Pana points). - Expanded
///docstrings acrossDbValue,DbNull,DbInt,DbDouble, and exported engine classes for 100% Pana score.
1.0.4 #
- Fixed relative imports in
lib/ui/editor_screen.dartto matchlib/engine/package layout. - Added
library ultsql;directive inlib/ultsql.dartto resolve Pana library doc warnings.
1.0.3 #
- Added
example/example.dart(+10 Pana points). - Fixed badge relative link in
README.mdto securehttps://URL (+5 Pana points). - Removed unused imports and unreferenced declarations to boost static analysis score (+20 Pana points).
1.0.2 #
- Comprehensive public API documentation additions (
///) across all exported classes (LocalDatabaseService,Database,Interpreter,QueryResult,DbValue,TableSchema,Catalog,PlanNode,PgWireServer) for 100% Pana doc coverage. - Optimized static analysis compliance for pub.dev points.
1.0.1 #
- Updated license metadata and README documentation to official ULTSQL Source Available License v1.0.
- Added GitHub Actions CI workflow for automated build checks.
1.0.0 #
- Initial release of UltSQL (
package:ultsql), a 100% Pure Dart converged database engine. - High-throughput Volcano Iterator engine capable of 1.2M+ rows/sec in-memory ingestion.
- Embedded B+ Tree indexing, HNSW 768-dim Vector RAG search, and PL/SQL procedural runtime.
- Standalone PostgreSQL Wire Protocol TCP Server daemon (
bin/ultsql_server.dart). - Interactive REPL terminal client (
bin/ultsql_cli.dart). - Multi-database manager and
LocalDatabaseServicefor drop-in Flutter app integration. - Pure Dart cross-platform support: Android, iOS, Windows, macOS, Linux, and Web.