Jussi Saurio
358fda2ec7
sqlite3-parser: box the create table body
2025-02-09 12:42:53 +02:00
Jussi Saurio
d177f6195b
sqlite3-parser: box big members of createindex
2025-02-09 12:34:53 +02:00
Jussi Saurio
4faadd86b0
sqlite3-parser: box the InsertBody
2025-02-08 18:10:26 +02:00
Jussi Saurio
781aa3b5d6
sqlite3-parser: box the having clause in GroupBy
2025-02-08 18:10:26 +02:00
Jussi Saurio
2a82091cb3
sqlite3-parser: box the where clause in Update
2025-02-08 18:10:26 +02:00
Jussi Saurio
7426204204
sqlite3-parser: box Following and Preceding in FrameBound
2025-02-08 18:10:26 +02:00
Jussi Saurio
ac7f9d67b7
sqlite3-parser: box large members of Upsert
2025-02-08 18:10:25 +02:00
Jussi Saurio
f341474fee
sqlite3-parser: box large members of CreateTrigger
2025-02-08 18:10:25 +02:00
Jussi Saurio
0dba39b025
sqlite3-parser: box everything in Attach
2025-02-08 18:10:25 +02:00
Jussi Saurio
670dac5939
sqlite3-parser: box the where clause in Delete
2025-02-08 18:10:25 +02:00
Glauber Costa
a3387cfd5f
implement the pragma page_count
...
To do that, we also have to implement the vdbe opcode Pagecount.
2025-02-01 19:39:46 -05:00
Glauber Costa
b37317f68b
avoid allocations during pragma_list
...
If we keep the pragma list sorted when declaring it, we can avoid
a vector allocation when printing the pragma_list.
2025-01-31 11:35:51 -05:00
Glauber Costa
62efbde661
use strum package to simplify PragmaName enum management
...
The pragma list will only grow. The strum crate can be used to:
* automatically convert to string from enum
* automatically convert to enum from string
* implement an iterator over all elements of the enum
2025-01-31 06:44:56 -05:00
Glauber Costa
016b815b59
implement pragma table_info
...
Both () and = variants covered. It is important to make sure that
the transaction is a read transaction, so we cannot hide all that logic
inside update_pragma, and have to make our decision before that.
2025-01-30 20:00:20 -05:00
sonhmai
66d6291f32
add scaffolding for supporting wal checkpoint
2025-01-20 08:34:13 +07:00
Kould
5305a9d0fd
feat: support keyword rowid
2025-01-14 22:41:40 +08:00
Pekka Enberg
3bfc4ce820
sqlite3-parser: Use trace-level logging for syntax errors
...
Spamming the error logs for syntax errors is not nice for a library...
2025-01-05 21:12:01 +02:00
Jussi Saurio
97eae13d0a
boxed limit (by ignatz)
2025-01-05 13:51:02 +02:00
Jussi Saurio
f5540e9602
boxed select and selectbody (by gwenn and jussisaurio)
2025-01-05 13:50:32 +02: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
2f647001bc
Add cases to expr equality check, normalize numeric strings
2024-12-16 19:39:06 -05:00
PThorpe92
25772ee1f3
Implement custom expression equality checking
2024-12-16 19:39:05 -05:00
PThorpe92
d5391dc716
Add vdbe bitwise operators: and, or, not
2024-12-11 11:06:22 -05:00
jussisaurio
cc902ed25d
GROUP BY and ORDER BY mostly work
2024-11-26 17:31:51 +02:00
jussisaurio
3f9e60633f
select refactor: order by and basic agg kinda work
2024-11-26 17:31:51 +02:00
jussisaurio
d0466e1cae
introduce Column member of ast::Expr and bind idents to columns
2024-11-26 17:31:51 +02:00
jussisaurio
3cc9d9d79f
vendor sqlite3-parser (lemon-rs)
2024-11-16 20:08:59 +02:00