Changeset: 197e45e5fa02 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/197e45e5fa02
Modified Files:
        gdk/gdk_batop.c
        sql/storage/objectset.c
        sql/storage/store.c
Branch: default
Log Message:

Merge with Jan2022 branch.


diffs (81 lines):

diff --git a/sql/storage/objectset.c b/sql/storage/objectset.c
--- a/sql/storage/objectset.c
+++ b/sql/storage/objectset.c
@@ -766,6 +766,7 @@ os_add_name_based(objectset *os, struct 
                objectversion *co = name_based_node->ov;
                objectversion *oo = get_valid_object_name(tr, co);
                if (co != oo) { /* conflict ? */
+                       TRC_WARNING(SQL_STORE, "%s" "if (co != oo) { /* 
conflict ? */", __func__);
                        return -3;
                }
 
@@ -780,6 +781,7 @@ os_add_name_based(objectset *os, struct 
                        */
                        ATOMIC_BASE_TYPE expected_deleted = deleted;
                        if (!ATOMIC_CAS(&oo->state, &expected_deleted, 
block_destruction)) {
+                               TRC_WARNING(SQL_STORE, "%s: " "if 
(!ATOMIC_CAS(&oo->state, &expected_deleted, block_destruction)) { /*conflict 
with cleaner or write-write conflict*/ ", __func__);
                                return -3; /*conflict with cleaner or 
write-write conflict*/
                        }
                }
@@ -816,6 +818,7 @@ os_add_id_based(objectset *os, struct sq
                objectversion *co = id_based_node->ov;
                objectversion *oo = get_valid_object_id(tr, co);
                if (co != oo) { /* conflict ? */
+                       TRC_WARNING(SQL_STORE, "%s" "if (co != oo) { /* 
conflict ? */", __func__);
                        return -3;
                }
 
@@ -830,6 +833,7 @@ os_add_id_based(objectset *os, struct sq
                        */
                        ATOMIC_BASE_TYPE expected_deleted = deleted;
                        if (!ATOMIC_CAS(&oo->state, &expected_deleted, 
block_destruction)) {
+                               TRC_WARNING(SQL_STORE, "%s" "if 
(!ATOMIC_CAS(&oo->state, &expected_deleted, block_destruction)) { /*conflict 
with cleaner or write-write conflict*/", __func__);
                                return -3; /*conflict with cleaner or 
write-write conflict*/
                        }
                }
@@ -870,6 +874,7 @@ os_add_(objectset *os, struct sql_trans 
                if (os->destroy)
                        os->destroy(os->store, ov->b);
                _DELETE(ov);
+               TRC_WARNING(SQL_STORE, "%s" "if (!os->concurrent && 
os_has_changes(os, tr)) { /* for object sets without concurrent support, 
conflict if concurrent changes are there */", __func__);
                return -3; /* conflict */
        }
 
@@ -912,6 +917,7 @@ os_del_name_based(objectset *os, struct 
                objectversion *oo = get_valid_object_name(tr, co);
                ov->name_based_head = oo->name_based_head;
                if (co != oo) { /* conflict ? */
+                       TRC_WARNING(SQL_STORE, "%s: " "if (co != oo) { /* 
conflict ? */", __func__);
                        return -3;
                }
                ov->name_based_older = oo;
@@ -943,6 +949,7 @@ os_del_id_based(objectset *os, struct sq
                objectversion *oo = get_valid_object_id(tr, co);
                ov->id_based_head = oo->id_based_head;
                if (co != oo) { /* conflict ? */
+                       TRC_WARNING(SQL_STORE, "%s" "if (co != oo) { /* 
conflict ? */", __func__);
                        return -3;
                }
                ov->id_based_older = oo;
diff --git a/sql/storage/store.c b/sql/storage/store.c
--- a/sql/storage/store.c
+++ b/sql/storage/store.c
@@ -5816,6 +5816,12 @@ int
 sql_trans_drop_table(sql_trans *tr, sql_schema *s, const char *name, int 
drop_action)
 {
        sql_table *t = find_sql_table(tr, s, name), *gt = NULL;
+
+       if (!t) {
+               TRC_ERROR(SQL_STORE, "sql_trans_drop_table: Table %s.%s does 
not exist\n", s->base.name, name);
+               return -1;
+       }
+
        if (t && isTempTable(t)) {
                gt = find_sql_table_id(tr, s, t->base.id);
                if (gt)
diff --git 
a/sql/test/BugTracker-2018/Tests/truncate_geom_tables.Bug-6543.reqtests 
b/sql/test/BugTracker-2018/Tests/truncate_geom_tables.Bug-6543.reqtests
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2018/Tests/truncate_geom_tables.Bug-6543.reqtests
@@ -0,0 +1,1 @@
+truncate_add_user
_______________________________________________
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to