Import BSDDB 4.7.25 (as of svn r89086)

This commit is contained in:
Zachary Ware
2017-09-04 13:40:25 -05:00
parent 4b29e0458f
commit 8f590873d0
4781 changed files with 2241032 additions and 6 deletions

196
test/scr017/O.BH Normal file
View 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
View 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
View 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
View 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);
}