Pekka Enberg
910b3bc84c
Merge pull request #99 from vivek378521/improve-makefile
2024-07-08 08:58:13 +03:00
Pekka Enberg
5be71e9b9b
Merge pull request #98 from haaawk/remove_copies
2024-07-07 20:07:10 +03:00
Piotr Jastrzebski
c01f39aefb
Make it possible to get row values as &str
...
This allows to avoid some unneeded copies and allocations.
Signed-off-by: Piotr Jastrzebski <haaawk@gmail.com >
2024-07-07 18:51:47 +02:00
Pekka Enberg
7818a97ac9
Merge pull request #97 from haaawk/primary_key
...
Fix primary key handling in BTreeTable
2024-07-07 19:14:15 +03:00
Piotr Jastrzebski
4a9e0dfc4d
Add tests for primary key
...
Signed-off-by: Piotr Jastrzebski <haaawk@gmail.com >
2024-07-07 17:55:04 +02:00
Piotr Jastrzebski
77f50e7f7c
Stop ignoring test_column_is_rowid_alias_single_integer_separate_primary_key_definition
...
Signed-off-by: Piotr Jastrzebski <haaawk@gmail.com >
2024-07-07 17:55:04 +02:00
Piotr Jastrzebski
861716f343
Use BTreeTable::primary_key_column_names in column_is_rowid_alias
...
Signed-off-by: Piotr Jastrzebski <haaawk@gmail.com >
2024-07-07 17:55:04 +02:00
Piotr Jastrzebski
f98c62bfb7
Setup BTreeTable::primary_key_column_names correctly
...
Signed-off-by: Piotr Jastrzebski <haaawk@gmail.com >
2024-07-07 17:54:47 +02:00
Piotr Jastrzebski
6bf9fbb0de
Add primary_key_column_names to BTreeTable
...
Signed-off-by: Piotr Jastrzebski <haaawk@gmail.com >
2024-07-07 17:20:49 +02:00
Pekka Enberg
caf888151c
Merge pull request #95 from haaawk/schema
2024-07-07 16:18:21 +03:00
Piotr Jastrzebski
828c4ce459
Add tests for BTreeTable::column_is_rowid_alias
...
Signed-off-by: Piotr Jastrzebski <haaawk@gmail.com >
2024-07-07 15:14:38 +02:00
Piotr Jastrzebski
73e037afa2
Add tests for hes_rowid field
...
Signed-off-by: Piotr Jastrzebski <haaawk@gmail.com >
2024-07-07 14:52:20 +02:00
Piotr Jastrzebski
50ecea0c86
Use has_rowid in column_is_rowid_alias
...
Signed-off-by: Piotr Jastrzebski <haaawk@gmail.com >
2024-07-07 14:52:20 +02:00
Piotr Jastrzebski
2aa0a92955
Setup has_rowid correctly for BTreeTable
...
Signed-off-by: Piotr Jastrzebski <haaawk@gmail.com >
2024-07-07 14:52:00 +02:00
Piotr Jastrzebski
9ddb0befc4
Add has_rowid field to BTreeTable
...
Signed-off-by: Piotr Jastrzebski <haaawk@gmail.com >
2024-07-07 14:32:28 +02:00
Pekka Enberg
541e966834
Add SELECT ... LIMIT to changelog
2024-07-07 14:28:36 +03:00
Pekka Enberg
eb7e5c8749
Add PRAGMA cache_size to changelog
2024-07-07 14:27:24 +03:00
Pekka Enberg
8eb64d23a6
Initial changelog
2024-07-07 14:26:10 +03:00
Pekka Enberg
5deea70a77
Merge pull request #92 from haaawk/to_sql
...
Simplify BTreeTable::to_sql
2024-07-07 14:20:02 +03:00
Pekka Enberg
b8165f52b1
Merge pull request #90 from crrow/topic/fix-error-handling-for-invalid-file
...
Replace unwrap() in PageIO.get() with proper error handling
2024-07-07 14:19:47 +03:00
Piotr Jastrzebski
708cae99b8
Simplify BTreeTable::to_sql
...
Signed-off-by: Piotr Jastrzebski <haaawk@gmail.com >
2024-07-07 13:15:04 +02:00
Ryan Tan
9c2988e0ed
fix: replace unwrap() with ?
2024-07-07 19:12:48 +08:00
Pekka Enberg
ac5b0502b4
Merge pull request #89 from haaawk/improve_normalize_ident
...
Improve normalize_ident
2024-07-07 14:07:42 +03:00
Piotr Jastrzebski
81cf0430de
Improve normalize_ident
...
Signed-off-by: Piotr Jastrzebski <haaawk@gmail.com >
2024-07-07 13:05:00 +02:00
Pekka Enberg
f1206ef29d
Merge pull request #88 from haaawk/tests
...
Mark test code cfg(test) instead of allow(dead_code)
2024-07-07 14:00:00 +03:00
Pekka Enberg
ae92e2f7e7
Merge pull request #87 from haaawk/remove_allocation
...
Remove unneded allocation
2024-07-07 13:59:37 +03:00
Piotr Jastrzebski
8ce1c4a1ab
Mark test code cfg(test) instead of allow(dead_code)
...
Signed-off-by: Piotr Jastrzebski <haaawk@gmail.com >
2024-07-07 12:59:06 +02:00
Pekka Enberg
30ec86a81e
Add sorter utility functions and opcodes
...
This adds basic in-memory sorting utility functions, similar to SQLite's
src/vdbesort.c. We need to improve this later with external sorting so
to support large data sets.
This also adds sorting functionality to the VDBE. Note that none of this
is wired to SQL translation yet so it's unused for now.
2024-07-07 13:56:55 +03:00
Piotr Jastrzebski
5eea420994
Simplify normalize_ident
...
Signed-off-by: Piotr Jastrzebski <haaawk@gmail.com >
2024-07-07 12:46:09 +02:00
Piotr Jastrzebski
83c7e7bd95
Remove unneeded allocation
...
Signed-off-by: Piotr Jastrzebski <haaawk@gmail.com >
2024-07-07 12:45:49 +02:00
Pekka Enberg
dac8f4dcba
Format source code with cargo fmt
2024-07-07 12:28:02 +03:00
Pekka Enberg
519e6b141f
Add Table::column_is_rowid_alias() helper
...
We need to check for rowid alias elsewhere too with ORDER BY, for
example, so let's extract a small helper for that.
2024-07-07 12:27:08 +03:00
Pekka Enberg
77bfbd47be
Merge pull request #84 from haaawk/rowid_alias
...
Remove incorrect Column::is_rowid_alias
2024-07-07 12:23:57 +03:00
Piotr Jastrzebski
fdbd010d89
Remove incorrect Column::is_rowid_alias
...
Fixes #83
Signed-off-by: Piotr Jastrzebski <haaawk@gmail.com >
2024-07-07 10:06:45 +02:00
Pekka Enberg
d46f523ac3
Merge pull request #82 from haaawk/derive_clone
2024-07-07 10:48:39 +03:00
Piotr Jastrzebski
3b3ea9a54f
Derive Clone for Buffer
...
Signed-off-by: Piotr Jastrzebski <haaawk@gmail.com >
2024-07-07 09:28:58 +02:00
Pekka Enberg
23d93b402d
Merge pull request #81 from haaawk/remove_submit
2024-07-07 10:27:15 +03:00
Piotr Jastrzebski
1004215853
Remove submit from LinuxIO write
...
Signed-off-by: Piotr Jastrzebski <haaawk@gmail.com >
2024-07-07 09:24:44 +02:00
Pekka Enberg
e5b0e8a512
Merge pull request #79 from haaawk/schema_add_table
...
Remove unneeded clone in add_table
2024-07-07 09:52:17 +03:00
Piotr Jastrzebski
7b6c6ef9f1
Remove unneeded clone in add_table
...
Signed-off-by: Piotr Jastrzebski <haaawk@gmail.com >
2024-07-07 08:47:47 +02:00
Pekka Enberg
e9032aaeaf
Merge pull request #77 from pereman2/cli-opcodes
...
cli: added .opcodes helper
2024-07-06 15:51:32 +03:00
Pere Diaz Bou
c4f98e5f27
cli: add sqlite links in opcode description
2024-07-06 14:41:45 +02:00
Pekka Enberg
e54e1e661f
Merge pull request #75 from heyrutvik/wait-for-completion
...
wait for the read completion
2024-07-06 15:37:33 +03:00
Pekka Enberg
6aa658a8c0
Merge pull request #76 from psarna/psarna/f55
...
translate: special case for LIMIT 0
2024-07-06 15:33:42 +03:00
Pere Diaz Bou
0b7226087b
cli: added .opcodes helper
...
Improve quality of life while implementing core features.
```
Welcome to Limbo SQL shell!
> .opcodes
Abortable
---------
Verify that an Abort can happen. Assert if an Abort at this point might cause database corruption. This opcode only appears in debugging builds. An Abort is safe if either there have been no writes, or if there is an active statement journal.
Add
---------
Add the value in register P1 to the value in register P2 and store the result in register P3. If either input is NULL, the result is NULL.
AddImm
---------
Add the constant P2 to the value in register P1. The result is always an integer. To force any register to be an integer, just add 0.
Affinity
---------
Apply affinities to a range of P2 registers starting with P1. P4 is a string that is P2 characters long. The N-th character of the string indicates the column affinity that should be used for the N-th memory cell in the range.
AggFinal
---------
P1 is the memory location that is the accumulator for an aggregate or window function. Execute the finalizer function for an aggregate and store the result in P1. P2 is the number of arguments that the step function takes and P4 is a pointer to the FuncDef for this function. The P2 argument is not used by this opcode. It is only there to disambiguate functions that can take varying numbers of arguments. The P4 argument is only needed for the case where the step function was not previously called.
```
It can also search for specific opcode:
```
> .opcodes yield
Yield
---------
Swap the program counter with the value in register P1. This has the effect of yielding to a coroutine. If the coroutine that is launched by this instruction ends with Yield or Return then continue to the next instruction. But if the coroutine launched by this instruction ends with EndCoroutine, then jump to P2 rather than continuing with the next instruction. See also: InitCoroutine
```
2024-07-06 14:21:29 +02:00
Piotr Sarna
9376d68f73
testing: add a test for limit 0
2024-07-06 10:58:19 +02:00
Piotr Sarna
5bd3d283d1
translate: special case for LIMIT 0
...
Fixes #55
2024-07-06 10:58:19 +02:00
Rutvik Patel
fd9af2739e
wait for the read completion
...
The submit_and_wait command waits for `n` completion events.
We were providing an incorrect argument, which caused the issue.
2024-07-06 13:48:58 +05:30
Pekka Enberg
095bf494f3
Merge pull request #73 from ishanjain28/makefile_fix
...
download wasm32-wasi target for wasm builds
2024-07-06 10:17:10 +03:00
Ishan Jain
61f6d69237
download wasm32-wasi target for wasm builds
2024-07-06 12:41:46 +05:30