Commit Graph

2937 Commits

Author SHA1 Message Date
jussisaurio
80933a32e9 remove space allocated for overflow pointer in non-overflow cases 2024-12-25 23:09:23 +02:00
jussisaurio
381335724a add tests for serialize() 2024-12-25 22:57:55 +02:00
jussisaurio
6bf1ab7726 add consts for integer lo/hi values and serial types 2024-12-25 22:34:34 +02:00
jussisaurio
78da71c72a encode integers with proper varint types 2024-12-25 22:08:11 +02:00
jussisaurio
c4e2a344ae parse error instead of assert! for unsupported features 2024-12-25 21:14:58 +02:00
jussisaurio
050b8744ea Dont use coroutine when inserting a single row 2024-12-25 21:14:58 +02:00
jussisaurio
c78a3e952a clean up implementation 2024-12-25 21:14:58 +02:00
jussisaurio
51541dd8dc fix issues with insert 2024-12-25 21:14:08 +02:00
Pekka Enberg
37e1f35df8 Fix Cargo.toml in macros crate 2024-12-25 11:54:16 +02:00
Pere Diaz Bou
93e3b49f08 bench 2024-12-25 00:25:23 +01:00
Pere Diaz Bou
a2921bd32c core: add checkpoint mode passive 2024-12-24 18:30:58 +01:00
jussisaurio
42ea9041e1 rename cell_get_raw_pointer_region() and refactor a bit 2024-12-24 19:27:01 +02:00
Pere Diaz Bou
3bce282352 respect max_frame on checkpoint 2024-12-24 18:18:17 +01:00
Pere Diaz Bou
aed14117c9 core: transaction support 2024-12-24 18:04:30 +01:00
jussisaurio
25338b5cb4 refactor compute_free_space() 2024-12-24 19:00:22 +02:00
jussisaurio
c6b7ddf77a Improve comments in BTreeCursor::compute_free_space() 2024-12-24 10:30:27 +02:00
jussisaurio
91cca0d5b7 use more descriptive names in BTreeCursor::insert_into_cell() 2024-12-24 10:28:53 +02:00
jussisaurio
a94d4ca8bc Merge 'core/btree: improve documentation' from Jussi Saurio
This PR should have no functional changes, just variable renaming and
comments
Using `///` comment format for better IDE support

Reviewed-by: Pere Diaz Bou <penberg@iki.fi>

Closes #539
2024-12-24 09:44:15 +02:00
김선우
56165fb0d6 Merge branch 'main' into feature/delete-planning 2024-12-24 12:29:19 +09:00
김선우
906975e1ca Add limit support 2024-12-24 12:25:04 +09:00
jussisaurio
3ab7f7a0b8 Merge 'Use custom expr equality check in translation and planning' from Preston Thorpe
Idk how I missed these during the initial PR 👍

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

Closes #541
2024-12-23 22:58:03 +02:00
jussisaurio
c727ed7e8a rename cell_start to cell_pointer_array_start, part 2: electric boogaloo 2024-12-23 22:31:35 +02:00
jussisaurio
17440393f5 rename cell_start to cell_pointer_array_start 2024-12-23 22:30:05 +02:00
jussisaurio
81526089a4 add comment about cell_get_raw_pointer_region() 2024-12-23 22:26:49 +02:00
jussisaurio
668a0ecae8 comment about page header size difference between page types 2024-12-23 22:18:22 +02:00
jussisaurio
9ea4c95ee1 even more comments 2024-12-23 22:07:20 +02:00
jussisaurio
6a287ae1a9 add comment about cell_content_area 0 value meaning u16::MAX 2024-12-23 21:33:57 +02:00
jussisaurio
40a0bef0dc better fixme comments 2024-12-23 21:19:18 +02:00
jussisaurio
c417fe7880 add link to sqlite source about payload_overflows() 2024-12-23 21:14:20 +02:00
Pekka Enberg
0a479a9a4e Merge 'Fix file creation in GenericIO open_file function' from Dezhi Wu
`cargo test` is always failing on FreeBSD, the following is one of the
errors:
```
---- tests::test_simple_overflow_page stdout ----
thread 'tests::test_simple_overflow_page' panicked at test/src/lib.rs:32:84:
called `Result::unwrap()` on an `Err` value: IOError(Os { code: 2, kind: NotFound, message: "No such file or directory" })
```
After some digging, I found that the `open_file` function in
`core/io/generic.rs` does not respect the `OpenFlags::Create` flag. This
commit adds support for file creation in the `open_file` function.
`cargo test` now passes on FreeBSD.

Closes #537
2024-12-23 16:15:11 +02:00
PThorpe92
fbf42458b8 Use custom expr equality check in translation and planner 2024-12-22 21:46:31 -05:00
김선우
357ab551a5 nit 2024-12-23 07:42:12 +09:00
jussisaurio
b57a95752c core/btree: improve documentation 2024-12-22 23:05:25 +02:00
김선우
5cdcb8d78c Split Plan into Select and Delete 2024-12-23 05:45:23 +09:00
김선우
f8d4edc8d7 Use schema.get_table(...) instead of referencing directly 2024-12-23 04:54:40 +09:00
김선우
82c127b7a3 Remove bool args in optimize_plan 2024-12-23 04:47:05 +09:00
김선우
6f235e6f6c Fix comment 2024-12-22 21:06:54 +09:00
김선우
e83819ef30 Extract the appending delete related opcodes to emit_delete_opcodes 2024-12-22 16:00:35 +09:00
김선우
1d3ce52812 Refactor planner and optimizer to be DRY 2024-12-22 15:11:26 +09:00
김선우
9bacf80f2e Change to println! 2024-12-22 14:41:12 +09:00
김선우
57c7a56e35 Apply fmt, clippy 2024-12-22 14:27:21 +09:00
김선우
a42b185ece Nit 2024-12-22 14:22:10 +09:00
김선우
9a8b94ef93 First successful implementation of delete planning 2024-12-22 13:16:16 +09:00
Dezhi Wu
bea49549ed feat(core/io): Add support for file creation in open_file function
`cargo test` is always failing on FreeBSD, the following is one of the
errors:

```
---- tests::test_simple_overflow_page stdout ----
thread 'tests::test_simple_overflow_page' panicked at test/src/lib.rs:32:84:
called `Result::unwrap()` on an `Err` value: IOError(Os { code: 2, kind: NotFound, message: "No such file or directory" })
```

After some digging, I found that the `open_file` function in
`core/io/generic.rs` does not respect the `OpenFlags::Create` flag. This
commit adds support for file creation in the `open_file` function.

`cargo test` now passes on FreeBSD.
2024-12-22 11:04:15 +08:00
PThorpe92
c06c4115f1 Adapt OwnedValues in uuid ext to new LimboText 2024-12-21 09:17:53 -05:00
PThorpe92
2fcae80902 Create ext directory for outside funcs, add uuid to ext dir 2024-12-21 09:16:04 -05:00
PThorpe92
f96f289609 Remove unnecessary nanos arg from uuid7, add insn const 2024-12-21 09:13:48 -05:00
PThorpe92
c1561ecbb0 Tests for uuid funcitons, add compat docs 2024-12-21 09:13:48 -05:00
PThorpe92
b207f7ded5 Give uuidv7 optional unix time arg 2024-12-21 09:13:48 -05:00
PThorpe92
fcab0ae299 Add uuid support for v4 and v7 2024-12-21 09:13:46 -05:00