Changeset: faa4c12a5ab0 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=faa4c12a5ab0
Modified Files:
sql/storage/bat/bat_storage.c
sql/storage/store.c
Branch: default
Log Message:
work around corrupted dbfarm, with a fully started server more
debuging seems possible.
diffs (42 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
@@ -753,7 +753,11 @@ create_del(sql_trans *tr, sql_table *t)
bat->dname = sql_message("D_%s_%s", t->s->base.name,
t->base.name);
(void)tr;
if (t->base.flag == TR_OLD && !isTempTable(t)) {
- return load_dbat(bat, logger_find_bat(bat_logger, bat->dname));
+ log_bid bid = logger_find_bat(bat_logger, bat->dname);
+
+ if (bid)
+ return load_dbat(bat, bid);
+ ok = LOG_ERR;
} else if (bat->dbid && !isTempTable(t)) {
return new_persistent_dbat(bat);
} else if (!bat->dbid) {
@@ -815,7 +819,8 @@ dup_delta(sql_trans *tr, sql_delta *obat
bat->name = _STRDUP(obat->name);
- assert(bat->ibid);
+ if (!bat->ibid)
+ return LOG_OK;
if (bat->ibid) {
BAT *b;
if (temp) {
diff --git a/sql/storage/store.c b/sql/storage/store.c
--- a/sql/storage/store.c
+++ b/sql/storage/store.c
@@ -613,8 +613,10 @@ load_table(sql_trans *tr, sql_schema *s,
cs_init(&t->triggers, (fdestroy) &trigger_destroy);
cs_init(&t->tables, (fdestroy) &table_destroy);
- if (isTable(t))
- store_funcs.create_del(tr, t);
+ if (isTable(t)) {
+ if (store_funcs.create_del(tr, t) != LOG_OK)
+ t->persistence = SQL_GLOBAL_TEMP;
+ }
if (bs_debug)
fprintf(stderr, "#\tload table %s\n", t->base.name);
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list