14#define META_FILE_NAME "Sq3StmtC_tcl.c"
18#define OT_CLASS NS(Sq3StmtC)
19#define OT_CLASS_NAME "Sq3StmtC"
21#define OBJECT2STMT(O) MkAssertCastM(Sq3StmtC,(Tcl_ObjectGetMetadata(O, &MK(AtomMeta))))
51#define OT_SETUP_hdl_static_constr_pre
52#define OT_SETUP_hdl_static_constr \
53 OT_SETUP_hdl_static_constr_pre; \
56#define OT_SETUP_hdl_static \
57 int __skip=Tcl_ObjectContextSkippedArgs(objCtx); \
59 __attribute__((unused)) OT_SELF_T selfO = Tcl_ObjectContextObject(objCtx); \
60 __attribute__((unused)) MK_TYP hdl = Sq3StmtC##_TT;
62#define OT_SETUP_hdl SetupHdlFromMetaData_2(STMT,SQ3_STMT);
63#define OT_SETUP_hdl__null_allow SetupHdlFromMetaData__null_allow_2(STMT,SQ3_STMT);
64#define OT_SETUP_hdl_destr SetupHdlFromMetaData__null_allow_2(STMT,SQ3_STMT);
66#define OT_SETUP_hdl_constr_pre
67#define OT_SETUP_hdl_constr \
68 OT_SETUP_hdl_constr_pre; \
69 int __skip=Tcl_ObjectContextSkippedArgs(objCtx); \
71 MK_RT_UNUSED OT_SELF_T selfO = Tcl_ObjectContextObject(objCtx); \
72 SQ3_STMT hdl = (SQ3_STMT) &MkERROR;
74#if !defined(SetupRtFromHdl_XN)
75 #define SetupRtFromHdl_XN(hdl) AllRtSetup_XN(hdl)
76 #define SetupRtFromHdl_X(hdl) AllRtSetup_X(hdl)
82 if (Sq3StmtCTT == NULL) Sq3StmtCTT = Sq3StmtSTT; \
85 if (Sq3StmtCTT->selfCreate == NS(Sq3StmtC_selfCreate)) return MK_OK; \
88 Sq3StmtCTT->selfCreate = NS(Sq3StmtC_selfCreate); \
89 Sq3StmtCTT->selfDelete = NS(Sq3StmtC_selfDelete); \
90 Sq3StmtCTT->selfUnlink = NS(Sq3StmtC_selfUnlink); \
93 OT_SELF_T classO = MK(ClassDef)(interp,ns,Sq3StmtCTT); \
94 check_NULL(classO) goto error; \
95 OT_CLASS = Tcl_GetObjectAsClass(classO); \
98 static MkThreadLocal OtUnknownS NS(sClassUnknown) = {OT_UNKNOWN_CLASS}; \
99 check_LNG(MK(UnknownSetup) (interp,classO,NS(sOtClassDef),&NS(sClassUnknown))) goto error; \
102 static MkThreadLocal OtUnknownS NS(sInstanceUnknown) = {OT_UNKNOWN_INSTANCE}; \
103 check_LNG(MK(UnknownSetup) (interp,classO,NS(sInstanceDef),&NS(sInstanceUnknown))) goto error; \
106 SQ3(Sq3StmtC_MK_NULL) = Tcl_GetObjectName(interp, \
107 MK(AtomCreate) (MK_RT_CALL interp, NULL , OT_CLASS, "MK_NULL" , "::tclsq3lite::Sq3StmtC" ) \
109 Tcl_IncrRefCount(SQ3(Sq3StmtC_MK_NULL));
111#define VER TCL_OO_METHOD_VERSION_CURRENT
118#define CTOR_doc "Sq3StmtC [Sq3StmtC CTOR db:Sq3LiteC zSql:string]"
119#define PrepareV2_doc "Sq3StmtC [Sq3StmtC PrepareV2 db:Sq3LiteC zSql:string]"
120#define PrepareV3_doc "Sq3StmtC [Sq3StmtC PrepareV3 db:Sq3LiteC zSql:string ?prepFlags:Sq3PrepareEF=SQ3_PREPARE_NO?]"
123#define GetNull_doc "Sq3StmtC [Sq3StmtC GetNull]"
124#define HandleResolve_doc "Sq3StmtC [Sq3StmtC HandleResolve netHdl:MK_HDL]"
125#define Instances_doc "Sq3StmtC [Sq3StmtC Instances]"
126#define NextStmt_doc "Sq3StmtC [Sq3StmtC NextStmt pDb:Sq3LiteC ?pStmt:Sq3StmtC=\"MK_NULL\"?]"
129#define ColumnValue_doc "Sq3ValueC [$sq3stmt ColumnValue iCol:int32]"
130#define DbHandle_doc "Sq3LiteC [$sq3stmt DbHandle]"
131#define Next_doc "Sq3StmtC [$stmt Next]"
132#define Prev_doc "Sq3StmtC [$stmt Prev]"
135#define BindBlob_doc "$sq3stmt BindBlob pos:int32 blob:binary"
136#define BindDouble_doc "$sq3stmt BindDouble arg1:int32 arg2:double"
137#define BindInt_doc "$sq3stmt BindInt arg1:int32 arg2:int32"
138#define BindInt64_doc "$sq3stmt BindInt64 arg1:int32 arg2:int64"
139#define BindNull_doc "$sq3stmt BindNull arg1:int32"
140#define BindParameterCount_doc "$sq3stmt BindParameterCount"
141#define BindParameterIndex_doc "$sq3stmt BindParameterIndex zName:string"
142#define BindParameterName_doc "string [$sq3stmt BindParameterName arg1:int32]"
143#define BindText_doc "$sq3stmt BindText pos:int32 text:string"
144#define BindValue_doc "$sq3stmt BindValue arg1:int32 arg2:Sq3ValueC"
145#define BindZeroblob_doc "$sq3stmt BindZeroblob arg1:int32 n:int32"
146#define BindZeroblob64_doc "$sq3stmt BindZeroblob64 arg1:int32 arg2:int64"
147#define Busy_doc "$sq3stmt Busy"
148#define ClearBindings_doc "$sq3stmt ClearBindings"
149#define ColumnBlob_doc "binary [$sq3stmt ColumnBlob iCol:int32]"
150#define ColumnBytes_doc "int32 [$sq3stmt ColumnBytes iCol:int32]"
151#define ColumnCount_doc "int32 [$pStmt ColumnCount]"
152#define ColumnDouble_doc "double [$sq3stmt ColumnDouble iCol:int32]"
153#define ColumnInt_doc "int32 [$sq3stmt ColumnInt iCol:int32]"
154#define ColumnInt64_doc "int64 [$sq3stmt ColumnInt64 iCol:int32]"
155#define ColumnName_doc "string [$sq3stmt ColumnName N:int32]"
156#define ColumnText_doc "string [$sq3stmt ColumnText iCol:int32]"
157#define ColumnType_doc "Sq3TypeE [$sq3stmt ColumnType iCol:int32]"
158#define DataCount_doc "$pStmt DataCount"
159#define ExpandedSql_doc "string [$pStmt ExpandedSql]"
160#define Explain_doc "$pStmt Explain eMode:int32"
161#define Finalize_doc "$pStmt Finalize"
162#define GetPzTail_doc "string [$sq3stmt GetPzTail]"
164#define IsExplain_doc "$pStmt IsExplain"
166#define Readonly_doc "$pStmt Readonly"
167#define Reset_doc "$pStmt Reset"
168#define Sql_doc "string [$pStmt Sql]"
169#define Status_doc "$sq3stmt Status op:Sq3StmtStatusE resetFlg:bool"
172#define Step_doc "Sq3ErrorE [$sq3stmt Step]"
997static Tcl_MethodType
NS(sOtClassDef)[] = {
1001 {
VER,
"PrepareV2" ,
NS(Sq3StmtC_PrepareV2) , NULL, NULL},
1002 {
VER,
"PrepareV3" ,
NS(Sq3StmtC_PrepareV3) , NULL, NULL},
1005 {
VER,
"GetNull" ,
NS(Sq3StmtC_GetNull) , NULL, NULL},
1006 {
VER,
"HandleResolve" ,
NS(Sq3StmtC_HandleResolve) , NULL, NULL},
1007 {
VER,
"Instances" ,
NS(Sq3StmtC_Instances) , NULL, NULL},
1008 {
VER,
"NextStmt" ,
NS(Sq3StmtC_NextStmt) , NULL, NULL},
1011 {0, NULL, NULL, NULL}
1016static Tcl_MethodType
NS(sInstanceDef)[] = {
1020 {
VER,
"<constructor>" ,
NS(Sq3StmtC_CTOR) , NULL, NULL},
1023 {
VER,
"ColumnValue" ,
NS(Sq3StmtC_ColumnValue) , NULL, NULL},
1024 {
VER,
"DbHandle" ,
NS(Sq3StmtC_DbHandle) , NULL, NULL},
1025 {
VER,
"Next" ,
NS(Sq3StmtC_Next) , NULL, NULL},
1026 {
VER,
"Prev" ,
NS(Sq3StmtC_Prev) , NULL, NULL},
1029 {
VER,
"BindBlob" ,
NS(Sq3StmtC_BindBlob) , NULL, NULL},
1030 {
VER,
"BindDouble" ,
NS(Sq3StmtC_BindDouble) , NULL, NULL},
1031 {
VER,
"BindInt" ,
NS(Sq3StmtC_BindInt) , NULL, NULL},
1032 {
VER,
"BindInt64" ,
NS(Sq3StmtC_BindInt64) , NULL, NULL},
1033 {
VER,
"BindNull" ,
NS(Sq3StmtC_BindNull) , NULL, NULL},
1034 {
VER,
"BindParameterCount" ,
NS(Sq3StmtC_BindParameterCount) , NULL, NULL},
1035 {
VER,
"BindParameterIndex" ,
NS(Sq3StmtC_BindParameterIndex) , NULL, NULL},
1036 {
VER,
"BindParameterName" ,
NS(Sq3StmtC_BindParameterName) , NULL, NULL},
1037 {
VER,
"BindText" ,
NS(Sq3StmtC_BindText) , NULL, NULL},
1038 {
VER,
"BindValue" ,
NS(Sq3StmtC_BindValue) , NULL, NULL},
1039 {
VER,
"BindZeroblob" ,
NS(Sq3StmtC_BindZeroblob) , NULL, NULL},
1040 {
VER,
"BindZeroblob64" ,
NS(Sq3StmtC_BindZeroblob64) , NULL, NULL},
1041 {
VER,
"Busy" ,
NS(Sq3StmtC_Busy) , NULL, NULL},
1042 {
VER,
"ClearBindings" ,
NS(Sq3StmtC_ClearBindings) , NULL, NULL},
1043 {
VER,
"ColumnBlob" ,
NS(Sq3StmtC_ColumnBlob) , NULL, NULL},
1044 {
VER,
"ColumnBytes" ,
NS(Sq3StmtC_ColumnBytes) , NULL, NULL},
1045 {
VER,
"ColumnCount" ,
NS(Sq3StmtC_ColumnCount) , NULL, NULL},
1046 {
VER,
"ColumnDouble" ,
NS(Sq3StmtC_ColumnDouble) , NULL, NULL},
1047 {
VER,
"ColumnInt" ,
NS(Sq3StmtC_ColumnInt) , NULL, NULL},
1048 {
VER,
"ColumnInt64" ,
NS(Sq3StmtC_ColumnInt64) , NULL, NULL},
1049 {
VER,
"ColumnName" ,
NS(Sq3StmtC_ColumnName) , NULL, NULL},
1050 {
VER,
"ColumnText" ,
NS(Sq3StmtC_ColumnText) , NULL, NULL},
1051 {
VER,
"ColumnType" ,
NS(Sq3StmtC_ColumnType) , NULL, NULL},
1052 {
VER,
"DataCount" ,
NS(Sq3StmtC_DataCount) , NULL, NULL},
1053 {
VER,
"ExpandedSql" ,
NS(Sq3StmtC_ExpandedSql) , NULL, NULL},
1054 {
VER,
"Explain" ,
NS(Sq3StmtC_Explain) , NULL, NULL},
1055 {
VER,
"Finalize" ,
NS(Sq3StmtC_Finalize) , NULL, NULL},
1056 {
VER,
"GetPzTail" ,
NS(Sq3StmtC_GetPzTail) , NULL, NULL},
1058 {
VER,
"IsExplain" ,
NS(Sq3StmtC_IsExplain) , NULL, NULL},
1060 {
VER,
"Readonly" ,
NS(Sq3StmtC_Readonly) , NULL, NULL},
1061 {
VER,
"Reset" ,
NS(Sq3StmtC_Reset) , NULL, NULL},
1062 {
VER,
"Sql" ,
NS(Sq3StmtC_Sql) , NULL, NULL},
1063 {
VER,
"Status" ,
NS(Sq3StmtC_Status) , NULL, NULL},
1066 {
VER,
"Step" ,
NS(Sq3StmtC_Step) , NULL, NULL},
1069 {0, NULL, NULL, NULL, NULL}
#define OT_CHECK_bool(val)
#define OT_SETUP_VARARGS(min, max, d)
#define OT_CHECK_NIH(val)
#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_CHECK_NF8(val)
#define OT_CONSTRUCTOR_POST(x)
#define OT_retObj_SET_DBL(nat)
#define OT_retObj_SET_I64(nat)
#define OT_CHECK_REQUIRED(val)
#define OT_retObj_SET_None
#define OT_retObj_SET_I32(nat)
#define OT_GET__ME_REF_MkStringR(s)
#define OT_GET__ME_REF_MkBinaryR(b)
#define OT_SETUP_CONSTRUCTOR_ARGS(...)
#define OT_CHECK_ENUM(ename, val)
#define OT_CHECK__ME_REF_MkStringR(val)
#define OT_CHECK__ME_REF_MkBinaryR(val)
#define OT_retObj_SET_STR(nat)
#define OT_CHECK_OPTIONAL(val)
#define OT_retObj_SET(val)
#define OT_retObj_CONSTR(x)
#define MkErrorC_Check(mng, PROC)
#define OT_CHECK_STRN(val)
LibSq3Lite_private_tcl.h - 17 Apr 2025 - aotto1968.
#define OT_NEW_Sq3_enum_OBJ(typ, val)
#define OT_retObj_SET_LITE(nat)
#define OT_retObj_SET_VAL(nat)
#define OT_retObj_SET_STMT(nat)
#define OT_SETUP_hdl_static_constr
#define ClearBindings_doc
#define BindParameterCount_doc
#define OT_SETUP_hdl_destr
#define BindZeroblob64_doc
static __thread MK_TYP Sq3StmtCTT
#define HandleResolve_doc
#define BindParameterName_doc
#define OT_SETUP_hdl_static
#define OT_SETUP_hdl_constr
#define BindParameterIndex_doc
Sq3StmtStatusE
Status Parameters for prepared statements.
Sq3PrepareEF
Prepare Flags.
static enum MkErrorE Sq3StmtBindDouble(SQ3_STMT sq3stmt, MK_I32 arg1, MK_DBL arg2)
Binding Values To Prepared Statements …
static enum MkErrorE Sq3StmtBindNull(SQ3_STMT sq3stmt, MK_I32 arg1)
Binding Values To Prepared Statements …
static MK_STRN Sq3StmtBindParameterName(SQ3_STMT sq3stmt, MK_I32 arg1)
Name Of A Host Parameter …
#define Sq3StmtBindText(...)
static enum MkErrorE Sq3StmtBindZeroblob64(SQ3_STMT sq3stmt, MK_I32 arg1, MK_I64 arg2)
Binding Values To Prepared Statements …
#define Sq3StmtBindBlob(...)
static enum MkErrorE Sq3StmtBindParameterCount(SQ3_STMT sq3stmt)
Number Of SQL Parameters …
static enum MkErrorE Sq3StmtBindInt64(SQ3_STMT sq3stmt, MK_I32 arg1, MK_I64 arg2)
Binding Values To Prepared Statements …
static enum MkErrorE Sq3StmtBindValue(SQ3_STMT sq3stmt, MK_I32 arg1, SQ3_VALN arg2)
Binding Values To Prepared Statements …
static enum MkErrorE Sq3StmtBindZeroblob(SQ3_STMT sq3stmt, MK_I32 arg1, MK_I32 n)
Binding Values To Prepared Statements …
static enum MkErrorE Sq3StmtBindParameterIndex(SQ3_STMT sq3stmt, MK_STRN zName)
Index Of A Parameter With A Given Name …
static enum MkErrorE Sq3StmtBindInt(SQ3_STMT sq3stmt, MK_I32 arg1, MK_I32 arg2)
Binding Values To Prepared Statements …
#define Sq3StmtHandleResolve(...)
static SQ3_STMT Sq3StmtPrev(SQ3_STMT const stmt)
get previous instance from linked-list of Sq3StmtS type
static SQ3_STMT Sq3StmtNext(SQ3_STMT const stmt)
get next instance from linked-list of Sq3StmtS type
#define Sq3StmtInstances()
static SQ3_STMT Sq3StmtGetNull(void)
Null-Slot - return a Sq3StmtC typed NULL instance …
static enum Sq3TypeE Sq3StmtColumnType(SQ3_STMT sq3stmt, MK_I32 iCol)
Result Values From A Query …
static MkBinaryR Sq3StmtColumnBlob(SQ3_STMT sq3stmt, MK_I32 iCol)
Result a MkBinaryR Value From A Query.
static MK_DBL Sq3StmtColumnDouble(SQ3_STMT sq3stmt, MK_I32 iCol)
Result Values From A Query …
static MK_I64 Sq3StmtColumnInt64(SQ3_STMT sq3stmt, MK_I32 iCol)
Result Values From A Query …
static MkStringR Sq3StmtColumnText(SQ3_STMT sq3stmt, MK_I32 iCol)
Result a MkStringR Value From A Query.
static MK_I32 Sq3StmtColumnCount(SQ3_STMT pStmt)
Number Of Columns In A Result Set …
static MK_STRN Sq3StmtColumnName(SQ3_STMT sq3stmt, MK_I32 N)
Column Names In A Result Set …
static SQ3_VAL Sq3StmtColumnValue(SQ3_STMT sq3stmt, MK_I32 iCol)
Result Values From A Query …
static MK_I32 Sq3StmtColumnInt(SQ3_STMT sq3stmt, MK_I32 iCol)
Result Values From A Query …
static MK_I32 Sq3StmtColumnBytes(SQ3_STMT sq3stmt, MK_I32 iCol)
Result Values From A Query …
static enum MkErrorE Sq3StmtStatus(SQ3_STMT sq3stmt, enum Sq3StmtStatusE op, MK_BOOL resetFlg)
Prepared Statement Status …
static SQ3_LITE Sq3StmtDbHandle(SQ3_STMT sq3stmt)
Find The Database Handle Of A Prepared Statement …
static enum MkErrorE Sq3StmtDataCount(SQ3_STMT pStmt)
Number of columns in a result set …
static enum MkErrorE Sq3StmtIsExplain(SQ3_STMT pStmt)
Query The EXPLAIN Setting For A Prepared Statement …
static enum MkErrorE Sq3StmtReadonly(SQ3_STMT pStmt)
Determine If An SQL Statement Writes The Database …
static enum MkErrorE Sq3StmtBusy(SQ3_STMT sq3stmt)
Determine If A Prepared Statement Has Been Reset …
static enum MkErrorE Sq3StmtExplain(SQ3_STMT pStmt, MK_I32 eMode)
Change The EXPLAIN Setting For A Prepared Statement …
static enum MkErrorE Sq3StmtClearBindings(SQ3_STMT sq3stmt)
Reset All Bindings On A Prepared Statement …
static SQ3_STMT Sq3StmtNextStmt(SQ3_LITE pDb, SQ3_STMT pStmt)
Find the next prepared statement …
static enum MkErrorE Sq3StmtStep(SQ3_STMT sq3stmt, enum Sq3ErrorE *retCode)
Evaluate An SQL Statement …
static enum MkErrorE Sq3StmtReset(SQ3_STMT pStmt)
Reset A Prepared Statement Object …
static MK_STR Sq3StmtExpandedSql(SQ3_STMT pStmt)
Retrieving Statement SQL …
static MK_STRN Sq3StmtGetPzTail(SQ3_STMT sq3stmt)
return the non compiled sql-statement from Sq3StmtPrepareV2 and Sq3StmtPrepareV3 …
static MK_STRN Sq3StmtSql(SQ3_STMT pStmt)
Retrieving Statement SQL …
static enum MkErrorE Sq3StmtPrepareV2(SQ3_LITE db, MkStringR zSql, SQ3_STMT *ppStmt)
Compiling An SQL Statement …
static enum MkErrorE Sq3StmtFinalize(SQ3_STMT pStmt)
Destroy A Prepared Statement Object …
static enum MkErrorE Sq3StmtPrepareV3(SQ3_LITE db, MkStringR zSql, Sq3PrepareEF prepFlags, SQ3_STMT *ppStmt)
Compiling An SQL Statement …
#define OT_CHECK_VALN(val, nullB)
#define OT_CHECK_LITE(val, nullB)
#define OT_CHECK_STMT(val, nullB)
Struct to represent the data of the Sq3LiteC …
Struct to represent the data of the Sq3StmtC …
Struct to represent the data of the Sq3ValueC …