Rev 30 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
30 | magnus | 1 | --- a/lib/mydb_db3.c |
2 | +++ b/lib/mydb_db3.c |
||
37 | magnus | 3 | @@ -208,7 +208,11 @@ static int init(const char *dbdir, int m |
30 | magnus | 4 | if (!(r = myinit(dbdir, myflags))) |
5 | return(0); |
||
6 | |||
7 | - if (r != ENOENT) { |
||
37 | magnus | 8 | + if (r != ENOENT |
9 | +#ifdef DB_VERSION_MISMATCH |
||
10 | + && r != DB_VERSION_MISMATCH |
||
11 | +#endif |
||
12 | + ) { |
||
30 | magnus | 13 | log_panic("DBERROR: dbenv->open '%s' failed: %s", dbdir, db_strerror(r)); |
14 | return MYDB_IOERROR; |
||
15 | } |
||
16 | @@ -217,7 +217,7 @@ static int init(const char *dbdir, int m |
||
17 | /* DPC 24/03/2002. DB_CREATE leaks 12 MBytes into dbenv. |
||
18 | * Workaround: close down dbenv, reopen after backing files created */ |
||
19 | |||
20 | - r = myinit(dbdir, myflags|MYDB_CREATE); |
||
21 | + r = myinit(dbdir, myflags|MYDB_CREATE|MYDB_RECOVER); |
||
22 | if (r) { |
||
23 | log_panic("DBERROR: dbenv->open '%s' failed: %s", dbdir, db_strerror(r)); |
||
24 | return MYDB_IOERROR; |