Commit Graph

621 Commits

Author SHA1 Message Date
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
Pekka Enberg
f34141f725 Merge pull request #236 from penberg/in-list 2024-07-27 12:41:45 +03:00
jussisaurio
19a69e5970 Don't evaluate left side of 'x IN (...)' if right side is empty 2024-07-27 10:55:34 +03:00
jussisaurio
183e0173cd Rename to talk about true/false conditions instead of success/failure 2024-07-27 10:54:03 +03:00
Pekka Enberg
1c817b5059 Merge pull request #235 from mvares/mvares/docs 2024-07-26 20:13:58 +03:00
jussisaurio
016379fea4 core/translate: #154: implement WHERE IN (...) 2024-07-26 18:13:05 +03:00
Miguel Oliveira
ba9977957b add docs to pager 2024-07-26 11:27:19 -03:00
Pekka Enberg
3597089b26 Merge pull request #234 from jussisaurio/fix-216-order-by-column-number
Implement #216: order by column number
2024-07-26 14:55:34 +03:00
jussisaurio
e3cc3da7ca Implement #216: order by column number 2024-07-26 14:35:33 +03:00
Pekka Enberg
a1093501a0 Merge pull request #232 from penberg/module-docs
core: Add module-level docs for translate and vdbe
2024-07-26 12:27:57 +03:00
Pekka Enberg
35dff7ca2c core: Add module-level docs for translate and vdbe
Let's add module-level documentation for the code generator in
`translate` and the virtual machine in `vdbe`, which are two major
subsystems in the database engine that developers work on mostly.
2024-07-26 10:23:47 +03:00
Pekka Enberg
adf4b64e1e Merge pull request #231 from penberg/fix-do_execsql_test
testing: Fix do_execsql_test() for JSON
2024-07-26 09:55:19 +03:00
Pekka Enberg
5251f7a2f8 testing: Fix do_execsql_test() for JSON
The current scheme of combining SQL statements corrupts JSON by dropping
the curly braces. Fix the issue by passing the SQL statement almost as-is
to the database. However, for ".schema" to work, we need to trim extra
whitespace.
2024-07-26 09:48:48 +03:00
Pekka Enberg
0d5b4814ad Update CHANGELOG.md 2024-07-25 21:24:29 +03:00
Pekka Enberg
3290b0a168 Merge pull request #228 from penberg/select-cleanups 2024-07-25 21:14:53 +03:00
Pekka Enberg
ec6f0224ef Merge pull request #224 from ethanniser/add-unicode 2024-07-25 20:37:39 +03:00
Ethan Niser
aa6531f802 add unicode scalar function 2024-07-25 10:05:41 -07:00
Pekka Enberg
9dd505803f core: Move SortInfo to select.rs
It's the only place where it's used.
2024-07-25 17:47:17 +03:00