11#define META_FILE_NAME "Sq3LiteC_py.c"
16#define OT_CLASS (&NS(Sq3LiteCR))
17#define OT_CLASS_NAME "Sq3LiteC"
19#define OT_LNG2META(O) Sq3Lite(VAL2MNG(O))
21#define OT_retObj_CONSTR(mng) OT_retObj_SET(NS(Sq3LiteC_CTOR)(MK_RT_CALL (PyTypeObject*)class,mng))
23#define OT_SETUP_hdl OT_SETUP_hdl_tmpl(Sq3LiteC)
24#define OT_SETUP_hdl__null_allow OT_SETUP_hdl_tmpl__null_allow(Sq3LiteC)
25#define OT_SETUP_hdl_constr MK_RT_UNUSED AllRtSetup_NULL; \
26 SQ3_LITE hdl = (SQ3_LITE) OT_CLASS;
27#define OT_SETUP_hdl_destr OT_SETUP_hdl_tmpl__null_allow(Sq3LiteC)
28#define OT_SETUP_hdl_static MK_RT_UNUSED AllRtSetup_NULL; \
29 __attribute__((unused)) MK_TYP hdl = Sq3LiteC##_TT;
31#define OT_SETUP_hdl_static_constr OT_SETUP_hdl_static
33#if !defined(SetupRtFromObj_X)
34 #define SetupRtFromObj_X(hdl) AllRtSetup_X(hdl)
35 #define SetupRtFromObj_XN(hdl) AllRtSetup_XN(hdl)
40#define Sq3LiteCTT SQ3(Sq3LiteThreadState).Sq3LiteCTT
67 if (Sq3LiteCTT == NULL) Sq3LiteCTT = Sq3LiteSTT; \
70 if (Sq3LiteCTT->selfCreate == NS(Sq3LiteC_selfCreate)) return MK_OK; \
73 Sq3LiteCTT->selfCreate = NS(Sq3LiteC_selfCreate); \
74 Sq3LiteCTT->selfDelete = NS(Sq3LiteC_selfDelete); \
75 Sq3LiteCTT->selfUnlink = NS(Sq3LiteC_selfUnlink); \
77 if (!PyType_HasFeature(OT_CLASS,Py_TPFLAGS_READY)) { \
78 NS(Sq3LiteCR).tp_base = Sq3LiteC_base; \
79 OtErrorCheckLng (PyType_Ready(OT_CLASS)); \
81 OtErrorCheckLng(PyModule_AddObjectRef(m, "Sq3LiteC", (PyObject *)OT_CLASS)); \
84 Sq3LiteC_MK_NULL = Py_NewRef(MK(AtomCreate) (MK_RT_CALL OT_CLASS, NULL ));
88#define META_CONTEXT_S MK_ERROR_DEFAULT
100#define OpenV2_doc "Sq3LiteC Sq3LiteC.OpenV2(filename:string, ?flags:Sq3OpenEF=SQ3_OPEN_READWRITE|SQ3_OPEN_CREATE?, ?zVfs:string=\"None\"?)"
101#define new_doc "Sq3LiteC Sq3LiteC.new(filename:string, ?flags:Sq3OpenEF=SQ3_OPEN_READWRITE|SQ3_OPEN_CREATE?, ?zVfs:string=\"None\"?)"
104#define GetNull_doc "Sq3LiteC Sq3LiteC.GetNull()"
105#define HandleResolve_doc "Sq3LiteC Sq3LiteC.HandleResolve(netHdl:MK_HDL)"
106#define Instances_doc "Sq3LiteC Sq3LiteC.Instances()"
109#define ErrStr_doc "string Sq3LiteC.ErrStr(arg0:int32)"
110#define Sleep_doc "Sq3LiteC.Sleep(arg0:int32)"
113#define Next_doc "Sq3LiteC lite.Next()"
114#define Prev_doc "Sq3LiteC lite.Prev()"
117#define DbStatusBFL_doc "MkBufferListC sq3lite.DbStatusBFL(op:Sq3DbStatusE, resetFlg:bool)"
118#define PrepareV2_doc "Sq3StmtC db.PrepareV2(zSql:string)"
121#define BusyTimeout_doc "sq3lite.BusyTimeout(ms:int32)"
122#define Changes_doc "int32 sq3lite.Changes()"
123#define Changes64_doc "int64 sq3lite.Changes64()"
124#define CloseV2_doc "sq3lite.CloseV2()"
125#define DbCacheflush_doc "sq3lite.DbCacheflush()"
126#define DbFilename_doc "string db.DbFilename(zDbName:string)"
127#define DbName_doc "string db.DbName(N:int32)"
128#define DbReadonly_doc "db.DbReadonly(zDbName:string)"
129#define DbReleaseMemory_doc "sq3lite.DbReleaseMemory()"
130#define DeclareVtab_doc "sq3lite.DeclareVtab(zSQL:string)"
131#define Deserialize_doc "sq3lite.Deserialize(zSchema:string, pData:binary, mFlags:Sq3DeSerializeEF)"
132#define DropModules_doc "sq3lite.DropModules(azKeepBfl:MkBufferListC)"
133#define ErrCode_doc "Sq3ErrorE db.ErrCode()"
134#define ErrMsg_doc "string sq3lite.ErrMsg()"
135#define ErrorOffset_doc "db.ErrorOffset()"
136#define Exec_doc "sq3lite.Exec(sql:string, ?callback_data:callable=None?)"
137#define ExecV2_doc "sq3lite.ExecV2(sql:string, ?callback:callable=None?)"
138#define ExtendedResultCodes_doc "sq3lite.ExtendedResultCodes(onoff:int32)"
139#define ExtendetErrCode_doc "Sq3ExtendetResultCodesE db.ExtendetErrCode()"
140#define GetAutocommit_doc "int32 sq3lite.GetAutocommit()"
142#define Interrupt_doc "sq3lite.Interrupt()"
143#define IsInterrupted_doc "bool sq3lite.IsInterrupted()"
144#define LastInsertRowid_doc "int64 sq3lite.LastInsertRowid()"
145#define Limit_doc "sq3lite.Limit(id:Sq3LimitE, newVal:int32)"
147#define OverloadFunction_doc "sq3lite.OverloadFunction(zFuncName:string, nArg:int32)"
148#define Serialize_doc "binary sq3lite.Serialize(zSchema:string, mFlags:Sq3SerializeE)"
149#define SetLastInsertRowid_doc "sq3lite.SetLastInsertRowid(arg1:int64)"
150#define SystemErrno_doc "sq3lite.SystemErrno()"
151#define TotalChanges_doc "int32 sq3lite.TotalChanges()"
152#define TotalChanges64_doc "int64 sq3lite.TotalChanges64()"
153#define TxnState_doc "sq3lite.TxnState(zSchema:string)"
154#define VtabOnConflict_doc "sq3lite.VtabOnConflict()"
155#define WalAutocheckpoint_doc "db.WalAutocheckpoint(N:int32)"
158#define DbStatus_doc "{pCur:int32 pHiwtr:int32} sq3lite.DbStatus(op:Sq3DbStatusE, resetFlg:bool)"
159#define TableColumnMetadata_doc "{pzDataType:string pzCollSeq:string pNotNull:int32 pPrimaryKey:int32 pAutoinc:int32} db.TableColumnMetadata(zDbName:string, zTableName:string, zColumnName:string)"
160#define WalCheckpointV2_doc "{pnLog:int32 pnCkpt:int32} db.WalCheckpointV2(zDb:string, eMode:int32)"
1077 {
"OpenV2" , (PyCFunction)
NS(Sq3LiteC_OpenV2) , METH_VARARGS|METH_CLASS ,
OpenV2_doc },
1080 {
"GetNull" , (PyCFunction)
NS(Sq3LiteC_GetNull) , METH_NOARGS|METH_CLASS ,
GetNull_doc },
1081 {
"HandleResolve" , (PyCFunction)
NS(Sq3LiteC_HandleResolve) , METH_O|METH_CLASS ,
HandleResolve_doc },
1082 {
"Instances" , (PyCFunction)
NS(Sq3LiteC_Instances) , METH_NOARGS|METH_CLASS ,
Instances_doc },
1085 {
"ErrStr" , (PyCFunction)
NS(Sq3LiteC_ErrStr) , METH_O|METH_CLASS ,
ErrStr_doc },
1086 {
"Sleep" , (PyCFunction)
NS(Sq3LiteC_Sleep) , METH_O|METH_CLASS ,
Sleep_doc },
1093 {
"Next" , (PyCFunction)
NS(Sq3LiteC_Next) , METH_NOARGS ,
Next_doc },
1094 {
"Prev" , (PyCFunction)
NS(Sq3LiteC_Prev) , METH_NOARGS ,
Prev_doc },
1097 {
"DbStatusBFL" , (PyCFunction)
NS(Sq3LiteC_DbStatusBFL) , METH_VARARGS ,
DbStatusBFL_doc },
1098 {
"PrepareV2" , (PyCFunction)
NS(Sq3LiteC_PrepareV2) , METH_O ,
PrepareV2_doc },
1101 {
"BusyTimeout" , (PyCFunction)
NS(Sq3LiteC_BusyTimeout) , METH_O ,
BusyTimeout_doc },
1102 {
"Changes" , (PyCFunction)
NS(Sq3LiteC_Changes) , METH_NOARGS ,
Changes_doc },
1103 {
"Changes64" , (PyCFunction)
NS(Sq3LiteC_Changes64) , METH_NOARGS ,
Changes64_doc },
1104 {
"CloseV2" , (PyCFunction)
NS(Sq3LiteC_CloseV2) , METH_NOARGS ,
CloseV2_doc },
1105 {
"DbCacheflush" , (PyCFunction)
NS(Sq3LiteC_DbCacheflush) , METH_NOARGS ,
DbCacheflush_doc },
1106 {
"DbFilename" , (PyCFunction)
NS(Sq3LiteC_DbFilename) , METH_O ,
DbFilename_doc },
1107 {
"DbName" , (PyCFunction)
NS(Sq3LiteC_DbName) , METH_O ,
DbName_doc },
1108 {
"DbReadonly" , (PyCFunction)
NS(Sq3LiteC_DbReadonly) , METH_O ,
DbReadonly_doc },
1109 {
"DbReleaseMemory" , (PyCFunction)
NS(Sq3LiteC_DbReleaseMemory) , METH_NOARGS ,
DbReleaseMemory_doc },
1110 {
"DeclareVtab" , (PyCFunction)
NS(Sq3LiteC_DeclareVtab) , METH_O ,
DeclareVtab_doc },
1111 {
"Deserialize" , (PyCFunction)
NS(Sq3LiteC_Deserialize) , METH_VARARGS ,
Deserialize_doc },
1112 {
"DropModules" , (PyCFunction)
NS(Sq3LiteC_DropModules) , METH_O ,
DropModules_doc },
1113 {
"ErrCode" , (PyCFunction)
NS(Sq3LiteC_ErrCode) , METH_NOARGS ,
ErrCode_doc },
1114 {
"ErrMsg" , (PyCFunction)
NS(Sq3LiteC_ErrMsg) , METH_NOARGS ,
ErrMsg_doc },
1115 {
"ErrorOffset" , (PyCFunction)
NS(Sq3LiteC_ErrorOffset) , METH_NOARGS ,
ErrorOffset_doc },
1116 {
"Exec" , (PyCFunction)
NS(Sq3LiteC_Exec) , METH_VARARGS ,
Exec_doc },
1117 {
"ExecV2" , (PyCFunction)
NS(Sq3LiteC_ExecV2) , METH_VARARGS ,
ExecV2_doc },
1119 {
"ExtendetErrCode" , (PyCFunction)
NS(Sq3LiteC_ExtendetErrCode) , METH_NOARGS ,
ExtendetErrCode_doc },
1120 {
"GetAutocommit" , (PyCFunction)
NS(Sq3LiteC_GetAutocommit) , METH_NOARGS ,
GetAutocommit_doc },
1122 {
"Interrupt" , (PyCFunction)
NS(Sq3LiteC_Interrupt) , METH_NOARGS ,
Interrupt_doc },
1123 {
"IsInterrupted" , (PyCFunction)
NS(Sq3LiteC_IsInterrupted) , METH_NOARGS ,
IsInterrupted_doc },
1124 {
"LastInsertRowid" , (PyCFunction)
NS(Sq3LiteC_LastInsertRowid) , METH_NOARGS ,
LastInsertRowid_doc },
1125 {
"Limit" , (PyCFunction)
NS(Sq3LiteC_Limit) , METH_VARARGS ,
Limit_doc },
1127 {
"OverloadFunction" , (PyCFunction)
NS(Sq3LiteC_OverloadFunction) , METH_VARARGS ,
OverloadFunction_doc },
1128 {
"Serialize" , (PyCFunction)
NS(Sq3LiteC_Serialize) , METH_VARARGS ,
Serialize_doc },
1130 {
"SystemErrno" , (PyCFunction)
NS(Sq3LiteC_SystemErrno) , METH_NOARGS ,
SystemErrno_doc },
1131 {
"TotalChanges" , (PyCFunction)
NS(Sq3LiteC_TotalChanges) , METH_NOARGS ,
TotalChanges_doc },
1132 {
"TotalChanges64" , (PyCFunction)
NS(Sq3LiteC_TotalChanges64) , METH_NOARGS ,
TotalChanges64_doc },
1133 {
"TxnState" , (PyCFunction)
NS(Sq3LiteC_TxnState) , METH_O ,
TxnState_doc },
1134 {
"VtabOnConflict" , (PyCFunction)
NS(Sq3LiteC_VtabOnConflict) , METH_NOARGS ,
VtabOnConflict_doc },
1138 {
"DbStatus" , (PyCFunction)
NS(Sq3LiteC_DbStatus) , METH_VARARGS ,
DbStatus_doc },
1140 {
"WalCheckpointV2" , (PyCFunction)
NS(Sq3LiteC_WalCheckpointV2) , METH_VARARGS ,
WalCheckpointV2_doc },
1144 {NULL, NULL, 0, NULL}
1154 PyVarObject_HEAD_INIT(NULL, 0)
1155 .tp_name =
"pymsgque.Sq3LiteC",
1156 .tp_doc =
"PyMsgque Sq3LiteC Type",
1159 .tp_new = (newfunc)
NS(Sq3LiteC_new),
1160 .tp_flags = Py_TPFLAGS_DEFAULT,
#define OT_CHECK_bool(val)
#define OT_SETUP_VARARGS(min, max, d)
#define OT_retObj_SET_BOL(nat)
#define OT_SETUP_NOARG(d)
#define OT_SETUP_ONEARG(d)
#define OT_ERROR_LNG_RETURN
#define OT_CHECK_NI4(val)
#define OT_CHECK_NI8(val)
#define OT_retObj_SET_Error
#define OT_CONSTRUCTOR_POST(x)
#define OT_retObj_SET_I64(nat)
#define OT_retObj_SET_List
#define OT_CHECK_REQUIRED(val)
#define OT_retObj_SET_None
#define OT_retObj_SET_I32(nat)
#define OT_retObj_SET_BFL(nat)
#define OT_TMP_I32_OBJ(val)
#define OT_GET__ME_REF_MkBinaryR(b)
#define OT_SETUP_CONSTRUCTOR_ARGS(...)
#define OT_retObj_APPEND(var)
#define OT_CHECK__ME_REF_MkStringR(val)
#define OT_CHECK__ME_REF_MkBinaryR(val)
#define OT_retObj_SET_STR(nat)
#define OT_CLASS_TYPE_REF
#define OT_CHECK_OPTIONAL(val)
#define OT_TMP_STR_OBJ(val)
#define OT_retObj_SET(val)
#define MkErrorC_Check(mng, PROC)
#define OT_CHECK_STRN(val)
struct Sq3LiteC_Obj Sq3LiteC_Obj
#define OT_NEW_Sq3_enum_OBJ(typ, val)
#define OT_retObj_SET_LITE(nat)
#define OT_retObj_SET_STMT(nat)
#define OT_SETUP_hdl_static_constr
#define ExtendedResultCodes_doc
#define DbReleaseMemory_doc
#define WalAutocheckpoint_doc
#define OT_retObj_CONSTR(mng)
#define ExtendetErrCode_doc
static PyMethodDef Sq3LiteC_Methods[]
#define OverloadFunction_doc
#define SetLastInsertRowid_doc
#define OT_SETUP_hdl_destr
#define LastInsertRowid_doc
#define TotalChanges64_doc
#define HandleResolve_doc
#define OT_SETUP_hdl_static
#define OT_SETUP_hdl_constr
#define TableColumnMetadata_doc
#define WalCheckpointV2_doc
#define GetAutocommit_doc
#define IsInterrupted_doc
#define VtabOnConflict_doc
#define MkBufferListCreateTLS_T(name, num)
static SQ3_LITE Sq3LiteNext(SQ3_LITE const lite)
get next instance from linked-list of Sq3LiteS type
#define Sq3LiteInstances()
static SQ3_LITE Sq3LiteGetNull(void)
Null-Slot - return a Sq3LiteC typed NULL instance …
static SQ3_LITE Sq3LitePrev(SQ3_LITE const lite)
get previous instance from linked-list of Sq3LiteS type
#define Sq3LiteHandleResolve(...)
#define Sq3LiteC_X2obj(x)
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 …
static enum MkErrorE Sq3LiteErrorOffset(SQ3_LITE db)
Error Codes And Messages …
static enum MkErrorE Sq3LiteSystemErrno(SQ3_LITE sq3lite)
Low-level system error code …
static enum Sq3ErrorE Sq3LiteErrCode(SQ3_LITE db)
Error Codes And Messages …
static MK_STRN Sq3LiteErrMsg(SQ3_LITE sq3lite)
Error Codes And Messages …
static MK_STRN Sq3LiteErrStr(MK_I32 arg0)
Error Codes And Messages …
static enum Sq3ExtendetResultCodesE Sq3LiteExtendetErrCode(SQ3_LITE db)
Error Codes And Messages …
static enum MkErrorE Sq3LiteSleep(MK_I32 arg0)
Suspend Execution For A Short Time …
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 …
#define Sq3LiteExecV2(...)
Sq3Fupu_Sq3LiteExec_callback_call_ret(* Sq3Fupu_Sq3LiteExec_callback_call)(Sq3Fupu_Sq3LiteExec_callback_call_args)
enum MkErrorE(* Sq3LiteExecV2CB)(MK_RT mkrt, MK_CBP callV2, MK_BFL vals, MK_BFL cols)
callback for Sq3LiteExecV2
static enum MkErrorE Sq3LiteTxnState(SQ3_LITE sq3lite, MK_STRN zSchema)
Determine the transaction state of a database …
static MK_I32 Sq3LiteGetAutocommit(SQ3_LITE sq3lite)
Test For Auto-Commit Mode …
static enum MkErrorE Sq3LiteVtabOnConflict(SQ3_LITE sq3lite)
Determine The Virtual Table Conflict Policy …
static MK_I64 Sq3LiteLastInsertRowid(SQ3_LITE sq3lite)
Last Insert Rowid …
static enum MkErrorE Sq3LiteDbCacheflush(SQ3_LITE sq3lite)
Flush caches to disk mid-transaction …
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 Sq3LiteDbReleaseMemory(SQ3_LITE sq3lite)
Free Memory Used By A Database Connection …
static MK_STRN Sq3LiteDbName(SQ3_LITE db, MK_I32 N)
Return The Schema Name For A Database Connection …
#define Sq3LiteDbStatusBFL(...)
#define Sq3LiteDropModules(...)
static enum MkErrorE Sq3LiteDbStatus(SQ3_LITE sq3lite, enum Sq3DbStatusE op, MK_I32 *pCur, MK_I32 *pHiwtr, MK_BOOL resetFlg)
Database Connection Status …
static MkBinaryR Sq3LiteSerialize(SQ3_LITE sq3lite, MK_STRN zSchema, enum Sq3SerializeE mFlags)
Serialize a database …
static SQ3_FILENAME Sq3LiteDbFilename(SQ3_LITE db, MK_STRN zDbName)
Return The Filename For A Database Connection …
static enum MkErrorE Sq3LiteOverloadFunction(SQ3_LITE sq3lite, MK_STRN zFuncName, MK_I32 nArg)
Overload A Function For A Virtual Table …
#define Sq3LiteDeserialize(...)
static enum MkErrorE Sq3LiteDbReadonly(SQ3_LITE db, MK_STRN zDbName)
Determine if a database is read-only …
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 …
static void Sq3LiteInterrupt(SQ3_LITE sq3lite)
Interrupt A Long-Running Query …
static MK_BOOL Sq3LiteIsInterrupted(SQ3_LITE sq3lite)
Interrupt A Long-Running Query …
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 Sq3LiteChanges(SQ3_LITE sq3lite)
Count The 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 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 …
Sq3OpenEF
Flags For File Open Operations.
Sq3LimitE
Run-Time Limit Categories.
Sq3SerializeE
Flags for sqlite3_serialize.
Sq3DeSerializeEF
Flags for sqlite3_deserialize()
Sq3DbStatusE
Status Parameters for database connections.
static enum MkErrorE Sq3LitePrepareV2(SQ3_LITE db, MkStringR zSql, SQ3_STMT *ppStmt)
Compiling An SQL Statement …
#define OT_CHECK_NIH(val)
#define OT_CHECK_CALLABLE(val)
#define OT_CHECK_ENUM(ename, val)
#define OT_SETUP_CALLABLE_ONCE(val)
#define OT_CLEANUP_CALLABLE_ONCE(val)
#define OT_CHECK_BFL(val, nullB)
Struct to represent the data of the Sq3LiteC …
Struct to represent the data of the Sq3StmtC …