Lines 1-50
Link Here
|
1 |
--- src/tabe_tsiyindbint.c.orig Sun Nov 11 20:33:08 2001 |
1 |
--- src/tabe_tsiyindbint.c.orig Mon May 1 00:49:54 2006 |
2 |
+++ src/tabe_tsiyindbint.c Wed Apr 5 14:30:18 2006 |
2 |
+++ src/tabe_tsiyindbint.c Mon May 1 00:50:03 2006 |
3 |
@@ -87,8 +87,10 @@ |
3 |
@@ -27,6 +27,7 @@ |
|
|
4 |
#endif |
5 |
|
6 |
#include "tabe.h" |
7 |
+#define DB_VERSION (DB_VERSION_MAJOR*100000+DB_VERSION_MINOR*1000+DB_VERSION_PATCH) |
8 |
|
9 |
static void tabeTsiYinDBClose(struct TsiYinDB *tsiyindb); |
10 |
static int tabeTsiYinDBRecordNumber(struct TsiYinDB *tsiyindb); |
11 |
@@ -72,7 +73,7 @@ |
12 |
{ |
13 |
DB *dbp=NULL; |
14 |
|
15 |
-#ifdef HAVE_DB3 |
16 |
+#if DB_VERSION >= 300000 |
17 |
/* create a db handler */ |
18 |
if ((errno = db_create(&dbp, NULL, 0)) != 0) { |
19 |
fprintf(stderr, "db_create: %s\n", db_strerror(errno)); |
20 |
@@ -85,26 +86,32 @@ |
21 |
return(NULL); |
22 |
} |
4 |
else { |
23 |
else { |
5 |
#ifndef HAVE_DB3 |
24 |
-#ifndef HAVE_DB3 |
6 |
errno = db_open(db_name, DB_BTREE, DB_CREATE, 0644, NULL, NULL, &dbp); |
25 |
- errno = db_open(db_name, DB_BTREE, DB_CREATE, 0644, NULL, NULL, &dbp); |
7 |
-#else |
26 |
-#else |
8 |
+#elif (DB_VERSION_MAJOR == 3 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR == 0)) |
27 |
+#if DB_VERSION >= 401025 |
|
|
28 |
+ errno = dbp->open(dbp, NULL, db_name, NULL, DB_BTREE, DB_CREATE, 0644); |
29 |
+#elif DB_VERSION >= 300000 |
9 |
errno = dbp->open(dbp, db_name, NULL, DB_BTREE, DB_CREATE, 0644); |
30 |
errno = dbp->open(dbp, db_name, NULL, DB_BTREE, DB_CREATE, 0644); |
10 |
+#else |
31 |
+#else |
11 |
+ errno = dbp->open(dbp, NULL, db_name, NULL, DB_BTREE, DB_CREATE, 0644); |
32 |
+ errno = db_open(db_name, DB_BTREE, DB_CREATE, 0644, NULL, NULL, &dbp); |
12 |
#endif |
33 |
#endif |
13 |
} |
34 |
} |
14 |
} |
35 |
} |
15 |
@@ -96,15 +98,19 @@ |
36 |
else { |
16 |
if (flags & DB_FLAG_READONLY) { |
37 |
if (flags & DB_FLAG_READONLY) { |
17 |
#ifndef HAVE_DB3 |
38 |
-#ifndef HAVE_DB3 |
18 |
errno = db_open(db_name, DB_BTREE, DB_RDONLY, 0444, NULL, NULL, &dbp); |
39 |
- errno = db_open(db_name, DB_BTREE, DB_RDONLY, 0444, NULL, NULL, &dbp); |
19 |
-#else |
40 |
-#else |
20 |
+#elif (DB_VERSION_MAJOR == 3 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR == 0)) |
41 |
+#if DB_VERSION >= 401025 |
|
|
42 |
+ errno = dbp->open(dbp, NULL, db_name, NULL, DB_BTREE, DB_RDONLY, 0444); |
43 |
+#elif DB_VERSION >= 300000 |
21 |
errno = dbp->open(dbp, db_name, NULL, DB_BTREE, DB_RDONLY, 0444); |
44 |
errno = dbp->open(dbp, db_name, NULL, DB_BTREE, DB_RDONLY, 0444); |
22 |
+#else |
45 |
+#else |
23 |
+ errno = dbp->open(dbp, NULL, db_name, NULL, DB_BTREE, DB_RDONLY, 0444); |
46 |
+ errno = db_open(db_name, DB_BTREE, DB_RDONLY, 0444, NULL, NULL, &dbp); |
24 |
#endif |
47 |
#endif |
25 |
} |
48 |
} |
26 |
else { |
49 |
else { |
27 |
#ifndef HAVE_DB3 |
50 |
-#ifndef HAVE_DB3 |
28 |
errno = db_open(db_name, DB_BTREE, 0, 0644, NULL, NULL, &dbp); |
51 |
- errno = db_open(db_name, DB_BTREE, 0, 0644, NULL, NULL, &dbp); |
29 |
-#else |
52 |
-#else |
30 |
+#elif (DB_VERSION_MAJOR == 3 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR == 0)) |
53 |
+#if DB_VERSION >= 401025 |
|
|
54 |
+ errno = dbp->open(dbp, NULL, db_name, NULL, DB_BTREE, 0, 0644); |
55 |
+#elif DB_VERSION >= 300000 |
31 |
errno = dbp->open(dbp, db_name, NULL, DB_BTREE, 0, 0644); |
56 |
errno = dbp->open(dbp, db_name, NULL, DB_BTREE, 0, 0644); |
32 |
+#else |
57 |
+#else |
33 |
+ errno = dbp->open(dbp, NULL, db_name, NULL, DB_BTREE, 0, 0644); |
58 |
+ errno = db_open(db_name, DB_BTREE, 0, 0644, NULL, NULL, &dbp); |
34 |
#endif |
59 |
#endif |
35 |
} |
60 |
} |
36 |
} |
61 |
} |
37 |
@@ -268,7 +274,13 @@ |
62 |
@@ -115,11 +122,11 @@ |
|
|
63 |
} |
64 |
if (errno < 0) { |
65 |
/* DB specific errno */ |
66 |
-#ifndef HAVE_DB3 |
67 |
+#if DB_VERSION >= 300000 |
68 |
+ fprintf(stderr, "tabeTsiYinDBOpen(): %s.\n", db_strerror(errno)); |
69 |
+#else |
70 |
fprintf(stderr, "tabeTsiYinDBOpen(): DB error opening DB File %s.\n", |
71 |
db_name); |
72 |
-#else |
73 |
- fprintf(stderr, "tabeTsiYinDBOpen(): %s.\n", db_strerror(errno)); |
74 |
#endif |
75 |
return(NULL); |
76 |
} |
77 |
@@ -268,12 +275,18 @@ |
38 |
switch(tsiyindb->type) { |
78 |
switch(tsiyindb->type) { |
39 |
case DB_TYPE_DB: |
79 |
case DB_TYPE_DB: |
40 |
dbp = (DB *)tsiyindb->dbp; |
80 |
dbp = (DB *)tsiyindb->dbp; |
41 |
+#ifndef HAVE_DB3 |
81 |
+#if DB_VERSION >= 403000 |
42 |
errno = dbp->stat(dbp, &sp, NULL, 0); |
82 |
+ errno = dbp->stat(dbp, NULL, &sp, 0); |
43 |
+#elif (DB_VERSION_MAJOR == 3 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR <= 2)) |
83 |
+#elif DB_VERSION >= 303011 |
44 |
+ errno = dbp->stat(dbp, &sp, 0); |
84 |
+ errno = dbp->stat(dbp, &sp, 0); |
45 |
+#else |
85 |
+#else |
46 |
+ errno = dbp->stat(dbp, NULL, &sp, 0); |
86 |
errno = dbp->stat(dbp, &sp, NULL, 0); |
47 |
+#endif |
87 |
+#endif |
48 |
if (!errno) { |
88 |
if (!errno) { |
49 |
#ifndef HAVE_DB3 |
89 |
-#ifndef HAVE_DB3 |
50 |
return(sp->bt_nrecs); |
90 |
- return(sp->bt_nrecs); |
|
|
91 |
-#else |
92 |
+#if DB_VERSION >= 300000 |
93 |
return(sp->bt_ndata); /* or sp->bt_nkeys? */ |
94 |
+#else |
95 |
+ return(sp->bt_nrecs); |
96 |
#endif |
97 |
} |
98 |
break; |
99 |
@@ -481,14 +494,10 @@ |
100 |
dbcp->c_close(dbcp); |
101 |
} |
102 |
|
103 |
-#ifndef HAVE_DB3 |
104 |
-#if DB_VERSION_MINOR > 6 || (DB_VERSION_MINOR == 6 && DB_VERSION_PATCH > 4) |
105 |
+#if DB_VERSION >= 206004 |
106 |
dbp->cursor(dbp, NULL, &dbcp, 0); |
107 |
#else |
108 |
dbp->cursor(dbp, NULL, &dbcp); |
109 |
-#endif |
110 |
-#else |
111 |
- dbp->cursor(dbp, NULL, &dbcp, 0); |
112 |
#endif |
113 |
tsiyindb->dbcp = dbcp; |
114 |
|