#pragma once #include "transactions/transaction.hpp" #include "mvcc/version_list.hpp" template class RecordProxy { public: Derived update(tx::Transaction& transaction) const { // TODO: implementation transaction.commit(); return nullptr; } void remove(tx::Transaction& transaction) const { // TODO: implementation transaction.commit(); } private: T* record; Store *store; mvcc::VersionList *version_list; };