From 1f4a38355e33ae8fec6bcc82d12ac8c42831e636 Mon Sep 17 00:00:00 2001 From: Marcos Magueta Date: Sun, 3 Nov 2024 12:30:18 -0300 Subject: add transaction doc --- docs/transaction-algo.org | 12 ++++++++++++ lib/transaction.ml | 2 ++ 2 files changed, 14 insertions(+) create mode 100644 docs/transaction-algo.org create mode 100644 lib/transaction.ml diff --git a/docs/transaction-algo.org b/docs/transaction-algo.org new file mode 100644 index 0000000..22903ec --- /dev/null +++ b/docs/transaction-algo.org @@ -0,0 +1,12 @@ +* Check if temporary file with the command hash with exists +To hash the command, we must hash its bytes without the timestamp, +since it will always vary given it's a transactional time, and add +instead the commit HEAD of the state of the database. + +If such file exists, load the transaction and storage offsets +alongside the command and attempt to write it as a recovery. +* Get the transaction offset of the transaction graph file AND storage file +* Write the offsets to a tmp file +* Write the command with a flag **flushed** set to false to a tmp file +* Attempt to execute the command +* Delete the temporary file diff --git a/lib/transaction.ml b/lib/transaction.ml new file mode 100644 index 0000000..7ae98ab --- /dev/null +++ b/lib/transaction.ml @@ -0,0 +1,2 @@ +let transaction () = + () -- cgit v1.2.3