From 73a345aa4dbcef19d67bc6dea1e8d091fe0ad856 Mon Sep 17 00:00:00 2001 From: Pekka Enberg Date: Tue, 4 Feb 2025 15:06:36 +0200 Subject: [PATCH] Limbo 0.0.14 --- CHANGELOG.md | 74 +++++++++++++++++++ Cargo.lock | 32 ++++---- Cargo.toml | 2 +- .../wasm/integration-tests/package-lock.json | 2 +- bindings/wasm/package-lock.json | 4 +- bindings/wasm/package.json | 2 +- bindings/wasm/test-limbo-pkg/package.json | 2 +- 7 files changed, 96 insertions(+), 22 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9186ec8a5..fee38e12c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,79 @@ # Changelog +## 0.0.14 - 2025-02-04 + +### Added + +**Core:** + +* Improve changes() and total_changes() functions and add tests (Ben Li) +* Add support for `json_object` function (Jorge Hermo) +* Implemented json_valid function (Harin) +* Implement Not (Vrishabh) +* Initial support for wal_checkpoint pragma (Sonny) +* Implement Or and And bytecodes (Diego Reis) +* Implement strftime function (Pedro Muniz) +* implement sqlite_source_id function (Glauber Costa) +* json_patch() function implementation (Ihor Andrianov) +* json_remove() function implementation (Ihor Andrianov) +* Implement isnull / not null for filter expressions (Glauber Costa) +* Add support for offset in select queries (Ben Li) +* Support returning column names from prepared statement (Preston Thorpe) +* Implement Concat opcode (Harin) +* Table info (Glauber Costa) +* Pragma list (Glauber Costa) +* Implement Noop bytecode (Pedro Muniz) +* implement is and is not where constraints (Glauber Costa) +* Pagecount (Glauber Costa) +* Support column aliases in GROUP BY, ORDER BY and HAVING (Jussi Saurio) +* Implement json_pretty (Pedro Muniz) + +**Extensions:** + +* Initial pass on vector extension (Pekka Enberg) +* Enable static linking for 'built-in' extensions (Preston Thorpe) + +**Go Bindings:** + +* Initial support for Go database/sql driver (Preston Thorpe) +* Avoid potentially expensive operations on prepare' (Glauber Costa) + +**Java Bindings:** + +* Implement JDBC `ResultSet` (Kim Seon Woo) +* Implement LimboConnection `close()` (Kim Seon Woo) +* Implement close() for `LimboStatement` and `LimboResultSet` (Kim Seon Woo) +* Implement methods in `JDBC4ResultSet` (Kim Seon Woo) +* Load native library from Jar (Kim Seon Woo) +* Change logger dependency (Kim Seon Woo) +* Log driver loading error (Pekka Enberg) + +**Simulator:** + +* Implement `--load` and `--watch` flags (Alperen Keleş) + +**Build system and CI:** + +* Add Nyrkiö change point detection to 'cargo bench' workflow (Henrik Ingo) + +### Fixed + +* Fix `select X'1';` causes limbo to go in infinite loop (Krishna Vishal) +* Fix rowid search codegen (Nikita Sivukhin) +* Fix logical codegen (Nikita Sivukhin) +* Fix parser panic when duplicate column names are given to `CREATE TABLE` (Krishna Vishal) +* Fix panic when double quoted strings are used for column names. (Krishna Vishal) +* Fix `SELECT -9223372036854775808` result differs from SQLite (Krishna Vishal) +* Fix `SELECT ABS(-9223372036854775808)` causes limbo to panic. (Krishna Vishal) +* Fix memory leaks, make extension types more efficient (Preston Thorpe) +* Fix table with single column PRIMARY KEY to not create extra btree (Krishna Vishal) +* Fix null cmp codegen (Nikita Sivukhin) +* Fix null expr codegen (Nikita Sivukhin) +* Fix rowid generation (Nikita Sivukhin) +* Fix shr instruction (Nikita Sivukhin) +* Fix strftime function compatibility problems (Pedro Muniz) +* Dont fsync the WAL on read queries (Jussi Saurio) + ## 0.0.13 - 2025-01-19 ### Added diff --git a/Cargo.lock b/Cargo.lock index 884a59ef2..c87b395d2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -463,7 +463,7 @@ checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "core_tester" -version = "0.0.13" +version = "0.0.14" dependencies = [ "anyhow", "assert_cmd", @@ -1355,7 +1355,7 @@ checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" [[package]] name = "java-limbo" -version = "0.0.13" +version = "0.0.14" dependencies = [ "jni", "limbo_core", @@ -1528,7 +1528,7 @@ dependencies = [ [[package]] name = "limbo" -version = "0.0.13" +version = "0.0.14" dependencies = [ "anyhow", "clap", @@ -1544,14 +1544,14 @@ dependencies = [ [[package]] name = "limbo-go" -version = "0.0.13" +version = "0.0.14" dependencies = [ "limbo_core", ] [[package]] name = "limbo-wasm" -version = "0.0.13" +version = "0.0.14" dependencies = [ "console_error_panic_hook", "js-sys", @@ -1563,7 +1563,7 @@ dependencies = [ [[package]] name = "limbo_core" -version = "0.0.13" +version = "0.0.14" dependencies = [ "built", "bumpalo", @@ -1609,7 +1609,7 @@ dependencies = [ [[package]] name = "limbo_ext" -version = "0.0.13" +version = "0.0.14" dependencies = [ "limbo_macros", "log", @@ -1617,7 +1617,7 @@ dependencies = [ [[package]] name = "limbo_libsql" -version = "0.0.13" +version = "0.0.14" dependencies = [ "limbo_core", "thiserror 2.0.11", @@ -1626,7 +1626,7 @@ dependencies = [ [[package]] name = "limbo_macros" -version = "0.0.13" +version = "0.0.14" dependencies = [ "proc-macro2", "quote", @@ -1635,7 +1635,7 @@ dependencies = [ [[package]] name = "limbo_percentile" -version = "0.0.13" +version = "0.0.14" dependencies = [ "limbo_ext", "mimalloc", @@ -1643,7 +1643,7 @@ dependencies = [ [[package]] name = "limbo_regexp" -version = "0.0.13" +version = "0.0.14" dependencies = [ "limbo_ext", "log", @@ -1653,7 +1653,7 @@ dependencies = [ [[package]] name = "limbo_sim" -version = "0.0.13" +version = "0.0.14" dependencies = [ "anarchist-readable-name-generator-lib", "clap", @@ -1670,7 +1670,7 @@ dependencies = [ [[package]] name = "limbo_sqlite3" -version = "0.0.13" +version = "0.0.14" dependencies = [ "env_logger 0.11.6", "libc", @@ -1680,7 +1680,7 @@ dependencies = [ [[package]] name = "limbo_uuid" -version = "0.0.13" +version = "0.0.14" dependencies = [ "limbo_ext", "mimalloc", @@ -1689,7 +1689,7 @@ dependencies = [ [[package]] name = "limbo_vector" -version = "0.0.13" +version = "0.0.14" dependencies = [ "limbo_ext", "quickcheck", @@ -2231,7 +2231,7 @@ dependencies = [ [[package]] name = "py-limbo" -version = "0.0.13" +version = "0.0.14" dependencies = [ "anyhow", "limbo_core", diff --git a/Cargo.toml b/Cargo.toml index 3ff1ad34a..82b79995d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,7 +23,7 @@ members = [ exclude = ["perf/latency/limbo"] [workspace.package] -version = "0.0.13" +version = "0.0.14" authors = ["the Limbo authors"] edition = "2021" license = "MIT" diff --git a/bindings/wasm/integration-tests/package-lock.json b/bindings/wasm/integration-tests/package-lock.json index f2886d47d..ea731abaf 100644 --- a/bindings/wasm/integration-tests/package-lock.json +++ b/bindings/wasm/integration-tests/package-lock.json @@ -15,7 +15,7 @@ }, "..": { "name": "limbo-wasm", - "version": "0.0.13", + "version": "0.0.14", "license": "MIT", "devDependencies": { "@playwright/test": "^1.49.1", diff --git a/bindings/wasm/package-lock.json b/bindings/wasm/package-lock.json index 83309fcb9..930d9255e 100644 --- a/bindings/wasm/package-lock.json +++ b/bindings/wasm/package-lock.json @@ -1,12 +1,12 @@ { "name": "limbo-wasm", - "version": "0.0.13", + "version": "0.0.14", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "limbo-wasm", - "version": "0.0.13", + "version": "0.0.14", "license": "MIT", "devDependencies": { "@playwright/test": "^1.49.1", diff --git a/bindings/wasm/package.json b/bindings/wasm/package.json index 7dfb91516..2265a7799 100644 --- a/bindings/wasm/package.json +++ b/bindings/wasm/package.json @@ -3,7 +3,7 @@ "collaborators": [ "the Limbo authors" ], - "version": "0.0.13", + "version": "0.0.14", "license": "MIT", "repository": { "type": "git", diff --git a/bindings/wasm/test-limbo-pkg/package.json b/bindings/wasm/test-limbo-pkg/package.json index 424bcede1..7c10b8c28 100644 --- a/bindings/wasm/test-limbo-pkg/package.json +++ b/bindings/wasm/test-limbo-pkg/package.json @@ -3,7 +3,7 @@ "private": true, "type": "module", "dependencies": { - "limbo-wasm": "limbo-wasm@0.0.13" + "limbo-wasm": "limbo-wasm@0.0.14" }, "scripts": { "dev": "vite"