| Did you know ... | Search Documentation: |
| Pack asadb -- docs/binary-format.md |
Format awal `.asa` sengaja sederhana agar mudah dioprek.
+----------------------+--------------------------+ | ASADB001\n | magic header | +----------------------+--------------------------+ | decimal checksum\n | checksum payload decoded | +----------------------+--------------------------+ | encoded payload | XOR canonical term bytes | +----------------------+--------------------------+
Payload decoded adalah canonical Prolog term:
state(1, [
db(asa, [
table(users,
[col(id,'int',[not_null]), col(name,'varchar ( 100 )',[])],
[row([id=1,name='Aires'])]
)
])
])
`.sql` adalah input/export manusia. `.asa` adalah storage lokal engine. Pada versi awal, payload masih mudah dikembalikan karena tujuannya bukan enkripsi, melainkan struktur biner lokal.
Rencana format page-based:
File Header Page Catalog Page Table Root Pages Data Pages Free Pages Journal/WAL Pages
offset size field 0 4 magic ASDP 4 2 page_size 6 2 page_type 8 8 page_id 16 8 lsn 24 4 checksum 28 ... payload
1: catalog2: table heap leaf3: btree internal4: btree leaf5: overflow6: freelist7: wal/journal