Pekka Enberg
2f428b7dcc
Merge 'Fix overwrite cell with size less than cell size' from Pere Diaz Bou
...
We cannot simply paste a new payload into a cell with a payload with
less size because we need to track fragmentation + free blocks. Let's
keep it simple by only overwriting if size is the same.
Btw I feel like update is not re-entrant.
Reviewed-by: Preston Thorpe (@PThorpe92)
Closes #1301
2025-04-11 07:17:53 +03:00
Pere Diaz Bou
745c2b92d0
unnecessary dirty set on overwrite
2025-04-10 22:24:15 +02:00
Pere Diaz Bou
038d78f096
overwrite when payload is equal size as current cell only
...
Prevoiusly we would overwrite even though size less than cell size. This
was wrong because it didn't update any fragment size or free blocks it
could. To be safe let's just overwrite only if local size is the same
amount.
2025-04-10 22:24:15 +02:00
Pere Diaz Bou
506c1a236c
find_free_cell fix use of no_offset writes
2025-04-10 22:24:15 +02:00
Pekka Enberg
17b206297e
Merge 'Emit ANSI codes only when tracing is outputting to terminal' from Preston Thorpe
...
Reviewed-by: Jussi Saurio <jussi.saurio@gmail.com >
Closes #1289
2025-04-10 20:54:21 +03:00
Pekka Enberg
ef893da6c7
Merge 'core/btree: Add PageContent::new() helper' from Pekka Enberg
...
Reviewed-by: Jussi Saurio <jussi.saurio@gmail.com >
Closes #1294
2025-04-10 20:53:41 +03:00
Pekka Enberg
a27126cd05
Merge 'B-Tree code cleanups' from Pekka Enberg
...
Reviewed-by: Pere Diaz Bou <pere-altea@homail.com >
Closes #1290
2025-04-10 20:53:33 +03:00
Pekka Enberg
1d748de273
Merge 'btree index selection on rightmost pointer in balance_non_root' from Pere Diaz Bou
...
Reviewed-by: Jussi Saurio <jussi.saurio@gmail.com >
Closes #1297
2025-04-10 18:39:51 +03:00
Pekka Enberg
712a4caa22
stress: Fix per-thread query generation
2025-04-10 18:39:20 +03:00
Pere Diaz Bou
62d0febdb6
panic on corruption
2025-04-10 16:01:24 +02:00
Pere Diaz Bou
b35d805a81
tracing lock stress
2025-04-10 16:01:24 +02:00
Pere Diaz Bou
8e93471d00
fix cell index selection while balancing
...
Cell index doesn't move in `move_to` unless we don't need to check next
cell. On the other hand, with rightmost pointer, we advance cell index
by 1 even though where we are moving to was to that page
2025-04-10 16:01:24 +02:00
Pere Diaz Bou
4755acb571
init tracing in stress tool
2025-04-10 16:01:24 +02:00
Pere Diaz Bou
0c4e56ecf9
Merge 'Add support to load log file with stress test' from Pere Diaz Bou
...
run with: `RUST_BACKTRACE=1 cargo run -p limbo_stress -- -t 1 -l`
and then if you want to repeat same plan: `RUST_BACKTRACE=1 cargo run -p
limbo_stress -- -t 1 -L`
Closes #1296
2025-04-10 16:01:11 +02:00
Pere Diaz Bou
cdcbcafbdd
clipppy
2025-04-10 13:46:40 +02:00
Pere Diaz Bou
f795a9e331
Add support to load log file with stress test
2025-04-10 13:41:10 +02:00
Jussi Saurio
579d04f521
Merge 'io/linux: make syscallio the default (io_uring is really slow)' from Jussi Saurio
...
context: https://github.com/tursodatabase/limbo/issues/1275
Reviewed-by: Pere Diaz Bou <pere-altea@homail.com >
Closes #1295
2025-04-10 13:55:06 +03:00
Jussi Saurio
60a13c129f
io/linux: make syscallio the default (io_uring is really slow)
2025-04-10 13:32:26 +03:00
Pekka Enberg
53633e8b6f
core/btree: Add PageContent::new() helper
2025-04-10 13:14:38 +03:00
Pekka Enberg
6ffa9cf56a
Merge 'Stress improvements' from Pekka Enberg
...
Closes #1292
2025-04-10 12:18:53 +03:00
Pekka Enberg
277efeb5ee
Merge 'VDBE code cleanups' from Pekka Enberg
...
Closes #1291
2025-04-10 12:10:22 +03:00
Pekka Enberg
3fd378cf9f
Fix Antithesis Dockerfile to include JavaScript bindings
2025-04-10 12:08:31 +03:00
Pekka Enberg
441cd637b5
stress: Make database file configurable
2025-04-10 11:59:25 +03:00
Pekka Enberg
c4d983bcfe
stress: Log SQL statements to a file
2025-04-10 11:59:25 +03:00
Pekka Enberg
39cee1b146
stress: Increase default number of iterations
2025-04-10 11:59:25 +03:00
Pekka Enberg
f50662205e
stress: Fix schema creation
2025-04-10 11:59:25 +03:00
Pekka Enberg
207563208f
stress: Add support for INSERT, DELETE, and UPDATE
2025-04-10 11:59:25 +03:00
Pekka Enberg
6aaa105321
stress: Add schema generation support
2025-04-10 11:43:32 +03:00
Pekka Enberg
31f0d174d7
core/vdbe: Move exec_*() funtions to execute.rs
2025-04-10 09:42:03 +03:00
Pekka Enberg
3fd51cdf06
core/vdbe: Move Insn implementation close to struct definition
2025-04-10 09:28:43 +03:00
Pekka Enberg
5906d7971a
core/vdbe: Clean up imports
2025-04-10 09:25:15 +03:00
Pekka Enberg
a7fa7f7c62
core/btree: Unify debug() tracing
2025-04-10 08:39:07 +03:00
Pekka Enberg
761c03f7c5
core/btree: Clean up B-Tree offset comments
2025-04-10 08:27:55 +03:00
Pekka Enberg
86a4d3e33b
core/btree: Move B-Tree header offsets in a module
...
The grouping (with a fancy comment) makes the code a bit more readable.
2025-04-10 08:19:08 +03:00
Pekka Enberg
11782cbff8
core/btree: Clean up imports
2025-04-10 07:52:10 +03:00
PThorpe92
5643a0abba
Dont emit ansi codes when outputting logs to a file
2025-04-09 19:31:35 -04:00
Pekka Enberg
b6718471ce
Merge 'Fix EXPLAIN to be case insensitive' from Pedro Muniz
...
Closes #1286
Closes #1287
2025-04-09 20:23:09 +03:00
pedrocarlo
94217319a2
Fix Explain to be case insensitive
2025-04-09 14:21:18 -03:00
Pekka Enberg
e21e2b5449
Merge 'core: Fix syscall VFS on Linux' from Pekka Enberg
...
Fix the syscall VFS on Linux not to use `PlatformIO`, which is just an
alias for `io_uring`.
Reviewed-by: Jussi Saurio <jussi.saurio@gmail.com >
Closes #1285
2025-04-09 19:38:45 +03:00
Pekka Enberg
2d009083ba
core: Fix syscall VFS on Linux
...
Fix the syscall VFS on Linux not to use `PlatformIO`, which is just an
alias for `io_uring`.
2025-04-09 19:27:58 +03:00
Pekka Enberg
a6e32c95d7
Merge 'Support UPDATE for virtual tables' from Preston Thorpe
...
closes #1144
Reviewed-by: Jussi Saurio <jussi.saurio@gmail.com >
Closes #1169
2025-04-09 18:21:10 +03:00
PThorpe92
f223e66c82
Remove unused mut and fix merge conflict issues
2025-04-09 11:15:04 -04:00
PThorpe92
13ae19c78c
Remove unnecessary clones from mc cursors
2025-04-09 11:15:04 -04:00
PThorpe92
62d1447cd6
Adapt query plan to handle vatbs for updates
2025-04-09 11:15:02 -04:00
PThorpe92
0ffecb3021
Add comments to document update on vtabs
2025-04-09 11:06:41 -04:00
PThorpe92
7993857020
Add py tests for vtab update behavior
2025-04-09 11:06:41 -04:00
PThorpe92
b685086cad
Support UPDATE for virtual tables
2025-04-09 11:06:41 -04:00
PThorpe92
2d7a27fbfa
Prevent panic in extension by out of bounds cursor idx
2025-04-09 11:06:40 -04:00
Pekka Enberg
0336783831
Merge 'Add .timer command to print SQL execution statistics' from Pere Diaz Bou
...
```
Limbo v0.0.19-pre.4
Enter ".help" for usage hints.
limbo> .timer on
limbo> select count(1) from users;
┌───────────┐
│ count (1) │
├───────────┤
│ 10000 │
└───────────┘
Command stats:
----------------------------
total: 35 ms (this includes parsing/coloring of cli app)
query execution stats:
----------------------------
Execution: avg=16 us, total=33 us
I/O: avg=123 ns, total=3 us
limbo> select 1;
┌───┐
│ 1 │
├───┤
│ 1 │
└───┘
Command stats:
----------------------------
total: 282 us (this includes parsing/coloring of cli app)
query execution stats:
----------------------------
Execution: avg=2 us, total=4 us
I/O: No samples available
```
Closes #1281
2025-04-09 17:58:48 +03:00
Pere Diaz Bou
2316d7ebf1
add .timer command with fine grained statistics about limbo
...
```
Limbo v0.0.19-pre.4
Enter ".help" for usage hints.
limbo> .timer on
limbo> select count(1) from users;
┌───────────┐
│ count (1) │
├───────────┤
│ 10000 │
└───────────┘
Command stats:
----------------------------
total: 35 ms (this includes parsing/coloring of cli app)
query execution stats:
----------------------------
Execution: avg=16 us, total=33 us
I/O: avg=123 ns, total=3 us
limbo> select 1;
┌───┐
│ 1 │
├───┤
│ 1 │
└───┘
Command stats:
----------------------------
total: 282 us (this includes parsing/coloring of cli app)
query execution stats:
----------------------------
Execution: avg=2 us, total=4 us
I/O: No samples available
```
2025-04-09 16:31:08 +02:00