jussisaurio
fe88d45e5e
Add more comments to push_predicate/push_predicates
2024-12-09 17:50:29 +02:00
jussisaurio
840caed2f7
Fix bug with multiway joins that include the same table multiple times
2024-12-09 17:50:29 +02:00
jussisaurio
7924f9b64d
consider all joined tables instead of just previous in natural/using
2024-12-09 17:50:29 +02:00
jussisaurio
81b6605453
support NATURAL JOIN
2024-12-09 17:50:29 +02:00
jussisaurio
bed932c186
Support join USING
2024-12-09 17:50:29 +02:00
Pekka Enberg
ba1f7cd16f
Merge 'feat(core/translate): support HAVING' from Jussi Saurio
...
support the HAVING clause.
note that sqlite (and i think standard sql?) supports HAVING even
without GROUP BY, but `sqlite3-parser` doesn't.
also fixes some issues with the PartialOrd implementation of OwnedValue
and the implementations of `concat` and `round` which i discovered due
to my HAVING tcl tests failing
Closes #420
2024-12-09 17:30:40 +02:00
jussisaurio
ca25a73c95
a little bit more explanation about left join handling
2024-11-30 20:54:22 +02:00
jussisaurio
83f8ea1b13
Fix bug with multiway joins and clean up left join implementation
2024-11-30 20:47:48 +02:00
jussisaurio
3f80e41e7a
support HAVING
2024-11-30 10:05:13 +02:00
jussisaurio
84742b81fa
Obsolete comment
2024-11-27 22:43:36 +02:00
jussisaurio
da811dc403
add doc comments for members of Plan struct
2024-11-27 19:30:07 +02:00
jussisaurio
db462530f1
metadata instead of m
2024-11-27 19:27:36 +02:00
jussisaurio
7d569aee1f
fix stupid comment
2024-11-26 18:37:06 +02:00
jussisaurio
1b34698872
add comments and rename some misleading label variables
2024-11-26 18:28:19 +02:00
jussisaurio
7f04f8e88f
rename
2024-11-26 17:41:08 +02:00
jussisaurio
122546444f
extract function order_by_sorter_insert()
2024-11-26 17:40:49 +02:00
jussisaurio
3d27ef90f5
emitting result columns generally works the same way -> extract it
2024-11-26 17:31:51 +02:00
jussisaurio
c74981873e
Extract ORDER BY result column deduping into a function
2024-11-26 17:31:51 +02:00
jussisaurio
89569fa7a3
Remove redundant if-else after refactoring ResultSetColumn to struct
2024-11-26 17:31:51 +02:00
jussisaurio
ac12e9c7fd
No need for ResultSetColumn to be an enum
2024-11-26 17:31:51 +02:00
jussisaurio
7d5fa12bb7
fix allocating wrong number of registers upfront for aggregation results
2024-11-26 17:31:51 +02:00
jussisaurio
56b15193d0
resolve aggregates from orderby as well
2024-11-26 17:31:51 +02:00
jussisaurio
885b6ecd76
Remove 'cursor_hint': it is never needed
2024-11-26 17:31:51 +02:00
jussisaurio
008be10cfd
Add TODO about expression equality comparisons
2024-11-26 17:31:51 +02:00
jussisaurio
cfb7e79601
Function doc comments
2024-11-26 17:31:51 +02:00
jussisaurio
fc33c70481
remove many unnecessary fields from SortMetadata and GroupByMetadata
2024-11-26 17:31:51 +02:00
jussisaurio
ebce78bcd9
rename
2024-11-26 17:31:51 +02:00
jussisaurio
0510e150d3
fix comment
2024-11-26 17:31:51 +02:00
jussisaurio
1c37d8b24b
extract function sorter_insert()
2024-11-26 17:31:51 +02:00
jussisaurio
4f3da982c0
extract function emit_result_row()
2024-11-26 17:31:51 +02:00
jussisaurio
52beeabd45
tweaks
2024-11-26 17:31:51 +02:00
jussisaurio
120601f732
fix metadata comments
2024-11-26 17:31:51 +02:00
jussisaurio
97ba4a788e
remove sorts hashmap - only one sortmetadata struct is needed
2024-11-26 17:31:51 +02:00
jussisaurio
d2f84edd2e
fix accidentally removing push_scan_direction()
2024-11-26 17:31:51 +02:00
jussisaurio
7ecc252507
fix rest of the failing tests
2024-11-26 17:31:51 +02:00
jussisaurio
9a557516b8
Fixes for expressions with aggregate arguments + limit 0
2024-11-26 17:31:51 +02: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
418ad40401
Merge 'Fix some Clippy warnings' from Lauri Virtanen
...
Reviewed-by: Pere Diaz Bou <limeng.1@bytedance.com >
Closes #417
2024-11-25 16:43:06 +02:00
Lauri Virtanen
70c4d6b360
Support multiplying combinations of different types
2024-11-24 22:11:37 +02:00
Lauri Virtanen
af9d407dee
Fix issues with subtraction of different type combinations
2024-11-24 22:10:23 +02:00
Lauri Virtanen
cafbf5499f
Support divide operator in expressions
2024-11-24 22:10:07 +02:00
Lauri Virtanen
afeb1cbe74
Clippy warning fixes
2024-11-24 20:24:47 +02:00
Lauri Virtanen
a7100d8e9b
Autofix clippy issues with cargo fix --clippy
2024-11-24 20:24:47 +02:00
Pekka Enberg
aa4dd5c8e7
Merge 'wal: checksums' from Pere Diaz Bou
...
Implemeted checksums so that sqlite3 is able to read our WAL. This also
helps with future work on proper recovery of WAL.
Create some frames with CREATE TABLE and kill the process so that there
is no checkpoint.
```
Limbo v0.0.6
Enter ".help" for usage hints.
limbo> create table x(x);
limbo> [1] 15910 killed cargo run xlimbo.db
```
Now sqlite3 is able to recover from this WAL created in limbo:
```
sqlite3 xlimbo.db
SQLite version 3.43.2 2023-10-10 13:08:14
Enter ".help" for usage hints.
sqlite> .schema
CREATE TABLE x (x);
```
Closes #413
2024-11-22 13:21:01 +02:00
jussisaurio
c722074016
missing cursorresult handling
2024-11-21 20:29:46 +02:00
jussisaurio
f945795ae6
consistent naming
2024-11-21 20:25:51 +02:00
jussisaurio
d8eb4be424
better, less cool names
2024-11-21 20:23:53 +02:00
jussisaurio
3002f2a552
io macro
2024-11-21 20:23:23 +02:00