Changeset: abb3482907e8 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/abb3482907e8
Modified Files:
sql/storage/bat/bat_storage.c
Branch: Jul2021
Log Message:
don't log (or add log function) for any of the temporay table (local or global).
diffs (114 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
@@ -1542,7 +1542,7 @@ update_col(sql_trans *tr, sql_column *c,
assert(delta && delta->cs.ts == tr->tid);
if ((!inTransaction(tr, c->t) && (odelta != delta || isTempTable(c->t))
&& isGlobal(c->t)) || (!isNew(c->t) && isLocalTemp(c->t)))
- trans_add(tr, &c->base, delta, &tc_gc_col, &commit_update_col,
isLocalTemp(c->t)?NULL:&log_update_col);
+ trans_add(tr, &c->base, delta, &tc_gc_col, &commit_update_col,
isTempTable(c->t)?NULL:&log_update_col);
return update_col_execute(tr, delta, c->t, isNew(c), tids, upd, tpe ==
TYPE_bat);
}
@@ -1599,7 +1599,7 @@ update_idx(sql_trans *tr, sql_idx * i, v
assert(delta && delta->cs.ts == tr->tid);
if ((!inTransaction(tr, i->t) && (odelta != delta || isTempTable(i->t))
&& isGlobal(i->t)) || (!isNew(i->t) && isLocalTemp(i->t)))
- trans_add(tr, &i->base, delta, &tc_gc_idx, &commit_update_idx,
isLocalTemp(i->t)?NULL:&log_update_idx);
+ trans_add(tr, &i->base, delta, &tc_gc_idx, &commit_update_idx,
isTempTable(i->t)?NULL:&log_update_idx);
return update_col_execute(tr, delta, i->t, isNew(i), tids, upd, tpe ==
TYPE_bat);
}
@@ -1727,7 +1727,7 @@ append_col(sql_trans *tr, sql_column *c,
assert(delta && (!isTempTable(c->t) || delta->cs.ts == tr->tid));
if (isTempTable(c->t))
if ((!inTransaction(tr, c->t) && (odelta != delta ||
!segments_in_transaction(tr, c->t) || isTempTable(c->t)) && isGlobal(c->t)) ||
(!isNew(c->t) && isLocalTemp(c->t)))
- trans_add(tr, &c->base, delta, &tc_gc_col, &commit_update_col,
isLocalTemp(c->t)?NULL:&log_update_col);
+ trans_add(tr, &c->base, delta, &tc_gc_col, &commit_update_col,
isTempTable(c->t)?NULL:&log_update_col);
return append_col_execute(tr, delta, c->base.id, offset, offsets, i,
cnt, tpe == TYPE_bat);
}
@@ -1743,7 +1743,7 @@ append_idx(sql_trans *tr, sql_idx * i, B
assert(delta && (!isTempTable(i->t) || delta->cs.ts == tr->tid));
if (isTempTable(i->t))
if ((!inTransaction(tr, i->t) && (odelta != delta ||
!segments_in_transaction(tr, i->t) || isTempTable(i->t)) && isGlobal(i->t)) ||
(!isNew(i->t) && isLocalTemp(i->t)))
- trans_add(tr, &i->base, delta, &tc_gc_idx, &commit_update_idx,
isLocalTemp(i->t)?NULL:&log_update_idx);
+ trans_add(tr, &i->base, delta, &tc_gc_idx, &commit_update_idx,
isTempTable(i->t)?NULL:&log_update_idx);
return append_col_execute(tr, delta, i->base.id, offset, offsets, data,
cnt, tpe == TYPE_bat);
}
@@ -1792,7 +1792,7 @@ storage_delete_val(sql_trans *tr, sql_ta
}
unlock_table(tr->store, t->base.id);
if ((!inTransaction(tr, t) && !in_transaction && isGlobal(t)) ||
(!isNew(t) && isLocalTemp(t)))
- trans_add(tr, &t->base, s, &tc_gc_del, &commit_update_del,
isLocalTemp(t)?NULL:&log_update_del);
+ trans_add(tr, &t->base, s, &tc_gc_del, &commit_update_del,
isTempTable(t)?NULL:&log_update_del);
return LOG_OK;
}
@@ -1910,7 +1910,7 @@ storage_delete_bat(sql_trans *tr, sql_ta
if (i != oi)
bat_destroy(i);
if ((!inTransaction(tr, t) && !in_transaction && isGlobal(t)) ||
(!isNew(t) && isLocalTemp(t)))
- trans_add(tr, &t->base, s, &tc_gc_del, &commit_update_del,
isLocalTemp(t)?NULL:&log_update_del);
+ trans_add(tr, &t->base, s, &tc_gc_del, &commit_update_del,
isTempTable(t)?NULL:&log_update_del);
return ok;
}
@@ -2884,7 +2884,7 @@ clear_col(sql_trans *tr, sql_column *c,
if ((delta = bind_col_data(tr, c, renew?&update_conflict:NULL)) == NULL)
return update_conflict ? LOG_CONFLICT : LOG_ERR;
if ((!inTransaction(tr, c->t) && (odelta != delta || isTempTable(c->t))
&& isGlobal(c->t)) || (!isNew(c->t) && isLocalTemp(c->t)))
- trans_add(tr, &c->base, delta, &tc_gc_col, &commit_update_col,
isLocalTemp(c->t)?NULL:&log_update_col);
+ trans_add(tr, &c->base, delta, &tc_gc_col, &commit_update_col,
isTempTable(c->t)?NULL:&log_update_col);
if (delta)
return clear_cs(tr, &delta->cs, renew, isTempTable(c->t));
return 0;
@@ -2901,7 +2901,7 @@ clear_idx(sql_trans *tr, sql_idx *i, boo
if ((delta = bind_idx_data(tr, i, renew?&update_conflict:NULL)) == NULL)
return update_conflict ? LOG_CONFLICT : LOG_ERR;
if ((!inTransaction(tr, i->t) && (odelta != delta || isTempTable(i->t))
&& isGlobal(i->t)) || (!isNew(i->t) && isLocalTemp(i->t)))
- trans_add(tr, &i->base, delta, &tc_gc_idx, &commit_update_idx,
isLocalTemp(i->t)?NULL:&log_update_idx);
+ trans_add(tr, &i->base, delta, &tc_gc_idx, &commit_update_idx,
isTempTable(i->t)?NULL:&log_update_idx);
if (delta)
return clear_cs(tr, &delta->cs, renew, isTempTable(i->t));
return 0;
@@ -2942,7 +2942,7 @@ clear_del(sql_trans *tr, sql_table *t, i
unlock_table(tr->store, t->base.id);
}
if ((!inTransaction(tr, t) && !in_transaction && isGlobal(t)) ||
(!isNew(t) && isLocalTemp(t)))
- trans_add(tr, &t->base, bat, &tc_gc_del, &commit_update_del,
isLocalTemp(t)?NULL:&log_update_del);
+ trans_add(tr, &t->base, bat, &tc_gc_del, &commit_update_del,
isTempTable(t)?NULL:&log_update_del);
if (clear && ok == LOG_OK)
return clear_storage(tr, t, bat);
if (ok == LOG_ERR)
@@ -3729,10 +3729,11 @@ claim_segmentsV2(sql_trans *tr, sql_tabl
/* hard to only add this once per transaction (probably want to change
to once per new segment) */
if ((!inTransaction(tr, t) && !in_transaction && isGlobal(t)) ||
(!isNew(t) && isLocalTemp(t))) {
- trans_add(tr, &t->base, s, &tc_gc_del, &commit_update_del,
isLocalTemp(t)?NULL:&log_update_del);
- if (!isLocalTemp(t))
- tr->logchanges += (int) total;
+ trans_add(tr, &t->base, s, &tc_gc_del, &commit_update_del,
isTempTable(t)?NULL:&log_update_del);
+ in_transaction = true;
}
+ if (in_transaction && !isTempTable(t))
+ tr->logchanges += (int) total;
if (*offsets) {
BAT *pos = *offsets;
assert(BATcount(pos) == total);
@@ -3804,10 +3805,11 @@ claim_segments(sql_trans *tr, sql_table
/* hard to only add this once per transaction (probably want to change
to once per new segment) */
if ((!inTransaction(tr, t) && !in_transaction && isGlobal(t)) ||
(!isNew(t) && isLocalTemp(t))) {
- trans_add(tr, &t->base, s, &tc_gc_del, &commit_update_del,
isLocalTemp(t)?NULL:&log_update_del);
- if (!isLocalTemp(t))
- tr->logchanges += (int) cnt;
+ trans_add(tr, &t->base, s, &tc_gc_del, &commit_update_del,
isTempTable(t)?NULL:&log_update_del);
+ in_transaction = true;
}
+ if (in_transaction && !isTempTable(t))
+ tr->logchanges += (int) cnt;
if (ok == LOG_OK) {
*offset = slot;
return LOG_OK;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list