78 return tableExists(db_, tablename);
93 bool columnExists(
const std::string& tablename,
const std::string& colname)
95 return columnExists(db_, tablename, colname);
109 executeStatement(db_, statement);
130 executeBindStatement(db_, prepare_statement, data);
146 prepareStatement(db_, stmt, prepare_statement);
157 static bool tableExists(sqlite3* db,
const std::string& tablename);
168 static bool columnExists(sqlite3* db,
const std::string& tablename,
const std::string& colname);
213 static void prepareStatement(sqlite3* db, sqlite3_stmt** stmt,
const std::string& prepare_statement);
233 static void executeBindStatement(sqlite3* db,
const std::string& prepare_statement,
const std::vector<std::string>& data);
248 sqlite3* db_ =
nullptr;
254 namespace SqliteHelper
259 template <
typename T>
262 static_assert(std::is_same<T, std::false_type>::value,
"Wrong input type to clearSignBit(). Please pass unsigned 64bit ints!");
268 return value & ~(1ULL << 63);
317 template <
typename ValueType>
A method or algorithm argument contains illegal values.
Definition Exception.h:630
File adapter for Sqlite files.
Definition SqliteConnector.h:31
bool columnExists(const std::string &tablename, const std::string &colname)
Checks whether the given table contains a certain column.
Definition SqliteConnector.h:93
static void prepareStatement(sqlite3 *db, sqlite3_stmt **stmt, const std::string &prepare_statement)
Converts an SQL statement into a prepared statement.
~SqliteConnector()
Destructor.
void executeBindStatement(const std::string &prepare_statement, const std::vector< std::string > &data)
Executes raw data SQL statements (insert statements)
Definition SqliteConnector.h:128
static bool tableExists(sqlite3 *db, const std::string &tablename)
Checks whether the given table exists.
SqliteConnector(const std::string &filename, const SqlOpenMode mode=SqlOpenMode::READWRITE_OR_CREATE)
SqlOpenMode
how an sqlite db should be opened
Definition SqliteConnector.h:36
SqliteConnector()=delete
Default constructor.
bool tableExists(const std::string &tablename)
Checks whether the given table exists.
Definition SqliteConnector.h:76
static void executeStatement(sqlite3 *db, const std::string &statement)
Executes a given SQL statement (insert statement)
void prepareStatement(sqlite3_stmt **stmt, const std::string &prepare_statement)
Prepares a SQL statement.
Definition SqliteConnector.h:144
void openDatabase_(const std::string &filename, const SqlOpenMode mode)
Opens a new SQLite database.
void executeStatement(const std::string &statement)
Executes a given SQL statement (insert statement)
Definition SqliteConnector.h:107
sqlite3 * getDB()
Returns the raw pointer to the database.
Definition SqliteConnector.h:64
static bool columnExists(sqlite3 *db, const std::string &tablename, const std::string &colname)
Checks whether the given table contains a certain column.
static void executeBindStatement(sqlite3 *db, const std::string &prepare_statement, const std::vector< std::string > &data)
Executes raw data SQL statements (insert statements)
static void executeStatement(sqlite3 *db, const std::stringstream &statement)
Executes a given SQL statement (insert statement)
Size countTableRows(const std::string &table_name)
int64_t Int64
Signed integer type (64bit)
Definition Types.h:40
uint64_t UInt64
Unsigned integer type (64bit)
Definition Types.h:47
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition Types.h:97
bool extractBool(sqlite3_stmt *stmt, int pos)
char extractChar(sqlite3_stmt *stmt, int pos)
double extractDouble(sqlite3_stmt *stmt, int pos)
float extractFloat(sqlite3_stmt *stmt, int pos)
convenience function; note: in SQL there is no float, just double. So this might be narrowing.
std::string extractString(sqlite3_stmt *stmt, int pos)
int extractInt(sqlite3_stmt *stmt, int pos)
Int64 extractInt64(sqlite3_stmt *stmt, int pos)
SqlState nextRow(sqlite3_stmt *stmt, SqlState current=SqlState::SQL_ROW)
retrieves the next row from a prepared statement
SqlState
Definition SqliteConnector.h:273
@ SQL_ERROR
includes SQLITE_BUSY, SQLITE_ERROR, SQLITE_MISUSE
bool extractValue< int >(int *dst, sqlite3_stmt *stmt, int pos)
bool extractValue< std::string >(std::string *dst, sqlite3_stmt *stmt, int pos)
bool extractValue< Int64 >(Int64 *dst, sqlite3_stmt *stmt, int pos)
UInt64 clearSignBit(T)
Definition SqliteConnector.h:260
bool extractValue< double >(double *dst, sqlite3_stmt *stmt, int pos)
bool extractValueIntStr(std::string *dst, sqlite3_stmt *stmt, int pos)
Special case where an integer should be stored in a std::string field.
bool extractValue(ValueType *, sqlite3_stmt *, int)
Extracts a specific value from an SQL column.
Definition SqliteConnector.h:318
Main OpenMS namespace.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19