Changeset: de4903ab5980 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=de4903ab5980 Modified Files: sql/storage/objectset.c sql/storage/sql_storage.h sql/storage/store.c Branch: nospare Log Message:
use ATOMIC_GET to retrieve atomic value diffs (49 lines): diff --git a/sql/storage/objectset.c b/sql/storage/objectset.c --- a/sql/storage/objectset.c +++ b/sql/storage/objectset.c @@ -450,7 +450,7 @@ put_under_destruction(sqlstore* store, o } // TODO ATOMIC GET - ov->ts = store->timestamp+1; + ov->ts = store_get_timestamp(store)+1; if (ov->id_based_older) { put_under_destruction(store, ov->id_based_older, oldest); @@ -481,7 +481,7 @@ os_cleanup(sqlstore* store, objectversio * This will cause a safe eventual destruction of this rollbacked ov. */ // TODO ATOMIC GET - ov->ts = store->timestamp+2; + ov->ts = store_get_timestamp(store)+2; } // not yet old enough to be safely removed. Try later. diff --git a/sql/storage/sql_storage.h b/sql/storage/sql_storage.h --- a/sql/storage/sql_storage.h +++ b/sql/storage/sql_storage.h @@ -334,6 +334,7 @@ extern void store_resume_log(struct sqls extern lng store_hot_snapshot(struct sqlstore *store, str tarfile); extern lng store_hot_snapshot_to_stream(struct sqlstore *store, stream *s); +extern ulng store_get_timestamp(struct sqlstore *store); extern void store_manager(struct sqlstore *store); extern void idle_manager(struct sqlstore *store); diff --git a/sql/storage/store.c b/sql/storage/store.c --- a/sql/storage/store.c +++ b/sql/storage/store.c @@ -32,6 +32,13 @@ store_timestamp(sqlstore *store) return ts; } +ulng +store_get_timestamp(sqlstore *store) +{ + ulng ts = ATOMIC_GET(&store->timestamp); + return ts; +} + static ulng store_transaction_id(sqlstore *store) { _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list