1
0
mirror of https://github.com/MariaDB/server.git synced 2025-12-01 17:39:21 +03:00

Merge the fixes for #2862, #2861, and #2269 onto main. Fixes #2269, #2861, #2862. close[t:2269] close[t:2861] close[t:2862]

{{{
svn merge -r 23006:23042 https://svn.tokutek.com/tokudb/toku/tokudb.2862b
}}}
.


git-svn-id: file:///svn/toku/tokudb@23046 c7de825b-a66e-492c-adef-691d508d4ae1
This commit is contained in:
Bradley C. Kuszmaul
2013-04-16 23:59:21 -04:00
committed by Yoni Fogel
parent 87c3c1de3f
commit 1bfd207e32
170 changed files with 1099 additions and 8708 deletions

View File

@@ -53,8 +53,8 @@ void expect(Dbc *cursor, int k, int v) {
toku_free(val.get_data());
}
void test_reverse_compare(int n, int dup_flags) {
if (verbose) printf("test_reverse_compare:%d %d\n", n, dup_flags);
void test_reverse_compare(int n) {
if (verbose) printf("test_reverse_compare:%d\n", n);
Db *db;
DbTxn * const null_txn = 0;
@@ -72,21 +72,17 @@ void test_reverse_compare(int n, int dup_flags) {
r = env.open(DIR, DB_INIT_MPOOL + DB_CREATE + DB_PRIVATE, 0777); assert(r == 0);
db = new Db(&env, DB_CXX_NO_EXCEPTIONS);
assert(db);
r = db->set_flags(dup_flags);
assert(r == 0);
r = db->set_pagesize(4096);
assert(r == 0);
r = db->set_bt_compare(reverse_compare);
assert(r == 0);
r = db->set_dup_compare(reverse_compare);
assert(r == 0);
r = db->open(null_txn, fname, "main", DB_BTREE, DB_CREATE, 0666);
assert(r == 0);
/* insert n unique keys {0, 1, n-1} */
for (i=0; i<n; i++) {
int k, v;
k = htonl(dup_flags ? n : i);
k = htonl(i);
Dbt key(&k, sizeof k);
v = htonl(i);
Dbt val(&v, sizeof v);
@@ -101,21 +97,17 @@ void test_reverse_compare(int n, int dup_flags) {
db = new Db(&env, 0);
assert(db);
r = db->set_flags(dup_flags);
assert(r == 0);
r = db->set_pagesize(4096);
assert(r == 0);
r = db->set_bt_compare(reverse_compare);
assert(r == 0);
r = db->set_dup_compare(reverse_compare);
assert(r == 0);
r = db->open(null_txn, fname, "main", DB_BTREE, 0, 0666);
assert(r == 0);
/* insert n unique keys {n, n+1, 2*n-1} */
for (i=n; i<2*n; i++) {
int k, v;
k = htonl(dup_flags ? n : i);
k = htonl(i);
Dbt key(&k, sizeof k);
v = htonl(i);
Dbt val(&v, sizeof v);
@@ -130,7 +122,7 @@ void test_reverse_compare(int n, int dup_flags) {
//for (i=0; i<2*n; i++)
for (i=2*n-1; i>=0; i--)
expect(cursor, htonl(dup_flags ? n : i), htonl(i));
expect(cursor, htonl(i), htonl(i));
r = cursor->close();
assert(r == 0);
@@ -143,8 +135,7 @@ void test_reverse_compare(int n, int dup_flags) {
int main(int argc, const char *argv[]) {
int i;
for (i = 1; i <= (1<<16); i *= 2) {
test_reverse_compare(i, 0);
test_reverse_compare(i, DB_DUP + DB_DUPSORT);
test_reverse_compare(i);
}
return 0;
}