Jussi Saurio
973696228a
Add TCL regression test
2025-04-12 11:13:32 +03:00
Jussi Saurio
6bea4de30f
Check that index seek key members are not null
2025-04-11 17:22:46 +03:00
Jussi Saurio
8e5499e5ed
Fix not evaling constant conditions when no tables in query
...
We were not evaluating constant conditions (e.g '1 IS NULL')
when there were no tables referenced in the query, because
our WHERE term evaluation was based on "during which loop"
to evaluate them. However, when there are no tables, there are
no loops, so they were never evaluated.
2025-02-17 13:10:27 +02:00
Jussi Saurio
12242ad359
Add more TCL tests for exprs in select/where positions
2025-02-17 07:43:09 +02:00
Nikita Sivukhin
10e868bc4b
add test for index search with "opposite" operator
2025-02-03 11:23:05 +04:00
Nikita Sivukhin
4a9292f657
add tests for previously broken case
2025-02-02 02:42:06 +04:00
Glauber Costa
96987db6ca
implement is and is not where constraints
...
The main difference between = and != is how null values are handled.
SQLite passes a flag "NULLEQ" to Eq and Ne to disambiguate that.
In the presence of that flag, NULL = NULL.
Some prep work is done to make sure we can pass a flag instead of a
boolean to Eq and Ne. I looked into the bitflags crate but got a bit
scared with the list of dependencies.
2025-01-31 23:01:49 -05:00
Glauber Costa
effde1cc04
implement isnull / not null for filter expressions
...
Allow us to write queries like:
SELECT name, type, sql FROM sqlite_schema where sql isnull
and
SELECT name, type, sql FROM sqlite_schema where sql not null
2025-01-29 20:58:04 -05:00
Jussi Saurio
ce15ad7d32
Simplify added tests with foreach
2025-01-20 17:30:04 +02:00
Jussi Saurio
f88a4d6ac6
Add jump_if_null to cmp insns to account for either operand being NULL
2025-01-20 16:54:39 +02:00
Jussi Saurio
f8b3b06163
Expr: fix recursive binary operation logic
2025-01-15 14:12:08 +02:00
PThorpe92
183797898b
Add tests for nested conditional expressions
2025-01-08 17:19:37 -05:00
Jussi Saurio
925bd62cbc
fix logic bug in check_index_scan() that swapped lhs/rhs but not the comparison op
2025-01-08 08:20:13 +02:00
Kould
e5d0ad044e
fix: index seek wrong
2025-01-02 11:11:44 +08:00
KaguraMilet
d5d7185995
add between expr tests
2024-12-20 22:49:44 +08:00
jussisaurio
5e9e2dffe9
support TRUE and FALSE in predicates
2024-12-13 22:58:29 +02:00
jussisaurio
e5cf052f07
Why do sqlite btree child keys have <= keys and not < keys
2024-10-06 23:48:59 +03:00
jussisaurio
d8a695a991
rename tests
2024-10-05 18:25:04 +03:00
jussisaurio
ed19f47762
fix
2024-10-05 18:25:04 +03:00
jussisaurio
ff236c7781
Fix not advancing the cell index of pages
2024-10-05 18:25:04 +03:00
김선우
eb55b7379c
Fix failing test
2024-09-21 16:12:10 +09:00
김선우
bbd1eea9ae
Add support for parenthesized conditions
2024-09-21 16:03:49 +09:00
jussisaurio
d5ade427c2
add test for seekrowid order independence
2024-08-01 17:58:38 +03:00
jussisaurio
700d9ee976
Optimize constant conditions
2024-07-27 15:08:30 +03:00
jussisaurio
016379fea4
core/translate: #154 : implement WHERE IN (...)
2024-07-26 18:13:05 +03:00
Bennett Clement
b6c0bf57dc
Fix conflicts
2024-07-16 13:16:24 +08:00
Pekka Enberg
75e72a4926
testing: where.test
2024-07-16 07:24:28 +03:00