ultsql 1.0.21
ultsql: ^1.0.21 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.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.