Commit Graph

19 Commits

Author SHA1 Message Date
Pekka Enberg
2267ee121b Introduce Completion type 2023-11-09 21:11:48 +02:00
Pekka Enberg
0e9cc6b21f Fix full table scans
A full table scan missed some of the last rows because we don't consider
sibling pages when there is no parent.
2023-10-17 16:53:24 +03:00
Pekka Enberg
97185bfefc Pin buffer into memory
Make sure the buffer is pinned into memory for I/O.
2023-09-30 19:24:09 +03:00
Pekka Enberg
de6f327a4a Move raw buffer to I/O module 2023-09-30 14:19:55 +03:00
Pekka Enberg
1e1e096a48 Refactor I/O and storage layers 2023-09-16 09:34:17 +03:00
Pekka Enberg
b49c242266 Rename PageSource to File 2023-09-10 22:01:45 +03:00
Pekka Enberg
4a5c71ab7a I/O interface refactoring 2023-09-09 10:22:26 +03:00
Pekka Enberg
e75fa010dc Add tests for SerialType::try_from() 2023-09-06 22:06:29 +03:00
Pekka Enberg
7977b23ae5 Fix read_value() and read_varint() corner cases 2023-09-06 19:46:18 +03:00
Pekka Enberg
7c894f3b70 Parse BTree table interior cells 2023-09-04 21:59:00 +03:00
Pekka Enberg
0cdf54a8c7 Fix column affinity detection
As it turns out, column affinity is tricky in SQLite...

https://www.sqlite.org/datatype3.html#determination_of_column_affinity
2023-09-04 21:19:12 +03:00
Pekka Enberg
b113fa2d10 Fix read_varint() implementation
It was giving wrong results when reading a database file.
2023-09-04 21:11:11 +03:00
Pekka Enberg
f34ccb0f43 Simplify read_varint() function
It's in the hot path so let's get rid of the redundant `Result` return type.
2023-09-02 20:40:58 +03:00
Pekka Enberg
7784f4415d Allocate vector with capacity in read_record()
...it's faster that way.
2023-09-02 20:39:15 +03:00
Pekka Enberg
3ec9c0be7c Implement ResultRow opcode 2023-09-02 11:40:11 +03:00
Pekka Enberg
4b714311b5 Improve Column instruction 2023-08-31 22:05:05 +03:00
Pekka Enberg
b25f8c4daf Implement Cursor::next() 2023-08-31 21:45:04 +03:00
Pekka Enberg
6a2d36f4c1 Buffer pool 2023-08-27 12:17:20 +03:00
Pekka Enberg
fb72f9688b Initial commit 2023-08-27 09:59:12 +03:00