PThorpe92
661c74e338
Apply new planner structure to virtual table impl
2025-02-06 09:15:28 -05:00
Jussi Saurio
f5f77c0bd1
Initial virtual table implementation
2025-02-06 07:51:50 -05:00
Pekka Enberg
c210821100
core: Move result row to ProgramState
...
Move result row to `ProgramState` to mimic what SQLite does where `Vdbe`
struct has a `pResultRow` member. This makes it easier to deal with result
lifetime, but more importantly, eventually lazily parse values at the edges of
the API.
2025-02-06 11:52:26 +02:00
Pekka Enberg
7967cc5efc
core: Kill Rows wrapper struct
...
It's just an useless wrapper, kill it.
2025-01-26 16:27:19 +02:00
Jorge López
86a4714711
syntactic changes: remove unneeded paths when the type is already imported
2025-01-18 18:29:12 +01:00
Jussi Saurio
1b61749c0f
feat/core/translate: create automatic index in CREATE TABLE when necessary
2025-01-04 13:54:44 +02:00
PThorpe92
f6cd707544
Add clippy CI, fix or ignore warnings where appropriate
2024-12-29 10:25:41 -05:00
Pekka Enberg
f2ecebc357
Rename RowResult to StepResult
...
The name "row result" is confusing because it really *is* a result from
a step() call. The only difference is how a row is represented as we
return from VDBE or from a statement.
Therefore, rename RowResult to StepResult.
2024-12-27 10:20:41 +02:00
Pere Diaz Bou
aed14117c9
core: transaction support
2024-12-24 18:04:30 +01:00
jussisaurio
80d438ba58
Merge 'Handle all SQLite quoting syntax' from Kacper Madej
...
This PR adds missing SQLite quoting syntax:
https://sqlite.org/lang_keywords.html
Closes #483
Closes #497
```bash
➜ limbo git:(missing-quoting) ✗ cargo run --package limbo --bin limbo home.db
Limbo v0.0.9
Enter ".help" for usage hints.
limbo> select * from home limit 1;
Documents|dir|280|2024-10-13 06:26:05.605048960+02:00
limbo> select * from [home] limit 1;
Documents|dir|280|2024-10-13 06:26:05.605048960+02:00
limbo> select * from `home` limit 1;
Documents|dir|280|2024-10-13 06:26:05.605048960+02:00
limbo> select * from "home" limit 1;
Documents|dir|280|2024-10-13 06:26:05.605048960+02:00
```
Closes #492
2024-12-19 17:00:23 +02:00
Pekka Enberg
e93ac38e55
Add statement interruption support
...
This adds an interrupt() method to Statement that allows apps to
interrupt a running statement. Please note that this is different from
`sqlite3_interrupt()` which interrupts all ongoing operations in a
database. Although we want to support that too, per statement interrupt
is much more useful to apps.
2024-12-19 12:30:32 +02:00
Kacper Madej
9e01c22a5e
Handle quoting identifiers properly
2024-12-18 19:45:06 +01:00
PThorpe92
1833dcb618
Shrink shell help msg and replace hardcoded path for shell tests
2024-12-16 20:14:04 -05:00
PThorpe92
66c44a021f
Move ast expr equality check out of vendored, remove allocs and add cases
2024-12-16 19:39:06 -05:00
Pere Diaz Bou
090615b289
create btree table + parse schema
2024-11-16 16:24:28 +01:00
Piotr Jastrzebski
9ddb0befc4
Add has_rowid field to BTreeTable
...
Signed-off-by: Piotr Jastrzebski <haaawk@gmail.com>
2024-07-07 14:32:28 +02:00
Piotr Jastrzebski
81cf0430de
Improve normalize_ident
...
Signed-off-by: Piotr Jastrzebski <haaawk@gmail.com>
2024-07-07 13:05:00 +02:00
Piotr Jastrzebski
5eea420994
Simplify normalize_ident
...
Signed-off-by: Piotr Jastrzebski <haaawk@gmail.com>
2024-07-07 12:46:09 +02:00
Piotr Jastrzebski
83c7e7bd95
Remove unneeded allocation
...
Signed-off-by: Piotr Jastrzebski <haaawk@gmail.com>
2024-07-07 12:45:49 +02:00
Pekka Enberg
307fed0848
Format source code with cargo fmt
2024-07-03 11:38:12 +03:00
Pere Diaz Bou
9242e5c671
core: fix agg function uppercase parsing
...
Signed-off-by: Pere Diaz Bou <pere-altea@hotmail.com>
2024-07-03 08:56:30 +02:00