Changeset: 0aa7a46cd084 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0aa7a46cd084
Modified Files:
        sql/storage/objectset.c
Branch: nospare
Log Message:

add simple locks


diffs (58 lines):

diff --git a/sql/storage/objectset.c b/sql/storage/objectset.c
--- a/sql/storage/objectset.c
+++ b/sql/storage/objectset.c
@@ -807,8 +807,8 @@ os_add_id_based(objectset *os, struct sq
        }
 }
 
-int /*ok, error (name existed) and conflict (added before) */
-os_add(objectset *os, struct sql_trans *tr, const char *name, sql_base *b)
+static int /*ok, error (name existed) and conflict (added before) */
+os_add_(objectset *os, struct sql_trans *tr, const char *name, sql_base *b)
 {
        objectversion *ov = SA_ZNEW(os->sa, objectversion);
        ov->ts = tr->tid;
@@ -830,6 +830,16 @@ os_add(objectset *os, struct sql_trans *
        return 0;
 }
 
+int
+os_add(objectset *os, struct sql_trans *tr, const char *name, sql_base *b)
+{
+       store_lock(tr->store);
+       int res = os_add_(os, tr, name, b);
+       store_unlock(tr->store);
+       return res;
+}
+
+
 static int
 os_del_name_based(objectset *os, struct sql_trans *tr, const char *name, 
objectversion *ov) {
        versionhead  *name_based_node = NULL;
@@ -894,8 +904,8 @@ os_del_id_based(objectset *os, struct sq
        }
 }
 
-int
-os_del(objectset *os, struct sql_trans *tr, const char *name, sql_base *b)
+static int
+os_del_(objectset *os, struct sql_trans *tr, const char *name, sql_base *b)
 {
        objectversion *ov = SA_ZNEW(os->sa, objectversion);
        os_atmc_set_state(ov, deleted);
@@ -919,6 +929,15 @@ os_del(objectset *os, struct sql_trans *
 }
 
 int
+os_del(objectset *os, struct sql_trans *tr, const char *name, sql_base *b)
+{
+       store_lock(tr->store);
+       int res = os_del_(os, tr, name, b);
+       store_unlock(tr->store);
+       return res;
+}
+
+int
 os_size(objectset *os, struct sql_trans *tr)
 {
        int cnt = 0;
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to