Pekka Enberg
65b382b9e1
Merge 'Make MVCC code Send and Sync' from Pekka Enberg
...
Closes #3361
2025-09-27 08:21:01 +03:00
Pere Diaz Bou
99adf73168
core/mvcc/logical-log: rename to needs_recovery
2025-09-26 16:59:57 +02:00
Pere Diaz Bou
9e47cc3700
clippy
2025-09-26 14:16:11 +02:00
Pekka Enberg
1402e9841e
core/mvcc: Wrap StreamingLogicalLogReader::buffer with RwLock
2025-09-26 14:19:16 +03:00
Pekka Enberg
96accef06c
core/mvcc: Wrap header with RwLock
2025-09-26 14:10:18 +03:00
Pere Diaz Bou
4cdf293a2b
core/mvcc/logical-log: fuzz test recover use db.restart
2025-09-26 12:56:58 +02:00
Pere Diaz Bou
83d8a7c775
core/mvcc/logical-log: lock recover logical log process
2025-09-26 12:47:31 +02:00
Pere Diaz Bou
334da8abbb
core/mvcc/logical-log: refactor get log path in tests
2025-09-25 18:33:26 +02:00
Jussi Saurio
c07a227560
Merge 'core/mvcc/logical-log: load logical log from disk' from Pere Diaz Bou
...
## Description
Read transactions from logical log and load mvcc store based on the
contents onto transaction 0, which is the special transaction where we
will load all row versions that can be read by all new transactions.
## Todo
- [x] Testing for multiple transactions
- [ ] Lock multiple loading of same logical-log at the same time
- [x] Add column_count to format because if not it is hard to judge from
record alone.
- [x] Trim buffer read
I was thinking to implement the rest on another pr to not increase load
to review this one.
Reviewed-by: Jussi Saurio <jussi.saurio@gmail.com >
Closes #3323
2025-09-25 16:26:34 +03:00
Pere Diaz Bou
8f3332377a
core/mvcc/logical-log: fmt fmt fmt fmt
2025-09-25 13:33:16 +02:00
Pere Diaz Bou
b75eb9f09d
core/mvcc/logical-log: drain consumed bytes on read_more_data
2025-09-25 13:31:03 +02:00
Pere Diaz Bou
7b131b0b0d
core/mvcc/logical-log: test fuzz logical log read
2025-09-25 13:23:43 +02:00
Pere Diaz Bou
dd0a71484d
core/mvcc/logical-log: test insert 100 transactions
2025-09-25 12:40:05 +02:00
Pere Diaz Bou
8528f92248
core/mvcc/logical-log: fix is_eof
2025-09-25 12:39:48 +02:00
Pere Diaz Bou
654f9a9412
core/mvcc/logical-log: read column_count from immutable record
2025-09-25 12:27:30 +02:00
Jussi Saurio
b702af8ac0
mvcc: add truncate method to logical log
2025-09-25 08:12:13 +03:00
Pere Diaz Bou
1478538cb9
core/mvcc/logical-log: load logical log from disk
...
Read transactions from logical log and load mvcc store based on the
contents onto transaction 0, which is the special transaction where we
will load all row versions that can be read by all new transactions.
- [ ] Testing for multiple transactions
- [ ] Lock multiple loading of same logical-log at the same time
- [ ] Add column_count to format because if not it is hard to judge from
record alone.
2025-09-25 02:15:28 +02:00
Pere Diaz Bou
2f4426fc33
core/mvcc/logical-log: change order of Data size in InsertRow
2025-09-22 13:25:46 +02:00
Pere Diaz Bou
4cc88ee2bb
core/mvcc/logical-log: rename Insert and Delete -> InsertRow and DeleteRow in LogRecordType
2025-09-22 13:21:54 +02:00
Pere Diaz Bou
db326affc6
core/mvcc/logical-log: rename LogRowType to LogRecordType
2025-09-22 13:19:02 +02:00
Pere Diaz Bou
e22a3893d5
core/mvcc/logical-log: remove column_count from insert row type
2025-09-22 13:18:17 +02:00
Pere Diaz Bou
4c959e760b
core/mvcc/logical-log: add rows size field for transaction format
2025-09-22 13:15:07 +02:00
Pere Diaz Bou
2cd1562966
core/mvcc/logical-log: add format for transaction fields and marker end
2025-09-22 13:06:11 +02:00
Pere Diaz Bou
6fc1bed187
core/mvcc/logical-log: add format for logical log header
2025-09-22 13:00:52 +02:00
Pere Diaz Bou
36a728d984
core/mvcc/logical-log: add format for row types
2025-09-22 12:43:54 +02:00
Pekka Enberg
2307cf03be
Merge 'core/mvcc: Wrap LogicalLog in RwLock' from Pekka Enberg
...
Closes #3215
2025-09-19 13:40:40 +03:00
Jussi Saurio
ba7ae50eff
mvcc: remove unused code related to is_logical_log()
...
is always logical log
2025-09-19 12:55:27 +03:00
Pekka Enberg
c77f523bfe
core/mvcc: Wrap LogicalLog in RwLock
2025-09-19 09:02:58 +03:00
Pekka Enberg
3f35267b7c
core/mvcc: Kill noop storage
...
We don't need it for anything.
2025-09-19 08:52:57 +03:00
Pere Diaz Bou
402f171ce4
fix compilation error on logical_log
2025-09-18 19:20:37 +02:00
Pere Diaz Bou
242c48c813
core/mvcc: logical log fix offset addition
2025-09-18 19:14:56 +02:00
Pere Diaz Bou
e6eb3adcbd
core/mvcc/logical-log: sync
2025-09-18 18:22:06 +02:00
Pere Diaz Bou
050055b833
core/mvcc: do not start pager txns with logical log
2025-09-18 18:21:21 +02:00
Pere Diaz Bou
81a33bb25a
core/mvcc: introduce LogicalLog simple append serializer
2025-09-18 18:21:04 +02:00
Pere Diaz Bou
de8a975a0b
core/mvcc: introduce MvccMode Logical Log
2025-09-18 18:21:04 +02:00
Pere Diaz Bou
0f70e7101f
core/state_machine: move state_machine to its own file
2025-08-01 12:49:32 +02:00
Pekka Enberg
81b79bc833
core/mvcc: Eliminate row generic types
...
The logging code that writes out transactions to disk needs to write out
the byte array that we actually use. The code is less hairly without the
generics so drop them.
2025-03-05 19:17:16 +02:00
Pekka Enberg
fad479ac59
core/mvcc: Move source code to module
2025-02-05 13:25:16 +02:00