Changeset: f7c06e478793 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/f7c06e478793
Modified Files:
        sql/storage/bat/bat_storage.c
Branch: Sep2022
Log Message:

Delay some error checks until alternatives have been explored.


diffs (63 lines):

diff --git a/sql/storage/bat/bat_storage.c b/sql/storage/bat/bat_storage.c
--- a/sql/storage/bat/bat_storage.c
+++ b/sql/storage/bat/bat_storage.c
@@ -2093,8 +2093,8 @@ update_col(sql_trans *tr, sql_column *c,
        bool update_conflict = false;
        sql_delta *delta, *odelta = ATOMIC_PTR_GET(&c->data);
 
-       if (isTempTable(c->t) && isGlobal(c->t) && (c = find_tmp_column(tr, c)) 
== NULL)
-               return LOG_ERR;
+       if (isTempTable(c->t) && isGlobal(c->t))
+               c = find_tmp_column(tr, c);
 
        if (tpe == TYPE_bat) {
                BAT *t = tids;
@@ -2102,6 +2102,9 @@ update_col(sql_trans *tr, sql_column *c,
                        return LOG_OK;
        }
 
+       if (c == NULL)
+               return LOG_ERR;
+
        if ((delta = bind_col_data(tr, c, &update_conflict)) == NULL)
                return update_conflict ? LOG_CONFLICT : LOG_ERR;
 
@@ -2165,8 +2168,8 @@ update_idx(sql_trans *tr, sql_idx * i, v
        bool update_conflict = false;
        sql_delta *delta, *odelta = ATOMIC_PTR_GET(&i->data);
 
-       if (isTempTable(i->t) && isGlobal(i->t) && (i = find_tmp_idx(tr, i)) == 
NULL)
-               return LOG_ERR;
+       if (isTempTable(i->t) && isGlobal(i->t))
+               i = find_tmp_idx(tr, i);
 
        if (tpe == TYPE_bat) {
                BAT *t = tids;
@@ -2174,6 +2177,9 @@ update_idx(sql_trans *tr, sql_idx * i, v
                        return LOG_OK;
        }
 
+       if (i == NULL)
+               return LOG_ERR;
+
        if ((delta = bind_idx_data(tr, i, &update_conflict)) == NULL)
                return update_conflict ? LOG_CONFLICT : LOG_ERR;
 
@@ -2704,12 +2710,15 @@ delete_tab(sql_trans *tr, sql_table * t,
        BAT *b = ib;
        storage *bat;
 
-       if (isTempTable(t) && isGlobal(t) && (t = find_tmp_table(tr, t)) == 
NULL)
-               return LOG_ERR;
+       if (isTempTable(t) && isGlobal(t))
+               t = find_tmp_table(tr, t);
 
        if (tpe == TYPE_bat && !BATcount(b))
                return ok;
 
+       if (t == NULL)
+               return LOG_ERR;
+
        if ((bat = bind_del_data(tr, t, NULL)) == NULL)
                return LOG_ERR;
 
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to