2008-04-02 23:40:36 +00:00
|
|
|
/* -*- mode: C; c-basic-offset: 4 -*- */
|
|
|
|
#ident "Copyright (c) 2007, 2008 Tokutek Inc. All rights reserved."
|
|
|
|
|
2013-04-16 23:57:21 -04:00
|
|
|
#include "includes.h"
|
2008-04-02 23:40:36 +00:00
|
|
|
#include "test.h"
|
|
|
|
|
|
|
|
static TOKUTXN const null_txn = 0;
|
|
|
|
static DB * const null_db = 0;
|
|
|
|
|
|
|
|
static void test1 (void) {
|
|
|
|
BRT t;
|
|
|
|
int r;
|
|
|
|
CACHETABLE ct;
|
2008-05-04 16:56:15 +00:00
|
|
|
char fname[]= __FILE__ "1.brt";
|
2008-04-02 23:40:36 +00:00
|
|
|
DBT k,v;
|
|
|
|
toku_memory_check=1;
|
|
|
|
toku_memory_check_all_free();
|
|
|
|
r = toku_brt_create_cachetable(&ct, 0, ZERO_LSN, NULL_LOGGER);
|
|
|
|
assert(r==0);
|
2013-04-16 23:57:47 -04:00
|
|
|
unlink(fname);
|
2013-04-16 23:58:04 -04:00
|
|
|
r = toku_open_brt(fname, 1, &t, 1024, ct, null_txn, toku_builtin_compare_fun, null_db);
|
2008-04-02 23:40:36 +00:00
|
|
|
assert(r==0);
|
|
|
|
toku_brt_insert(t, toku_fill_dbt(&k, "hello", 6), toku_fill_dbt(&v, "there", 6), null_txn);
|
|
|
|
{
|
2013-04-16 23:57:41 -04:00
|
|
|
struct check_pair pair = {6, "hello", 6, "there", 0};
|
2013-04-16 23:59:21 -04:00
|
|
|
r = toku_brt_lookup(t, toku_fill_dbt(&k, "hello", 6), lookup_checkf, &pair);
|
2008-04-02 23:40:36 +00:00
|
|
|
assert(r==0);
|
2013-04-16 23:57:41 -04:00
|
|
|
assert(pair.call_count==1);
|
2008-04-02 23:40:36 +00:00
|
|
|
}
|
2013-04-16 23:58:06 -04:00
|
|
|
r = toku_close_brt(t, 0); assert(r==0);
|
2008-04-02 23:40:36 +00:00
|
|
|
r = toku_cachetable_close(&ct); assert(r==0);
|
|
|
|
toku_memory_check_all_free();
|
|
|
|
if (verbose) printf("test1 ok\n");
|
|
|
|
}
|
2013-04-16 23:57:32 -04:00
|
|
|
int
|
|
|
|
test_main (int argc , const char *argv[]) {
|
2008-04-02 23:40:36 +00:00
|
|
|
default_parse_args(argc, argv);
|
|
|
|
if (verbose) printf("test1\n");
|
|
|
|
test1();
|
|
|
|
toku_malloc_cleanup();
|
|
|
|
if (verbose) printf("test1 ok\n");
|
|
|
|
return 0;
|
|
|
|
}
|