Commit Graph

4349 Commits

Author SHA1 Message Date
Pekka Enberg
21c5fe2909 cargo: Switch to "line-tables-only" debug symbols
...reduces size of `liblimbo_sqlite3.a` to 15 MB.

Suggested by @psvri
2025-01-17 11:52:17 +02:00
Pekka Enberg
4943217045 cargo: Disable LTO..
..to reduce `liblimbo_sqlite3.a` size from 37M to 20M. As it turns out,
LLVM emits its bitcode into static libraries when LTO is enabled to be
"more aggressive" in optimizations

Refs #714
2025-01-17 11:52:17 +02:00
Pekka Enberg
b2cbc3e0eb Merge 'github: Switch to upload-artifact v4' from Pekka Enberg
The current version is getting deprecated:
https://github.blog/news-insights/product-news/get-started-with-v4-of-
github-actions-artifacts/

Closes #716
2025-01-17 11:52:00 +02:00
Pekka Enberg
f550ee5f11 github: Switch to upload-artifact v4
The current version is getting deprecated:

https://github.blog/news-insights/product-news/get-started-with-v4-of-github-actions-artifacts/
2025-01-17 11:44:34 +02:00
Pekka Enberg
718ba17c0a Merge 'Fix cli comments parsing' from Diego Reis
#711
I followed the patterns that sqlite has, so everything after `--` is
treated as a comment. A bunch of spaces and a `--` is treated as a
comment also.

Closes #718
2025-01-17 07:40:29 +02:00
Elijah Morgan
6a7b269aa7 fixup dropped meta data 2025-01-16 21:30:36 -05:00
Elijah Morgan
c6d4484e63 bump versions 2025-01-16 21:29:19 -05:00
Elijah Morgan
f20a2d1334 Reorg to single package
Handle commonjs and esm module entry points

tests works
2025-01-16 21:29:19 -05:00
Elijah Morgan
f7be8b834b got vitest working
run via npm run test -w web
2025-01-16 21:29:19 -05:00
Elijah Morgan
02e4104932 reorg package structure
src moved under web/ to make it cleaner
build does less moving of files, mostly just moves the wasm-pack
into dist for node and web
2025-01-16 21:29:19 -05:00
Elijah Morgan
f75a1f89c4 WIP restructure
going to try out something different
2025-01-16 21:29:19 -05:00
Elijah Morgan
f81dfed922 Node and Web basic npm package test work 2025-01-16 21:29:16 -05:00
Elijah Morgan
8fa3a760c7 Web test of npm package works
Node one broke
2025-01-16 21:28:33 -05:00
Elijah Morgan
6bd40430bf Begin adding nodejs/web to a single npm package
Update build script to build both
Update package.json

Add basic test of node variant of npm package.
2025-01-16 21:28:29 -05:00
Diego Reis
285eeccb84 Fix cli comments parsing 2025-01-16 20:20:36 -03:00
alpaylan
28cde537a8 this commit;
- makes interaction plans serializable
- fixes the shadowing bug where non-created tables were assumed to be created in the shadow tables map
- makes small changes to make clippy happy
- reorganizes simulation running flow to remove unnecessary plan regenerations while shrinking and double checking
2025-01-17 01:30:46 +03:00
Jorge Hermo
f7ec7bd20b feat: remove wildcard in convert_db_type_to_json 2025-01-16 19:22:39 +01:00
psvri
e43271f53b Implement regexp extension 2025-01-16 23:15:59 +05:30
psvri
3e9f3ae652 Fix all args not being passed to external functions 2025-01-16 23:15:01 +05:30
Pekka Enberg
20ea8fb941 Make Clippy happy 2025-01-16 15:57:08 +02:00
Pekka Enberg
41b8228744 Merge 'Enable all features and targets in clippy for CI' from Jorge Hermo
I think we should run clippy in CI with all the features and targets
enabled.
This would help to get more clippy coverage as with the current CI
command, some code paths were not covered by clippy. For example, `test`
modules were not covered by it as we need at least the `--tests` flag
(or `--all-targets`)

Reviewed-by: Pere Diaz Bou <pere-altea@homail.com>

Closes #707
2025-01-16 15:10:11 +02:00
Pekka Enberg
cc1e281314 Merge 'Extension cleanups' from Pekka Enberg
Reviewed-by: Preston Thorpe (@PThorpe92)

Closes #713
2025-01-16 14:54:18 +02:00
Pekka Enberg
38f7dec9e7 merge-pr.py: Fix random emails appearing in commit logs
...my good friend Claude was probably drunk when he wrote that code.
2025-01-16 14:54:10 +02:00
Pekka Enberg
e2cf5cf145 Merge 'cli: Improve .schema command output on errors' from Pekka Enberg
Improve `.schema` output on errors by marking them as comments. This
allows you to pipe any `.schema` output to another shell.

