#ifndef __FTSBENCH_H__ #define __FTSBENCH_H__ #include /* utils */ typedef struct { char* str; int strlen; int length; } StringBuf; void sb_add(StringBuf *b, char *s, int length); /* rand.c */ long rnd(); void srnd(long seed); /* finngan.c */ void generate_doc(StringBuf *b); char** generate_querywords(); void finnegan_init(char *lex_file, char *doc_file); typedef struct ftsDB { void (*execQuery)(struct ftsDB*, char **, int); void (*startCreateScheme)(struct ftsDB*, int); void (*finishCreateScheme)(struct ftsDB*); void (*InsertRow)(struct ftsDB*, int, char*); /* stats */ pthread_mutex_t nqueryMutex; int nquery; /* follow db specific fields */ } ftsDB; #ifdef WITH_PGSQL ftsDB* PGInit(char * connstr); #else #define PGInit NULL #endif #ifdef WITH_MYSQL ftsDB* MYInit(char * connstr); #else #define MYInit NULL #endif #define FLG_GIST (0x00000001) #define FLG_GIN (0x00000002) #define FLG_FUNC (0x00000004) #define FLG_AND (0x00000008) #define FLG_OR (0x00000010) #define FLG_SORT (0x00000020) #endif