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

Reply via email to