pedrocarlo
7f081c1ac9
remove transmute. Just iterate over columns. No need for unsafe
2025-05-18 12:32:49 -03:00
pedrocarlo
0e6ef1f478
removed some clone, simplified slightly logic + also inserted the column name of the current column we are iterating, not only the last column contained in PrimaryKeyDefinitionType::Simple
2025-05-17 15:32:58 -03:00
pedrocarlo
166dc2184e
fix autoindex creation not detecting if column existed in created table declaration using transmute to avoid cloning
2025-05-17 12:58:00 -03:00
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
pedrocarlo
5f2216cf8e
modify explain for MakeRecord to show index name
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
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
Piotr Rzysko
d5984445a9
Fix panic on CREATE VIRTUAL TABLE IF NOT EXISTS by halting VM properly
...
Fixes a runtime panic caused by failing to halt the virtual machine
after executing CREATE VIRTUAL TABLE IF NOT EXISTS.
Previously resulted in:
thread 'main' panicked at core/vdbe/mod.rs:408:52:
index out of bounds: the len is 3 but the index is 3
2025-05-11 21:21:18 +02:00
Piotr Rzysko
fdffbc9534
Ensure virtual table name uniqueness
2025-05-11 21:21:18 +02:00
Pekka Enberg
be1621e099
Merge 'EXPLAIN should show a comment for the Insert opcode' from Anton Harniakou
...
After this commit EXPLAIN should show a comment for `Insert`.
```
limbo> explain insert into t (age, name, id) values (20, 'max', 1);
addr opcode p1 p2 p3 p4 p5 comment
---- ----------------- ---- ---- ---- ------------- -- -------
0 Init 0 9 0 0 Start at 9
1 OpenWrite 0 2 0 0
2 Integer 1 2 0 0 r[2]=1
3 String8 0 3 0 max 0 r[3]='max'
4 Integer 20 4 0 0 r[4]=20
5 NewRowId 0 1 0 0
6 MakeRecord 2 3 5 0 r[5]=mkrec(r[2..4])
7 Insert 0 5 1 t 0 intkey=r[1] data=r[5]
8 Halt 0 0 0 0
9 Transaction 0 1 0 0 write=true
10 Goto 0 1 0 0
```
Closes #1452
2025-05-10 07:59:36 +03:00
Levy A.
023a116b0d
feat: initial implementation of ALTER TABLE
...
only supporting renaming tables
2025-05-08 09:24:56 -03:00
Anton Harniakou
d74df2473e
EXPLAIN should show a comment for the Insert opcode
2025-05-05 10:54:59 +03:00
Preston Thorpe
d837f89d74
Merge branch 'main' into vtab_schema
2025-04-28 22:09:10 -04:00
Jussi Saurio
029e5eddde
Fix existing resolve_label() calls to work with new system
2025-04-24 11:05:21 +03:00
Jussi Saurio
5a38b38e71
Merge 'Feature: VDestroy for Dropping Virtual Tables' from Pedro Muniz
...
Reviewed-by: Preston Thorpe (@PThorpe92)
Closes #1274
2025-04-15 14:34:30 +03:00
Jussi Saurio
d286a56e15
refactor: fold Async/Await insns into a single instruction
2025-04-14 09:40:20 +03:00
pedrocarlo
6249cd67e9
added print statement to test that VDestroy is being called
2025-04-13 17:10:43 -03:00
pedrocarlo
000d8756ec
Implment VDestroy opcode
2025-04-13 17:06:12 -03:00
Diego Reis
51eb2af06a
core(refactor): Add CreateBTreeFlags
...
Passing 1s and 0s with comments is not rustacean, and since we already follow the pattern of struct flags in other sections of the codebase it's better use it here too.
2025-04-13 01:46:30 -03:00
PThorpe92
2c3fd509fe
Remove unused imports and consolidate ordering comparison
2025-04-05 11:19:09 -04:00
PThorpe92
e020ba3dfe
Add enum for interpreting a value as a register or literal for insns
2025-04-05 11:19:07 -04:00
PThorpe92
b0016a0ee2
Support create index with SeekEnd and IdxCreate opcode functionality
2025-04-05 11:15:36 -04:00
PThorpe92
ae2be30204
Move init label to proper place in create vtab translation
2025-04-03 20:22:14 -04:00
PThorpe92
334f0a928a
Adjust test to reflect new parse error
2025-03-24 21:05:50 -04:00
PThorpe92
4384659e5f
Adjust vtab schema creation to display the underlying columns
2025-03-24 20:50:54 -04:00
Pekka Enberg
0ec7dbc44e
core: Move translate_create_table() to schema module
2025-03-24 10:44:41 +02:00
Pekka Enberg
7d4ac13926
core: Move translate_drop_table() to schema module
2025-03-24 10:37:02 +02:00