Tiago Ribeiro
729524efbd
Update java bindings to use the new retrieval methods to access Record values.
2025-02-10 00:27:51 -07:00
Tiago Ribeiro
13504faf18
Update go bindings to use the new retrieval methods to access Record values.
2025-02-10 00:27:51 -07:00
Tiago Ribeiro
295691d81b
Update core/vdbe to use the new retrieval methods to access Record values.
2025-02-10 00:27:51 -07:00
Tiago Ribeiro
af12036e88
Update core/storage/btree.rs to use the new retrieval methods to access Record values.
2025-02-10 00:27:51 -07:00
Tiago Ribeiro
510a7b033a
Make the Record.values attribute private and add method to retrieve it.
2025-02-10 00:27:50 -07:00
Pekka Enberg
bad5f2cad3
Merge 'Fix a handful of typos' from Aarni Koskela
...
I noticed the README had a prominent typo ("workin on"), so I decided to
run [crate-ci/typos](https://github.com/crate-ci/typos ) on the repo and
fix what it flagged.
Reviewed-by: Jussi Saurio <jussi.saurio@gmail.com >
Closes #952
2025-02-10 07:41:01 +02:00
Pekka Enberg
2eda8a54d9
Merge 'Fix various bugs in B-Tree handling' from Nikita Sivukhin
...
This PR introduce simple fuzz test for BTree insertion algorithm and
fixes few bugs found by fuzzer
- BTree algorithm returned early although there were overflow pages on
stack and more rebalances were needed
- BTree balancing algorithm worked under assumption that single page
will be enough for rebalance - although this is not always true (if page
were tightly packed with relatively big cells, insertion of new very big
cell can require 3 split pages to distribute the content between them)
- `overflow_cells` wasn't cleared properly during rebalancing
- insertions of dividers to the parent node were implemented incorrectly
- `defragment_page` didn't reset
`PAGE_HEADER_OFFSET_FRAGMENTED_BYTES_COUNT` field which can lead to
suboptimal usage of pages
Closes #951
2025-02-10 07:40:27 +02:00
Pekka Enberg
e559b0c4b3
Merge 'Expose types in Wal' from Jorge López Tello
...
We expose Wal trait as public, but there are three types in its
signature that are private.
Notice I chose to expose limbo_core::result instead of
limbo_core::result::LimboResult, since LimboResult is the only type in
that module.
Closes #939
2025-02-10 07:38:59 +02:00
Aarni Koskela
eaea02c567
Fix a handful of typos
2025-02-09 18:08:29 +02:00
Pekka Enberg
e3eb2f1a9a
Merge 'bindings/java: Remove AbstractDB ' from Kim Seon Woo
...
## Purpose of this PR
- Remove `AbstractDB` and put limbo db related methods into `LimboDB`
## Changes
- Remove `AbstractDB`
- Implement `close()`
## Reference
- [Issue](https://github.com/tursodatabase/limbo/issues/615 )
Closes #946
2025-02-09 17:36:48 +02:00
Pekka Enberg
2a8687d13f
Merge 'bindings/java: Implement some minor TODOs ' from Kim Seon Woo
...
## Changes
- Implement relatively important (TODO) methods first for
`JDBC4Connection`, `JDBC4Statement`, `JDBC4PreparedStatement`
## Reference
- [Issue](https://github.com/tursodatabase/limbo/issues/615 )
Closes #945
2025-02-09 17:36:41 +02:00
Pekka Enberg
728e8ca4f1
Merge 'chore: remove unused dependencies' from meteorgan
...
remove unused dependencies
Closes #948
2025-02-09 17:36:18 +02:00
Nikita Sivukhin
1b9772e9ad
fix clippy
2025-02-09 19:36:14 +04:00
Pekka Enberg
9e65d7ddea
Merge 'perf/prepare: box even more stuff to shrink the YYMINORTYPE enum further' from Jussi Saurio
...
the boxings will continue until morale improves
<img width="621" alt="Screenshot 2025-02-09 at 14 16 21"
src="https://github.com/user-
attachments/assets/887d218d-3db7-4a64-ad81-b7431adb23bb" />
Closes #947
2025-02-09 17:36:03 +02:00
Nikita Sivukhin
32b5b0d019
introduce additional condition for cells distribution in order to avoid almost empty pages
2025-02-09 19:26:03 +04:00
Nikita Sivukhin
bc289d314a
adjust test a bit
2025-02-09 19:20:48 +04:00
Nikita Sivukhin
e23ea35993
add simple B-tree validation func
2025-02-09 19:20:37 +04:00
Nikita Sivukhin
a59589844d
fix insertion to the parent
2025-02-09 19:19:36 +04:00
Nikita Sivukhin
6c40f52fc8
separate fuzz tests in categories
2025-02-09 18:37:04 +04:00
Nikita Sivukhin
9049c91863
find cell in parent node
2025-02-09 18:36:37 +04:00
Nikita Sivukhin
9e4afd1d13
relax assertion
2025-02-09 18:36:26 +04:00
Nikita Sivukhin
8e6569434a
add fuzz
2025-02-09 18:10:59 +04:00
Nikita Sivukhin
a62265eef4
hanle balancing cases when more than 1 level is affected
2025-02-09 18:10:19 +04:00
Nikita Sivukhin
d2251b1dd1
fix
2025-02-09 18:09:53 +04:00
Nikita Sivukhin
e8a585f87a
adjust logging
2025-02-09 18:09:43 +04:00
김선우
2fa3a1e6ae
Apply lint
2025-02-09 22:46:48 +09:00
Nikita Sivukhin
8659dbba8e
fix pointer structure in case of root split
2025-02-09 17:31:39 +04:00
Nikita Sivukhin
d4bbad161b
handle case when we can't balance all cells between current page and one new allocated page
...
- if we have page which is tightly packed with relatively big cells, we
will be unable to balance its content if we will insert very big
(~page size) cell in the middle (because nothing can't be merged with
new cell - so we will need to split 1 page into 3)
2025-02-09 17:31:39 +04:00
Nikita Sivukhin
ea61f31843
clear overflow_cells
2025-02-09 17:31:39 +04:00
Nikita Sivukhin
6aa10701a4
fix comment
2025-02-09 17:31:39 +04:00
Nikita Sivukhin
eec0493c60
remove misleading comment
2025-02-09 17:31:39 +04:00
Nikita Sivukhin
fc502b86c7
fix defragmentation code a bit
2025-02-09 17:31:39 +04:00
Nikita Sivukhin
5ce3d12f75
fix typo
2025-02-09 17:31:39 +04:00
Nikita Sivukhin
62b4787d3d
simplify write_varint_to_vec function
2025-02-09 17:31:39 +04:00
Nikita Sivukhin
3557c8aada
adjust fuzz test
2025-02-09 17:31:39 +04:00
meteorgan
a99d9a8988
chore: remove unused dependencies
2025-02-09 21:05:06 +08:00
Jussi Saurio
a8685c8086
sqlite3-parser: box the Expr in Vacuum
2025-02-09 14:24:55 +02:00
Jussi Saurio
9b0997a60d
sqlite3-parser: separate boxed CreateVirtualTable struct
2025-02-09 14:24:55 +02:00
Jussi Saurio
36a3cb1d5e
sqlite3-parser: box AlterTable
2025-02-09 14:11:34 +02:00
Jussi Saurio
72a055e5fe
sqlite3-parser: box Pragma
2025-02-09 13:10:52 +02:00
Jussi Saurio
23c4106433
sqlite3-parser: separate boxed Insert struct
2025-02-09 13:10:21 +02:00
Jussi Saurio
f0d7d82e1d
sqlite3-parser: Box the Expr in Detach
2025-02-09 13:10:21 +02:00
Jussi Saurio
32887518ce
sqlite3-parser: separate boxed Delete struct
2025-02-09 13:10:21 +02:00
Jussi Saurio
40a8dc14cd
sqlite3-parser: separate boxed SelectInner struct
2025-02-09 12:54:30 +02:00
Jussi Saurio
f75aca67bb
sqlite3-parser: separate boxed TriggerCmd struct variants
2025-02-09 12:53:12 +02:00
Jussi Saurio
af920a317c
sqlite3-parser: separate boxed Update struct
2025-02-09 12:53:12 +02:00
Jussi Saurio
575b484740
sqlite3-parser: separate boxed CreateTrigger struct
2025-02-09 12:50:00 +02:00
Jussi Saurio
358fda2ec7
sqlite3-parser: box the create table body
2025-02-09 12:42:53 +02:00
Jussi Saurio
d177f6195b
sqlite3-parser: box big members of createindex
2025-02-09 12:34:53 +02:00
김선우
e0b0a667bb
Implement close
2025-02-09 18:40:50 +09:00