Commit Graph

189 Commits

Author SHA1 Message Date
PThorpe92
f6cd707544 Add clippy CI, fix or ignore warnings where appropriate 2024-12-29 10:25:41 -05:00
김선우
ad2d515ffd Merge branch 'main' into feature/delete-planning 2024-12-27 23:21:35 +09:00
Pekka Enberg
9680471876 core: Remove unreachable pragma patterns 2024-12-27 10:55:31 +02:00
김선우
906975e1ca Add limit support 2024-12-24 12:25:04 +09:00
jussisaurio
b57a95752c core/btree: improve documentation 2024-12-22 23:05:25 +02:00
김선우
57c7a56e35 Apply fmt, clippy 2024-12-22 14:27:21 +09:00
김선우
9a8b94ef93 First successful implementation of delete planning 2024-12-22 13:16:16 +09:00
Raul Ferrando
d74012bb59 fix pragma parsing potential errors 2024-12-18 17:26:16 +01:00
Raul Ferrando
a6d1a7cb56 pragma: inital approach to handle pragma statements
This change refactors how PRAGMA statements are handled, introducing a
more organized and extensible structure to simplify adding new PRAGMA
properties in the future.

Previously, only the `cache_size` PRAGMA was supported. With this
update, support for the `journal_mode` PRAGMA has been added.
2024-12-18 17:26:16 +01:00
PThorpe92
66c44a021f Move ast expr equality check out of vendored, remove allocs and add cases 2024-12-16 19:39:06 -05:00
PThorpe92
25772ee1f3 Implement custom expression equality checking 2024-12-16 19:39:05 -05:00
Pere Diaz Bou
d1dee484df properly format table and "if not exists" support 2024-11-16 17:02:53 +01:00
Pere Diaz Bou
090615b289 create btree table + parse schema 2024-11-16 16:24:28 +01:00
Pekka Enberg
fc5e42bb94 CREATE TABLE support 2024-11-16 13:07:10 +01:00
Pere Diaz Bou
c0e51c4ca6 wip wal 2024-11-05 15:29:53 +01:00
Pere Diaz Bou
c8e5673f7a core: constraint check uniqueness 2024-09-20 11:45:55 +02:00
jussisaurio
2e32ca0bdb More structured query planner 2024-08-16 19:42:03 +03:00
Pekka Enberg
f8a43361db core: Move pager.rs to storage module 2024-08-01 11:52:50 +03:00
Pere Diaz Bou
e6f8b34f2b core: insert_to_page almost complete 2024-07-31 17:27:02 +02:00
Pere Diaz Bou
bbed54d11c core: basic op explain insert 2024-07-31 17:23:16 +02: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
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
9dd505803f core: Move SortInfo to select.rs
It's the only place where it's used.
2024-07-25 17:47:17 +03:00
Pekka Enberg
b25f63f360 core: Move LimitInfo to select.rs
That's the only place where it's used.
2024-07-25 17:47:17 +03:00
Pekka Enberg
16e0e740df core: Rename build_select() to prepare_select()
Let's follow SQLite's naming here.
2024-07-25 17:47:17 +03:00
Pekka Enberg
351242561d Kill anyhow usage
Switch anyhow to explicit `LimboError` type using thiserror crate, which
lets us make error handling more structured.
2024-07-25 17:15:08 +03:00
Pekka Enberg
be392d1a4c core: Move translate_select() to select.rs 2024-07-24 21:20:15 +03:00
Pekka Enberg
be91b9aaca core: Move build_select() to select.rs 2024-07-24 21:13:08 +03:00
Ethan Niser
07d6ebef24 rename SingleRow -> Scalar 2024-07-24 08:53:47 -07:00
jussisaurio
1117aeef74 ORDER BY: support nullable sorting columns and qualified identifiers 2024-07-24 15:27:55 +03:00
Pekka Enberg
0cb993e152 Merge pull request #204 from jussisaurio/multi-way-join
Refactor join processing / support multiway joins
2024-07-24 11:06:32 +03:00
jussisaurio
588ab1af06 Run formatting and enforce formatting in CI 2024-07-23 23:14:36 +03:00
jussisaurio
84cf4033d5 Refactor join processing
- Make all constraints a list of WhereTerms in a ProcessedWhereClause
- Support multiple joins instead of just one
2024-07-23 15:04:40 +03:00
Pekka Enberg
8f00888a6c core: Move ProgramBuilder to vdbe/builder module 2024-07-23 14:30:31 +03:00
Bennett Clement
0bf0b41692 Use case insensitive lookup for table and column 2024-07-22 16:27:36 +08:00
Pekka Enberg
a5dd8fd92c core: Move select.rs to translate/ 2024-07-21 20:36:56 +03:00
Pekka Enberg
8ce67768e3 core: Move where_clause.rs to translate/ 2024-07-21 20:36:56 +03:00
Pekka Enberg
fee1530ea6 core: Move expr.rs to translate/ 2024-07-21 20:36:56 +03:00
Pekka Enberg
25228f44dc core: Rename translate.rs as translate/mod.rs
In preparation for moving more things under `translate` module.
2024-07-21 20:36:56 +03:00