Glauber Costa
a7cc367c1f
implement pragma pragma_list
...
List all available pragmas (Except pragma_list)
2025-01-31 06:44:56 -05:00
Pekka Enberg
cfc585813b
Merge 'implement sqlite_source_id function' from Glauber Costa
...
Closes #811
2025-01-29 09:45:00 +02:00
Glauber Costa
8f24d18ad8
implement sqlite_source_id function
2025-01-28 14:55:38 -05:00
Pekka Enberg
ee05ad172b
core: Bundle vector extension by default
2025-01-28 14:24:09 +02:00
PThorpe92
c5e60d8e08
Enable only uuid by default, change tests back to account for this
2025-01-21 10:20:01 -05:00
PThorpe92
f13d035965
Enable wasm to static link extensions
2025-01-21 09:36:49 -05:00
PThorpe92
3d188eba0f
Enable staticly linking with builtin extensions
2025-01-21 09:32:43 -05:00
Pekka Enberg
93903555aa
Rename limbo_extension crate to limbo_ext
2025-01-16 14:40:52 +02:00
Pekka Enberg
f83b34287e
Move limbo_extension crate to extensions/core
2025-01-16 14:39:12 +02:00
PThorpe92
3412a3d4c2
Rough design for extension api/draft extension
2025-01-14 07:20:48 -05:00
PThorpe92
0a10d893d9
Sketch out runtime extension loading
2025-01-14 07:18:07 -05:00
Jorge López
a16282ea62
core: remove nix as a dependency
2025-01-14 11:06:13 +01:00
Pekka Enberg
d223c72d03
Revert "core: Previous commits didn't actually remove nix as dependency, so do that here"
...
This reverts commit cca3846f95 , we need to
bring it back unfortunately.
2025-01-14 10:25:11 +02:00
Jorge López
cca3846f95
core: Previous commits didn't actually remove nix as dependency, so do that here
2025-01-13 21:15:36 +01:00
Jorge López
d4de451d45
core: enable rustix/io_uring with io_uring feature
2025-01-13 20:21:15 +01:00
Jorge López
e5bd39a8b2
Tiny formatting change, because RustRover keeps redoing it. Having to revert on every commit is not fun.
2025-01-11 15:03:26 +01:00
Jorge López
737533e35f
Prepare Cargo.toml for upcoming rewrite from macos->unix and linux->io_uring. Make io_uring an optional dependency that is only enabled with a new default feature io-uring.
2025-01-07 15:17:24 +01:00
Samyak S Sarnayak
c09a0bcbf3
Nicer parse errors using miette
...
I noticed that the parse errors were a bit hard to read - only the nearest token and the line/col offsets were printed.
I made a first attempt at improving the errors using [miette](https://github.com/zkat/miette ).
- Added derive for `miette::Diagnostic` to both the parser's error type and LimboError.
- Added miette dependency to both sqlite3_parser and core. The `fancy` feature is only enabled for CLI.
Some future improvements that can be made further:
- Add spans to AST nodes so that errors can better point to the correct token. See upstream issue: https://github.com/gwenn/lemon-rs/issues/33
- Construct more errors with offset information. I noticed that most parser errors are constructed with `None` as the offset.
Comparisons.
Before:
```
❯ cargo run --package limbo --bin limbo database.db --output-mode pretty
...
limbo> selet * from a;
[2025-01-05T11:22:55Z ERROR sqlite3Parser] near "Token([115, 101, 108, 101, 116])": syntax error
Parse error: near "selet": syntax error at (1, 6)
```
After:
```
❯ cargo run --package limbo --bin limbo database.db --output-mode pretty
...
limbo> selet * from a;
[2025-01-05T12:25:52Z ERROR sqlite3Parser] near "Token([115, 101, 108, 101, 116])": syntax error
× near "selet": syntax error at (1, 6)
╭────
1 │ selet * from a
· ▲
· ╰── syntax error
╰────
```
2025-01-05 17:56:59 +05:30
psvri
4368e8767b
Fix like function giving wrong results
2024-12-26 22:38:54 +05:30
Pekka Enberg
37e1f35df8
Fix Cargo.toml in macros crate
2024-12-25 11:54:16 +02:00
PThorpe92
c06c4115f1
Adapt OwnedValues in uuid ext to new LimboText
2024-12-21 09:17:53 -05:00
PThorpe92
2fcae80902
Create ext directory for outside funcs, add uuid to ext dir
2024-12-21 09:16:04 -05:00
PThorpe92
fcab0ae299
Add uuid support for v4 and v7
2024-12-21 09:13:46 -05:00
vignesh-j-shetty
a43a1d204c
renamed macro crate
2024-12-21 13:19:04 +05:30
vignesh-j-shetty
1e72fee343
Implemented proc_macro_derive extract description from rust docs and generate get_description function
2024-12-21 12:23:04 +05:30
Pere Diaz Bou
1a663a6ed7
cargo stuff rm
2024-12-13 13:09:13 +01:00
Pekka Enberg
ab07c77036
Upgrade pprof to 0.14
...
Github's dependabot complains that the current version has an unsoudness
issue so let's bump to a newer version:
https://github.com/tursodatabase/limbo/security/dependabot/10
2024-12-11 11:21:09 +02: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
85b70e381d
core: Make mockall a dev dependency
2024-11-16 13:18:35 +02:00
Pekka Enberg
cd5db55cf2
core: Make JSON support configurable
...
This adds a `json` feature flag, which allows users to disable JSON
support if needed.
2024-11-16 09:49:09 +02:00
baishen
5c00c576a5
Add support for hex scalar function
2024-09-22 08:50:08 -04:00
gandeevanr
23a7d389b1
added unit tests for NewRowid
2024-08-08 19:04:10 -07: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
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