Pere Diaz Bou
bbed54d11c
core: basic op explain insert
2024-07-31 17:23:16 +02:00
Pekka Enberg
0c703a228d
testing: Make individual test files executable
...
Each test file is standalone to make it easy to run just some specific
tests. However, some of the files didn't have the executable bit.
2024-07-29 09:41:40 +03:00
Pekka Enberg
86e8a90475
Merge pull request #245 from penberg/process-where-before-opening-loops
2024-07-28 18:58:20 +03:00
Pekka Enberg
2b7c350676
Merge pull request #246 from macroexpansion/feature/add-rtrim-scalar-function
2024-07-28 18:30:09 +03:00
macroexpansion
918b99b7a3
feat: add RTRIM(X) and RTRIM(X,Y) scalar function
2024-07-28 21:17:53 +07:00
jussisaurio
a700d70281
Process where clause and joins before opening loops
...
This is background restructuring work to enable us to change the
loop order (or change the way a given loop is handled) based on
what the WHERE and JOIN clauses contain.
Changes:
- `process_where()` called before opening table loops
- Due to the above, `WhereTerm` now refers to table identifiers instead of
cursor IDs because the cursors have not been allocated yet at that point
- `ProcessedWhereClause` now contains a `loop_order`, which just defaults
to the order in the SQL query for now. In the future the loop order may
change depending on the query.
- `loops` removed from `Select` struct; a `LoopInfo` vector is now returned
from `translate_tables_begin()`
2024-07-28 13:07:11 +03:00
Jussi Saurio
9a50d53fcb
Merge pull request #244 from penberg/fold-columns
...
core: Fold columns into column_info in Select struct
2024-07-28 10:50:57 +03:00
Pekka Enberg
93d88d6cca
core: Fold columns into column_info in Select struct
...
As a cleanup, fold the columns struct member into column_info by
introducing a `raw_column` in `ColumnInfo` struct.
2024-07-28 10:01:48 +03:00
Pekka Enberg
7d94d228e2
core: Fix error messages for unsupported SQL statements
...
Let's be a little bit more friendly towards users...
2024-07-28 09:46:59 +03:00
Pekka Enberg
ccf76aac54
Merge pull request #237 from penberg/optimize-constant-conditions
2024-07-27 22:56:56 +03:00
jussisaurio
769bf51d13
rename
2024-07-27 16:48:59 +03:00
jussisaurio
6f879c3e79
Amend code comment explaining 'early_terminate_label'
2024-07-27 16:48:01 +03:00
jussisaurio
fee33cfcf0
Rename ljbk to left_join and left_join_bookkeeping to left_join_maybe
2024-07-27 16:38:47 +03:00
Pekka Enberg
877dc76ee9
Update COMPAT.md
2024-07-27 16:06:00 +03:00
Pekka Enberg
0256de7bad
Merge pull request #238 from macroexpansion/feature/add-ltrim-scalar-function
2024-07-27 15:57:48 +03:00
macroexpansion
750f18be35
feat: add ltrim scalar function
2024-07-27 19:46:27 +07:00
jussisaurio
700d9ee976
Optimize constant conditions
2024-07-27 15:08:30 +03:00
Pekka Enberg
f34141f725
Merge pull request #236 from penberg/in-list
2024-07-27 12:41:45 +03:00
jussisaurio
19a69e5970
Don't evaluate left side of 'x IN (...)' if right side is empty
2024-07-27 10:55:34 +03:00
jussisaurio
183e0173cd
Rename to talk about true/false conditions instead of success/failure
2024-07-27 10:54:03 +03:00
Pekka Enberg
1c817b5059
Merge pull request #235 from mvares/mvares/docs
2024-07-26 20:13:58 +03:00
jussisaurio
016379fea4
core/translate: #154 : implement WHERE IN (...)
2024-07-26 18:13:05 +03:00
Miguel Oliveira
ba9977957b
add docs to pager
2024-07-26 11:27:19 -03:00
Pekka Enberg
3597089b26
Merge pull request #234 from jussisaurio/fix-216-order-by-column-number
...
Implement #216 : order by column number
2024-07-26 14:55:34 +03:00
jussisaurio
e3cc3da7ca
Implement #216 : order by column number
2024-07-26 14:35:33 +03:00
Pekka Enberg
a1093501a0
Merge pull request #232 from penberg/module-docs
...
core: Add module-level docs for translate and vdbe
2024-07-26 12:27:57 +03:00
Pekka Enberg
35dff7ca2c
core: Add module-level docs for translate and vdbe
...
Let's add module-level documentation for the code generator in
`translate` and the virtual machine in `vdbe`, which are two major
subsystems in the database engine that developers work on mostly.
2024-07-26 10:23:47 +03:00
Pekka Enberg
adf4b64e1e
Merge pull request #231 from penberg/fix-do_execsql_test
...
testing: Fix do_execsql_test() for JSON
2024-07-26 09:55:19 +03:00
Pekka Enberg
5251f7a2f8
testing: Fix do_execsql_test() for JSON
...
The current scheme of combining SQL statements corrupts JSON by dropping
the curly braces. Fix the issue by passing the SQL statement almost as-is
to the database. However, for ".schema" to work, we need to trim extra
whitespace.
2024-07-26 09:48:48 +03:00
Pekka Enberg
0d5b4814ad
Update CHANGELOG.md
2024-07-25 21:24:29 +03:00
Pekka Enberg
3290b0a168
Merge pull request #228 from penberg/select-cleanups
2024-07-25 21:14:53 +03:00
Pekka Enberg
ec6f0224ef
Merge pull request #224 from ethanniser/add-unicode
2024-07-25 20:37:39 +03:00
Ethan Niser
aa6531f802
add unicode scalar function
2024-07-25 10:05:41 -07:00
Pekka Enberg
9dd505803f
core: Move SortInfo to select.rs
...
It's the only place where it's used.
2024-07-25 17:47:17 +03:00
Pekka Enberg
b25f63f360
core: Move LimitInfo to select.rs
...
That's the only place where it's used.
2024-07-25 17:47:17 +03:00
Pekka Enberg
16e0e740df
core: Rename build_select() to prepare_select()
...
Let's follow SQLite's naming here.
2024-07-25 17:47:17 +03:00
Pekka Enberg
97afd76865
core: Clean up imports in select.rs
2024-07-25 17:47:17 +03:00
Pekka Enberg
a4afadfd2e
core: Select struct documentation
2024-07-25 17:47:17 +03:00
Pekka Enberg
b2f47746a9
core: Move Select struct at the top of select.rs
...
It's the main data structure of the file so let's make it the first one.
2024-07-25 17:27:45 +03:00
Pekka Enberg
fcc087b85c
Merge pull request #227 from penberg/drop-anyhow
...
Kill anyhow usage
2024-07-25 17:20:45 +03:00
Pekka Enberg
351242561d
Kill anyhow usage
...
Switch anyhow to explicit `LimboError` type using thiserror crate, which
lets us make error handling more structured.
2024-07-25 17:15:08 +03:00
Pekka Enberg
341240740a
cli: Improve CLI prompt
...
Let's print out Limbo version at CLI start and change the prompt to have
"limbo" prefix.
2024-07-25 15:25:46 +03:00
Pekka Enberg
24433177f1
Merge pull request #226 from penberg/no-build-for-sqlite3-compat
...
github: Don't build Limbo for SQLite3 compat tests
2024-07-25 14:16:29 +03:00
Pekka Enberg
f6cacb5bf8
github: Don't build Limbo for SQLite3 compat tests
2024-07-25 12:12:33 +03:00
Pekka Enberg
3ed5bb3af1
Merge pull request #223 from brayanjuls/bench_db_lock_fix
2024-07-25 08:07:48 +03:00
Brayan Jules
78568a53e3
fix format issues
2024-07-24 21:09:36 -04:00
Brayan Jules
529770bf32
bench: fix db lock on benchmark code by splitting the scopes between limbo and rusqlite.
2024-07-24 20:48:17 -04:00
Pekka Enberg
b194d5fbdf
Merge pull request #221 from penberg/github-cargo-bench
2024-07-24 21:59:33 +03:00
Pekka Enberg
d9c1c5b9ac
Merge pull request #219 from penberg/select-cleanups
2024-07-24 21:59:15 +03:00
Pekka Enberg
3d0a7b3e34
github: Add cargo bench to CI
...
Let's run `cargo bench` just to make sure we don't keep breaking it all
the time. As a follow up, it would be cool to upload the results to
Nyrkiö, for example.
2024-07-24 21:40:53 +03:00