theSq3Lite 10.0 NHI1 - theKernel - theLink - theConfig - theSq3Lite - theCompiler - theBrain - theGuard - theLib - theATL
c - tcl - atl - cs - py - rb - jv - cc
Loading...
Searching...
No Matches
Sq3LiteC_rb.c
Go to the documentation of this file.
1
12/* LABEL-START */
13#define META_FILE_NAME "Sq3LiteC_rb.c"
14
16
17#define OT_CLASS NS(Sq3LiteC)
18#define OT_CLASS_NAME "Sq3LiteC"
19
20#define OT_LNG2META(O) Sq3Lite(VAL2MNG(O))
21
23
24// new Class type object
25static MK_TYP Sq3LiteCTT = NULL;
27
28// GS marker in "Data_Wrap_Struct"
29static void NS(sMark) (MK_PTR);
30
31// ruby datatype of the wrapped struct
32static rb_data_type_t NS(Sq3LiteC_T) = {
33 "Sq3LiteC",
34 {
35 NS(sMark),
36 MK(AtomDeleteSoft),
37 0, /* dsize */
38 0, /* reserved[1] */
39 },
40 NULL, /* parent */
41 NULL, /* data */
42 RUBY_TYPED_FREE_IMMEDIATELY
43};
44
45// >>THIS<< is a Phase-1-CONSTRUCTOR: a constructor which create the SELF object
46// A Phase-2-CONSTRUCTOR is a constructor which configure an already existing object
47// DO: create a new SELF and link this SELF with the MQ-Object "mng"
48// clazz is the toplevel "subclass" or "Sq3LiteC"
49mk_inline OT_OBJ_T NS(LNG_CONSTR) (OT_CLS_T clazz, MK_MNG mng, int objc, VALUE* objv) {
50 return MK(AtomObjCrt)(clazz,&NS(Sq3LiteC_T),mng,objc,objv);
51}
52// MQ: ObjNew feature: called to return a new or an already existing RUBY-SELF-Object
53// -> moved to: msgque_rb.h
54// OT_OBJ_T NS(Sq3LiteC_ObjNew) (MK_LITE hdl) {
55// return MK(AtomObjNew) (Sq3LiteC_X2obj(hdl));
56// }
57// MQ: ObjNew feature: selfCreate will be called from "ObjNew->MkSelfNew" if MkObj need a SELF pointer
58static MK_PTR NS(Sq3LiteC_selfCreate) (MK_RT_ARGS MK_OBJ obj, MK_PTR envP) {
59 OT_OBJ_T self = NS(LNG_CONSTR) (OT_CLASS, obj, 0, NULL);
60 return VAL2PTR(self);
61}
62// MQ: called on instance-destruction for a "selfCreate" instance → goal: destroy the SELF
63static void NS(Sq3LiteC_selfDelete) (MK_RT_ARGS MK_PTR ptr, MK_PTR envP) {
65}
66// MQ: called to destroy link from SELF to META
67static void NS(Sq3LiteC_selfUnlink) (MK_RT_ARGS MK_PTR ptr, MK_PTR envP) {
68 OT_OBJ_T self = PTR2VAL(ptr);
69 RDATA(self)->data = NULL;
70}
71// initialize the RUBY and MO class specific object
72#define S_INIT NS(sInit)(MK_RT_CALL_ONLY)
73static void NS(sInit)(MK_RT_ARGS_ONLY) {
74
75 // add "selfCreate" and "selfDelete" feature to the MQ-Sq3LiteC-Type
76 Sq3LiteCTT->selfCreate = NS(Sq3LiteC_selfCreate);
77 Sq3LiteCTT->selfDelete = NS(Sq3LiteC_selfDelete);
78 Sq3LiteCTT->selfUnlink = NS(Sq3LiteC_selfUnlink);
79
80 // create the RUBY class
81 OT_CLASS = rb_define_class_under(OT_PKG, "Sq3LiteC", MK_BASE_CLASS);
82 rb_undef_alloc_func(OT_CLASS);
83
84 /* define the "NULL" object */
85 VALUE nullO = TypedData_Wrap_Struct (OT_CLASS, &NS(Sq3LiteC_T), MK_NULL);
86 NS(Sq3LiteC_MK_NULL) = nullO;
88}
89
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
99
100#if !defined(SetupRtFromObj_X)
101 #define SetupRtFromObj_X(hdl) AllRtSetup_X(hdl)
102 #define SetupRtFromObj_XN(hdl) AllRtSetup_XN(hdl)
103#endif
104
105/* LABEL-END */
106
107// BEGIN-DOC - created by 'rb_MqS.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
108
109// doc-key: Sq3LiteC,Sq3Lite,sCo,func
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\"?)"
112
113// doc-key: Sq3LiteC,Sq3Lite,sc_,func
114#define GetNull_doc "Sq3LiteC Sq3LiteC.GetNull()"
115#define HandleResolve_doc "Sq3LiteC Sq3LiteC.HandleResolve(netHdl:MK_HDL)"
116#define Instances_doc "Sq3LiteC Sq3LiteC.Instances()"
117
118// doc-key: Sq3LiteC,Sq3Lite,sm_,func
119#define ErrStr_doc "string Sq3LiteC.ErrStr(arg0:int32)"
120#define Sleep_doc "Sq3LiteC.Sleep(arg0:int32)"
121
122// doc-key: Sq3LiteC,Sq3Lite,oc_,func
123#define Next_doc "Sq3LiteC lite.Next()"
124#define Prev_doc "Sq3LiteC lite.Prev()"
125
126// doc-key: Sq3LiteC,Sq3Lite,oco,func
127#define DbStatusBFL_doc "MkBufferListC sq3lite.DbStatusBFL(op:Sq3DbStatusE, resetFlg:bool)"
128#define PrepareV2_doc "Sq3StmtC db.PrepareV2(zSql:string)"
129
130// doc-key: Sq3LiteC,Sq3Lite,om_,func
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()"
151// skip class-overload: HandleGet → MkObjectHandleGet
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)"
156// skip class-overload: Log → MkObjectLog
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)"
166
167// doc-key: Sq3LiteC,Sq3Lite,omo,func
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)"
171
172// END-DOC - created by 'rb_MqS.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
173
174/*****************************************************************************/
175/* */
176/* O B J E C T */
177/* */
178/*****************************************************************************/
179
180// BEGIN-Sq3LiteC - created by 'rb_MqC.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
181
185
186// doc-key: Sq3LiteC,Sq3LiteC-Class-Export,sc_
187
189static OT_ProcRet NS(Sq3LiteC_HandleResolve) (OtClass_ARGS) {
192 MK_HDL netHdl = 0;
195 SQ3_LITE retVal = Sq3LiteHandleResolve (netHdl);
196 OT_retObj_SET_LITE(retVal);
197 end: MK_UNUSED /* LONG JUMP on error */
199}
200
201// doc-key: Sq3LiteC,Sq3LiteC-Class-Export,om_
202
203// skip on class-overload: Sq3LiteHandleGet → MkObjectHandleGet
205static OT_ProcRet NS(Sq3LiteC_HandleGet) (Sq3LiteC_ARGS) {OT_ERROR_LNG_RETURN;}
206
208// Sq3LiteC_Class_RB_API
209
213
214// doc-key: Sq3LiteC,Sq3LiteC-Class-Introspection,oc_
215
217static OT_ProcRet NS(Sq3LiteC_Next) (Sq3LiteC_ARGS) {
221 SQ3_LITE retVal = Sq3LiteNext (hdl);
222 OT_retObj_SET_LITE(retVal);
223 end: MK_UNUSED /* LONG JUMP on error */
225}
226
228static OT_ProcRet NS(Sq3LiteC_Prev) (Sq3LiteC_ARGS) {
232 SQ3_LITE retVal = Sq3LitePrev (hdl);
233 OT_retObj_SET_LITE(retVal);
234 end: MK_UNUSED /* LONG JUMP on error */
236}
237
238// doc-key: Sq3LiteC,Sq3LiteC-Class-Introspection,sc_
239
241static OT_ProcRet NS(Sq3LiteC_Instances) (OtClass_ARGS) {
245 SQ3_LITE retVal = Sq3LiteInstances ();
246 OT_retObj_SET_LITE(retVal);
247 end: MK_UNUSED /* LONG JUMP on error */
249}
250
252// Sq3LiteC_Class_RB_API
253
257
258// doc-key: Sq3LiteC,Sq3LiteC-Class-Misc,sc_
259
261static OT_ProcRet NS(Sq3LiteC_GetNull) (OtClass_ARGS) {
265 SQ3_LITE retVal = Sq3LiteGetNull ();
266 OT_retObj_SET_LITE(retVal);
267 end: MK_UNUSED /* LONG JUMP on error */
269}
270
272// Sq3LiteC_Class_RB_API
273
277
278// doc-key: Sq3LiteC,Sq3LiteC-Config,om_
279
281static OT_ProcRet NS(Sq3LiteC_BusyTimeout) (Sq3LiteC_ARGS) {
284 MK_I32 ms = 0;
287 MkErrorC_Check(hdl,Sq3LiteBusyTimeout (hdl, ms));
289 end: MK_UNUSED /* LONG JUMP on error */
291}
292
294static OT_ProcRet NS(Sq3LiteC_DeclareVtab) (Sq3LiteC_ARGS) {
297 MK_STRN zSQL = 0;
300 MkErrorC_Check(hdl,Sq3LiteDeclareVtab (hdl, zSQL));
302 end: MK_UNUSED /* LONG JUMP on error */
304}
305
307static OT_ProcRet NS(Sq3LiteC_ExtendedResultCodes) (Sq3LiteC_ARGS) {
310 MK_I32 onoff = 0;
315 end: MK_UNUSED /* LONG JUMP on error */
317}
318
320static OT_ProcRet NS(Sq3LiteC_Limit) (Sq3LiteC_ARGS) {
323 enum Sq3LimitE id = 0;
325 MK_I32 newVal = 0;
328 MkErrorC_Check(hdl,Sq3LiteLimit (hdl, id, newVal));
330 end: MK_UNUSED /* LONG JUMP on error */
332}
333
335// Sq3LiteC_Config_RB_API
336
340
341// doc-key: Sq3LiteC,Sq3LiteC-Error,om_
342
344static OT_ProcRet NS(Sq3LiteC_ErrCode) (Sq3LiteC_ARGS) {
349 end: MK_UNUSED /* LONG JUMP on error */
351}
352
354static OT_ProcRet NS(Sq3LiteC_ErrMsg) (Sq3LiteC_ARGS) {
359 end: MK_UNUSED /* LONG JUMP on error */
361}
362
364static OT_ProcRet NS(Sq3LiteC_ErrorOffset) (Sq3LiteC_ARGS) {
370 end: MK_UNUSED /* LONG JUMP on error */
372}
373
375static OT_ProcRet NS(Sq3LiteC_ExtendetErrCode) (Sq3LiteC_ARGS) {
379 OT_retObj_SET(OT_NEW_Sq3_enum_OBJ(ExtendetResultCodesE,Sq3LiteExtendetErrCode (hdl)));
380 end: MK_UNUSED /* LONG JUMP on error */
382}
383
385static OT_ProcRet NS(Sq3LiteC_SystemErrno) (Sq3LiteC_ARGS) {
391 end: MK_UNUSED /* LONG JUMP on error */
393}
394
395// doc-key: Sq3LiteC,Sq3LiteC-Error,sm_
396
398static OT_ProcRet NS(Sq3LiteC_ErrStr) (OtClass_ARGS) {
401 MK_I32 arg0 = 0;
405 end: MK_UNUSED /* LONG JUMP on error */
407}
408
410// Sq3LiteC_Error_RB_API
411
415
416// doc-key: Sq3LiteC,Sq3LiteC-Execution,om_
417
419static OT_ProcRet NS(Sq3LiteC_Exec) (Sq3LiteC_ARGS) {
422 MK_STRN sql = 0;
424 OT_SETUP_CALLABLE_ONCE(callback_data)
427 Sq3Fupu_Sq3LiteExec_callback_call callback_call = (callback_data == NULL ? NULL : NS(LiteExecCall));
428 MkErrorC_Check(hdl,Sq3LiteExec (hdl, sql, callback_call, callback_data));
430 end: MK_UNUSED /* LONG JUMP on error */
431 OT_CLEANUP_CALLABLE_ONCE(callback_data)
433}
434
436static OT_ProcRet NS(Sq3LiteC_ExecV2) (Sq3LiteC_ARGS) {
439 MK_STRN sql = 0;
441 OT_SETUP_CALLABLE_ONCE(callback)
444 Sq3LiteExecV2CB callback_call = (callback == NULL ? NULL : NS(LiteExecV2Call));
445 MkErrorC_Check(hdl,Sq3LiteExecV2 (hdl, sql, callback_call, callback));
447 end: MK_UNUSED /* LONG JUMP on error */
450}
451
452// doc-key: Sq3LiteC,Sq3LiteC-Execution,sm_
453
455static OT_ProcRet NS(Sq3LiteC_Sleep) (OtClass_ARGS) {
458 MK_I32 arg0 = 0;
463 end: MK_UNUSED /* LONG JUMP on error */
465}
466
468// Sq3LiteC_Execution_RB_API
469
473
474// doc-key: Sq3LiteC,Sq3LiteC-Info,om_
475
477static OT_ProcRet NS(Sq3LiteC_GetAutocommit) (Sq3LiteC_ARGS) {
482 end: MK_UNUSED /* LONG JUMP on error */
484}
485
487static OT_ProcRet NS(Sq3LiteC_LastInsertRowid) (Sq3LiteC_ARGS) {
492 end: MK_UNUSED /* LONG JUMP on error */
494}
495
497static OT_ProcRet NS(Sq3LiteC_TxnState) (Sq3LiteC_ARGS) {
500 MK_STRN zSchema = 0;
503 MkErrorC_Check(hdl,Sq3LiteTxnState (hdl, zSchema));
505 end: MK_UNUSED /* LONG JUMP on error */
507}
508
510static OT_ProcRet NS(Sq3LiteC_VtabOnConflict) (Sq3LiteC_ARGS) {
516 end: MK_UNUSED /* LONG JUMP on error */
518}
519
521// Sq3LiteC_Info_RB_API
522
526
527// doc-key: Sq3LiteC,Sq3LiteC-Misc,oco
528
530static OT_ProcRet NS(Sq3LiteC_DbStatusBFL) (Sq3LiteC_ARGS) {
533 enum Sq3DbStatusE op = 0;
535 MK_BOOL resetFlg = 0;
538 MK_BFL val_out;
539 MkErrorC_Check(hdl,Sq3LiteDbStatusBFL (hdl, op, &val_out, resetFlg));
540 OT_retObj_SET_BFL(val_out);
541 end: MK_UNUSED /* LONG JUMP on error */
543}
544
545// doc-key: Sq3LiteC,Sq3LiteC-Misc,om_
546
548static OT_ProcRet NS(Sq3LiteC_DbCacheflush) (Sq3LiteC_ARGS) {
554 end: MK_UNUSED /* LONG JUMP on error */
556}
557
559static OT_ProcRet NS(Sq3LiteC_DbFilename) (Sq3LiteC_ARGS) {
562 MK_STRN zDbName = 0;
565 OT_retObj_SET_STR(Sq3LiteDbFilename (hdl, zDbName));
566 end: MK_UNUSED /* LONG JUMP on error */
568}
569
571static OT_ProcRet NS(Sq3LiteC_DbName) (Sq3LiteC_ARGS) {
574 MK_I32 N = 0;
578 end: MK_UNUSED /* LONG JUMP on error */
580}
581
583static OT_ProcRet NS(Sq3LiteC_DbReadonly) (Sq3LiteC_ARGS) {
586 MK_STRN zDbName = 0;
589 MkErrorC_Check(hdl,Sq3LiteDbReadonly (hdl, zDbName));
591 end: MK_UNUSED /* LONG JUMP on error */
593}
594
596static OT_ProcRet NS(Sq3LiteC_DbReleaseMemory) (Sq3LiteC_ARGS) {
602 end: MK_UNUSED /* LONG JUMP on error */
604}
605
607static OT_ProcRet NS(Sq3LiteC_Deserialize) (Sq3LiteC_ARGS) {
610 MK_STRN zSchema = 0;
612 MkBinaryR pData = {0};
614 enum Sq3DeSerializeEF mFlags = 0;
617 MkErrorC_Check(hdl,Sq3LiteDeserialize (hdl, zSchema, pData, mFlags));
619 end: MK_UNUSED /* LONG JUMP on error */
621}
622
624static OT_ProcRet NS(Sq3LiteC_DropModules) (Sq3LiteC_ARGS) {
627 MkBufferListCreateTLS_T(azKeepBfl,10);
630 MkErrorC_Check(hdl,Sq3LiteDropModules (hdl, azKeepBfl));
632 end: MK_UNUSED /* LONG JUMP on error */
634}
635
636// skip on class-overload: Sq3LiteLog → MkObjectLog
639
641static OT_ProcRet NS(Sq3LiteC_OverloadFunction) (Sq3LiteC_ARGS) {
644 MK_STRN zFuncName = 0;
646 MK_I32 nArg = 0;
649 MkErrorC_Check(hdl,Sq3LiteOverloadFunction (hdl, zFuncName, nArg));
651 end: MK_UNUSED /* LONG JUMP on error */
653}
654
656static OT_ProcRet NS(Sq3LiteC_Serialize) (Sq3LiteC_ARGS) {
659 MK_STRN zSchema = 0;
661 enum Sq3SerializeE mFlags = 0;
664 MkBinaryR retVal = Sq3LiteSerialize (hdl, zSchema, mFlags);
666 end: MK_UNUSED /* LONG JUMP on error */
668}
669
670// doc-key: Sq3LiteC,Sq3LiteC-Misc,omo
671
673static OT_ProcRet NS(Sq3LiteC_DbStatus) (Sq3LiteC_ARGS) {
676 enum Sq3DbStatusE op = 0;
678 MK_BOOL resetFlg = 0;
681 MK_I32 pCur;
682 MK_I32 pHiwtr;
683 MkErrorC_Check(hdl,Sq3LiteDbStatus (hdl, op, &pCur, &pHiwtr, resetFlg));
687 end: MK_UNUSED /* LONG JUMP on error */
689}
690
692static OT_ProcRet NS(Sq3LiteC_TableColumnMetadata) (Sq3LiteC_ARGS) {
695 MK_STRN zDbName = 0;
697 MK_STRN zTableName = 0;
698 OT_CHECK_REQUIRED(OT_CHECK_STRN (zTableName))
699 MK_STRN zColumnName = 0;
700 OT_CHECK_REQUIRED(OT_CHECK_STRN (zColumnName))
702 MK_STRN pzDataType;
703 MK_STRN pzCollSeq;
704 MK_I32 pNotNull;
705 MK_I32 pPrimaryKey;
706 MK_I32 pAutoinc;
707 MkErrorC_Check(hdl,Sq3LiteTableColumnMetadata (hdl, zDbName, zTableName, zColumnName, &pzDataType, &pzCollSeq, &pNotNull, &pPrimaryKey, &pAutoinc));
709 OT_retObj_APPEND(OT_TMP_STR_OBJ(pzDataType));
712 OT_retObj_APPEND(OT_TMP_I32_OBJ(pPrimaryKey));
714 end: MK_UNUSED /* LONG JUMP on error */
716}
717
719// Sq3LiteC_Misc_RB_API
720
724
725// doc-key: Sq3LiteC,Sq3LiteC-Modify-Wal,om_
726
728static OT_ProcRet NS(Sq3LiteC_WalAutocheckpoint) (Sq3LiteC_ARGS) {
731 MK_I32 N = 0;
736 end: MK_UNUSED /* LONG JUMP on error */
738}
739
740// doc-key: Sq3LiteC,Sq3LiteC-Modify-Wal,omo
741
743static OT_ProcRet NS(Sq3LiteC_WalCheckpointV2) (Sq3LiteC_ARGS) {
746 MK_STRN zDb = 0;
748 MK_I32 eMode = 0;
751 MK_I32 pnLog;
752 MK_I32 pnCkpt;
753 MkErrorC_Check(hdl,Sq3LiteWalCheckpointV2 (hdl, zDb, eMode, &pnLog, &pnCkpt));
757 end: MK_UNUSED /* LONG JUMP on error */
759}
760
762// Sq3LiteC_Modify_Wal_RB_API
763
767
768// doc-key: Sq3LiteC,Sq3LiteC-Query,om_
769
771static OT_ProcRet NS(Sq3LiteC_Interrupt) (Sq3LiteC_ARGS) {
775 Sq3LiteInterrupt (hdl);
777 end: MK_UNUSED /* LONG JUMP on error */
779}
780
782static OT_ProcRet NS(Sq3LiteC_IsInterrupted) (Sq3LiteC_ARGS) {
787 end: MK_UNUSED /* LONG JUMP on error */
789}
790
792// Sq3LiteC_Query_RB_API
793
797
798// doc-key: Sq3LiteC,Sq3LiteC-Row,om_
799
801static OT_ProcRet NS(Sq3LiteC_Changes) (Sq3LiteC_ARGS) {
806 end: MK_UNUSED /* LONG JUMP on error */
808}
809
811static OT_ProcRet NS(Sq3LiteC_Changes64) (Sq3LiteC_ARGS) {
816 end: MK_UNUSED /* LONG JUMP on error */
818}
819
821static OT_ProcRet NS(Sq3LiteC_SetLastInsertRowid) (Sq3LiteC_ARGS) {
824 MK_I64 arg1 = 0;
827 Sq3LiteSetLastInsertRowid (hdl, arg1);
829 end: MK_UNUSED /* LONG JUMP on error */
831}
832
834static OT_ProcRet NS(Sq3LiteC_TotalChanges) (Sq3LiteC_ARGS) {
839 end: MK_UNUSED /* LONG JUMP on error */
841}
842
844static OT_ProcRet NS(Sq3LiteC_TotalChanges64) (Sq3LiteC_ARGS) {
849 end: MK_UNUSED /* LONG JUMP on error */
851}
852
854// Sq3LiteC_Row_RB_API
855
859
860// doc-key: Sq3LiteC,Sq3LiteC-TOR,sCo
861
863static OT_ProcRet NS(Sq3LiteC_OpenV2) (OtClass_ARGS) {
866 MK_STRN filename = 0;
870 MK_STRN zVfs = NULL;
873 SQ3_LITE ppDb;
874 MkErrorC_Check(MK_ERROR_FORMAT,Sq3LiteOpenV2 (filename, &ppDb, flags, zVfs));
876 OT_retObj_SET_LITE(ppDb);
877 end: MK_UNUSED /* LONG JUMP on error */
879}
880
882static OT_ProcRet NS(Sq3LiteC_new) (CONSTR_ARGS) {
885 MK_STRN filename = 0;
889 MK_STRN zVfs = NULL;
891 SQ3_LITE ppDb;
892 MkErrorC_Check(MK_ERROR_FORMAT,Sq3LiteOpenV2 (filename, &ppDb, flags, zVfs));
894 OT_retObj_CONSTR(ppDb);
895 end: MK_UNUSED /* LONG JUMP on error */
897}
898
899// doc-key: Sq3LiteC,Sq3LiteC-TOR,oco
900
902static OT_ProcRet NS(Sq3LiteC_PrepareV2) (Sq3LiteC_ARGS) {
905 MkStringR zSql = {0};
908 SQ3_STMT ppStmt;
909 MkErrorC_Check(hdl,Sq3LitePrepareV2 (hdl, zSql, &ppStmt));
910 OT_retObj_SET_STMT(ppStmt);
911 end: MK_UNUSED /* LONG JUMP on error */
913}
914
915// doc-key: Sq3LiteC,Sq3LiteC-TOR,om_
916
918static OT_ProcRet NS(Sq3LiteC_CloseV2) (Sq3LiteC_ARGS) {
924 end: MK_UNUSED /* LONG JUMP on error */
926}
927
929// Sq3LiteC_TOR_RB_API
930
931// END-Sq3LiteC - created by 'rb_MqC.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
932
933/*****************************************************************************/
934/* */
935/* public */
936/* */
937/*****************************************************************************/
938
939void NS(sMark) (MK_PTR ptr) {
940}
941
942void NS(Sq3LiteC_Init) (MK_RT_ARGS_ONLY) {
943
944 // init type
946 S_INIT;
947
948 // BEGIN-CLASS - created by 'rb_MqS.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
949
950 // doc-key: Sq3LiteC,Sq3Lite,sCo
951 OT_METH_S ( Sq3LiteC, OpenV2, Sq3LiteC_OpenV2 )
952 OT_METH_C ( Sq3LiteC, new, Sq3LiteC_new )
953
954 // doc-key: Sq3LiteC,Sq3Lite,sc_
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 )
961
962 // doc-key: Sq3LiteC,Sq3Lite,sm_
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 )
967
968 // END-CLASS - created by 'rb_MqS.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
969
970 // BEGIN-OBJ - created by 'rb_MqS.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
971
972 // doc-key: Sq3LiteC,Sq3Lite,oc_
973 OT_METH_O ( Sq3LiteC, Next, Sq3LiteC_Next )
974 OT_METH_O ( Sq3LiteC, Prev, Sq3LiteC_Prev )
975
976 // doc-key: Sq3LiteC,Sq3Lite,oco
977 OT_METH_O ( Sq3LiteC, DbStatusBFL, Sq3LiteC_DbStatusBFL )
978 OT_METH_O ( Sq3LiteC, PrepareV2, Sq3LiteC_PrepareV2 )
979
980 // doc-key: Sq3LiteC,Sq3Lite,om_
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 )
1001 // skip class-overload: Sq3LiteHandleGet → HandleGet, Sq3LiteC_HandleGet
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 )
1006 // skip class-overload: Sq3LiteLog → Log, Sq3LiteC_Log
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 )
1016
1017 // doc-key: Sq3LiteC,Sq3Lite,omo
1018 OT_METH_O ( Sq3LiteC, DbStatus, Sq3LiteC_DbStatus )
1019 OT_METH_O ( Sq3LiteC, TableColumnMetadata, Sq3LiteC_TableColumnMetadata )
1020 OT_METH_O ( Sq3LiteC, WalCheckpointV2, Sq3LiteC_WalCheckpointV2 )
1021
1022 // END-OBJ - created by 'rb_MqS.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
1023
1024}
#define OT_CHECK_bool(val)
#define MK(n)
#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 PTR2VAL(nat)
#define OT_CHECK_NI4(val)
#define OT_CHECK_NI8(val)
#define OT_CONSTRUCTOR_POST(x)
#define OT_METH_S(c, s, f)
#define MK_BASE_CLASS
#define OT_CLS_T
#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 INCR_REF(valP)
#define OT_OBJ_T
#define OT_retObj_SET_BFL(nat)
#define OT_TMP_I32_OBJ(val)
#define OT_GET__ME_REF_MkBinaryR(b)
#define OT_retObj_RETURN
#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 VAL2PTR(val)
#define OT_CHECK_NOARGS
#define MkErrorC_Check(mng, PROC)
#define OT_ProcRet
#define OT_METH_C(c, s, f)
#define CONSTR_ARGS
#define OtClass_ARGS
#define OT_CHECK_STRN(val)
LibSq3Lite_private_rb.h - 17 Apr 2025 - aotto1968.
#define SQ3(n)
#define OT_PKG
#define OT_retObj_SET_LITE(nat)
#define NS(n)
#define OT_retObj_SET_STMT(nat)
#define OT_NEW_Sq3_enum_OBJ(typ, i)
#define Sq3LiteC_ARGS
#define Sq3LiteC_MK_NULL
#define Instances_doc
#define TxnState_doc
#define BusyTimeout_doc
static MK_TYP Sq3LiteCTT
Definition Sq3LiteC_rb.c:25
#define Deserialize_doc
#define DbStatusBFL_doc
#define OT_SETUP_hdl_static_constr
Definition Sq3LiteC_rb.c:98
#define Interrupt_doc
#define ExtendedResultCodes_doc
#define DbReleaseMemory_doc
#define DropModules_doc
#define SystemErrno_doc
#define OT_SETUP_hdl
Definition Sq3LiteC_rb.c:90
#define WalAutocheckpoint_doc
#define CloseV2_doc
#define ExtendetErrCode_doc
#define Exec_doc
#define OverloadFunction_doc
#define SetLastInsertRowid_doc
#define TotalChanges_doc
#define OT_SETUP_hdl_destr
Definition Sq3LiteC_rb.c:95
#define ErrCode_doc
#define OpenV2_doc
#define ErrStr_doc
#define LastInsertRowid_doc
#define GetNull_doc
#define Next_doc
#define ErrMsg_doc
#define TotalChanges64_doc
#define HandleResolve_doc
#define Prev_doc
#define DbStatus_doc
#define DeclareVtab_doc
#define DbFilename_doc
#define Changes64_doc
#define DbName_doc
#define OT_CLASS
Definition Sq3LiteC_rb.c:17
#define OT_SETUP_hdl_static
Definition Sq3LiteC_rb.c:96
#define OT_SETUP_hdl_constr
Definition Sq3LiteC_rb.c:92
#define PrepareV2_doc
#define Changes_doc
#define Sleep_doc
#define new_doc
#define Limit_doc
#define Serialize_doc
#define TableColumnMetadata_doc
#define WalCheckpointV2_doc
#define GetAutocommit_doc
#define ErrorOffset_doc
#define S_INIT
Definition Sq3LiteC_rb.c:72
#define ExecV2_doc
#define DbCacheflush_doc
#define IsInterrupted_doc
#define DbReadonly_doc
#define VtabOnConflict_doc
#define MkBufferListCreateTLS_T(name, num)
#define MK_ERROR_FORMAT
#define mk_inline
#define MK_NULL_NO
#define MK_UNUSED
#define MK_NULL
#define MK_DEPRECATED
MK_PTRB * MK_PTR
const MK_STRB * MK_STRN
MK_PTRB * MK_MNG
signed long long MK_I64
bool MK_BOOL
int32_t MK_HDL
signed int MK_I32
#define MK_RT_ARGS
#define MK_RT_ARGS_ONLY
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.
Definition Sq3Enum_sq3.h:82
@ SQ3_OPEN_CREATE
@ SQ3_OPEN_READWRITE
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)
MkSelfUnlinkF selfUnlink
MkSelfDeleteF selfDelete
MkSelfCreateF selfCreate
Struct to represent the data of the Sq3LiteC …
Struct to represent the data of the Sq3StmtC …