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]