1 #ifndef s11n_net_SQ3_HPP_INCLUDED
2 #define s11n_net_SQ3_HPP_INCLUDED 1
9 # define SQ3_USE_WCHAR 0
16 # ifdef _GLIBCXX_USE_WCHAR_T
17 # define SQ3_USE_WCHAR 1
18 # elif defined(UNICODE) // Windows uses this
19 # define SQ3_USE_WCHAR 1
21 # define SQ3_USE_WCHAR 0 // default
26 # warning SQ3_USE_WCHAR: INCOMPLETE/BROKEN code is enabled!
35 #include "refcount.hpp"
293 explicit database( std::string
const & filename );
310 std::string
name()
const;
378 virtual int open(
char const *,
long flags = 0 );
386 int open( std::string
const &,
long flags = 0 );
417 int close(
bool force =
false );
448 int execute(
const std::string &sql);
466 int execute(std::string
const & sql,
int & tgt);
471 int execute(
char const * sql,
int & tgt);
486 int execute(
char const * sql,
double & tgt);
490 int execute(std::string
const & sql,
double & tgt);
495 int execute(
char const * sql, std::string & tgt);
499 int execute(std::string
const & sql, std::string & tgt);
527 int execute(std::string
const & sql,
void const ** tgt,
int & sz );
533 int execute(
char const * sql,
void const ** tgt,
int & sz );
543 int execute( std::string
const & sql, sqlite3_callback callback,
void * data, std::string & errmsg );
547 int execute(
char const * sql, sqlite3_callback callback,
void * data, std::string & errmsg );
554 int execute( std::string
const & sql, sqlite3_callback callback,
void * data = 0 );
560 int execute(
char const * sql, sqlite3_callback callback,
void * data = 0 );
569 int pragma(
char const * code );
579 int open(
wchar_t const * dbname );
580 int open( std::wstring
const & dbname );
583 #endif // SQ3_USE_WCHAR
693 typedef std::map<std::string,int> NameToIndexMap;
694 NameToIndexMap * m_cn;
701 void copy(
cursor const & rhs );
720 int index_colnames();
813 int isnull(
int index,
bool & tgt );
821 int get(
int index,
int & tgt );
825 int get(
int index,
int64_t & tgt );
829 int get(
int index,
double & tgt );
833 int get(
int index, std::string & tgt );
851 int get(
int index,
void const ** tgt,
int & sz );
871 int get( std::string
const & key,
int & tgt );
875 int get( std::string
const & key,
int64_t & tgt );
879 int get( std::string
const & key,
double & tgt );
883 int get( std::string
const & key, std::string & tgt );
901 int get( std::string
const & key,
void const ** tgt,
int & sz );
909 int colname(
int index, std::string & str );
922 int colname(
int index,
char const ** str );
1013 int prepare( std::string
const & sql );
1019 int prepare(
char const * sql,
int byteCount = -1 );
1029 int prepare( sqlite3_wstring_t
const sql,
int byteCount = -1 );
1034 #endif // SQ3_USE_WCHAR
1055 int bind(
int index );
1060 int bind(
int index,
int data );
1070 int bind(
int index,
double data );
1075 int bind(
int index,
char const * data,
int len );
1080 int bind(
int index,
void const * data,
int len );
1086 int bind(
int index, std::string
const & data );
1105 int bind(
char const * index );
1110 int bind(
char const * index,
int data );
1120 int bind(
char const * index,
double data );
1126 int bind(
char const * index,
char const * data,
int len );
1132 int bind(
char const * index,
void const * data,
int len );
1138 int bind(
char const * index, std::string
const & data );
1188 int execute( std::string & tgt );
1217 int execute(
void const ** tgt,
int & len );
1259 char const *
colname(
int index );
1270 int colname(
int index,
char const ** cn );
1277 #endif // s11n_net_SQ3_HPP_INCLUDED