Commit Graph

638 Commits

Author SHA1 Message Date
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
037e260682 core: add cacheflush in cli query 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
0c703a228d testing: Make individual test files executable
Each test file is standalone to make it easy to run just some specific
tests. However, some of the files didn't have the executable bit.
2024-07-29 09:41:40 +03:00
Pekka Enberg
86e8a90475 Merge pull request #245 from penberg/process-where-before-opening-loops 2024-07-28 18:58:20 +03:00
Pekka Enberg
2b7c350676 Merge pull request #246 from macroexpansion/feature/add-rtrim-scalar-function 2024-07-28 18:30:09 +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
Jussi Saurio
9a50d53fcb Merge pull request #244 from penberg/fold-columns
core: Fold columns into column_info in Select struct
2024-07-28 10:50:57 +03:00
Pekka Enberg
93d88d6cca core: Fold columns into column_info in Select struct
As a cleanup, fold the columns struct member into column_info by
introducing a `raw_column` in `ColumnInfo` struct.
2024-07-28 10:01:48 +03:00
Pekka Enberg
7d94d228e2 core: Fix error messages for unsupported SQL statements
Let's be a little bit more friendly towards users...
2024-07-28 09:46:59 +03:00
Pekka Enberg
ccf76aac54 Merge pull request #237 from penberg/optimize-constant-conditions 2024-07-27 22:56:56 +03:00
jussisaurio
769bf51d13 rename 2024-07-27 16:48:59 +03:00
jussisaurio
6f879c3e79 Amend code comment explaining 'early_terminate_label' 2024-07-27 16:48:01 +03:00
jussisaurio
fee33cfcf0 Rename ljbk to left_join and left_join_bookkeeping to left_join_maybe 2024-07-27 16:38:47 +03:00
Pekka Enberg
877dc76ee9 Update COMPAT.md 2024-07-27 16:06:00 +03:00
Pekka Enberg
0256de7bad Merge pull request #238 from macroexpansion/feature/add-ltrim-scalar-function 2024-07-27 15:57:48 +03:00
macroexpansion
750f18be35 feat: add ltrim scalar function 2024-07-27 19:46:27 +07:00
jussisaurio
700d9ee976 Optimize constant conditions 2024-07-27 15:08:30 +03:00