diff options
author | monty@donna.mysql.fi <> | 2001-05-09 23:02:36 +0300 |
---|---|---|
committer | monty@donna.mysql.fi <> | 2001-05-09 23:02:36 +0300 |
commit | 965cd30f8779bc28a3c7181c64f8880b04b334d7 (patch) | |
tree | 288f7cc7d0ca91ae340b7a568971bb02d8eb798d /bdb | |
parent | 33fa6e04cc0ec389d07cf0aa59db59c8d67c41eb (diff) | |
download | mariadb-git-965cd30f8779bc28a3c7181c64f8880b04b334d7.tar.gz |
Applied patches for BDB tables
Fixes to InnoDB to compile on Windows
Fix for temporary InnoDB tables
Fixed bug in REPLACE()
Fixed sub char keys for InnoDB
Diffstat (limited to 'bdb')
-rw-r--r-- | bdb/include/log.h | 1 | ||||
-rw-r--r-- | bdb/log/log.c | 14 | ||||
-rw-r--r-- | bdb/log/log_rec.c | 2 |
3 files changed, 11 insertions, 6 deletions
diff --git a/bdb/include/log.h b/bdb/include/log.h index 1cac0492252..81ecb4174a6 100644 --- a/bdb/include/log.h +++ b/bdb/include/log.h @@ -198,6 +198,7 @@ struct __fname { */ typedef enum { DB_LV_INCOMPLETE, + DB_LV_NONEXISTENT, DB_LV_NORMAL, DB_LV_OLD_READABLE, DB_LV_OLD_UNREADABLE diff --git a/bdb/log/log.c b/bdb/log/log.c index 69af1624824..8ddb7bcaf7d 100644 --- a/bdb/log/log.c +++ b/bdb/log/log.c @@ -309,13 +309,13 @@ __log_find(dblp, find_first, valp, statusp) int find_first, *valp; logfile_validity *statusp; { - logfile_validity clv_status, status; + logfile_validity logval_status, status; u_int32_t clv, logval; int cnt, fcnt, ret; const char *dir; char **names, *p, *q, savech; - clv_status = status = DB_LV_NORMAL; + logval_status = status = DB_LV_NONEXISTENT; /* Return a value of 0 as the log file number on failure. */ *valp = 0; @@ -385,10 +385,14 @@ __log_find(dblp, find_first, valp, statusp) * as a valid log file. */ break; + case DB_LV_NONEXISTENT: + /* Should never happen. */ + DB_ASSERT(0); + break; case DB_LV_NORMAL: case DB_LV_OLD_READABLE: logval = clv; - clv_status = status; + logval_status = status; break; case DB_LV_OLD_UNREADABLE: /* @@ -410,7 +414,7 @@ __log_find(dblp, find_first, valp, statusp) */ if (!find_first) { logval = clv; - clv_status = status; + logval_status = status; } break; } @@ -420,7 +424,7 @@ __log_find(dblp, find_first, valp, statusp) err: __os_dirfree(names, fcnt); __os_freestr(p); - *statusp = clv_status; + *statusp = logval_status; return (ret); } diff --git a/bdb/log/log_rec.c b/bdb/log/log_rec.c index ad6d9f7ead2..493dd06d4c6 100644 --- a/bdb/log/log_rec.c +++ b/bdb/log/log_rec.c @@ -430,7 +430,7 @@ __log_add_logid(dbenv, logp, dbp, ndx) TAILQ_INIT(&logp->dbentry[i].dblist); else TAILQ_REINSERT_HEAD( - &logp->dbentry[i].dblist, dbp, links); + &logp->dbentry[i].dblist, dbtmp, links); } /* Initialize the new entries. */ |