Pekka Enberg
0b9b6cfd29
Asynchronous I/O
2024-01-24 08:14:53 +02:00
Pekka Enberg
ae2f403838
core: Fix step() return path when page is under I/O
2024-01-12 17:35:55 +02:00
Pekka Enberg
e08d23a008
Implement LIMIT clause
...
Note that we handle `LIMIT 0` a bit different from SQLite, which just
detects the case and generates an unconditional jump doing nothing.
Fixes #3
2023-09-10 13:42:57 +03:00
Pekka Enberg
a2202ed31e
Implement reading primary key columns
2023-09-10 13:19:17 +03:00
Pekka Enberg
e38c816ee8
Move translate() into its own file
2023-09-10 12:37:17 +03:00
Pekka Enberg
f6f1f97171
Switch cursor lookup to use BTreeMap
...
We're storing integers into the HashMap, BTreeMap is faster because
it avoid the hash function. Furthermore, we expect only to have very few
cursors here anyway, so BTreeMap is perfect.
2023-09-02 20:59:22 +03:00
Pekka Enberg
942239fab1
Simplify ProgramState register allocation
...
...it's faster this way.
2023-09-02 20:55:20 +03:00
Pekka Enberg
ef0c4f69cc
Allocate vector with capacity
...
...reduces memory allocations.
2023-09-02 13:59:41 +03:00
Pekka Enberg
2c84aae66d
Fix instruction tracing performance
2023-09-02 13:55:26 +03:00
Pekka Enberg
37baae3ed7
Benchmark
2023-09-02 13:43:07 +03:00
Pekka Enberg
ae709f04fe
Make some opcodes wait for completion
2023-09-02 13:26:44 +03:00
Pekka Enberg
3ec9c0be7c
Implement ResultRow opcode
2023-09-02 11:40:11 +03:00
Pekka Enberg
6e748a066e
Register allocation
2023-09-02 08:52:30 +03:00
Pekka Enberg
fa51955b43
VDBE improvements
2023-09-02 08:46:01 +03:00
Pekka Enberg
4c64590a5c
Decouple Program and ProgramState
2023-09-02 08:18:05 +03:00
Pekka Enberg
14fb12ecdf
Translate SQL SELECT column values
2023-09-01 21:26:12 +03:00
Pekka Enberg
591e8df377
Disable tracing by default
2023-09-01 19:49:54 +03:00
Pekka Enberg
4b714311b5
Improve Column instruction
2023-08-31 22:05:05 +03:00
Pekka Enberg
b25f8c4daf
Implement Cursor::next()
2023-08-31 21:45:04 +03:00
Pekka Enberg
05621e3286
Cursors
2023-08-30 20:26:15 +03:00
Pekka Enberg
7c100ea217
Query sqlite_schema table
2023-08-29 19:46:07 +03:00
Pekka Enberg
b40438f778
Make EXPLAIN output more similar to SQLite
2023-08-27 21:21:42 +03:00
Pekka Enberg
9d7286bde0
Remove unused import
2023-08-27 21:19:43 +03:00
Pekka Enberg
6f1d03d64d
Look up columns from table schema
2023-08-27 21:18:17 +03:00
Pekka Enberg
3b53f48400
Look up table root page from schema
2023-08-27 21:11:49 +03:00
Pekka Enberg
2615cdce2c
Schema in-memory data structures
2023-08-27 20:40:35 +03:00
Pekka Enberg
fb72f9688b
Initial commit
2023-08-27 09:59:12 +03:00