Avinash Sajjanshetty
3f72de3623
Add checksum module
2025-09-13 11:00:37 +05:30
Nikita Sivukhin
4653f78356
fix compilation
2025-08-21 18:28:16 +04:00
Avinash Sajjanshetty
40a209c000
simplify feature flag usage for encryption
2025-08-20 12:49:38 +05:30
Avinash Sajjanshetty
100a0d8e97
Add encryption module
...
Let's add an encryption module, hard coded to use AES 256 GCM.
Other required parameters are also hard coded and will be made
configurable in the future PRs.
The module is behind a `encryption` feature flag.
2025-08-20 11:38:11 +05:30
PThorpe92
5a4c2a6ce9
Rename page -> slot for arenas + buffer pool
2025-08-12 11:36:49 -04:00
PThorpe92
5378195ad6
Add page bitmap to storage mod.rs
2025-08-04 14:55:48 -04:00
Pekka Enberg
598fdade3e
core: Fold HeaderRef to pager module
2025-08-02 09:50:25 +03:00
pedrocarlo
7012860800
create separate state machines file
2025-07-31 11:49:12 -03:00
Jussi Saurio
133d498724
Implement a header_accessor module so that DatabaseHeader structs arent initialized on every access
2025-06-24 14:41:50 -03:00
PThorpe92
588e43c5aa
Minor improvements and cleanups in btree
2025-03-01 15:48:42 -05:00
PThorpe92
f6cd707544
Add clippy CI, fix or ignore warnings where appropriate
2024-12-29 10:25:41 -05:00
Pere Diaz Bou
39a75147d4
Page cache by page_number and frame_number
...
Since page cache is now shared by default, we need to cache pages by
page number and something else. I chose to go with max_frame of
connection, because this connection will have a max_frame set until from
the start of a transaction until the end of it.
With key pairs of (pgno, max_frame) we make sure each connection is
caching based on the snapshot it is at as two different connections
might have the same pageno being using but a different frame. If both
have same max_frame then they will share same page.
2024-12-13 21:57:27 +01:00
Pekka Enberg
18883b5a7e
core: Document top-level storage module
2024-08-03 10:44:19 +03:00
Pekka Enberg
090a577dd5
core: Move DatabaseStorage to storage/database.rs
2024-08-03 10:41:10 +03:00
Pekka Enberg
83650a797a
core: Document DatabaseStorage purpose
2024-08-03 10:37:41 +03:00
Pekka Enberg
3f7c788e5b
core: Rename DatabaseStorage methods
...
Let's call them read_page() and write_page().
2024-08-03 10:35:14 +03:00
Pekka Enberg
8a54e31803
core: Rename PageIO to DatabaseStorage
2024-08-03 10:33:52 +03:00
Pekka Enberg
4349b946e5
core: Eliminate PageSource wrapper
...
The PageSource wrapper is useless. Let's inline it and use PageIO
directly.
2024-08-03 10:27:20 +03:00
Pekka Enberg
0bf12ec1b3
core: Move buffer_pool.rs to storage module
2024-08-01 11:53:14 +03:00
Pekka Enberg
ed1c23bfe6
core: Move wal.rs to storage module
2024-08-01 11:52:50 +03:00
Pekka Enberg
f8a43361db
core: Move pager.rs to storage module
2024-08-01 11:52:50 +03:00
Pekka Enberg
7abc48303f
core: Move btree.rs to storage module
2024-08-01 11:52:50 +03:00
Pekka Enberg
307cd71b11
core: Rename storage.rs to storage/mod.rs
...
Prepare for moving more code under storage module.
2024-08-01 11:52:50 +03:00