11#define META_FILE_NAME "Sq3StmtC_tcl.c"
15#define OT_CLASS NS(Sq3StmtC)
16#define OT_CLASS_NAME "Sq3StmtC"
18#define OBJECT2STMT(O) MkAssertCastM(Sq3StmtC,(Tcl_ObjectGetMetadata(O, &MK(AtomMeta))))
48#define OT_SETUP_hdl_static_constr_pre
49#define OT_SETUP_hdl_static_constr \
50 OT_SETUP_hdl_static_constr_pre; \
53#define OT_SETUP_hdl_static \
54 int __skip=Tcl_ObjectContextSkippedArgs(objCtx); \
56 __attribute__((unused)) OT_SELF_T selfO = Tcl_ObjectContextObject(objCtx); \
57 __attribute__((unused)) MK_TYP hdl = Sq3StmtC##_TT;
59#define OT_SETUP_hdl SetupHdlFromMetaData_2(STMT,SQ3_STMT);
60#define OT_SETUP_hdl__null_allow SetupHdlFromMetaData__null_allow_2(STMT,SQ3_STMT);
61#define OT_SETUP_hdl_destr SetupHdlFromMetaData__null_allow_2(STMT,SQ3_STMT);
63#define OT_SETUP_hdl_constr_pre
64#define OT_SETUP_hdl_constr \
65 OT_SETUP_hdl_constr_pre; \
66 int __skip=Tcl_ObjectContextSkippedArgs(objCtx); \
68 MK_RT_UNUSED OT_SELF_T selfO = Tcl_ObjectContextObject(objCtx); \
69 SQ3_STMT hdl = (SQ3_STMT) &MkERROR;
71#if !defined(SetupRtFromHdl_XN)
72 #define SetupRtFromHdl_XN(hdl) AllRtSetup_XN(hdl)
73 #define SetupRtFromHdl_X(hdl) AllRtSetup_X(hdl)
79 if (Sq3StmtCTT == NULL) Sq3StmtCTT = Sq3StmtSTT; \
82 if (Sq3StmtCTT->selfCreate == NS(Sq3StmtC_selfCreate)) return MK_OK; \
85 Sq3StmtCTT->selfCreate = NS(Sq3StmtC_selfCreate); \
86 Sq3StmtCTT->selfDelete = NS(Sq3StmtC_selfDelete); \
87 Sq3StmtCTT->selfUnlink = NS(Sq3StmtC_selfUnlink); \
90 OT_SELF_T classO = MK(ClassDef)(interp,ns,Sq3StmtCTT); \
91 check_NULL(classO) goto error; \
92 OT_CLASS = Tcl_GetObjectAsClass(classO); \
95 static MkThreadLocal OtUnknownS NS(sClassUnknown) = {OT_UNKNOWN_CLASS}; \
96 check_LNG(MK(UnknownSetup) (interp,classO,NS(sOtClassDef),&NS(sClassUnknown))) goto error; \
99 static MkThreadLocal OtUnknownS NS(sInstanceUnknown) = {OT_UNKNOWN_INSTANCE}; \
100 check_LNG(MK(UnknownSetup) (interp,classO,NS(sInstanceDef),&NS(sInstanceUnknown))) goto error; \
103 SQ3(Sq3StmtC_MK_NULL) = Tcl_GetObjectName(interp, \
104 MK(AtomCreate) (MK_RT_CALL interp, NULL , OT_CLASS, "MK_NULL" , "::tclsq3lite::Sq3StmtC" ) \
106 Tcl_IncrRefCount(SQ3(Sq3StmtC_MK_NULL));
108#define VER TCL_OO_METHOD_VERSION_CURRENT
115#define CTOR_doc "Sq3StmtC [Sq3StmtC CTOR db:Sq3LiteC zSql:string]"
116#define PrepareV2_doc "Sq3StmtC [Sq3StmtC PrepareV2 db:Sq3LiteC zSql:string]"
117#define PrepareV3_doc "Sq3StmtC [Sq3StmtC PrepareV3 db:Sq3LiteC zSql:string ?prepFlags:Sq3PrepareEF=SQ3_PREPARE_NO?]"
120#define GetNull_doc "Sq3StmtC [Sq3StmtC GetNull]"
121#define HandleResolve_doc "Sq3StmtC [Sq3StmtC HandleResolve netHdl:MK_HDL]"
122#define Instances_doc "Sq3StmtC [Sq3StmtC Instances]"
123#define NextStmt_doc "Sq3StmtC [Sq3StmtC NextStmt pDb:Sq3LiteC ?pStmt:Sq3StmtC=\"MK_NULL\"?]"
126#define ColumnValue_doc "Sq3ValueC [$sq3stmt ColumnValue iCol:int32]"
127#define DbHandle_doc "Sq3LiteC [$sq3stmt DbHandle]"
128#define Next_doc "Sq3StmtC [$stmt Next]"
129#define Prev_doc "Sq3StmtC [$stmt Prev]"
132#define BindBlob_doc "$sq3stmt BindBlob pos:int32 blob:binary"
133#define BindDouble_doc "$sq3stmt BindDouble arg1:int32 arg2:double"
134#define BindInt_doc "$sq3stmt BindInt arg1:int32 arg2:int32"
135#define BindInt64_doc "$sq3stmt BindInt64 arg1:int32 arg2:int64"
136#define BindNull_doc "$sq3stmt BindNull arg1:int32"
137#define BindParameterCount_doc "$sq3stmt BindParameterCount"
138#define BindParameterIndex_doc "$sq3stmt BindParameterIndex zName:string"
139#define BindParameterName_doc "string [$sq3stmt BindParameterName arg1:int32]"
140#define BindText_doc "$sq3stmt BindText pos:int32 text:string"
141#define BindValue_doc "$sq3stmt BindValue arg1:int32 arg2:Sq3ValueC"
142#define BindZeroblob_doc "$sq3stmt BindZeroblob arg1:int32 n:int32"
143#define BindZeroblob64_doc "$sq3stmt BindZeroblob64 arg1:int32 arg2:int64"
144#define Busy_doc "$sq3stmt Busy"
145#define ClearBindings_doc "$sq3stmt ClearBindings"
146#define ColumnBlob_doc "binary [$sq3stmt ColumnBlob iCol:int32]"
147#define ColumnBytes_doc "int32 [$sq3stmt ColumnBytes iCol:int32]"
148#define ColumnCount_doc "int32 [$pStmt ColumnCount]"
149#define ColumnDouble_doc "double [$sq3stmt ColumnDouble iCol:int32]"
150#define ColumnInt_doc "int32 [$sq3stmt ColumnInt iCol:int32]"
151#define ColumnInt64_doc "int64 [$sq3stmt ColumnInt64 iCol:int32]"
152#define ColumnName_doc "string [$sq3stmt ColumnName N:int32]"
153#define ColumnText_doc "string [$sq3stmt ColumnText iCol:int32]"
154#define ColumnType_doc "Sq3TypeE [$sq3stmt ColumnType iCol:int32]"
155#define DataCount_doc "$pStmt DataCount"
156#define ExpandedSql_doc "string [$pStmt ExpandedSql]"
157#define Explain_doc "$pStmt Explain eMode:int32"
158#define Finalize_doc "$pStmt Finalize"
159#define GetPzTail_doc "string [$sq3stmt GetPzTail]"
161#define IsExplain_doc "$pStmt IsExplain"
163#define Readonly_doc "$pStmt Readonly"
164#define Reset_doc "$pStmt Reset"
165#define Sql_doc "string [$pStmt Sql]"
166#define Status_doc "$sq3stmt Status op:Sq3StmtStatusE resetFlg:bool"
169#define Step_doc "Sq3ErrorE [$sq3stmt Step]"
994static Tcl_MethodType
NS(sOtClassDef)[] = {
998 {
VER,
"PrepareV2" ,
NS(Sq3StmtC_PrepareV2) , NULL, NULL},
999 {
VER,
"PrepareV3" ,
NS(Sq3StmtC_PrepareV3) , NULL, NULL},
1002 {
VER,
"GetNull" ,
NS(Sq3StmtC_GetNull) , NULL, NULL},
1003 {
VER,
"HandleResolve" ,
NS(Sq3StmtC_HandleResolve) , NULL, NULL},
1004 {
VER,
"Instances" ,
NS(Sq3StmtC_Instances) , NULL, NULL},
1005 {
VER,
"NextStmt" ,
NS(Sq3StmtC_NextStmt) , NULL, NULL},
1008 {0, NULL, NULL, NULL}
1013static Tcl_MethodType
NS(sInstanceDef)[] = {
1017 {
VER,
"<constructor>" ,
NS(Sq3StmtC_CTOR) , NULL, NULL},
1020 {
VER,
"ColumnValue" ,
NS(Sq3StmtC_ColumnValue) , NULL, NULL},
1021 {
VER,
"DbHandle" ,
NS(Sq3StmtC_DbHandle) , NULL, NULL},
1022 {
VER,
"Next" ,
NS(Sq3StmtC_Next) , NULL, NULL},
1023 {
VER,
"Prev" ,
NS(Sq3StmtC_Prev) , NULL, NULL},
1026 {
VER,
"BindBlob" ,
NS(Sq3StmtC_BindBlob) , NULL, NULL},
1027 {
VER,
"BindDouble" ,
NS(Sq3StmtC_BindDouble) , NULL, NULL},
1028 {
VER,
"BindInt" ,
NS(Sq3StmtC_BindInt) , NULL, NULL},
1029 {
VER,
"BindInt64" ,
NS(Sq3StmtC_BindInt64) , NULL, NULL},
1030 {
VER,
"BindNull" ,
NS(Sq3StmtC_BindNull) , NULL, NULL},
1031 {
VER,
"BindParameterCount" ,
NS(Sq3StmtC_BindParameterCount) , NULL, NULL},
1032 {
VER,
"BindParameterIndex" ,
NS(Sq3StmtC_BindParameterIndex) , NULL, NULL},
1033 {
VER,
"BindParameterName" ,
NS(Sq3StmtC_BindParameterName) , NULL, NULL},
1034 {
VER,
"BindText" ,
NS(Sq3StmtC_BindText) , NULL, NULL},
1035 {
VER,
"BindValue" ,
NS(Sq3StmtC_BindValue) , NULL, NULL},
1036 {
VER,
"BindZeroblob" ,
NS(Sq3StmtC_BindZeroblob) , NULL, NULL},
1037 {
VER,
"BindZeroblob64" ,
NS(Sq3StmtC_BindZeroblob64) , NULL, NULL},
1038 {
VER,
"Busy" ,
NS(Sq3StmtC_Busy) , NULL, NULL},
1039 {
VER,
"ClearBindings" ,
NS(Sq3StmtC_ClearBindings) , NULL, NULL},
1040 {
VER,
"ColumnBlob" ,
NS(Sq3StmtC_ColumnBlob) , NULL, NULL},
1041 {
VER,
"ColumnBytes" ,
NS(Sq3StmtC_ColumnBytes) , NULL, NULL},
1042 {
VER,
"ColumnCount" ,
NS(Sq3StmtC_ColumnCount) , NULL, NULL},
1043 {
VER,
"ColumnDouble" ,
NS(Sq3StmtC_ColumnDouble) , NULL, NULL},
1044 {
VER,
"ColumnInt" ,
NS(Sq3StmtC_ColumnInt) , NULL, NULL},
1045 {
VER,
"ColumnInt64" ,
NS(Sq3StmtC_ColumnInt64) , NULL, NULL},
1046 {
VER,
"ColumnName" ,
NS(Sq3StmtC_ColumnName) , NULL, NULL},
1047 {
VER,
"ColumnText" ,
NS(Sq3StmtC_ColumnText) , NULL, NULL},
1048 {
VER,
"ColumnType" ,
NS(Sq3StmtC_ColumnType) , NULL, NULL},
1049 {
VER,
"DataCount" ,
NS(Sq3StmtC_DataCount) , NULL, NULL},
1050 {
VER,
"ExpandedSql" ,
NS(Sq3StmtC_ExpandedSql) , NULL, NULL},
1051 {
VER,
"Explain" ,
NS(Sq3StmtC_Explain) , NULL, NULL},
1052 {
VER,
"Finalize" ,
NS(Sq3StmtC_Finalize) , NULL, NULL},
1053 {
VER,
"GetPzTail" ,
NS(Sq3StmtC_GetPzTail) , NULL, NULL},
1055 {
VER,
"IsExplain" ,
NS(Sq3StmtC_IsExplain) , NULL, NULL},
1057 {
VER,
"Readonly" ,
NS(Sq3StmtC_Readonly) , NULL, NULL},
1058 {
VER,
"Reset" ,
NS(Sq3StmtC_Reset) , NULL, NULL},
1059 {
VER,
"Sql" ,
NS(Sq3StmtC_Sql) , NULL, NULL},
1060 {
VER,
"Status" ,
NS(Sq3StmtC_Status) , NULL, NULL},
1063 {
VER,
"Step" ,
NS(Sq3StmtC_Step) , NULL, NULL},
1066 {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)
#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 …