Changeset: 2ae3a70476c2 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2ae3a70476c2 Modified Files: sql/storage/objectset.c Branch: nospare Log Message:
Make rollback respect safepoints. diffs (27 lines): diff --git a/sql/storage/objectset.c b/sql/storage/objectset.c --- a/sql/storage/objectset.c +++ b/sql/storage/objectset.c @@ -330,8 +330,9 @@ os_rollback_os_id_based_cascading(object assert(state & id_based_rollbacked); if (ov->id_based_older) { - if (ov->id_based_older->ts < TRANSACTION_ID_BASE) { - // older is last committed state. Restore versionhead pointer to that. + if (ov->ts != ov->id_based_older->ts) { + // older is last committed state or belongs to parent transaction. + // In any case, we restore versionhead pointer to that. // TODO START ATOMIC SET ov->id_based_head->ov = ov->id_based_older; } @@ -359,8 +360,9 @@ os_rollback_os_name_based_cascading(obje assert(state & name_based_rollbacked); if (ov->name_based_older) { - if (ov->name_based_older->ts < TRANSACTION_ID_BASE) { - // older is last committed state. Restore versionhead pointer to that. + if (ov->ts != ov->name_based_older->ts) { + // older is last committed state or belongs to parent transaction. + // In any case, we restore versionhead pointer to that. // TODO START ATOMIC SET ov->name_based_head->ov = ov->name_based_older; } _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list