44 SQLiteDB(
const char* f, OpenMode m=ro) : dbfile(f), database(NULL) {
51 void connect(
const char* filename);
53 void exec(
const char *sql);
54 void open(OpenMode m);
57 bool tableExists(
string table_name);
58 void createTableGenomes();
59 void createTableSpeciesnames();
60 void createTableSeqnames();
61 void createTableHints();
62 void createTableFeatureTypes();
63 int getSpeciesID(
string species,
bool clean=
false,
bool noInsert=
false);
65 void deleteHints(
int speciesid);
66 void deleteGenome(
int speciesid);
67 void deleteSeqNames(
int speciesid);
70 void beginTransaction();
71 void endTransaction();
73 inline int lastInsertID(){
return (
int)sqlite3_last_insert_rowid(database);}
74 inline const char* error(){
return sqlite3_errmsg(database);}
75 inline int numChanges(){
return sqlite3_changes(database);}
90 void prepare(
const char *sql);
93 void bindInt(
int idx,
int x);
94 void bindInt64(
int idx, uint64_t x);
95 void bindDouble(
int idx,
double d);
96 void bindText(
int idx,
const char* text);
98 inline void reset(){sqlite3_reset(stmt);}
99 inline void finalize(){sqlite3_finalize(stmt);}
100 inline int numCols(){
return sqlite3_column_count(stmt);}
101 inline int intColumn(
int colNum){
return sqlite3_column_int(stmt,colNum);}
102 inline bool boolColumn(
int colNum){
return sqlite3_column_int(stmt,colNum) != 0;}
103 inline uint64_t int64Column(
int colNum){
return (uint64_t)sqlite3_column_int64(stmt,colNum);}
104 inline double doubleColumn(
int colNum){
return sqlite3_column_double(stmt,colNum);}
105 inline char* textColumn(
int colNum){
return (
char*)sqlite3_column_text(stmt,colNum);}
106 inline const char* error(){
return sqlite3_errmsg(database);}