Pere Diaz Bou
74328f2617
fix allocation of indices BTreeCreate registers
...
For some reason we always allocated one more index than required when we
had `total_indices>1`.
2025-05-16 10:37:04 +02:00
Pere Diaz Bou
ff524d037d
fix autoindex of primary key marked as unique
...
Primary keys that are marked as unique constraint, do not need to have
separate indexes, one is enough. In the case primary key is integer,
therefore rowid alias, we still need an index to satisfy unique
constraint.
2025-05-16 10:37:04 +02:00
Pekka Enberg
e3f71259d8
Rename OwnedValue -> Value
...
We have not had enough merge conflicts for a while so let's do a
tree-wide rename.
2025-05-15 09:59:46 +03:00
pedrocarlo
72cc0fcdcb
fixes and comments
2025-05-14 13:30:39 -03:00
pedrocarlo
b2615d7739
add CursorValidState and only save context in delete when rebalancing
2025-05-14 13:30:39 -03:00
pedrocarlo
814508981c
fixing more rebase issues and cleaning up code. Save cursor context when calling delete for later use when needed
2025-05-14 13:30:39 -03:00
pedrocarlo
c69f503eac
rebase adjustments
2025-05-14 13:30:39 -03:00
pedrocarlo
05f4ca28cc
btree rewind and next fix. Keep track of rowids seen to avoid infinite loop
2025-05-14 13:30:39 -03:00
pedrocarlo
6588004f80
fix incorrectly detecting if user provided row_id_alias to set clause
2025-05-14 13:30:39 -03:00
pedrocarlo
482634b598
adjust null opcode emission based in rowid_alias
2025-05-14 13:30:39 -03:00
pedrocarlo
758dfff2fe
modified tests as we do not have rollback yet. Also correctly raise a contraint error on primary keys only
2025-05-14 13:30:39 -03:00
pedrocarlo
3aaf4206b7
altered constraint tests to create bad update statements. Tests caught a bug where I was copying the wrong values from the registers
2025-05-14 13:30:39 -03:00
pedrocarlo
cf7f60b8f5
changed from resolve_label to preassign_label
2025-05-14 13:30:39 -03:00
pedrocarlo
6457d7675a
instruction emitted should be correct, but having an infinite loop bug
2025-05-14 13:30:39 -03:00
pedrocarlo
60a99851f8
emit NoConflict and Halt. Already detects unique constraints
2025-05-14 13:30:39 -03:00
pedrocarlo
5f2216cf8e
modify explain for MakeRecord to show index name
2025-05-14 13:30:39 -03:00
pedrocarlo
9aebfa7b5d
open cursors for write only once
2025-05-14 13:30:39 -03:00
pedrocarlo
5bae32fe3f
modified OpenWrite to include index or table name in explain
2025-05-14 13:30:39 -03:00
pedrocarlo
e7fa023c26
Adding indexes to the update plan
2025-05-14 13:30:39 -03:00
pedrocarlo
4dc1431428
handling edge case when passing duplicate a multi-column unique index
2025-05-14 11:46:24 -03:00
pedrocarlo
3526a206e4
support Unique properly by creating a vec of auto indices
2025-05-14 11:34:39 -03:00
pedrocarlo
bb158a5433
add unique field to Column
2025-05-14 11:34:11 -03:00
pedrocarlo
002acbb9dc
add check for unique contraint in auto index creation
2025-05-14 11:34:11 -03:00
Jussi Saurio
176d9bd3c7
Prune bad plans earlier to avoid allocating useless JoinN structs
2025-05-14 09:42:26 +03:00
Jussi Saurio
eb983c88c6
reserve capacity for memo hashmap entries
2025-05-14 09:42:26 +03:00
Jussi Saurio
5e5788bdfe
Reduce allocations
2025-05-14 09:42:26 +03:00
Jussi Saurio
d2fa91e984
avoid growing vec
2025-05-14 09:42:26 +03:00
Jussi Saurio
625cf005fd
Add some utilities to constraint related structs
2025-05-14 09:42:26 +03:00
Jussi Saurio
71ab3d57d8
constraints.rs: more comments
2025-05-14 09:42:26 +03:00
Jussi Saurio
5386859b44
as_binary-components: simplify
2025-05-14 09:42:26 +03:00
Jussi Saurio
1d465e6d94
Remove unnecessary method
2025-05-14 09:42:26 +03:00
Jussi Saurio
9d50446ffb
AccessMethod: simplify - get rid of AccessMethodKind as it can be derived
2025-05-14 09:42:26 +03:00
Jussi Saurio
12a2c2b9ad
Add more documentation to OPTIMIZER.MD
2025-05-14 09:42:26 +03:00
Jussi Saurio
fe628e221a
plan_satisfies_order_target(): simplify
2025-05-14 09:42:26 +03:00
Jussi Saurio
4dde356d97
AccessMethod: simplify
2025-05-14 09:42:26 +03:00
Jussi Saurio
a90358f669
TableMask: comments
2025-05-14 09:42:26 +03:00
Jussi Saurio
f12eb25962
cost.rs: simplify cost estimation
2025-05-14 09:42:26 +03:00
Jussi Saurio
4f07c808b2
Fix bug with constraint ordering introduced by refactor
2025-05-14 09:42:26 +03:00
Jussi Saurio
52b28d3099
rename use_indexes to optimize_table_access
2025-05-14 09:42:26 +03:00
Jussi Saurio
d8218483a2
use_indexes: comments
2025-05-14 09:42:26 +03:00
Jussi Saurio
e53ab385d7
order.rs: comments
2025-05-14 09:42:26 +03:00
Jussi Saurio
ff8e187eda
find_best_access_method_for_join_order: comments
2025-05-14 09:42:26 +03:00
Jussi Saurio
3442e4981d
remove some unnecessary parameters
2025-05-14 09:42:26 +03:00
Jussi Saurio
c18bb3cd14
rename
2025-05-14 09:42:26 +03:00
Jussi Saurio
15b32f7e57
constraints.rs: more comments
2025-05-14 09:42:26 +03:00
Jussi Saurio
c782616180
Refactor constraints so that WHERE clause is not needed in join reordering phase
2025-05-14 09:42:26 +03:00
Jussi Saurio
6aa5b01a7b
Add note about optimizer directory structure
2025-05-14 09:42:26 +03:00
Jussi Saurio
bd875e3876
optimizer module split
2025-05-14 09:42:26 +03:00
Jussi Saurio
ec45a92bac
move optimizer to its own directory
2025-05-14 09:42:26 +03:00
Jussi Saurio
c639a43676
fix parenthesized column edge case
2025-05-14 09:42:26 +03:00