Commit Graph

10455 Commits

Author SHA1 Message Date
Henrik Ingo
a79e75094f Rename the push_only.yml workflow in anticipation of adding PRs 2025-02-18 02:32:14 +02:00
Henrik Ingo
ba479c892f fix yml 2025-02-18 02:24:23 +02:00
Henrik Ingo
ca24400985 Without org 2025-02-18 02:21:45 +02:00
Henrik Ingo
83a7e2ec72 Add a sample cargo outputfile to use for faster testing 2025-02-18 02:21:41 +02:00
Henrik Ingo
4ae4706d34 Workflow: Use nyrkio-org 2025-02-18 02:19:48 +02:00
Henrik Ingo
3ff548b8c5 Add explicitly all alerting options to workflow yml
Set pvalue and threshold from workflow
2025-02-18 02:10:41 +02:00
Henrik Ingo
3ab99760d2 Enable Nyrkiö also for PR 2025-02-18 02:10:40 +02:00
Henrik Ingo
cdc7f0f3e9 mv push_only.yml to another name in anticipation of adding PRs 2025-02-18 02:10:40 +02:00
Henrik Ingo
ebac4dd875 test non-org path 2025-02-18 02:10:40 +02:00
Henrik Ingo
6c674cf452 Use staging.nyrkio.com 2025-02-18 02:10:20 +02:00
Henrik Ingo
519d4c48bb Use GH action from henrikingo 2025-02-18 02:10:20 +02:00
Pekka Enberg
caa83b347e cli: Rename "raw" output mode to "list"
Change the name of the output mode to match SQLite.
2025-02-17 21:26:15 +02:00
Pekka Enberg
97601658a9 scripts: Add "publish-crates.sh" helper 2025-02-17 21:19:08 +02: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
ec3ae2ace6 Fix remainder panic on zero right-hand-side 2025-02-17 13:09:33 +02:00
Jussi Saurio
9a2e8a6411 Merge 'Add some missing supported features in WHERE clause' from Jussi Saurio
This PR is sourced from the fuzzing exploration PR in
https://github.com/tursodatabase/limbo/pull/1021
**Adds missing support:**
Support all the same literals in WHERE clause position as in SELECT
position
Support CAST in WHERE clause position
Support FunctionCall in WHERE clause position
Support Column in WHERE clause position
Support Rowid in WHERE clause position
Support CASE in WHERE clause position
Support LIKE in SELECT position
Support Unary expressions in WHERE clause position
Support rest of the Binary expressions in WHERE clause position
Support TEXT in remainder operations
**Fix:**
Remove incorrect constant folding optimization for NULL
**Testing utils:**
Enhance sqlite fuzzer to mostly be able to work with the same set of
possible expressions in both SELECT and WHERE clause position

