30 inline void MK_DECL Sq3LiteC::Exec (MK_STRN sql, Sq3LiteExecSCB callback) {
31 MK_UNUSED auto sq3lite = getLITE();
33 auto callback_ptr = Sq3LiteExecCallbackC::Create(MK_RT_CALL MkOBJ(sq3lite), callback);
34 enum MkErrorE errVal = Sq3LiteExec(sq3lite, sql, Sq3LiteExecCallbackC::Call, callback_ptr);
35 MkErrorC_Check(sq3lite, errVal);
39 inline void MK_DECL Sq3LiteC::Exec (const std::string& sql, Sq3LiteExecSCB callback) {
40 MK_UNUSED auto sq3lite = getLITE();
42 const MK_STRN sql_hdl = sql.c_str();
43 auto callback_ptr = Sq3LiteExecCallbackC::Create(MK_RT_CALL MkOBJ(sq3lite), callback);
44 enum MkErrorE errVal = Sq3LiteExec(sq3lite, sql_hdl, Sq3LiteExecCallbackC::Call, callback_ptr);
45 MkErrorC_Check(sq3lite, errVal);
49 inline void MK_DECL Sq3LiteC::Exec (MK_STRN sql, Sq3LiteExecIF* callback) {
50 MK_UNUSED auto sq3lite = getLITE();
52 auto callback_ptr = Sq3LiteExecCallbackC::Create(MK_RT_CALL MkOBJ(sq3lite), callback);
53 enum MkErrorE errVal = Sq3LiteExec(sq3lite, sql, Sq3LiteExecCallbackC::Call, callback_ptr);
54 MkErrorC_Check(sq3lite, errVal);
58 inline void MK_DECL Sq3LiteC::Exec (const std::string& sql, Sq3LiteExecIF* callback) {
59 MK_UNUSED auto sq3lite = getLITE();
61 const MK_STRN sql_hdl = sql.c_str();
62 auto callback_ptr = Sq3LiteExecCallbackC::Create(MK_RT_CALL MkOBJ(sq3lite), callback);
63 enum MkErrorE errVal = Sq3LiteExec(sq3lite, sql_hdl, Sq3LiteExecCallbackC::Call, callback_ptr);
64 MkErrorC_Check(sq3lite, errVal);
148 MkErrorC_Check(sq3lite, errVal);
155 MkErrorC_Check(sq3lite, errVal);
161 const MK_STRN zSQL_hdl = zSQL.c_str();
163 MkErrorC_Check(sq3lite, errVal);
170 MkErrorC_Check(sq3lite, errVal);
177 MkErrorC_Check(sq3lite, errVal);
207 MkErrorC_Check(db, errVal);
221 MkErrorC_Check(sq3lite, errVal);
247 if (callback_ptr == NULL) callback_call = NULL;
249 MkErrorC_Check(sq3lite, errVal);
256 const MK_STRN sql_hdl = sql.c_str();
258 if (callback_ptr == NULL) callback_call = NULL;
260 MkErrorC_Check(sq3lite, errVal);
268 if (callback_ptr == NULL) callback_call = NULL;
270 MkErrorC_Check(sq3lite, errVal);
277 const MK_STRN sql_hdl = sql.c_str();
279 if (callback_ptr == NULL) callback_call = NULL;
281 MkErrorC_Check(sq3lite, errVal);
289 if (callback_data_ptr == NULL) callback_call = NULL;
291 MkErrorC_Check(sq3lite, errVal);
298 const MK_STRN sql_hdl = sql.c_str();
300 if (callback_data_ptr == NULL) callback_call = NULL;
302 MkErrorC_Check(sq3lite, errVal);
310 if (callback_data_ptr == NULL) callback_call = NULL;
312 MkErrorC_Check(sq3lite, errVal);
319 const MK_STRN sql_hdl = sql.c_str();
321 if (callback_data_ptr == NULL) callback_call = NULL;
323 MkErrorC_Check(sq3lite, errVal);
332 MkErrorC_Check(NULL, errVal);
362 MkErrorC_Check(sq3lite, errVal);
368 const MK_STRN zSchema_hdl = zSchema.c_str();
370 MkErrorC_Check(sq3lite, errVal);
377 MkErrorC_Check(sq3lite, errVal);
394 MkErrorC_Check(sq3lite, errVal);
404 MkErrorC_Check(sq3lite, errVal);
417 const MK_STRN zDbName_hdl = zDbName.c_str();
433 MkErrorC_Check(db, errVal);
439 const MK_STRN zDbName_hdl = zDbName.c_str();
441 MkErrorC_Check(db, errVal);
448 MkErrorC_Check(sq3lite, errVal);
456 MkErrorC_Check(sq3lite, errVal);
462 const MK_STRN zSchema_hdl = zSchema.c_str();
465 MkErrorC_Check(sq3lite, errVal);
473 MkErrorC_Check(sq3lite, errVal);
481 MkErrorC_Check(sq3lite, errVal);
492 MkErrorC_Check(sq3lite, errVal);
498 const MK_STRN zFuncName_hdl = zFuncName.c_str();
500 MkErrorC_Check(sq3lite, errVal);
513 const MK_STRN zSchema_hdl = zSchema.c_str();
526 MkErrorC_Check(sq3lite, errVal);
527 std::tuple<MK_I32,MK_I32> __retVal__L = {pCur,pHiwtr};
540 MkErrorC_Check(db, errVal);
541 std::tuple<MK_STRN,MK_STRN,MK_I32,MK_I32,MK_I32> __retVal__L = {pzDataType,pzCollSeq,pNotNull,pPrimaryKey,pAutoinc};
546 inline std::tuple<MK_STRN,MK_STRN,MK_I32,MK_I32,MK_I32>
Sq3LiteC::TableColumnMetadata (
const std::string& zDbName,
const std::string& zTableName,
const std::string& zColumnName) {
553 const MK_STRN zDbName_hdl = zDbName.c_str();
554 const MK_STRN zTableName_hdl = zTableName.c_str();
555 const MK_STRN zColumnName_hdl = zColumnName.c_str();
557 MkErrorC_Check(db, errVal);
558 std::tuple<MK_STRN,MK_STRN,MK_I32,MK_I32,MK_I32> __retVal__L = {pzDataType,pzCollSeq,pNotNull,pPrimaryKey,pAutoinc};
575 MkErrorC_Check(db, errVal);
586 MkErrorC_Check(db, errVal);
587 std::tuple<MK_I32,MK_I32> __retVal__L = {pnLog,pnCkpt};
596 const MK_STRN zDb_hdl = zDb.c_str();
598 MkErrorC_Check(db, errVal);
599 std::tuple<MK_I32,MK_I32> __retVal__L = {pnLog,pnCkpt};
682 MkErrorC_Check(NULL, errVal);
690 const MK_STRN filename_hdl = filename.c_str();
692 MkErrorC_Check(NULL, errVal);
701 MkErrorC_Check(NULL, errVal);
702 return Sq3LiteC::Sq3LiteC_ObjCreate(
MK_RT_CALL ppDb);
709 const MK_STRN filename_hdl = filename.c_str();
711 MkErrorC_Check(NULL, errVal);
712 return Sq3LiteC::Sq3LiteC_ObjCreate(
MK_RT_CALL ppDb);
723 MkErrorC_Check(db, errVal);
733 MkErrorC_Check(sq3lite, errVal);
Struct to represent the data of the Sq3LiteC … → C-API: libsq3lite::Sq3LiteS
Callback for a Sq3LiteExec.
Callback for a Sq3LiteExecV2.
Struct to represent the data of the Sq3StmtC … → C-API: libsq3lite::Sq3StmtS
static MkBufferListC * MkBufferListC_ObjNew(MK_RT_ARGS MK_BFL hdl)
static MkBinaryR MkBinaryCreate(MK_SIZE size, MK_BINN data)
static MK_SIZE MkBinaryGetSize(const MkBinaryR bin)
static MK_BINN MkBinaryGetData(const MkBinaryR bin)
static MkStringR MkStringCreate(MK_NUM len, MK_STRN str)
struct MkObjectS * MK_OBJ
static Sq3LiteC * Sq3LiteC_ObjNew(MK_RT_ARGS SQ3_LITE hdl)
return Sq3LiteC from LibMsgqueObject
SQ3_LITE getLITE() const
return the LibMsgqueObject from current Sq3LiteC instance
Sq3LiteC * Next()
C++: Sq3LiteC* lite.Next() → C-API get next instance from linked-list of Sq3LiteS type
static Sq3LiteC * Instances()
C++: [static] Sq3LiteC* Sq3LiteC::Instances() → C-API get head-instance from linked-list of Sq3L...
Sq3LiteC * Prev()
C++: Sq3LiteC* lite.Prev() → C-API get previous instance from linked-list of Sq3LiteS type
static Sq3LiteC * HandleResolve(MK_HDL netHdl)
C++: [static] Sq3LiteC* Sq3LiteC::HandleResolve(MK_HDL netHdl) → C-API Handle-Resolve-Slot - ret...
static Sq3LiteC * GetNull()
C++: [static] Sq3LiteC* Sq3LiteC::GetNull() → C-API Null-Slot - return a Sq3LiteC typed NULL ins...
static SQ3_LITE Sq3LitePrev(SQ3_LITE const lite)
get previous instance from linked-list of Sq3LiteS type
#define Sq3LiteInstances()
struct Sq3LiteS * SQ3_LITE
class-shortcut for struct Sq3LiteS *, all shortcut using the XX_YYY syntax (only for public API) …
static SQ3_LITE Sq3LiteGetNull(void)
Null-Slot - return a Sq3LiteC typed NULL instance …
#define Sq3LiteHandleResolve(...)
static SQ3_LITE Sq3LiteNext(SQ3_LITE const lite)
get next instance from linked-list of Sq3LiteS type
void DeclareVtab(MK_STRN zSQL)
C++: sq3lite.DeclareVtab(MK_STRN zSQL) → C-API Declare The Schema Of A Virtual Table …
void Limit(Sq3LimitE id, MK_I32 newVal)
C++: sq3lite.Limit(Sq3LimitE id, MK_I32 newVal) → C-API Run-time Limits …
void ExtendedResultCodes(MK_I32 onoff)
C++: sq3lite.ExtendedResultCodes(MK_I32 onoff) → C-API Enable Or Disable Extended Result Codes ...
void BusyTimeout(MK_I32 ms)
C++: sq3lite.BusyTimeout(MK_I32 ms) → C-API Set A Busy Timeout …
static enum MkErrorE Sq3LiteBusyTimeout(SQ3_LITE sq3lite, MK_I32 ms)
Set A Busy Timeout …
static enum MkErrorE Sq3LiteLimit(SQ3_LITE sq3lite, enum Sq3LimitE id, MK_I32 newVal)
Run-time Limits …
static enum MkErrorE Sq3LiteDeclareVtab(SQ3_LITE sq3lite, MK_STRN zSQL)
Declare The Schema Of A Virtual Table …
static enum MkErrorE Sq3LiteExtendedResultCodes(SQ3_LITE sq3lite, MK_I32 onoff)
Enable Or Disable Extended Result Codes …
MK_STRN ErrMsg()
C++: MK_STRN sq3lite.ErrMsg() → C-API Error Codes And Messages …
Sq3ExtendetResultCodesE ExtendetErrCode()
C++: Sq3ExtendetResultCodesE db.ExtendetErrCode() → C-API Error Codes And Messages …
void ErrorOffset()
C++: db.ErrorOffset() → C-API Error Codes And Messages …
static MK_STRN ErrStr(MK_I32 arg0)
C++: [static] MK_STRN Sq3LiteC::ErrStr(MK_I32 arg0) → C-API Error Codes And Messages …
void SystemErrno()
C++: sq3lite.SystemErrno() → C-API Low-level system error code …
Sq3ErrorE ErrCode()
C++: Sq3ErrorE db.ErrCode() → C-API Error Codes And Messages …
static MK_STRN Sq3LiteErrStr(MK_I32 arg0)
Error Codes And Messages …
static enum Sq3ErrorE Sq3LiteErrCode(SQ3_LITE db)
Error Codes And Messages …
static enum MkErrorE Sq3LiteSystemErrno(SQ3_LITE sq3lite)
Low-level system error code …
static enum MkErrorE Sq3LiteErrorOffset(SQ3_LITE db)
Error Codes And Messages …
static enum Sq3ExtendetResultCodesE Sq3LiteExtendetErrCode(SQ3_LITE db)
Error Codes And Messages …
static MK_STRN Sq3LiteErrMsg(SQ3_LITE sq3lite)
Error Codes And Messages …
static void Sleep(MK_I32 arg0)
C++: [static] Sq3LiteC::Sleep(MK_I32 arg0) → C-API Suspend Execution For A Short Time …
void Exec(MK_STRN sql, Sq3LiteExecIF *callback_data=NULL)
C++: sq3lite.Exec(MK_STRN sql, Sq3LiteExecSCB Sq3LiteExecIF* callback_data = NULL) → C-API One-...
void ExecV2(MK_STRN sql, Sq3LiteExecV2IF *callback=NULL)
C++: sq3lite.ExecV2(MK_STRN sql, Sq3LiteExecV2SCB Sq3LiteExecV2IF* callback = NULL) → C-API The...
#define Sq3LiteExecV2(...)
static enum MkErrorE Sq3LiteExec(SQ3_LITE sq3lite, MK_STRN sql, Sq3Fupu_Sq3LiteExec_callback_call callback_call, MK_CBP callback_data)
One-Step Query Execution Interface …
static enum MkErrorE Sq3LiteSleep(MK_I32 arg0)
Suspend Execution For A Short Time …
void TxnState(MK_STRN zSchema)
C++: sq3lite.TxnState(MK_STRN zSchema) → C-API Determine the transaction state of a database …
MK_I32 GetAutocommit()
C++: MK_I32 sq3lite.GetAutocommit() → C-API Test For Auto-Commit Mode …
MK_I64 LastInsertRowid()
C++: MK_I64 sq3lite.LastInsertRowid() → C-API Last Insert Rowid …
void VtabOnConflict()
C++: sq3lite.VtabOnConflict() → C-API Determine The Virtual Table Conflict Policy …
static MK_I32 Sq3LiteGetAutocommit(SQ3_LITE sq3lite)
Test For Auto-Commit Mode …
static MK_I64 Sq3LiteLastInsertRowid(SQ3_LITE sq3lite)
Last Insert Rowid …
static enum MkErrorE Sq3LiteTxnState(SQ3_LITE sq3lite, MK_STRN zSchema)
Determine the transaction state of a database …
static enum MkErrorE Sq3LiteVtabOnConflict(SQ3_LITE sq3lite)
Determine The Virtual Table Conflict Policy …
MK_BNP Serialize(MK_STRN zSchema, Sq3SerializeE mFlags)
C++: MK_BNP sq3lite.Serialize(MK_STRN zSchema, Sq3SerializeE mFlags) → C-API Serialize a data...
MkBufferListC * DbStatusBFL(Sq3DbStatusE op, MK_BOOL resetFlg)
C++: MkBufferListC* sq3lite.DbStatusBFL(Sq3DbStatusE op, MK_BOOL resetFlg) → C-API Database C...
SQ3_FILENAME DbFilename(MK_STRN zDbName)
C++: SQ3_FILENAME db.DbFilename(MK_STRN zDbName) → C-API Return The Filename For A Database Con...
void DbCacheflush()
C++: sq3lite.DbCacheflush() → C-API Flush caches to disk mid-transaction …
std::tuple< MK_STRN, MK_STRN, MK_I32, MK_I32, MK_I32 > TableColumnMetadata(MK_STRN zDbName, MK_STRN zTableName, MK_STRN zColumnName)
C++: {pzDataType:MK_STRN pzCollSeq:MK_STRN pNotNull:MK_I32 pPrimaryKey:MK_I32 pAutoinc:MK_I32}...
void DbReadonly(MK_STRN zDbName)
C++: db.DbReadonly(MK_STRN zDbName) → C-API Determine if a database is read-only …
MK_STRN DbName(MK_I32 N)
C++: MK_STRN db.DbName(MK_I32 N) → C-API Return The Schema Name For A Database Connection …
void DbReleaseMemory()
C++: sq3lite.DbReleaseMemory() → C-API Free Memory Used By A Database Connection …
void OverloadFunction(MK_STRN zFuncName, MK_I32 nArg)
C++: sq3lite.OverloadFunction(MK_STRN zFuncName, MK_I32 nArg) → C-API Overload A Function For A...
std::tuple< MK_I32, MK_I32 > DbStatus(Sq3DbStatusE op, MK_BOOL resetFlg)
C++: {pCur:MK_I32 pHiwtr:MK_I32} sq3lite.DbStatus(Sq3DbStatusE op, MK_BOOL resetFlg) → C-API Da...
void DropModules(MkBufferListC *azKeepBfl)
C++: sq3lite.DropModules(MkBufferListC* azKeepBfl) → C-API Remove Unnecessary Virtual Table I...
void Deserialize(MK_STRN zSchema, MK_BNP pData, Sq3DeSerializeEF mFlags)
C++: sq3lite.Deserialize(MK_STRN zSchema, MK_BNP pData, Sq3DeSerializeEF mFlags) → C-API Dese...
static enum MkErrorE Sq3LiteOverloadFunction(SQ3_LITE sq3lite, MK_STRN zFuncName, MK_I32 nArg)
Overload A Function For A Virtual Table …
static enum MkErrorE Sq3LiteTableColumnMetadata(SQ3_LITE db, MK_STRN zDbName, MK_STRN zTableName, MK_STRN zColumnName, MK_STRN *pzDataType, MK_STRN *pzCollSeq, MK_I32 *pNotNull, MK_I32 *pPrimaryKey, MK_I32 *pAutoinc)
Extract Metadata About A Column Of A Table …
static enum MkErrorE Sq3LiteDbReadonly(SQ3_LITE db, MK_STRN zDbName)
Determine if a database is read-only …
static enum MkErrorE Sq3LiteDbStatus(SQ3_LITE sq3lite, enum Sq3DbStatusE op, MK_I32 *pCur, MK_I32 *pHiwtr, MK_BOOL resetFlg)
Database Connection Status …
#define Sq3LiteDbStatusBFL(...)
static enum MkErrorE Sq3LiteDbCacheflush(SQ3_LITE sq3lite)
Flush caches to disk mid-transaction …
#define Sq3LiteDropModules(...)
static SQ3_FILENAME Sq3LiteDbFilename(SQ3_LITE db, MK_STRN zDbName)
Return The Filename For A Database Connection …
static MK_STRN Sq3LiteDbName(SQ3_LITE db, MK_I32 N)
Return The Schema Name For A Database Connection …
#define Sq3LiteDeserialize(...)
static MkBinaryR Sq3LiteSerialize(SQ3_LITE sq3lite, MK_STRN zSchema, enum Sq3SerializeE mFlags)
Serialize a database …
static enum MkErrorE Sq3LiteDbReleaseMemory(SQ3_LITE sq3lite)
Free Memory Used By A Database Connection …
std::tuple< MK_I32, MK_I32 > WalCheckpointV2(MK_STRN zDb, MK_I32 eMode)
C++: {pnLog:MK_I32 pnCkpt:MK_I32} db.WalCheckpointV2(MK_STRN zDb, MK_I32 eMode) → C-API Checkpo...
void WalAutocheckpoint(MK_I32 N)
C++: db.WalAutocheckpoint(MK_I32 N) → C-API Configure an auto-checkpoint …
static enum MkErrorE Sq3LiteWalAutocheckpoint(SQ3_LITE db, MK_I32 N)
Configure an auto-checkpoint …
static enum MkErrorE Sq3LiteWalCheckpointV2(SQ3_LITE db, MK_STRN zDb, MK_I32 eMode, MK_I32 *pnLog, MK_I32 *pnCkpt)
Checkpoint a database …
MK_BOOL IsInterrupted()
C++: MK_BOOL sq3lite.IsInterrupted() → C-API Interrupt A Long-Running Query …
void Interrupt()
C++: sq3lite.Interrupt() → C-API Interrupt A Long-Running Query …
static void Sq3LiteInterrupt(SQ3_LITE sq3lite)
Interrupt A Long-Running Query …
static MK_BOOL Sq3LiteIsInterrupted(SQ3_LITE sq3lite)
Interrupt A Long-Running Query …
MK_I64 TotalChanges64()
C++: MK_I64 sq3lite.TotalChanges64() → C-API Total Number Of Rows Modified …
void SetLastInsertRowid(MK_I64 arg1)
C++: sq3lite.SetLastInsertRowid(MK_I64 arg1) → C-API Set the Last Insert Rowid value …
MK_I64 Changes64()
C++: MK_I64 sq3lite.Changes64() → C-API Count The Number Of Rows Modified …
MK_I32 Changes()
C++: MK_I32 sq3lite.Changes() → C-API Count The Number Of Rows Modified …
MK_I32 TotalChanges()
C++: MK_I32 sq3lite.TotalChanges() → C-API Total Number Of Rows Modified …
static MK_I64 Sq3LiteChanges64(SQ3_LITE sq3lite)
Count The Number Of Rows Modified …
static MK_I64 Sq3LiteTotalChanges64(SQ3_LITE sq3lite)
Total Number Of Rows Modified …
static MK_I32 Sq3LiteTotalChanges(SQ3_LITE sq3lite)
Total Number Of Rows Modified …
static void Sq3LiteSetLastInsertRowid(SQ3_LITE sq3lite, MK_I64 arg1)
Set the Last Insert Rowid value …
static MK_I32 Sq3LiteChanges(SQ3_LITE sq3lite)
Count The Number Of Rows Modified …
static Sq3LiteC * OpenV2(MK_STRN filename, Sq3OpenEF flags=SQ3_OPEN_READWRITE|SQ3_OPEN_CREATE, MK_STRN zVfs=NULL)
C++: [constructor,static] Sq3LiteC* Sq3LiteC::OpenV2(MK_STRN filename, Sq3OpenEF flags = SQ3_OPEN_REA...
Sq3StmtC * PrepareV2(const std::string &zSql)
C++: [constructor] Sq3StmtC* db.PrepareV2(const std::string& zSql) → C-API Compiling An SQL St...
void CloseV2()
C++: [destructor] sq3lite.CloseV2() → C-API Closing A Database Connection …
static enum MkErrorE Sq3LiteCloseV2(SQ3_LITE sq3lite)
Closing A Database Connection …
static enum MkErrorE Sq3LiteOpenV2(MK_STRN filename, SQ3_LITE *ppDb, enum Sq3OpenEF flags, MK_STRN zVfs)
Opening A New Database Connection …
Sq3DbStatusE
Status Parameters for database connections.
Sq3DeSerializeEF
Flags for sqlite3_deserialize()
Sq3LimitE
Run-Time Limit Categories.
Sq3OpenEF
Flags For File Open Operations.
Sq3ExtendetResultCodesE
Extended Result Codes.
Sq3SerializeE
Flags for sqlite3_serialize.
static Sq3StmtC * Sq3StmtC_ObjNew(MK_RT_ARGS SQ3_STMT hdl)
return Sq3StmtC from LibMsgqueObject
static enum MkErrorE Sq3LitePrepareV2(SQ3_LITE db, MkStringR zSql, SQ3_STMT *ppStmt)
Compiling An SQL Statement …
std::pair< MK_SIZE, MK_BINN > MK_BNP
namespace for the CcSq3Lite "C++"-API
void(* Sq3LiteExecV2SCB)(const MkBufferListC &vals, const MkBufferListC &cols)
static callback fired at Sq3LiteExec …
void(* Sq3LiteExecSCB)(const std::vector< std::string > &vals, const std::vector< std::string > &cols)
static callback fired at Sq3LiteExec …
static Sq3Fupu_Sq3LiteExec_callback_call_ret Call(Sq3Fupu_Sq3LiteExec_callback_call_args)
static MK_CBP Create(MK_RT_ARGS Sq3LiteExecSCB const callback, Sq3LiteC *lite)
static MK_CBP Create(MK_RT_ARGS Sq3LiteExecV2SCB const callback, Sq3LiteC *lite)
static Sq3LiteExecV2CB_ret Call(Sq3LiteExecV2CB_args)
Struct to represent the data of the Sq3LiteC …
Struct to represent the data of the Sq3StmtC …