]> jfr.im git - irc/quakenet/newserv.git/blame - sqlite/sqlite.h
dbapi loadtable function should mutate the table name to include the schema.
[irc/quakenet/newserv.git] / sqlite / sqlite.h
CommitLineData
ee8cd7d0
CP
1#ifndef __SQLITE_DB_H
2#define __SQLITE_DB_H
3
adf9e9ea
CP
4#include <stdlib.h>
5
05a1e63f 6#include "../sqlite/libsqlite3/sqlite3.h"
ee8cd7d0
CP
7
8typedef struct SQLiteResult {
aa944539
CP
9 sqlite3_stmt *r;
10 char first, final;
ee8cd7d0
CP
11} SQLiteResult;
12
aa944539
CP
13typedef SQLiteResult SQLiteConn;
14typedef int SQLiteModuleIdentifier;
15typedef void (*SQLiteQueryHandler)(SQLiteConn *, void *);
16
bb4b25ee 17void sqliteasyncqueryf(SQLiteModuleIdentifier identifier, SQLiteQueryHandler handler, void *tag, int flags, char *format, ...) __attribute__ ((format (printf, 5, 6)));
91ad51f6 18void sqliteasyncqueryfv(int identifier, SQLiteQueryHandler handler, void *tag, int flags, char *format, va_list ap);
ee8cd7d0
CP
19
20int sqliteconnected(void);
21
008e57e5
CP
22int sqlitegetid(void);
23void sqlitefreeid(int);
ee8cd7d0 24
404d307c 25size_t sqliteescapestring(char *buf, char *src, unsigned int len);
ee8cd7d0
CP
26
27SQLiteResult *sqlitegetresult(SQLiteConn *);
28int sqlitefetchrow(SQLiteResult *);
29void sqliteclear(SQLiteResult *);
30
31int sqlitequerysuccessful(SQLiteResult *);
32
df196dd2 33#define sqlitegetvalue(result, column) ((char *)sqlite3_column_text(result->r, column))
ee8cd7d0 34
aa944539
CP
35void sqliteattach(char *schema);
36void sqlitedetach(char *schema);
91ad51f6 37void sqliteloadtable(char *tablename, SQLiteQueryHandler init, SQLiteQueryHandler data, SQLiteQueryHandler fini, void *tag);
ee8cd7d0
CP
38
39#endif