Commit Graph

32 Commits

Author SHA1 Message Date
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
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
a0c92f6d80 Switch to workspace versioning 2024-07-17 08:39:36 +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
Bennett Clement
30e4a70d07 ignore wasm compilation target 2024-07-13 15:17:18 +08:00
Bennett Clement
26152e07e5 Use kqueue for Darwin IO 2024-07-13 09:44:03 +08: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
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
Pekka Enberg
59822e2c6f core: Don't depend on pprof on Windows 2024-03-03 11:49:55 +02:00
Pekka Enberg
dad0b6d627 Disable mimalloc for wasm target 2023-10-24 19:01:22 +03:00
Pekka Enberg
9098744a37 Rename to Limbo 2023-09-30 15:40:35 +03:00
Pekka Enberg
1e1e096a48 Refactor I/O and storage layers 2023-09-16 09:34:17 +03:00
Pekka Enberg
caf56bdc77 Fix build on macOS 2023-09-09 12:42:22 +03:00
Pekka Enberg
60abb68cef io_uring support 2023-09-09 12:36:54 +03:00
Pekka Enberg
4a5c71ab7a I/O interface refactoring 2023-09-09 10:22:26 +03:00
Pekka Enberg
7977b23ae5 Fix read_value() and read_varint() corner cases 2023-09-06 19:46:18 +03:00
Pekka Enberg
9b268dcc6f Compare performance to rusqlite 2023-09-02 21:22:38 +03:00
Pekka Enberg
f92a83d083 Switch to LRU page cache
Fixes #5
2023-09-02 21:12:41 +03:00
Pekka Enberg
65d1d770b3 Switch to mimalloc
...it's faster.
2023-09-02 14:04:22 +03:00
Pekka Enberg
37baae3ed7 Benchmark 2023-09-02 13:43:07 +03:00
Pekka Enberg
591e8df377 Disable tracing by default 2023-09-01 19:49:54 +03:00
Pekka Enberg
fb72f9688b Initial commit 2023-08-27 09:59:12 +03:00