Update table file specification
parent
22ab490e3c
commit
33fdb0183a
|
@ -2,12 +2,15 @@
|
|||
|
||||
## Table file version changelog
|
||||
|
||||
### v0.2
|
||||
+ Added table "write incomplete" flag.
|
||||
|
||||
### v0.1
|
||||
Initial version.
|
||||
|
||||
## Overall specification
|
||||
|
||||
1. `TBL!` file signature (4 bytes)
|
||||
1. `TBL!` file signature (4 bytes) **could be `TBL?` if an operation on a table is incompleted**
|
||||
2. Table file version (2 bytes)
|
||||
3. The offset to the first page in a table. (8 bytes)
|
||||
4. The offset to the last page in a table. (8 bytes)
|
||||
|
@ -56,3 +59,8 @@ If there is a free page, there actions are being done:
|
|||
3. Put last available free page as the next page ((6.1) = 5)
|
||||
4. Set current page offset as the offset to the last available free page ((5) = current_page_offset)
|
||||
|
||||
## File signature
|
||||
|
||||
*Since v0.2* a file signature could be `TBL?`, which signals for incomplete table write operation.
|
||||
If that signature is detected, the state of a table should be reverted to that it was before failed
|
||||
transaction.
|
Loading…
Reference in New Issue