jussisaurio
97dfae437c
SeekRowid VM instruction
2024-08-01 17:23:59 +03:00
jussisaurio
d965998cdf
btree_seek_rowid() implementation
2024-08-01 17:23:59 +03:00
Pekka Enberg
0bf12ec1b3
core: Move buffer_pool.rs to storage module
2024-08-01 11:53:14 +03:00
Pekka Enberg
ed1c23bfe6
core: Move wal.rs to storage module
2024-08-01 11:52:50 +03:00
Pekka Enberg
f8a43361db
core: Move pager.rs to storage module
2024-08-01 11:52:50 +03:00
Pekka Enberg
7abc48303f
core: Move btree.rs to storage module
2024-08-01 11:52:50 +03:00
Pekka Enberg
307cd71b11
core: Rename storage.rs to storage/mod.rs
...
Prepare for moving more code under storage module.
2024-08-01 11:52:50 +03:00
Pekka Enberg
957cc383c8
core: Fix module documentation format in sqlite3_ondisk.rs
2024-08-01 11:52:18 +03:00
Pekka Enberg
73bdf1671f
Initial pass on WAL reader
...
These are mostly just stubs for now, but at least we have some code in
place as reminder what we need.
2024-08-01 11:31:17 +03:00
Pekka Enberg
e88e57f9ba
Merge 'Random clippy cleanups' from Pekka Enberg
...
Closes #253
2024-08-01 10:22:25 +03:00
Pekka Enberg
8c474870c1
core: Eliminate redundant casts
2024-08-01 09:25:25 +03:00
Pekka Enberg
82ff5b9c9b
core: Remove useless use of format!()
2024-08-01 09:16:02 +03:00
sonhmai
789ae4becf
feat: add time() scalar function partial support without modifier #158
2024-08-01 13:06:07 +07:00
Pekka Enberg
8f6a2fc814
core: Fix I/O compliation on Windows
...
...just steal the generic implementation of pread() and pwrite().
2024-07-31 19:58:37 +03:00
Pekka Enberg
e00690bf9b
core: Fix I/O build on Darwin
2024-07-31 19:52:59 +03:00
Pere Diaz Bou
b8e08dcdc4
core: more2 fix completion darwin io
2024-07-31 18:07:22 +02:00
Pere Diaz Bou
10da6a673d
core: more fix completion darwin io
2024-07-31 18:04:26 +02:00
Pere Diaz Bou
38c407a286
core: fix completion darwin io
2024-07-31 18:01:38 +02:00
Pere Diaz Bou
82ee0e4a00
core: fix completion generic io
2024-07-31 17:58:45 +02:00
Pere Diaz Bou
2b221d2b3c
fix conflicts
...
Signed-off-by: Pere Diaz Bou <pere-altea@hotmail.com >
2024-07-31 17:38:33 +02:00
Pere Diaz Bou
8810a5c11e
core: fix move_to replace cursor current page
...
Signed-off-by: Pere Diaz Bou <pere-altea@hotmail.com >
2024-07-31 17:27:02 +02:00
Pere Diaz Bou
8c654adc50
core: fix propagation of key to top
...
Signed-off-by: Pere Diaz Bou <pere-altea@hotmail.com >
2024-07-31 17:27:02 +02:00
Pere Diaz Bou
836aa6ee07
core: fix split cells to right page
2024-07-31 17:27:02 +02:00
Pere Diaz Bou
68e7a062a4
core: fix defragmentation
...
Signed-off-by: Pere Diaz Bou <pere-altea@hotmail.com >
2024-07-31 17:27:02 +02:00
Pere Diaz Bou
61cfad203e
core: balance
2024-07-31 17:27:02 +02:00
Pere Diaz Bou
dac2868c66
core: pager allocate page
2024-07-31 17:27:02 +02:00
Pere Diaz Bou
35c3fe7448
core: refactor page in memory representation
2024-07-31 17:27:02 +02:00
Pere Diaz Bou
20dc068a9d
core: don't traverse twice
2024-07-31 17:27:02 +02:00
Pere Diaz Bou
3b9f5aa511
core: implement exists
2024-07-31 17:27:02 +02:00
Pere Diaz Bou
b6468f11e7
core: clear dirty on finish write
...
Signed-off-by: Pere Diaz Bou <pere-altea@hotmail.com >
2024-07-31 17:27:02 +02:00
Pere Diaz Bou
d088640855
core: cqe result
...
Signed-off-by: Pere Diaz Bou <pere-altea@hotmail.com >
2024-07-31 17:27:02 +02:00
Pere Diaz Bou
cfeddeaadf
core: fix payload serialization
2024-07-31 17:27:02 +02:00
Pere Diaz Bou
84bf0ea96a
core: remove a bunch of warnings
...
Signed-off-by: Pere Diaz Bou <pere-altea@hotmail.com >
2024-07-31 17:27:02 +02:00
Pere Diaz Bou
463292c2fe
core: fix rebase errors
2024-07-31 17:27:02 +02:00
Pere Diaz Bou
845a1ea175
core: cacheflush and fix *Completion casting
2024-07-31 17:27:02 +02:00
Pere Diaz Bou
7846a3b29c
core: fix calculation of record header size varint
2024-07-31 17:27:02 +02:00
Pere Diaz Bou
e6f8b34f2b
core: insert_to_page almost complete
2024-07-31 17:27:02 +02:00
Pere Diaz Bou
1820761335
core: serialize record
2024-07-31 17:27:02 +02:00
Pere Diaz Bou
661573f2bd
core: write_varint
2024-07-31 17:27:02 +02:00
Pere Diaz Bou
4474317aa8
core: compute free space
2024-07-31 17:27:02 +02:00
Pere Diaz Bou
bbf238a6a4
core/io: save raw buffers on page
...
necessary for future lazy addressing of values and writes to page data
2024-07-31 17:27:02 +02:00
Pere Diaz Bou
a09f3485f9
core: fix op generation
2024-07-31 17:27:02 +02:00
Pere Diaz Bou
6db82abf63
core: move_to
2024-07-31 17:27:02 +02:00
Pere Diaz Bou
a441e5e302
core: new custom lru page cache
2024-07-31 17:27:02 +02:00
Pere Diaz Bou
6357e88b46
core: implement vdbe opcodes minus newrowid
2024-07-31 17:25:01 +02:00
Pere Diaz Bou
affe3443cc
core: vbde coroutine generation with rowid insert
2024-07-31 17:25:01 +02:00
Pere Diaz Bou
bbed54d11c
core: basic op explain insert
2024-07-31 17:23:16 +02:00
Pekka Enberg
86e8a90475
Merge pull request #245 from penberg/process-where-before-opening-loops
2024-07-28 18:58:20 +03:00
macroexpansion
918b99b7a3
feat: add RTRIM(X) and RTRIM(X,Y) scalar function
2024-07-28 21:17:53 +07:00
jussisaurio
a700d70281
Process where clause and joins before opening loops
...
This is background restructuring work to enable us to change the
loop order (or change the way a given loop is handled) based on
what the WHERE and JOIN clauses contain.
Changes:
- `process_where()` called before opening table loops
- Due to the above, `WhereTerm` now refers to table identifiers instead of
cursor IDs because the cursors have not been allocated yet at that point
- `ProcessedWhereClause` now contains a `loop_order`, which just defaults
to the order in the SQL query for now. In the future the loop order may
change depending on the query.
- `loops` removed from `Select` struct; a `LoopInfo` vector is now returned
from `translate_tables_begin()`
2024-07-28 13:07:11 +03:00