實現 Hekaton DBMS 的 MVCC 功能
該程式的語意在檔案「_project_report.pdf」中描述。
master
分支包含使用單執行緒執行(原始)事務 newOrder 的程式。其他分支用於正確性和性能測試:
- 分支“test-visibility-validation”:測試讀取穩定性。
- 分支「test-phantom-avoidance」:測試幻象偵測。
- 分支「test-cascaded-aborts」:在提交依賴項的上下文中測試級聯中止。
- 分支「test-scanning」:透過多次掃描OrderLine表來測試程式的掃描速度。
- 分支「只讀」:測試只讀事務的效能。
- 分支「僅更新」:測試僅更新交易的效能。
在邊緣情況下,事務的行為如下:
- SELECT:如果所需的元組不存在,則交易必須中止並回滾,因為下面將需要此 SELECT 陳述式中的變數。
- INSERT:如果將重複的 PK 插入表中,則交易必須中止並回滾。
- UPDATE 和 DELETE:如果更新/刪除不存在的元組,則該語句將被忽略。