Import BSDDB 4.7.25 (as of svn r89086)
This commit is contained in:
196
test/scr017/O.BH
Normal file
196
test/scr017/O.BH
Normal file
@@ -0,0 +1,196 @@
|
||||
abc_10_efg
|
||||
abc_10_efg
|
||||
abc_11_efg
|
||||
abc_11_efg
|
||||
abc_12_efg
|
||||
abc_12_efg
|
||||
abc_13_efg
|
||||
abc_13_efg
|
||||
abc_14_efg
|
||||
abc_14_efg
|
||||
abc_15_efg
|
||||
abc_15_efg
|
||||
abc_16_efg
|
||||
abc_16_efg
|
||||
abc_17_efg
|
||||
abc_17_efg
|
||||
abc_18_efg
|
||||
abc_18_efg
|
||||
abc_19_efg
|
||||
abc_19_efg
|
||||
abc_1_efg
|
||||
abc_1_efg
|
||||
abc_20_efg
|
||||
abc_20_efg
|
||||
abc_21_efg
|
||||
abc_21_efg
|
||||
abc_22_efg
|
||||
abc_22_efg
|
||||
abc_23_efg
|
||||
abc_23_efg
|
||||
abc_24_efg
|
||||
abc_24_efg
|
||||
abc_25_efg
|
||||
abc_25_efg
|
||||
abc_26_efg
|
||||
abc_26_efg
|
||||
abc_27_efg
|
||||
abc_27_efg
|
||||
abc_28_efg
|
||||
abc_28_efg
|
||||
abc_29_efg
|
||||
abc_29_efg
|
||||
abc_2_efg
|
||||
abc_2_efg
|
||||
abc_30_efg
|
||||
abc_30_efg
|
||||
abc_31_efg
|
||||
abc_31_efg
|
||||
abc_32_efg
|
||||
abc_32_efg
|
||||
abc_33_efg
|
||||
abc_33_efg
|
||||
abc_34_efg
|
||||
abc_34_efg
|
||||
abc_36_efg
|
||||
abc_36_efg
|
||||
abc_37_efg
|
||||
abc_37_efg
|
||||
abc_38_efg
|
||||
abc_38_efg
|
||||
abc_39_efg
|
||||
abc_39_efg
|
||||
abc_3_efg
|
||||
abc_3_efg
|
||||
abc_40_efg
|
||||
abc_40_efg
|
||||
abc_41_efg
|
||||
abc_41_efg
|
||||
abc_42_efg
|
||||
abc_42_efg
|
||||
abc_43_efg
|
||||
abc_43_efg
|
||||
abc_44_efg
|
||||
abc_44_efg
|
||||
abc_45_efg
|
||||
abc_45_efg
|
||||
abc_46_efg
|
||||
abc_46_efg
|
||||
abc_47_efg
|
||||
abc_47_efg
|
||||
abc_48_efg
|
||||
abc_48_efg
|
||||
abc_49_efg
|
||||
abc_49_efg
|
||||
abc_4_efg
|
||||
abc_4_efg
|
||||
abc_50_efg
|
||||
abc_50_efg
|
||||
abc_51_efg
|
||||
abc_51_efg
|
||||
abc_52_efg
|
||||
abc_52_efg
|
||||
abc_53_efg
|
||||
abc_53_efg
|
||||
abc_54_efg
|
||||
abc_54_efg
|
||||
abc_55_efg
|
||||
abc_55_efg
|
||||
abc_56_efg
|
||||
abc_56_efg
|
||||
abc_57_efg
|
||||
abc_57_efg
|
||||
abc_58_efg
|
||||
abc_58_efg
|
||||
abc_59_efg
|
||||
abc_59_efg
|
||||
abc_5_efg
|
||||
abc_5_efg
|
||||
abc_60_efg
|
||||
abc_60_efg
|
||||
abc_61_efg
|
||||
abc_61_efg
|
||||
abc_62_efg
|
||||
abc_62_efg
|
||||
abc_63_efg
|
||||
abc_63_efg
|
||||
abc_64_efg
|
||||
abc_64_efg
|
||||
abc_65_efg
|
||||
abc_65_efg
|
||||
abc_66_efg
|
||||
abc_66_efg
|
||||
abc_67_efg
|
||||
abc_67_efg
|
||||
abc_68_efg
|
||||
abc_68_efg
|
||||
abc_69_efg
|
||||
abc_69_efg
|
||||
abc_6_efg
|
||||
abc_6_efg
|
||||
abc_70_efg
|
||||
abc_70_efg
|
||||
abc_71_efg
|
||||
abc_71_efg
|
||||
abc_72_efg
|
||||
abc_72_efg
|
||||
abc_73_efg
|
||||
abc_73_efg
|
||||
abc_74_efg
|
||||
abc_74_efg
|
||||
abc_75_efg
|
||||
abc_75_efg
|
||||
abc_76_efg
|
||||
abc_76_efg
|
||||
abc_77_efg
|
||||
abc_77_efg
|
||||
abc_78_efg
|
||||
abc_78_efg
|
||||
abc_79_efg
|
||||
abc_79_efg
|
||||
abc_7_efg
|
||||
abc_7_efg
|
||||
abc_80_efg
|
||||
abc_80_efg
|
||||
abc_81_efg
|
||||
abc_81_efg
|
||||
abc_82_efg
|
||||
abc_82_efg
|
||||
abc_83_efg
|
||||
abc_83_efg
|
||||
abc_84_efg
|
||||
abc_84_efg
|
||||
abc_85_efg
|
||||
abc_85_efg
|
||||
abc_86_efg
|
||||
abc_86_efg
|
||||
abc_87_efg
|
||||
abc_87_efg
|
||||
abc_88_efg
|
||||
abc_88_efg
|
||||
abc_89_efg
|
||||
abc_89_efg
|
||||
abc_8_efg
|
||||
abc_8_efg
|
||||
abc_90_efg
|
||||
abc_90_efg
|
||||
abc_91_efg
|
||||
abc_91_efg
|
||||
abc_92_efg
|
||||
abc_92_efg
|
||||
abc_93_efg
|
||||
abc_93_efg
|
||||
abc_94_efg
|
||||
abc_94_efg
|
||||
abc_95_efg
|
||||
abc_95_efg
|
||||
abc_96_efg
|
||||
abc_96_efg
|
||||
abc_97_efg
|
||||
abc_97_efg
|
||||
abc_98_efg
|
||||
abc_98_efg
|
||||
abc_99_efg
|
||||
abc_99_efg
|
||||
abc_9_efg
|
||||
abc_9_efg
|
||||
196
test/scr017/O.R
Normal file
196
test/scr017/O.R
Normal file
@@ -0,0 +1,196 @@
|
||||
1
|
||||
abc_1_efg
|
||||
2
|
||||
abc_2_efg
|
||||
3
|
||||
abc_3_efg
|
||||
4
|
||||
abc_4_efg
|
||||
5
|
||||
abc_5_efg
|
||||
6
|
||||
abc_6_efg
|
||||
7
|
||||
abc_7_efg
|
||||
8
|
||||
abc_8_efg
|
||||
9
|
||||
abc_9_efg
|
||||
10
|
||||
abc_10_efg
|
||||
11
|
||||
abc_11_efg
|
||||
12
|
||||
abc_12_efg
|
||||
13
|
||||
abc_13_efg
|
||||
14
|
||||
abc_14_efg
|
||||
15
|
||||
abc_15_efg
|
||||
16
|
||||
abc_16_efg
|
||||
17
|
||||
abc_17_efg
|
||||
18
|
||||
abc_18_efg
|
||||
19
|
||||
abc_19_efg
|
||||
20
|
||||
abc_20_efg
|
||||
21
|
||||
abc_21_efg
|
||||
22
|
||||
abc_22_efg
|
||||
23
|
||||
abc_23_efg
|
||||
24
|
||||
abc_24_efg
|
||||
25
|
||||
abc_25_efg
|
||||
26
|
||||
abc_26_efg
|
||||
27
|
||||
abc_27_efg
|
||||
28
|
||||
abc_28_efg
|
||||
29
|
||||
abc_29_efg
|
||||
30
|
||||
abc_30_efg
|
||||
31
|
||||
abc_31_efg
|
||||
32
|
||||
abc_32_efg
|
||||
33
|
||||
abc_33_efg
|
||||
34
|
||||
abc_34_efg
|
||||
35
|
||||
abc_36_efg
|
||||
36
|
||||
abc_37_efg
|
||||
37
|
||||
abc_38_efg
|
||||
38
|
||||
abc_39_efg
|
||||
39
|
||||
abc_40_efg
|
||||
40
|
||||
abc_41_efg
|
||||
41
|
||||
abc_42_efg
|
||||
42
|
||||
abc_43_efg
|
||||
43
|
||||
abc_44_efg
|
||||
44
|
||||
abc_45_efg
|
||||
45
|
||||
abc_46_efg
|
||||
46
|
||||
abc_47_efg
|
||||
47
|
||||
abc_48_efg
|
||||
48
|
||||
abc_49_efg
|
||||
49
|
||||
abc_50_efg
|
||||
50
|
||||
abc_51_efg
|
||||
51
|
||||
abc_52_efg
|
||||
52
|
||||
abc_53_efg
|
||||
53
|
||||
abc_54_efg
|
||||
54
|
||||
abc_55_efg
|
||||
55
|
||||
abc_56_efg
|
||||
56
|
||||
abc_57_efg
|
||||
57
|
||||
abc_58_efg
|
||||
58
|
||||
abc_59_efg
|
||||
59
|
||||
abc_60_efg
|
||||
60
|
||||
abc_61_efg
|
||||
61
|
||||
abc_62_efg
|
||||
62
|
||||
abc_63_efg
|
||||
63
|
||||
abc_64_efg
|
||||
64
|
||||
abc_65_efg
|
||||
65
|
||||
abc_66_efg
|
||||
66
|
||||
abc_67_efg
|
||||
67
|
||||
abc_68_efg
|
||||
68
|
||||
abc_69_efg
|
||||
69
|
||||
abc_70_efg
|
||||
70
|
||||
abc_71_efg
|
||||
71
|
||||
abc_72_efg
|
||||
72
|
||||
abc_73_efg
|
||||
73
|
||||
abc_74_efg
|
||||
74
|
||||
abc_75_efg
|
||||
75
|
||||
abc_76_efg
|
||||
76
|
||||
abc_77_efg
|
||||
77
|
||||
abc_78_efg
|
||||
78
|
||||
abc_79_efg
|
||||
79
|
||||
abc_80_efg
|
||||
80
|
||||
abc_81_efg
|
||||
81
|
||||
abc_82_efg
|
||||
82
|
||||
abc_83_efg
|
||||
83
|
||||
abc_84_efg
|
||||
84
|
||||
abc_85_efg
|
||||
85
|
||||
abc_86_efg
|
||||
86
|
||||
abc_87_efg
|
||||
87
|
||||
abc_88_efg
|
||||
88
|
||||
abc_89_efg
|
||||
89
|
||||
abc_90_efg
|
||||
90
|
||||
abc_91_efg
|
||||
91
|
||||
abc_92_efg
|
||||
92
|
||||
abc_93_efg
|
||||
93
|
||||
abc_94_efg
|
||||
94
|
||||
abc_95_efg
|
||||
95
|
||||
abc_96_efg
|
||||
96
|
||||
abc_97_efg
|
||||
97
|
||||
abc_98_efg
|
||||
98
|
||||
abc_99_efg
|
||||
29
test/scr017/chk.db185
Normal file
29
test/scr017/chk.db185
Normal file
@@ -0,0 +1,29 @@
|
||||
#!/bin/sh -
|
||||
#
|
||||
# $Id: chk.db185,v 12.0 2004/11/17 03:44:50 bostic Exp $
|
||||
#
|
||||
# Check to make sure we can run DB 1.85 code.
|
||||
|
||||
[ -f ../libdb.a ] || (cd .. && make libdb.a) || {
|
||||
echo 'FAIL: unable to find or build libdb.a'
|
||||
exit 1
|
||||
}
|
||||
|
||||
if cc -g -Wall -I.. t.c ../libdb.a -o t; then
|
||||
:
|
||||
else
|
||||
echo "FAIL: unable to compile test program t.c"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ./t; then
|
||||
:
|
||||
else
|
||||
echo "FAIL: test program failed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Clean up so the next test doesn't get confused.
|
||||
rm -rf *
|
||||
|
||||
exit 0
|
||||
188
test/scr017/t.c
Normal file
188
test/scr017/t.c
Normal file
@@ -0,0 +1,188 @@
|
||||
#include <sys/types.h>
|
||||
|
||||
#include <errno.h>
|
||||
#include <fcntl.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "db_185.h"
|
||||
|
||||
void err(char *);
|
||||
int mycmp(const DBT *, const DBT *);
|
||||
void ops(DB *, int);
|
||||
|
||||
int
|
||||
main()
|
||||
{
|
||||
DB *dbp;
|
||||
HASHINFO h_info;
|
||||
BTREEINFO b_info;
|
||||
RECNOINFO r_info;
|
||||
|
||||
printf("\tBtree...\n");
|
||||
memset(&b_info, 0, sizeof(b_info));
|
||||
b_info.flags = R_DUP;
|
||||
b_info.cachesize = 100 * 1024;
|
||||
b_info.psize = 512;
|
||||
b_info.lorder = 4321;
|
||||
b_info.compare = mycmp;
|
||||
(void)remove("a.db");
|
||||
if ((dbp =
|
||||
dbopen("a.db", O_CREAT | O_RDWR, 0664, DB_BTREE, &b_info)) == NULL)
|
||||
err("dbopen: btree");
|
||||
ops(dbp, DB_BTREE);
|
||||
|
||||
printf("\tHash...\n");
|
||||
memset(&h_info, 0, sizeof(h_info));
|
||||
h_info.bsize = 512;
|
||||
h_info.ffactor = 6;
|
||||
h_info.nelem = 1000;
|
||||
h_info.cachesize = 100 * 1024;
|
||||
h_info.lorder = 1234;
|
||||
(void)remove("a.db");
|
||||
if ((dbp =
|
||||
dbopen("a.db", O_CREAT | O_RDWR, 0664, DB_HASH, &h_info)) == NULL)
|
||||
err("dbopen: hash");
|
||||
ops(dbp, DB_HASH);
|
||||
|
||||
printf("\tRecno...\n");
|
||||
memset(&r_info, 0, sizeof(r_info));
|
||||
r_info.flags = R_FIXEDLEN;
|
||||
r_info.cachesize = 100 * 1024;
|
||||
r_info.psize = 1024;
|
||||
r_info.reclen = 37;
|
||||
(void)remove("a.db");
|
||||
if ((dbp =
|
||||
dbopen("a.db", O_CREAT | O_RDWR, 0664, DB_RECNO, &r_info)) == NULL)
|
||||
err("dbopen: recno");
|
||||
ops(dbp, DB_RECNO);
|
||||
|
||||
return (0);
|
||||
}
|
||||
|
||||
int
|
||||
mycmp(a, b)
|
||||
const DBT *a, *b;
|
||||
{
|
||||
size_t len;
|
||||
u_int8_t *p1, *p2;
|
||||
|
||||
len = a->size > b->size ? b->size : a->size;
|
||||
for (p1 = a->data, p2 = b->data; len--; ++p1, ++p2)
|
||||
if (*p1 != *p2)
|
||||
return ((long)*p1 - (long)*p2);
|
||||
return ((long)a->size - (long)b->size);
|
||||
}
|
||||
|
||||
void
|
||||
ops(dbp, type)
|
||||
DB *dbp;
|
||||
int type;
|
||||
{
|
||||
FILE *outfp;
|
||||
DBT key, data;
|
||||
recno_t recno;
|
||||
int i, ret;
|
||||
char buf[64];
|
||||
|
||||
memset(&key, 0, sizeof(key));
|
||||
memset(&data, 0, sizeof(data));
|
||||
|
||||
for (i = 1; i < 100; ++i) { /* Test DB->put. */
|
||||
sprintf(buf, "abc_%d_efg", i);
|
||||
if (type == DB_RECNO) {
|
||||
recno = i;
|
||||
key.data = &recno;
|
||||
key.size = sizeof(recno);
|
||||
} else {
|
||||
key.data = data.data = buf;
|
||||
key.size = data.size = strlen(buf);
|
||||
}
|
||||
|
||||
data.data = buf;
|
||||
data.size = strlen(buf);
|
||||
if (dbp->put(dbp, &key, &data, 0))
|
||||
err("DB->put");
|
||||
}
|
||||
|
||||
if (type == DB_RECNO) { /* Test DB->get. */
|
||||
recno = 97;
|
||||
key.data = &recno;
|
||||
key.size = sizeof(recno);
|
||||
} else {
|
||||
key.data = buf;
|
||||
key.size = strlen(buf);
|
||||
}
|
||||
sprintf(buf, "abc_%d_efg", 97);
|
||||
if (dbp->get(dbp, &key, &data, 0) != 0)
|
||||
err("DB->get");
|
||||
if (memcmp(data.data, buf, strlen(buf)))
|
||||
err("DB->get: wrong data returned");
|
||||
|
||||
if (type == DB_RECNO) { /* Test DB->put no-overwrite. */
|
||||
recno = 42;
|
||||
key.data = &recno;
|
||||
key.size = sizeof(recno);
|
||||
} else {
|
||||
key.data = buf;
|
||||
key.size = strlen(buf);
|
||||
}
|
||||
sprintf(buf, "abc_%d_efg", 42);
|
||||
if (dbp->put(dbp, &key, &data, R_NOOVERWRITE) == 0)
|
||||
err("DB->put: no-overwrite succeeded");
|
||||
|
||||
if (type == DB_RECNO) { /* Test DB->del. */
|
||||
recno = 35;
|
||||
key.data = &recno;
|
||||
key.size = sizeof(recno);
|
||||
} else {
|
||||
sprintf(buf, "abc_%d_efg", 35);
|
||||
key.data = buf;
|
||||
key.size = strlen(buf);
|
||||
}
|
||||
if (dbp->del(dbp, &key, 0))
|
||||
err("DB->del");
|
||||
|
||||
/* Test DB->seq. */
|
||||
if ((outfp = fopen("output", "w")) == NULL)
|
||||
err("fopen: output");
|
||||
while ((ret = dbp->seq(dbp, &key, &data, R_NEXT)) == 0) {
|
||||
if (type == DB_RECNO)
|
||||
fprintf(outfp, "%d\n", *(int *)key.data);
|
||||
else
|
||||
fprintf(outfp,
|
||||
"%.*s\n", (int)key.size, (char *)key.data);
|
||||
fprintf(outfp, "%.*s\n", (int)data.size, (char *)data.data);
|
||||
}
|
||||
if (ret != 1)
|
||||
err("DB->seq");
|
||||
fclose(outfp);
|
||||
switch (type) {
|
||||
case DB_BTREE:
|
||||
ret = system("cmp output O.BH");
|
||||
break;
|
||||
case DB_HASH:
|
||||
ret = system("sort output | cmp - O.BH");
|
||||
break;
|
||||
case DB_RECNO:
|
||||
ret = system("cmp output O.R");
|
||||
break;
|
||||
}
|
||||
if (ret != 0)
|
||||
err("output comparison failed");
|
||||
|
||||
if (dbp->sync(dbp, 0)) /* Test DB->sync. */
|
||||
err("DB->sync");
|
||||
|
||||
if (dbp->close(dbp)) /* Test DB->close. */
|
||||
err("DB->close");
|
||||
}
|
||||
|
||||
void
|
||||
err(s)
|
||||
char *s;
|
||||
{
|
||||
fprintf(stderr, "\t%s: %s\n", s, strerror(errno));
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
Reference in New Issue
Block a user