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

Reply via email to