2007-07-13 19:37:47 +00:00
|
|
|
#ifndef BRT_H
|
|
|
|
#define BRT_H
|
|
|
|
|
|
|
|
// This must be first to make the 64-bit file mode work right in Linux
|
|
|
|
#define _FILE_OFFSET_BITS 64
|
|
|
|
#include "brttypes.h"
|
|
|
|
|
|
|
|
#include "ybt.h"
|
2007-09-06 20:13:56 +00:00
|
|
|
#include "../include/db.h"
|
2007-07-13 19:37:47 +00:00
|
|
|
#include "cachetable.h"
|
2007-09-28 17:11:22 +00:00
|
|
|
#include "log.h"
|
2007-07-13 19:37:47 +00:00
|
|
|
typedef struct brt *BRT;
|
2007-07-24 14:34:05 +00:00
|
|
|
int open_brt (const char *fname, const char *dbname, int is_create, BRT *, int nodesize, CACHETABLE, int(*)(DB*,const DBT*,const DBT*));
|
2007-07-13 19:37:47 +00:00
|
|
|
//int brt_create (BRT **, int nodesize, int n_nodes_in_cache); /* the nodesize and n_nodes in cache really should be separately configured. */
|
|
|
|
//int brt_open (BRT *, char *fname, char *dbname);
|
2007-09-28 17:11:22 +00:00
|
|
|
int brt_insert (BRT, DBT *, DBT *, DB*, TOKUTXN);
|
2007-07-24 01:32:03 +00:00
|
|
|
int brt_lookup (BRT brt, DBT *k, DBT *v, DB*db);
|
2007-09-06 21:36:45 +00:00
|
|
|
int brt_delete (BRT brt, DBT *k, DB *db);
|
2007-07-13 19:37:47 +00:00
|
|
|
int close_brt (BRT);
|
|
|
|
int dump_brt (BRT brt);
|
|
|
|
void brt_fsync (BRT); /* fsync, but don't clear the caches. */
|
|
|
|
|
|
|
|
void brt_flush (BRT); /* fsync and clear the caches. */
|
|
|
|
|
|
|
|
int brt_create_cachetable (CACHETABLE *t, int n_cachlines /* Pass 0 if you want the default. */);
|
|
|
|
|
2007-09-21 17:55:49 +00:00
|
|
|
/* create and initialize a cache table
|
|
|
|
hashsize is the initialize size of the lookup table
|
|
|
|
cachesize is the upper limit on the size of the size of the values in the table */
|
|
|
|
int brt_create_cachetable_size (CACHETABLE *t, int hashsize, long cachesize);
|
|
|
|
|
2007-07-13 19:37:47 +00:00
|
|
|
extern int brt_debug_mode;
|
|
|
|
int verify_brt (BRT brt);
|
|
|
|
|
|
|
|
int show_brt_blocknumbers(BRT);
|
|
|
|
|
|
|
|
typedef struct brt_cursor *BRT_CURSOR;
|
|
|
|
int brt_cursor (BRT, BRT_CURSOR*);
|
2007-09-28 17:11:22 +00:00
|
|
|
int brt_cursor_get (BRT_CURSOR cursor, DBT *kbt, DBT *vbt, int brtc_flags, DB *db, TOKUTXN);
|
2007-09-11 18:32:10 +00:00
|
|
|
int brt_cursor_delete(BRT_CURSOR cursor, int flags);
|
2007-07-13 19:37:47 +00:00
|
|
|
int brt_cursor_close (BRT_CURSOR curs);
|
|
|
|
|
|
|
|
#endif
|