Reviewed-by: Preston Thorpe <cory.pride83@gmail.com>

Closes #712
2025-01-16 14:49:46 +02:00
Pekka Enberg
9209641a07 cargo fmt 2025-01-16 14:43:23 +02:00
Pekka Enberg
e8420a3cb7 Update Cargo.lock 2025-01-16 14:42:07 +02: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
Pekka Enberg
f711d2b7ed cli: Improve .schema command output on errors
Improve `.schema` output on errors by marking them as comments. This
allows you to pipe any `.schema` output to another shell.
2025-01-16 14:25:48 +02:00
Pekka Enberg
465c923db1 Update COMPAT.md 2025-01-16 09:14:46 +02:00
Jorge Hermo
f5616f5ddb Update vendored/sqlite3-parser/Cargo.toml 2025-01-15 23:50:28 +01:00
Jorge Hermo
fe30a7b505 chore: include limbo-wasm in clippy checks 2025-01-15 23:39:45 +01:00
Jorge Hermo
c6b9b0c9a1 chore: update clippy ci command 2025-01-15 23:25:04 +01:00
Jorge Hermo
15f7928551 chore: enable all features in clippy ci and fix more clippy lints 2025-01-15 23:23:12 +01:00
Jorge Hermo
f6655b38c4 chore: remove TODO 2025-01-15 22:40:13 +01:00
Jorge Hermo
f38da70920 chore: remove TODO 2025-01-15 22:38:49 +01:00
Jorge Hermo
71c9a1c9e3 chore: remove TODO 2025-01-15 22:35:56 +01:00
Jorge Hermo
8de42faa41 chore: remove TODO 2025-01-15 22:34:23 +01:00
Jorge Hermo
ac48be4ff1 chore: remove TODO 2025-01-15 22:32:00 +01:00
Jorge Hermo
cd16a19167 Merge with main 2025-01-15 22:12:42 +01:00
Jorge Hermo
fa8eb9549a Merge with main 2025-01-15 22:10:35 +01:00
Pekka Enberg
2aaa981b18 Merge 'Initial implementation of Statement::bind_at' from Levy A.
Resolves #607.
- [x] Index parameters.
- [x] Named parameters.
- [x] Parameter count.
- [ ] More tests.
- [ ] Expose to Sqlite3 API.

Closes #675
2025-01-15 22:52:56 +02:00
Levy A.
9b8722f38e refactor: more well rounded implementation
`?0` parameters are now handled by the parser.
2025-01-15 16:53:26 -03:00
Levy A.
5de2694834 feat: more parameter support
add `Statement::{parameter_index, parameter_name, parameter_count,
bind_at}`. some refactoring is still needed, this is quite a rough
iteration
2025-01-15 16:51:04 -03:00
Levy A.
d3582a382f fix: small bugs 2025-01-15 16:51:04 -03:00
Levy A.
6e0ce3dd01 chore: cargo fmt 2025-01-15 16:51:04 -03:00
Levy A.
08c8c655e9 feat: initial implementation of Statement::bind 2025-01-15 16:51:04 -03:00
Pekka Enberg
b589203fea Merge 'Fix MustBeInt opcode semantics' from Vrishabh
In sqlite3 , we can create primary key with only integer column and
during insert we can pass any value which can be parsed into integer as
shown below. When I tried the same with limbo, it failed. The cause of
this was due to MustBeInt opcode behaviour not aligned with sqlite. This
PR aims to fix it.
Sqlite output
```
SQLite version 3.45.3
sqlite> create table temp (t1 integer, primary key (t1));
sqlite> insert into temp values (1),(2.0),('3'),('4.0');
sqlite> select * from temp;
1
2
3
4
```
Limbo output main branch
```
limbo>     create table temp (t1 integer, primary key (t1));
limbo>     insert into temp values (1),(2.0),('3'),('4.0');
Parse error: MustBeInt: the value in the register is not an integer
limbo>     select * from temp;
1
```
Limbo output with this PR
```
limbo> create table temp (t1 integer, primary key (t1));
limbo> insert into temp values (1),(2.0),('3'),('4.0');
limbo> select * from temp;
1
2
3
4
```

Closes #706
2025-01-15 21:14:54 +02:00
psvri
845de125db Align MustBeInt logic with sqlite 2025-01-16 00:09:45 +05:30
Pekka Enberg
f7af8150d2 Merge 'Simulator: show inner error if any' from Jussi Saurio
Seed 16184573510628167771 in git hash 7c549bc produces a missing row
error, but the underlying error is `Parse error: table
breathtaking_dimitrakis not found`, which was not obvious without
exposing the error in the message the simulator prints on assertion
failure.
This PR just exposes the inner error, if any.

Closes #704
2025-01-15 19:45:49 +02:00