13#define META_FILE_NAME "Sq3LiteC_rb.c"
17#define OT_CLASS NS(Sq3LiteC)
18#define OT_CLASS_NAME "Sq3LiteC"
20#define OT_LNG2META(O) Sq3Lite(VAL2MNG(O))
42 RUBY_TYPED_FREE_IMMEDIATELY
69 RDATA(self)->data = NULL;
72#define S_INIT NS(sInit)(MK_RT_CALL_ONLY)
90#define OT_SETUP_hdl OT_SETUP_hdl_tmpl(Sq3LiteC);
91#define OT_SETUP_hdl__null_allow OT_SETUP_hdl_tmpl__null_allow(Sq3LiteC);
92#define OT_SETUP_hdl_constr AllRtSetup_NULL; \
93 OT_OBJ_T clazz = self; \
94 Sq3LiteC_type hdl = (Sq3LiteC_type) &MkERROR;
95#define OT_SETUP_hdl_destr OT_SETUP_hdl_tmpl__null_allow(Sq3LiteC);
96#define OT_SETUP_hdl_static AllRtSetup_NULL; \
97 __attribute__((unused)) MK_TYP hdl = Sq3LiteC##_TT;
98#define OT_SETUP_hdl_static_constr OT_SETUP_hdl_static
100#if !defined(SetupRtFromObj_X)
101 #define SetupRtFromObj_X(hdl) AllRtSetup_X(hdl)
102 #define SetupRtFromObj_XN(hdl) AllRtSetup_XN(hdl)
110#define OpenV2_doc "Sq3LiteC Sq3LiteC.OpenV2(filename:string, ?flags:Sq3OpenEF=SQ3_OPEN_READWRITE|SQ3_OPEN_CREATE?, ?zVfs:string=\"nil\"?)"
111#define new_doc "Sq3LiteC Sq3LiteC.new(filename:string, ?flags:Sq3OpenEF=SQ3_OPEN_READWRITE|SQ3_OPEN_CREATE?, ?zVfs:string=\"nil\"?)"
114#define GetNull_doc "Sq3LiteC Sq3LiteC.GetNull()"
115#define HandleResolve_doc "Sq3LiteC Sq3LiteC.HandleResolve(netHdl:MK_HDL)"
116#define Instances_doc "Sq3LiteC Sq3LiteC.Instances()"
119#define ErrStr_doc "string Sq3LiteC.ErrStr(arg0:int32)"
120#define Sleep_doc "Sq3LiteC.Sleep(arg0:int32)"
123#define Next_doc "Sq3LiteC lite.Next()"
124#define Prev_doc "Sq3LiteC lite.Prev()"
127#define DbStatusBFL_doc "MkBufferListC sq3lite.DbStatusBFL(op:Sq3DbStatusE, resetFlg:bool)"
128#define PrepareV2_doc "Sq3StmtC db.PrepareV2(zSql:string)"
131#define BusyTimeout_doc "sq3lite.BusyTimeout(ms:int32)"
132#define Changes_doc "int32 sq3lite.Changes()"
133#define Changes64_doc "int64 sq3lite.Changes64()"
134#define CloseV2_doc "sq3lite.CloseV2()"
135#define DbCacheflush_doc "sq3lite.DbCacheflush()"
136#define DbFilename_doc "string db.DbFilename(zDbName:string)"
137#define DbName_doc "string db.DbName(N:int32)"
138#define DbReadonly_doc "db.DbReadonly(zDbName:string)"
139#define DbReleaseMemory_doc "sq3lite.DbReleaseMemory()"
140#define DeclareVtab_doc "sq3lite.DeclareVtab(zSQL:string)"
141#define Deserialize_doc "sq3lite.Deserialize(zSchema:string, pData:binary, mFlags:Sq3DeSerializeEF)"
142#define DropModules_doc "sq3lite.DropModules(azKeepBfl:MkBufferListC)"
143#define ErrCode_doc "Sq3ErrorE db.ErrCode()"
144#define ErrMsg_doc "string sq3lite.ErrMsg()"
145#define ErrorOffset_doc "db.ErrorOffset()"
146#define Exec_doc "sq3lite.Exec(sql:string, ?callback_data:callable=nil?)"
147#define ExecV2_doc "sq3lite.ExecV2(sql:string, ?callback:callable=nil?)"
148#define ExtendedResultCodes_doc "sq3lite.ExtendedResultCodes(onoff:int32)"
149#define ExtendetErrCode_doc "Sq3ExtendetResultCodesE db.ExtendetErrCode()"
150#define GetAutocommit_doc "int32 sq3lite.GetAutocommit()"
152#define Interrupt_doc "sq3lite.Interrupt()"
153#define IsInterrupted_doc "bool sq3lite.IsInterrupted()"
154#define LastInsertRowid_doc "int64 sq3lite.LastInsertRowid()"
155#define Limit_doc "sq3lite.Limit(id:Sq3LimitE, newVal:int32)"
157#define OverloadFunction_doc "sq3lite.OverloadFunction(zFuncName:string, nArg:int32)"
158#define Serialize_doc "binary sq3lite.Serialize(zSchema:string, mFlags:Sq3SerializeE)"
159#define SetLastInsertRowid_doc "sq3lite.SetLastInsertRowid(arg1:int64)"
160#define SystemErrno_doc "sq3lite.SystemErrno()"
161#define TotalChanges_doc "int32 sq3lite.TotalChanges()"
162#define TotalChanges64_doc "int64 sq3lite.TotalChanges64()"
163#define TxnState_doc "sq3lite.TxnState(zSchema:string)"
164#define VtabOnConflict_doc "sq3lite.VtabOnConflict()"
165#define WalAutocheckpoint_doc "db.WalAutocheckpoint(N:int32)"
168#define DbStatus_doc "{pCur:int32 pHiwtr:int32} sq3lite.DbStatus(op:Sq3DbStatusE, resetFlg:bool)"
169#define TableColumnMetadata_doc "{pzDataType:string pzCollSeq:string pNotNull:int32 pPrimaryKey:int32 pAutoinc:int32} db.TableColumnMetadata(zDbName:string, zTableName:string, zColumnName:string)"
170#define WalCheckpointV2_doc "{pnLog:int32 pnCkpt:int32} db.WalCheckpointV2(zDb:string, eMode:int32)"
951 OT_METH_S ( Sq3LiteC, OpenV2, Sq3LiteC_OpenV2 )
952 OT_METH_C ( Sq3LiteC,
new, Sq3LiteC_new )
955 OT_METH_O ( Sq3LiteC, GetNull, Sq3LiteC_GetNull )
956 OT_METH_S ( Sq3LiteC, GetNull, Sq3LiteC_GetNull )
957 OT_METH_O ( Sq3LiteC, HandleResolve, Sq3LiteC_HandleResolve )
958 OT_METH_S ( Sq3LiteC, HandleResolve, Sq3LiteC_HandleResolve )
959 OT_METH_O ( Sq3LiteC, Instances, Sq3LiteC_Instances )
960 OT_METH_S ( Sq3LiteC, Instances, Sq3LiteC_Instances )
963 OT_METH_O ( Sq3LiteC, ErrStr, Sq3LiteC_ErrStr )
964 OT_METH_S ( Sq3LiteC, ErrStr, Sq3LiteC_ErrStr )
965 OT_METH_O ( Sq3LiteC, Sleep, Sq3LiteC_Sleep )
966 OT_METH_S ( Sq3LiteC, Sleep, Sq3LiteC_Sleep )
973 OT_METH_O ( Sq3LiteC, Next, Sq3LiteC_Next )
974 OT_METH_O ( Sq3LiteC, Prev, Sq3LiteC_Prev )
977 OT_METH_O ( Sq3LiteC, DbStatusBFL, Sq3LiteC_DbStatusBFL )
978 OT_METH_O ( Sq3LiteC, PrepareV2, Sq3LiteC_PrepareV2 )
981 OT_METH_O ( Sq3LiteC, BusyTimeout, Sq3LiteC_BusyTimeout )
982 OT_METH_O ( Sq3LiteC, Changes, Sq3LiteC_Changes )
983 OT_METH_O ( Sq3LiteC, Changes64, Sq3LiteC_Changes64 )
984 OT_METH_O ( Sq3LiteC, CloseV2, Sq3LiteC_CloseV2 )
985 OT_METH_O ( Sq3LiteC, DbCacheflush, Sq3LiteC_DbCacheflush )
986 OT_METH_O ( Sq3LiteC, DbFilename, Sq3LiteC_DbFilename )
987 OT_METH_O ( Sq3LiteC, DbName, Sq3LiteC_DbName )
988 OT_METH_O ( Sq3LiteC, DbReadonly, Sq3LiteC_DbReadonly )
989 OT_METH_O ( Sq3LiteC, DbReleaseMemory, Sq3LiteC_DbReleaseMemory )
990 OT_METH_O ( Sq3LiteC, DeclareVtab, Sq3LiteC_DeclareVtab )
991 OT_METH_O ( Sq3LiteC, Deserialize, Sq3LiteC_Deserialize )
992 OT_METH_O ( Sq3LiteC, DropModules, Sq3LiteC_DropModules )
993 OT_METH_O ( Sq3LiteC, ErrCode, Sq3LiteC_ErrCode )
994 OT_METH_O ( Sq3LiteC, ErrMsg, Sq3LiteC_ErrMsg )
995 OT_METH_O ( Sq3LiteC, ErrorOffset, Sq3LiteC_ErrorOffset )
996 OT_METH_O ( Sq3LiteC, Exec, Sq3LiteC_Exec )
997 OT_METH_O ( Sq3LiteC, ExecV2, Sq3LiteC_ExecV2 )
998 OT_METH_O ( Sq3LiteC, ExtendedResultCodes, Sq3LiteC_ExtendedResultCodes )
999 OT_METH_O ( Sq3LiteC, ExtendetErrCode, Sq3LiteC_ExtendetErrCode )
1000 OT_METH_O ( Sq3LiteC, GetAutocommit, Sq3LiteC_GetAutocommit )
1002 OT_METH_O ( Sq3LiteC, Interrupt, Sq3LiteC_Interrupt )
1003 OT_METH_O ( Sq3LiteC, IsInterrupted, Sq3LiteC_IsInterrupted )
1004 OT_METH_O ( Sq3LiteC, LastInsertRowid, Sq3LiteC_LastInsertRowid )
1005 OT_METH_O ( Sq3LiteC, Limit, Sq3LiteC_Limit )
1007 OT_METH_O ( Sq3LiteC, OverloadFunction, Sq3LiteC_OverloadFunction )
1008 OT_METH_O ( Sq3LiteC, Serialize, Sq3LiteC_Serialize )
1009 OT_METH_O ( Sq3LiteC, SetLastInsertRowid, Sq3LiteC_SetLastInsertRowid )
1010 OT_METH_O ( Sq3LiteC, SystemErrno, Sq3LiteC_SystemErrno )
1011 OT_METH_O ( Sq3LiteC, TotalChanges, Sq3LiteC_TotalChanges )
1012 OT_METH_O ( Sq3LiteC, TotalChanges64, Sq3LiteC_TotalChanges64 )
1013 OT_METH_O ( Sq3LiteC, TxnState, Sq3LiteC_TxnState )
1014 OT_METH_O ( Sq3LiteC, VtabOnConflict, Sq3LiteC_VtabOnConflict )
1015 OT_METH_O ( Sq3LiteC, WalAutocheckpoint, Sq3LiteC_WalAutocheckpoint )
1018 OT_METH_O ( Sq3LiteC, DbStatus, Sq3LiteC_DbStatus )
1019 OT_METH_O ( Sq3LiteC, TableColumnMetadata, Sq3LiteC_TableColumnMetadata )
1020 OT_METH_O ( Sq3LiteC, WalCheckpointV2, Sq3LiteC_WalCheckpointV2 )
#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_CONSTRUCTOR_POST(x)
#define OT_METH_S(c, s, f)
#define OT_retObj_SET_I64(nat)
#define OT_retObj_SET_List
#define OT_retObj_CONSTR(mng)
#define OT_CHECK_REQUIRED(val)
#define OT_retObj_SET_None
#define OT_retObj_SET_I32(nat)
#define OT_METH_O(c, s, f)
#define OT_SETUP_CONSTRUCTOR_ARGS(min, max, d)
#define OT_retObj_SET_BFL(nat)
#define OT_TMP_I32_OBJ(val)
#define OT_GET__ME_REF_MkBinaryR(b)
#define OT_retObj_APPEND(var)
#define OT_CHECK__ME_REF_MkStringR(val)
#define OT_CHECK__ME_REF_MkBinaryR(val)
#define OT_OBJECT_DELETE_HARD(obj)
#define OT_retObj_SET_STR(nat)
#define OT_CHECK_OPTIONAL(val)
#define OT_TMP_STR_OBJ(val)
#define OT_retObj_SET(val)
#define MkErrorC_Check(mng, PROC)
#define OT_METH_C(c, s, f)
#define OT_CHECK_STRN(val)
LibSq3Lite_private_rb.h - 17 Apr 2025 - aotto1968.
#define OT_retObj_SET_LITE(nat)
#define OT_retObj_SET_STMT(nat)
#define OT_NEW_Sq3_enum_OBJ(typ, i)
#define OT_SETUP_hdl_static_constr
#define ExtendedResultCodes_doc
#define DbReleaseMemory_doc
#define WalAutocheckpoint_doc
#define ExtendetErrCode_doc
#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(...)
__thread MK_TYP Sq3LiteC_TT
class as MkTypeDefS-class-type …
#define Sq3LiteC_T
class as MkTypeDefS-class-type (cast from Sq3LiteC_TT into MkTypeS) …
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 …