blob: 0ddec93d71251318d51bd98cb26010f983e3f135 [file]
#ifndef SUB_SQL_H
#define SUB_SQL_H
#include "subdb.h"
/* Definitions and functions defined by the specialization */
extern const char sql_sub_table_defn[];
extern const char sql_slog_table_defn[];
extern const char sql_cookie_table_defn[];
extern const char sql_mlog_table_defn[];
extern const char sql_checktag_listno_where_defn[];
extern const char sql_checktag_msgnum_where_defn[];
extern const char sql_issub_where_defn[];
extern const char sql_logmsg_values_defn[];
extern const char sql_putsubs_where_defn[];
extern const char sql_searchlog_select_defn[];
extern const char sql_searchlog_where_defn[];
extern const char sql_subscribe_select_where_defn[];
extern const char sql_subscribe_list_values_defn[];
extern const char sql_subscribe_delete1_where_defn[];
extern const char sql_subscribe_delete2_where_defn[];
extern const char sql_subscribe_slog_values_defn[];
extern const char sql_tagmsg_values_defn[];
extern int sql_table_exists(struct subdbinfo *info,
const char *name);
extern const char *sql_create_table(struct subdbinfo *info,
const char *defn);
extern const char *sql_drop_table(struct subdbinfo *info,
const char *name);
extern int sql_exec(struct subdbinfo *info,
struct stralloc *q,
unsigned int nparams,
struct stralloc *params);
extern void *sql_select(struct subdbinfo *info,
struct stralloc *q,
unsigned int nparams,
struct stralloc *params);
extern int sql_fetch_row(struct subdbinfo *info,
void *result,
unsigned int ncolumns,
struct stralloc *columns);
extern void sql_free_result(struct subdbinfo *info,
void *result);
/* Common functions provided by sub_sql */
extern const char *sub_sql_checktag (struct subdbinfo *info,
unsigned long num,
unsigned long listno,
const char *action,
const char *seed,
const char *hash);
extern int sub_sql_issub(struct subdbinfo *info,
const char *table,
const char *userhost,
stralloc *recorded);
extern const char *sub_sql_logmsg(struct subdbinfo *info,
unsigned long num,
unsigned long listno,
unsigned long subs,
int done);
extern unsigned long sub_sql_putsubs(struct subdbinfo *info,
const char *table,
unsigned long hash_lo,
unsigned long hash_hi,
int subwrite());
extern void sub_sql_searchlog(struct subdbinfo *info,
const char *table,
char *search,
int subwrite());
extern int sub_sql_subscribe(struct subdbinfo *info,
const char *table,
const char *userhost,
int flagadd,
const char *comment,
const char *event,
int forcehash);
extern void sub_sql_tagmsg(struct subdbinfo *info,
unsigned long msgnum,
const char *hashout,
unsigned long bodysize,
unsigned long chunk);
extern const char *sub_sql_mktab(struct subdbinfo *info);
extern const char *sub_sql_rmtab(struct subdbinfo *info);
#endif