theSq3Lite 10.0
Loading...
Searching...
No Matches
Sq3ValueC_sq3.h
Go to the documentation of this file.
1
9/* LABEL-START */
10#pragma once
11
12#include "LibSq3Lite_sq3.h"
13/* LABEL-END */
14
15#include "Sq3ValueC_def_sq3.h"
16
18
19// =========================================================================
20// BEGIN-Sq3ValueC-fupu - created by 'c_Native.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
21
22// -> no data
23
24// END-Sq3ValueC-fupu - created by 'c_Native.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
25
26// =========================================================================
27// BEGIN-Sq3ValueC-inline - created by 'c_Native.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
28
29#ifndef PARSE_C_HEADER_TO_META
30
31 // doc-key: Sq3ValueC,Sq3ValueC-Info,om_
32
35 SQ3_INSTANCE_HDL(sq3val);
36 return (enum Sq3TextE)sqlite3_value_bytes(sq3val->nat);
37 }
38
41 SQ3_INSTANCE_HDL(sq3val);
42 return (enum Sq3TextE)sqlite3_value_encoding(sq3val->nat);
43 }
44
50
56
59 SQ3_INSTANCE_HDL(sq3val);
60 return (enum Sq3TypeE)sqlite3_value_numeric_type(sq3val->nat);
61 }
62
65 SQ3_INSTANCE_HDL(sq3val);
66 return (MK_I32)sqlite3_value_subtype(sq3val->nat);
67 }
68
71 SQ3_INSTANCE_HDL(sq3val);
72 return (enum Sq3TypeE)sqlite3_value_type(sq3val->nat);
73 }
74#endif
75
76#ifndef PARSE_C_HEADER_TO_META
77
78 // doc-key: Sq3ValueC,Sq3ValueC-TOR,oCx
79
85
86 // doc-key: Sq3ValueC,Sq3ValueC-TOR,oD_
87
90 MkRtSetup_X(sq3val);
92 }
93#endif
94
95#ifndef PARSE_C_HEADER_TO_META
96
97 // doc-key: Sq3ValueC,Sq3ValueC-Types,om_
98
101 SQ3_INSTANCE_HDL(sq3val);
102 return (MK_BINN)sqlite3_value_blob(sq3val->nat);
103 }
104
107 SQ3_INSTANCE_HDL(sq3val);
108 return sqlite3_value_double(sq3val->nat);
109 }
110
113 SQ3_INSTANCE_HDL(sq3val);
114 return sqlite3_value_int(sq3val->nat);
115 }
116
119 SQ3_INSTANCE_HDL(sq3val);
120 return sqlite3_value_int64(sq3val->nat);
121 }
122
125 SQ3_INSTANCE_HDL(sq3val);
126 return (MK_PTR)sqlite3_value_pointer(sq3val->nat, arg1);
127 }
128
131 SQ3_INSTANCE_HDL(sq3val);
132 MK_STRN __retVal__L = (MK_STRN)sqlite3_value_text(sq3val->nat);
133 return __retVal__L;
134 }
135#endif
136
137#ifndef PARSE_C_HEADER_TO_META
138
139 // doc-key: Sq3ValueC,Sq3ValueC-Vtab,oco
140
143 SQ3_INSTANCE_HDL(pVal);
144 *ppOut = NULL;
145 sqlite3_value* ppOut_val = NULL;
146 enum Sq3ErrorE errVal = (enum Sq3ErrorE)sqlite3_vtab_in_first(pVal->nat, &ppOut_val);
147 *ppOut = Sq3ValueC_ObjNew(ppOut_val);
148 Sq3ErrorE_Check(pVal, errVal);
149 return MK_OK;
150 error:
151 return MK_ERROR;
152 }
153
156 SQ3_INSTANCE_HDL(pVal);
157 *ppOut = NULL;
158 sqlite3_value* ppOut_val = NULL;
159 enum Sq3ErrorE errVal = (enum Sq3ErrorE)sqlite3_vtab_in_next(pVal->nat, &ppOut_val);
160 *ppOut = Sq3ValueC_ObjNew(ppOut_val);
161 Sq3ErrorE_Check(pVal, errVal);
162 return MK_OK;
163 error:
164 return MK_ERROR;
165 }
166#endif
167
168// END-Sq3ValueC-inline - created by 'c_Native.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
169
170// =============================================================================================
171// OVERLOAD
172//
173
176__parser__(doc-group=Types)
179 SQ3_INSTANCE_HDL(sq3val);
180
181 MK_BINN bin = Sq3ValueBlobHide(sq3val);
182 MK_I32 len = Sq3ValueBytes(sq3val);
183 return MkBinaryCreate(len,bin);
184}
185
189__parser__(doc-group=Types)
193 SQ3_VALN sq3val
194) {
195 SQ3_INSTANCE_RT_X(sq3val);
196 MkBufferCreateTLS_T(MkBuffer64C,buf,0);
197 return MkBufferSetBinaryR(buf,Sq3ValueBinaryR(sq3val));
198}
199
203__parser__(doc-group=Types)
206 SQ3_INSTANCE_HDL(sq3val);
207
208 MK_STRN str = Sq3ValueText(sq3val);
209 MK_I32 len = Sq3ValueBytes(sq3val);
210 return MkStringCreate(len,str);
211}
212
222__parser__(const,class-overload=MkObjectLog,doc-group=Info)
225 SQ3_VALN const val ,
227 MK_DBG const debug __parser__(default=0),
228 MK_STRN const callfunc __parser__(default=F#FUNC),
229 MK_I32 const lvl __parser__(default=0)
231
239__parser__(doc-group=Types)
242 SQ3_VALN const val
244
245
#define str(s)
tag: nhi1-release-250425
#define BEGIN_SQ3_C_DECLS
#define END_SQ3_C_DECLS
tag: nhi1-release-250425
#define MkBufferSetBinaryR(...)
#define MkBufferCreateTLS_T(cls, name, size)
static MkBinaryR MkBinaryCreate(MK_SIZE size, MK_BINN data)
#define MK_PARSER_fmtobj
#define MK_DECL
#define mk_inline
MkErrorE
MK_ERROR
MK_OK
#define __parser__(...)
static MkStringR MkStringCreate(MK_NUM len, MK_STRN str)
MK_PTRB * MK_PTR
const MK_STRB * MK_STRN
signed long long MK_I64
bool MK_BOOL
double MK_DBL
MK_BINB const * MK_BINN
signed int MK_I32
int MK_DBG
#define MkOBJ(x)
#define MkObjectLog(...)
void MkObjectDispose_RT(MK_RT mkrt, MK_OBJ obj)
#define MK_ATTR_RT_INSTANCE
#define MK_ATTR_INSTANCE
#define MK_PARSER_RT
#define MK_RT_CALL
#define MkRtSetup_X(x)
#define SQ3_EXTERN
static library
Sq3TextE
Text Encodings.
Sq3TypeE
Fundamental Datatypes.
Sq3ErrorE
Result Codes.
#define Sq3ErrorE_Check(sq3_hdl, PROC)
check on a tclsq3lite error and convert into a tclsq3lite error …
#define SQ3_INSTANCE_HDL(x)
#define SQ3_INSTANCE_RT_X(x)
static SQ3_VAL Sq3ValueC_ObjCreate(sqlite3_value *hdl)
return Programming-Language-Micro-Kernel (PLMK) instance from native hdl …
static MK_ARTIFICIAL SQ3_VAL Sq3ValueC_ObjNew(sqlite3_value *hdl)
return Programming-Language-Micro-Kernel (PLMK) instance from native hdl …
static enum Sq3TextE Sq3ValueEncoding(SQ3_VALN sq3val)
Report the internal text encoding state of an sqlite3_value object …
static enum Sq3TypeE Sq3ValueType(SQ3_VALN sq3val)
Obtaining SQL Values …
static enum Sq3TextE Sq3ValueBytes(SQ3_VALN sq3val)
Obtaining SQL Values …
void Sq3ValueLog_RT(MK_RT mkrt, SQ3_VALN const val, MK_OBJN fmtobj, MK_DBG const debug, MK_STRN const callfunc, MK_I32 const lvl)
log the val …
static MK_I32 Sq3ValueSubType(SQ3_VALN sq3val)
Finding The Subtype Of SQL Values …
static MK_BOOL Sq3ValueFromBind(SQ3_VALN sq3val)
Obtaining SQL Values …
static MK_BOOL Sq3ValueNoChange(SQ3_VALN sq3val)
Obtaining SQL Values …
static enum Sq3TypeE Sq3ValueNumericType(SQ3_VALN sq3val)
Obtaining SQL Values …
static void Sq3ValueFree(SQ3_VAL sq3val)
Copy And Free SQL Values …
static SQ3_VAL Sq3ValueDup(SQ3_VALN sq3val)
Copy And Free SQL Values …
static MK_BUF Sq3ValueBlob_RT(MK_RT mkrt, SQ3_VALN sq3val)
Obtaining SQL Values …
static MkStringR Sq3ValueStringR(SQ3_VALN sq3val)
Obtaining SQL Values …
static MkBinaryR Sq3ValueBinaryR(SQ3_VALN sq3val)
Obtaining SQL Values …
MK_BUF Sq3ValueBUF_RT(MK_RT mkrt, SQ3_VALN const val)
Obtaining a MkBufferC value…
static MK_I64 Sq3ValueInt64(SQ3_VALN sq3val)
Obtaining SQL Values …
static MK_PTR Sq3ValuePointer(SQ3_VALN sq3val, MK_STRN arg1)
Obtaining SQL Values …
static MK_STRN Sq3ValueText(SQ3_VALN sq3val)
Obtaining SQL Values …
static MK_BINN Sq3ValueBlobHide(SQ3_VALN sq3val)
Obtaining SQL Values …
static MK_DBL Sq3ValueDouble(SQ3_VALN sq3val)
Obtaining SQL Values …
static MK_I32 Sq3ValueInt(SQ3_VALN sq3val)
Obtaining SQL Values …
static enum MkErrorE Sq3ValueVtabInNext(SQ3_VAL pVal, SQ3_VAL *ppOut)
Find all elements on the right-hand side of an IN constraint …
static enum MkErrorE Sq3ValueVtabInFirst(SQ3_VAL pVal, SQ3_VAL *ppOut)
Find all elements on the right-hand side of an IN constraint …
SQLITE_API sqlite3_value * sqlite3_value_dup(const sqlite3_value *)
SQLITE_API int sqlite3_value_numeric_type(sqlite3_value *)
SQLITE_API double sqlite3_value_double(sqlite3_value *)
SQLITE_API int sqlite3_value_int(sqlite3_value *)
SQLITE_API void * sqlite3_value_pointer(sqlite3_value *, const char *)
SQLITE_API int sqlite3_vtab_in_first(sqlite3_value *pVal, sqlite3_value **ppOut)
SQLITE_API unsigned int sqlite3_value_subtype(sqlite3_value *)
SQLITE_API int sqlite3_vtab_in_next(sqlite3_value *pVal, sqlite3_value **ppOut)
SQLITE_API sqlite3_int64 sqlite3_value_int64(sqlite3_value *)
struct sqlite3_value sqlite3_value
SQLITE_API int sqlite3_value_type(sqlite3_value *)
SQLITE_API int sqlite3_value_nochange(sqlite3_value *)
SQLITE_API int sqlite3_value_frombind(sqlite3_value *)
SQLITE_API int sqlite3_value_encoding(sqlite3_value *)
SQLITE_API int sqlite3_value_bytes(sqlite3_value *)
SQLITE_API const unsigned char * sqlite3_value_text(sqlite3_value *)
SQLITE_API const void * sqlite3_value_blob(sqlite3_value *)
Struct to represent the data of the Sq3ValueC …
sqlite3_value * nat
internal - link between Sq3ValueS and native library