limbo/core
Preston Thorpe a97081eafe
Some checks are pending
Build and push limbo-sim image / deploy (push) Waiting to run
C compat Tests / test (push) Waiting to run
Dart/Flutter / precompile (windows-latest) (push) Waiting to run
Dart/Flutter / publish (push) Waiting to run
Dart/Flutter / test (blacksmith-4vcpu-ubuntu-2404) (push) Waiting to run
Dart/Flutter / test (windows-latest) (push) Waiting to run
Dart/Flutter / precompile (blacksmith-4vcpu-ubuntu-2404) (push) Waiting to run
Dart/Flutter / precompile (macOS-latest) (push) Waiting to run
Run long fuzz tests and stress test / run-fuzz-tests (push) Waiting to run
Run long fuzz tests and stress test / run-long-fuzz-tests (push) Waiting to run
Run long fuzz tests and stress test / simple-stress-test (push) Waiting to run
Java Tests / test (push) Waiting to run
Build & publish @tursodatabase/database / db-bindings-aarch64-apple-darwin - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / db-bindings-aarch64-unknown-linux-gnu - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / db-bindings-wasm32-wasip1-threads - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / db-bindings-x86_64-pc-windows-msvc - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / db-bindings-x86_64-unknown-linux-gnu - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / sync-bindings-wasm32-wasip1-threads - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / sync-bindings-x86_64-pc-windows-msvc - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / sync-bindings-aarch64-apple-darwin - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / sync-bindings-aarch64-unknown-linux-gnu - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / sync-bindings-x86_64-unknown-linux-gnu - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / Test DB bindings on Linux-x64-gnu - node@20 (push) Blocked by required conditions
Build & publish @tursodatabase/database / Test DB bindings on browser@20 (push) Blocked by required conditions
Build & publish @tursodatabase/database / Publish (push) Blocked by required conditions
Python / configure-strategy (push) Waiting to run
Python / test (push) Blocked by required conditions
Python / lint (push) Waiting to run
Python / linux (x86_64) (push) Waiting to run
Python / macos-arm64 (aarch64) (push) Waiting to run
Python / sdist (push) Waiting to run
Python / Release (push) Blocked by required conditions
Rust / test-limbo (push) Waiting to run
Rust / test-sqlite (push) Waiting to run
Rust / simulator (push) Waiting to run
Rust / cargo-fmt-check (push) Waiting to run
Rust / build-native (blacksmith-4vcpu-ubuntu-2404) (push) Waiting to run
Rust / build-native (macos-latest) (push) Waiting to run
Rust / build-native (windows-latest) (push) Waiting to run
Rust / clippy (push) Waiting to run
Rust Benchmarks+Nyrkiö / tpc-h (push) Waiting to run
Rust Benchmarks+Nyrkiö / vfs-bench-compile (push) Waiting to run
Rust Benchmarks+Nyrkiö / bench (push) Waiting to run
Rust Benchmarks+Nyrkiö / clickbench (push) Waiting to run
Rust Benchmarks+Nyrkiö / tpc-h-criterion (push) Waiting to run
Merge 'translate/planner: Implement Index creation on arbitrary expressions' from Preston Thorpe
This PR implements the functionality to create an index on an expression
instead of just a column, and makes an attempt for the planner to be
able to use these indexes.
https://sqlite.org/expridx.html
This adds the field:
`expr: Option<Box<Expr>>` to `IndexedColumn`
which is `None` for regular indexed columns.
This also adds the sentinel value `EXPR_INDEX_SENTINEL` for the
`position_in_table` field of indexed col expressions, since they are
not, actually in the table.. and similarly: `Constraint` now has the
`table_col_position` as an Option now, because it is no longer a
guarantee that it refers to a col expression.

Reviewed-by: Jussi Saurio <jussi.saurio@gmail.com>

Closes #3990
2025-11-22 06:52:20 -05:00
..
benches mvcc: refactor RowID.row_id to be either i64 or a record 2025-11-21 17:05:56 +02:00
ext core: Switch to parking_lot::Mutex 2025-11-20 10:42:02 +02:00
functions clippy fix 2025-11-11 16:11:46 -03:00
incremental Merge 'translate/planner: Implement Index creation on arbitrary expressions' from Preston Thorpe 2025-11-22 06:52:20 -05:00
index_method fix fmt and test 2025-11-05 20:53:34 +04:00
io core: Switch to parking_lot::Mutex 2025-11-20 10:42:02 +02:00
json clippy fix 2025-11-11 16:11:46 -03:00
mvcc mvcc: refactor RowID.row_id to be either i64 or a record 2025-11-21 17:05:56 +02:00
numeric feat: add CAST to fuzzer 2025-09-24 18:06:55 -03:00
storage Begin to implement index creation on arbitrary expressions 2025-11-20 12:47:45 -05:00
time
translate Merge 'translate/planner: Implement Index creation on arbitrary expressions' from Preston Thorpe 2025-11-22 06:52:20 -05:00
vdbe core: Switch to parking_lot::Mutex 2025-11-20 10:42:02 +02:00
vector convert vector functions to use AsValueRef 2025-11-11 16:11:46 -03:00
assert.rs
build.rs do not run build.rs on debug mode 2025-10-16 01:22:54 -03:00
Cargo.toml Merge 'core: update aegis' from Daeho Ro 2025-11-10 11:27:01 +02:00
error.rs Allow dead code - SQLITE_CONSTRAINT_FOREIGNKEY is currently unused 2025-10-22 23:40:45 +03:00
fast_lock.rs remove some unnecessary unsafe impls 2025-09-21 13:29:59 -03:00
function.rs Change Value::Text to use a Cow<'static, str> instead of Vec<u8> 2025-11-11 16:11:46 -03:00
info.rs
lib.rs core: Switch to parking_lot::Mutex 2025-11-20 10:42:02 +02:00
parameters.rs remove unnecessary enum variant 2025-09-30 14:52:59 +04:00
pragma.rs support table_xinfo pragma 2025-11-20 17:38:10 +04:00
pseudo.rs clippy 2025-10-09 19:00:40 +03:00
schema.rs Merge 'translate/planner: Implement Index creation on arbitrary expressions' from Preston Thorpe 2025-11-22 06:52:20 -05:00
series.rs
state_machine.rs mvcc: simplify StateMachine 2025-09-22 16:37:31 +03:00
types.rs have RecordCursor::get_values return an Iterator for actual lazy deserialization. Unfortunately we won't see much improvement yet as we do not store the RecordCursor when calling ImmutableRecord::get_values 2025-11-11 16:11:46 -03:00
util.rs core: Switch to parking_lot::Mutex 2025-11-20 10:42:02 +02:00
uuid.rs
vtab.rs Add support for renaming virtual tables 2025-11-09 11:07:42 -05:00