C.1 付録: 追跡対象の表に対するDML変更の記録

追跡対象の表の行に対するDMLの変更 一時tcrv表 ブロックチェーン履歴表

最初の挿入

 

どの行でも、最初に挿入されたデータ(最初の存続期間)は、関連するブロックチェーン履歴表にダミー行を挿入することで保護されます。このダミー行には、行の最初の存続期間のダイジェストが記録されます。

更新

最新バージョンの行(列の更新あり)がこの追跡対象の表の行の現在の存続期間になり、tcrv表に記録されます。

この現在の存続期間の開始SCNは、新しい行を挿入したトランザクションのコミットSCNから取得されます。終了SCNは無限です。

前の現在の存続期間がtcrv表から削除されます。

前の現在の存続期間が履歴表に挿入されます。

履歴表のエントリの先頭SCNは、行を挿入した最初のトランザクションのコミットSCNであり、その終了SCNは、行を更新した2番目のトランザクションのコミットSCNです。

tcrv表の現在の存続期間行に基づいて、チェーンの前の行の最新の存続期間と暗号ハッシュを含む行に対して暗号化ダイジェスト(SHA2-512)が計算されます。このダイジェストは、前の存続期間とともに、列ORAFBA_CURRENT_LIFESPAN_DIGEST$のブロックチェーン履歴表に挿入されます。

したがって、この新しい列は、tcrv表の最新の存続期間行を保護すると同時に、ブロックチェーン・セマンティクスを使用してそれ自体を保護します。

削除

tcrv表の現在の存続期間が削除されます。

履歴表に新しい履歴存続期間が作成されます(ROWIDが削除されたことを示します)。