add .gitignore
[ftsbench.git] / ftsbench.h
index 5c2ba2e..128f00d 100644 (file)
@@ -40,6 +40,16 @@ typedef struct {
 } StringBuf;
 
 void sb_add(StringBuf *b, char *s, int length);
+#define sb_addchar(s, c)       do {                            \
+       if ( (s)->strlen < (s)->length )                        \
+               (s)->str[ (s)->strlen++ ] = (c);                \
+       else {                                                                          \
+               char __c = (c);                                                 \
+               sb_add( (s), &__c, 1);                                  \
+       }                                                                                       \
+} while(0)
+
+void printScheme();
 
 /* rand.c */
 long rnd();
@@ -48,17 +58,23 @@ void srnd(long seed);
 /* finngan.c */
 void generate_doc(StringBuf *b);
 char** generate_querywords();
-void   finnegan_init(char *lex_file, char *doc_file);
+void   finnegan_init(char *lex_file, char *doc_file, int quiet);
+
+/* main part */
 
+void report(const char *format, ...);
+void fatal(const char *format, ...);
 typedef struct ftsDB {
        void                    (*execQuery)(struct ftsDB*, char **, int); 
        void                    (*startCreateScheme)(struct ftsDB*, int);
        void                    (*finishCreateScheme)(struct ftsDB*);
        void                    (*InsertRow)(struct ftsDB*, int, char*);
+       void                    (*Close)(struct ftsDB*);
 
        /* stats */
        pthread_mutex_t nqueryMutex;
        int                     nquery;
+       int                     nres;
 
        /* follow db specific fields */
 } ftsDB;
@@ -80,6 +96,5 @@ ftsDB* MYInit(char * connstr);
 #define        FLG_FUNC        (0x00000004)
 #define        FLG_AND         (0x00000008)
 #define        FLG_OR          (0x00000010)
-#define        FLG_SORT        (0x00000020)
 
 #endif