pedrocarlo
ff955aeee9
simplify clock code by using a common struct
2025-10-14 12:33:36 -03:00
pedrocarlo
e5dfc942b1
remove some unnecessary unsafe impls
2025-09-21 13:29:59 -03:00
PThorpe92
0a56d23402
Use u64 for file offsets in IO and calculate such offsets in u64
2025-08-28 09:44:00 -04:00
Nikita Sivukhin
c771487933
add remove_file method to the IO
2025-08-21 14:51:02 +04:00
pedrocarlo
fadf78fe67
use a dedicated Error enum for Completion Error
2025-08-19 10:48:21 -03:00
pedrocarlo
7bc0545442
default impl for get_memory_io
2025-08-19 10:48:21 -03:00
pedrocarlo
d5a59c6bee
default impl for generate_random_number
2025-08-19 10:48:21 -03:00
pedrocarlo
f72bcbc5da
default impl for wait_for_completion + check for errors in completion there
2025-08-19 10:48:21 -03:00
pedrocarlo
d0c13f0104
remove IOError from Parser + store only ErrorKind in LimboError
2025-08-19 10:48:21 -03:00
Nikita Sivukhin
c3c7463193
add debug logs to the memory io
2025-08-13 15:23:18 +04:00
PThorpe92
f6a68cffc2
Remove RefCell from IO and Page apis
2025-08-05 16:24:49 -04:00
Nikita Sivukhin
129895f0b2
preserve files in IO memory backend
2025-08-04 15:22:04 +04:00
PThorpe92
7b2163208b
batch backfilling pages when checkpointing
2025-07-30 19:42:48 -04:00
PThorpe92
9c75872827
Make writing wal header able to be sync
2025-07-30 14:05:18 +03:00
PThorpe92
dcf346b9b0
Update apparently very old branch to new api
2025-07-30 13:48:05 +03:00
PThorpe92
cfbe9d5b9e
Fix clippy error casting same size
2025-07-30 13:48:05 +03:00
PThorpe92
3be8bb374d
Use usize for truncate method in place of u64
2025-07-30 13:48:05 +03:00
PThorpe92
ce1897cb4a
Impl truncate for the remainder of IO modules
2025-07-30 13:48:05 +03:00
pedrocarlo
9c4ce745ba
wait_for_completion was not implemented for MemoryIO and VFS
2025-07-29 13:23:45 -03:00
pedrocarlo
d30c7d54c8
change all Arc<Completion> to Completion
2025-07-28 15:32:45 -03:00
pedrocarlo
dc5f73887e
refactor to require Arc<Completion> in file traits so that we can delay IO calls correctly
2025-07-17 12:24:43 -03:00
pedrocarlo
1dc28e32f0
fix io_uring completion + clippy
2025-06-26 22:17:28 -03:00
pedrocarlo
bac5e4b563
refactor File and Database Storage to remove Arc<Connection> and return Arc<Connection> for caller to wait for completion
2025-06-26 22:17:28 -03:00
Pekka Enberg
05df548b10
core/io: Add wait_for_completion() to I/O dispatcher
2025-05-27 13:47:40 +03:00
Pekka Enberg
eca9a5b703
core/io: Switch to Arc<Completion>
2025-05-27 11:28:49 +03:00
Diego Reis
d9bf383507
core/io: Untie MemoryIO's lifetime of the IO layer
2025-04-13 11:10:06 -03:00
Diego Reis
b519509349
core/io: Add internal in-memory MemoryIO to all IO layers
...
Honestly I don't have 100% sure if this is a good idea, the reasoning is that in any IO we'll want to do memory only operations like creating tables etc, so may want a common way to access it
2025-04-13 11:10:05 -03:00
Avinash Sajjanshetty
2873c36b31
Implement trait Clock for implemented IOs
...
Replace `chrono::Local::now()` to return `Instant` but containing
same info
2025-04-06 23:34:13 +05:30
Pere Diaz Bou
e4a8ee5402
move load extensions to Connection
...
Extensions are loaded per connection and not per database as per SQLite
behaviour. This also helps with removing locks.
2025-03-05 14:07:48 +01:00
Pere Diaz Bou
8daf7666d1
Make database Sync + Send
2025-03-05 14:07:48 +01:00
Pekka Enberg
01671d1d1e
Merge 'Performance improvements for Unix I/O backend' from Preston Thorpe
...
This PR reworks the unix I/O backend, removing runtime reference
counting/borrow checking and optimizing away the hashmap in favor of a
static array, with an unlikely fallback vec.
The only reason the fallback vec is there is because unlike the
`io_uring` module, we cannot simply index into the array with the fd as
the OS could theoretically give us a fd up to I believe 1024 so keeping
an array of that size for a few elements is unnecessary.
Closes #940
2025-02-12 09:29:41 +02:00
PThorpe92
9098237a12
Add as_read method to completion enum
2025-02-11 09:09:47 -05:00
Doug Anderson444
0aa5de6d9f
rm log, switch all to tracing
2025-02-11 09:03:36 -04:00
PThorpe92
75898027a0
Remove unnecessary reference counting from completion io callbacks
2025-02-08 08:20:19 -05:00
PThorpe92
b5a5b34329
Use Cell for size in memoryio in place of unsafecell
2025-02-01 23:04:42 -05:00
PThorpe92
5c00b3dc6e
Improve in-memory IO performance, remove runtime borrow checking
2025-02-01 21:54:39 -05:00
Jorge López
5a45df84db
core: add debug line when an IO backend is created. A user can check that the correct one has been selected.
2025-01-11 16:08:41 +01:00
PThorpe92
7fc9835899
Optimize replace byte vec with boxed array in memory page
2024-12-14 23:39:51 -05:00
PThorpe92
ce2851ac8d
Fix properly opening new connection in shell
2024-12-14 21:20:10 -05:00
PThorpe92
a323db6f46
Add in-memory IO implementation
2024-12-14 20:52:44 -05:00