Pekka Enberg
e1b2d043be
Limbo 0.0.8
2024-11-20 19:16:11 +02:00
Pekka Enberg
81b68b7047
Limbo 0.0.7
2024-11-20 18:15:36 +02:00
Pekka Enberg
fc07445e0a
Merge 'sim: improve simulator' from Pere Diaz Bou
...
Newly improved simulator with CREATE TABLE, INSERT, SELECT, connection
management, etc...
This new simulator is finding a bunch of bugs with write path so after
this PR I will start fixing those.
Closes #405
2024-11-20 08:59:13 +02:00
Pekka Enberg
0fb1e59c9a
Limbo 0.0.6
2024-11-18 19:16:15 +02:00
Pekka Enberg
a83e62f6f4
Limbo 0.0.5
2024-11-18 14:57:00 +02:00
Pere Diaz Bou
44e22c50cf
sim: improve simulator
2024-11-18 13:40:37 +01:00
jussisaurio
3cc9d9d79f
vendor sqlite3-parser (lemon-rs)
2024-11-16 20:08:59 +02:00
Pekka Enberg
9473668196
core: Bump jsonb dependency
...
The `fast-float` library has soundness issues, which why `jsonb`
switched to `fast-float2`:
https://github.com/databendlabs/jsonb/issues/68
2024-11-16 18:58:13 +02:00
Pekka Enberg
17c7e8d346
sqlite3: Disable env_logger default features
...
Let's keep the dependencies as light-weight as possible.
2024-11-16 09:47:12 +02:00
Pekka Enberg
c3da75d260
build: Enable LTO for release builds
...
This reduces `liblimbo_sqlite3.a` binary size from 25 MB to 10 MB:
Before:
$ -lh ../target/release/liblimbo_sqlite3.a
-rw-r--r-- 1 penberg staff 25M 15 Mar 18:36 ../target/release/liblimbo_sqlite3.a
After:
$ penberg@vonneumann sqlite3 % ls -lh ../target/release/liblimbo_sqlite3.a
-rw-r--r-- 1 penberg staff 9,9M 15 Mar 18:59 ../target/release/liblimbo_sqlite3.a
2024-11-15 19:06:17 +02:00
Pekka Enberg
b7ca2c9823
bindings/wasm: Add Database.prepare() and Statement.all()
...
This adds `Database.prepare()` and `Statement.all()` APIs to the Wasm
bindings so that you can actually get something useful out of the
library.
2024-11-13 12:22:35 +02:00
baishen
5c00c576a5
Add support for hex scalar function
2024-09-22 08:50:08 -04:00
김선우
7f5d9dbb90
Apply fmt
2024-09-16 22:00:36 +09:00
김선우
f592ed15c1
Add test to verify root and leaf splitting
2024-09-16 16:50:30 +09:00
김선우
ff1c38e0bb
Rewrite test to use temp dir
2024-09-15 17:31:55 +09:00
Pere Diaz Bou
270193b953
use rustqlite
2024-09-13 09:15:55 +02:00
Pere Diaz Bou
1ea496a169
core_tester: sequential btree write test
...
Signed-off-by: Pere Diaz Bou <pere-altea@hotmail.com >
2024-09-05 20:50:30 +02:00
Pekka Enberg
b1f508db87
Limbo 0.0.4
2024-08-22 17:44:28 +03:00
Pekka Enberg
e30b5f1082
Commit updated Cargo.lock and sqlite3.h
...
Turns out the new cbindgen version generates slightly different
sqlite3.h so commit that to the tree. The version in Cargo.lock also
changed so let's check in that too.
2024-08-15 19:42:10 +03:00
Pekka Enberg
f633fc91cf
sqlite3: Add to cargo dist bundle
2024-08-11 12:14:43 +03:00
JeanArhancet
7c362b129f
feat: impl python binding
...
refactor: pep-0249
refactor: rust comment and requirements-dev.txt
fix: name conflict
2024-08-11 08:58:18 +02:00
Pekka Enberg
5219fc7258
Update cbindgen dependency
...
Fixes #63
2024-08-10 14:29:20 +03:00
Pekka Enberg
5b7d112e74
Merge 'implementation of json function json(X)' from Jean Arhancet
...
Add the `json` function `json(X)` (related to the issue https://github.com/penberg/limbo/issues/127 )
Closes #230
2024-08-06 08:05:33 +03:00
JeanArhancet
4050a3ebe2
refactor: impl json5 direclty
2024-08-04 12:47:08 +02:00
JeanArhancet
552090cb29
feat: add json support
2024-08-04 10:54:27 +02:00
Pekka Enberg
7df979cd3a
wasm: Enable console.error() panic hook
...
Makes debugging a little bit easier...
2024-08-04 09:45:27 +03:00
JeanArhancet
38a1b85094
fix: ctrl-c stop current query execution
2024-08-03 22:58:52 +02:00
Pekka Enberg
cb34deef09
Limbo 0.0.3
2024-08-01 18:57:13 +03:00
Pekka Enberg
351242561d
Kill anyhow usage
...
Switch anyhow to explicit `LimboError` type using thiserror crate, which
lets us make error handling more structured.
2024-07-25 17:15:08 +03:00
jussisaurio
9eb68524e7
Upgrade sqlite3-parser #185
2024-07-24 14:05:39 +03:00
Pekka Enberg
6108c9ca55
Limbo 0.0.2
2024-07-24 11:14:31 +03:00
gandeevanr
871fae3286
Implement the Date() method
2024-07-23 09:19:08 -07:00
Bennett Clement
0a4e094ef6
Update COMPAT table and remove unused deps
2024-07-22 00:28:31 +08:00
JeanArhancet
a2d4d73ce5
refactor: use getrandom
2024-07-19 21:26:42 +02:00
JeanArhancet
6a5d6847c0
feat: add random function
2024-07-19 17:56:01 +02:00
gandeevanr
9ef212edd3
Added support to disallow multiple processes from opening the same database file in linux and darwin
2024-07-17 11:34:47 -07:00
Pekka Enberg
4efa6e5efa
sqlite3: API function tracing
2024-07-17 12:59:54 +03:00
Pekka Enberg
6f00a406dd
0.0.1
2024-07-17 08:40:32 +03:00
Pekka Enberg
b7599abd2c
Merge pull request #166 from penberg/fix-io-uring
...
Fix io_uring support on older Linux kernels
2024-07-16 14:51:14 +03:00
Pekka Enberg
207ec5ce92
core: Enable direct I/O optimistically
...
...but keep going if the filesystem does not support it. Fixes Limbo on
older Linux kernels that have io_uring but don't support direct I/O on
all filesystems, such as tmpfs or encryptfs.
2024-07-16 14:48:38 +03:00
Bennett Clement
2f738e0c8b
Implement like function
2024-07-16 15:23:52 +08:00
jussisaurio
851aea212d
add coalesce(), refactor/rename add_label()
2024-07-13 23:03:56 +03:00
Ishan Jain
c171b63ec2
use O_DIRECT for file read operations
2024-07-09 11:41:20 +05:30
Pekka Enberg
b8165f52b1
Merge pull request #90 from crrow/topic/fix-error-handling-for-invalid-file
...
Replace unwrap() in PageIO.get() with proper error handling
2024-07-07 14:19:47 +03:00
Ryan Tan
9c2988e0ed
fix: replace unwrap() with ?
2024-07-07 19:12:48 +08:00
Pekka Enberg
30ec86a81e
Add sorter utility functions and opcodes
...
This adds basic in-memory sorting utility functions, similar to SQLite's
src/vdbesort.c. We need to improve this later with external sorting so
to support large data sets.
This also adds sorting functionality to the VDBE. Note that none of this
is wired to SQL translation yet so it's unused for now.
2024-07-07 13:56:55 +03:00
Pekka Enberg
2684341bac
Initial pass on deterministic simulator
...
The simulator does not do much, but does discover failures on Linux with
io_uring, though, so it's a start.
2024-06-27 18:32:04 +03:00
Pekka Enberg
4d4d1458e2
Update rustix in Cargo.lock
...
Fix for a security vulnerability that Dependabot complains about:
https://github.com/advisories/GHSA-c827-hfw6-qwvm
2024-05-08 13:47:30 -03:00
Pekka Enberg
f5cc3a08f0
Initial pass on SQLite C ABI
...
This adds initial SQLite C ABI compatibility to Limbo to make sure we
drive the Rust API in the right way that allows us to implement SQLite
semantics.
2024-05-08 07:05:56 -03:00
Pekka Enberg
ed9f3e6d1e
Single-threaded architecture
...
Use Rc instead of Arc and replace the concurrent LRU with
single-threaded SIEVE.
Fixes #23
Fixes #29
2024-03-03 12:44:45 +02:00