Closes #1024
2025-02-17 13:07:09 +02:00
Pere Diaz Bou
e25272adc0 fix free_cell_space extend content area 2025-02-17 11:50:15 +01:00
Jussi Saurio
55ff1d2061 remove comment 2025-02-17 10:59:04 +02:00
Jussi Saurio
7eaa3f4da0 Extract variable 2025-02-17 10:58:38 +02:00
Jussi Saurio
6940ca84bd Add more column <op> column binary op possibilities to fuzzer 2025-02-17 10:57:58 +02:00
Jussi Saurio
bece5b601a Add comment about translate_like_base 2025-02-17 10:55:26 +02:00
Pere Diaz Bou
ddbfada8bd fix wrong usage of insert in fuzz tests 2025-02-17 08:47:55 +01:00
Jussi Saurio
12242ad359 Add more TCL tests for exprs in select/where positions 2025-02-17 07:43:09 +02:00
Jussi Saurio
e07007896f tests/fuzz: use mostly the same expression options in select and predicate position 2025-02-17 07:43:09 +02:00
Jussi Saurio
447f91e5ee optimizer.rs: remove constant folding optimization for NULL since it's incorrect 2025-02-17 07:43:09 +02:00
Jussi Saurio
9bf5b9609f expr.rs: Binary: use translate_expr()'s impl for currently unsupported ops in translate_condition_expr() 2025-02-17 07:43:09 +02:00
Jussi Saurio
28ad12699f expr.rs: Unary: use shared impl in translate_expr() and translate_condition_expr() 2025-02-17 07:43:09 +02:00
Jussi Saurio
dc852fee8c expr.rs: Like: use shared impl in translate_expr() and translate_condition_expr() 2025-02-17 07:43:09 +02:00
Jussi Saurio
c6b8100d64 expr.rs: Case: call translate_expr() from translate_condition_expr() 2025-02-17 07:43:09 +02:00
Jussi Saurio
4f384e3a02 expr.rs: Rowid: call translate_expr() from translate_condition_expr() 2025-02-17 07:43:09 +02:00
Jussi Saurio
d91ba9573b expr.rs: Column: call translate_expr() from translate_condition_expr() 2025-02-17 07:43:08 +02:00
Jussi Saurio
7023ffc215 expr.rs: FunctionCall: call translate_expr() from translate_condition_expr() 2025-02-17 07:43:08 +02:00
Jussi Saurio
b93e01d59f expr.rs: Cast: call translate_expr() from translate_condition_expr() 2025-02-17 07:43:05 +02:00
Pere Diaz Bou
4d6843d1cc clippy 2025-02-16 19:27:34 +01:00
Pere Diaz Bou
d276c22a0c clippy 2025-02-16 19:25:41 +01:00
Pere Diaz Bou
a6f5bcbaf4 fix return find_free_cell 2025-02-16 19:21:37 +01:00
Pere Diaz Bou
286cb8c5bc fix some free_cell_range pointer reads 2025-02-16 19:10:15 +01:00
Pere Diaz Bou
aea4560422 bring back corrupt errors 2025-02-16 18:51:09 +01:00
Pere Diaz Bou
1687072d77 remove dbg 2025-02-16 18:31:19 +01:00
Pere Diaz Bou
b64cc769b6 fix rebase 2025-02-16 18:31:03 +01:00
Pere Diaz Bou
b5ec5186ea fix divider cell on leaf data 2025-02-16 18:30:42 +01:00
Pere Diaz Bou
177dbcd403 simplify balance_root 2025-02-16 18:01:33 +01:00
Jussi Saurio
e3cfba8452 Merge 'fix 24/48 bit width serial types parsing' from Nikita Sivukhin
For serial types 3 and 5 SQLite uses twos-complement representation of
24bit and 48bit widths integers. Limbo need to follow same

Reviewed-by: Jussi Saurio (@jussisaurio)

Closes #1020
2025-02-16 15:49:32 +02:00
Nikita Sivukhin
37e27131e3 fix inequality 2025-02-16 12:49:55 +04:00
Nikita Sivukhin
d2a507e458 add unit tests for reading integer serial types 2025-02-16 12:46:45 +04:00
Nikita Sivukhin
279652b271 extend sign for 24/48 bit width serial types 2025-02-16 12:46:18 +04:00
Nikita Sivukhin
0679357fda insert numbers from different categories in order to cover cases of different serial type usage 2025-02-16 12:33:26 +04:00
Jussi Saurio
c300b4f8a6 Merge 'Fix and predicate' from Nikita Sivukhin
This PR adds simple fuzz test with `SELECT` over data in table and fixes
bug in codegen for `AND` binary operator.
The new fuzz test resembles `logical_expression_fuzz` - but right now
Limbo do not support a lot of conditions (for example, `SELECT * FROM
users WHERE NOT deleted` will fail with `not implemented` error) - so
fuzz test written from scratch and limits `WHERE` condition structure to
the features supported right now.

Closes #1017
2025-02-15 21:21:37 +02:00
Nikita Sivukhin
77d4bb6e0e fix after merge 2025-02-15 23:00:30 +04:00
Nikita Sivukhin
db7544fe7a Merge branch 'tursodatabase:main' into fix-and-predicate 2025-02-15 22:57:56 +04:00