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
Sq3ValueC_sq3.h
Go to the documentation of this file.
1
12/* LABEL-START */
13#pragma once
14
15#include "LibSq3Lite_sq3.h"
16/* LABEL-END */
17
18#include "Sq3ValueC_def_sq3.h"
19
21
22// =========================================================================
23// BEGIN-Sq3ValueC-fupu - created by 'c_Native.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
24
25// -> no data
26
27// END-Sq3ValueC-fupu - created by 'c_Native.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
28
29// =========================================================================
30// BEGIN-Sq3ValueC-inline - created by 'c_Native.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
31
32#ifndef PARSE_C_HEADER_TO_META
33
34 // doc-key: Sq3ValueC,Sq3ValueC-Info,om_
35
38 SQ3_INSTANCE_HDL(sq3val);
39 return (enum Sq3TextE)sqlite3_value_bytes(sq3val->nat);
40 }
41
44 SQ3_INSTANCE_HDL(sq3val);
45 return (enum Sq3TextE)sqlite3_value_encoding(sq3val->nat);
46 }
47
53
59
62 SQ3_INSTANCE_HDL(sq3val);
63 return (enum Sq3TypeE)sqlite3_value_numeric_type(sq3val->nat);
64 }
65
68 SQ3_INSTANCE_HDL(sq3val);
69 return (MK_I32)sqlite3_value_subtype(sq3val->nat);
70 }
71
74 SQ3_INSTANCE_HDL(sq3val);
75 return (enum Sq3TypeE)sqlite3_value_type(sq3val->nat);
76 }
77#endif
78
79#ifndef PARSE_C_HEADER_TO_META
80
81 // doc-key: Sq3ValueC,Sq3ValueC-TOR,oCx
82
88
89 // doc-key: Sq3ValueC,Sq3ValueC-TOR,oD_
90
93 MkRtSetup_X(sq3val);
95 }
96#endif
97
98#ifndef PARSE_C_HEADER_TO_META
99
100 // doc-key: Sq3ValueC,Sq3ValueC-Types,om_
101
104 SQ3_INSTANCE_HDL(sq3val);
105 return (MK_BINN)sqlite3_value_blob(sq3val->nat);
106 }
107
110 SQ3_INSTANCE_HDL(sq3val);
111 return sqlite3_value_double(sq3val->nat);
112 }
113
116 SQ3_INSTANCE_HDL(sq3val);
117 return sqlite3_value_int(sq3val->nat);
118 }
119
122 SQ3_INSTANCE_HDL(sq3val);
123 return sqlite3_value_int64(sq3val->nat);
124 }
125
128 SQ3_INSTANCE_HDL(sq3val);
129 return (MK_PTR)sqlite3_value_pointer(sq3val->nat, arg1);
130 }
131
134 SQ3_INSTANCE_HDL(sq3val);
135 MK_STRN __retVal__L = (MK_STRN)sqlite3_value_text(sq3val->nat);
136 return __retVal__L;
137 }
138#endif
139
140#ifndef PARSE_C_HEADER_TO_META
141
142 // doc-key: Sq3ValueC,Sq3ValueC-Vtab,oco
143
146 SQ3_INSTANCE_HDL(pVal);
147 *ppOut = NULL;
148 sqlite3_value* ppOut_val = NULL;
149 enum Sq3ErrorE errVal = (enum Sq3ErrorE)sqlite3_vtab_in_first(pVal->nat, &ppOut_val);
150 *ppOut = Sq3ValueC_ObjNew(ppOut_val);
151 Sq3ErrorE_Check(pVal, errVal);
152 return MK_OK;
153 error:
154 return MK_ERROR;
155 }
156
159 SQ3_INSTANCE_HDL(pVal);
160 *ppOut = NULL;
161 sqlite3_value* ppOut_val = NULL;
162 enum Sq3ErrorE errVal = (enum Sq3ErrorE)sqlite3_vtab_in_next(pVal->nat, &ppOut_val);
163 *ppOut = Sq3ValueC_ObjNew(ppOut_val);
164 Sq3ErrorE_Check(pVal, errVal);
165 return MK_OK;
166 error:
167 return MK_ERROR;
168 }
169#endif
170
171// END-Sq3ValueC-inline - created by 'c_Native.tcl -i NHI1_HOME/theSq3Lite/c/gen/c_sq3lite.meta' - DO NOT change
172
173// =============================================================================================
174// OVERLOAD
175//
176
179__parser__(doc-group=Types)
182 SQ3_INSTANCE_HDL(sq3val);
183
184 MK_BINN bin = Sq3ValueBlobHide(sq3val);
185 MK_I32 len = Sq3ValueBytes(sq3val);
186 return MkBinaryCreate(len,bin);
187}
188
192__parser__(doc-group=Types)
196 SQ3_VALN sq3val
197) {
198 SQ3_INSTANCE_RT_X(sq3val);
199 MkBufferCreateTLS_T(MkBuffer64C,buf,0);
200 return MkBufferSetBinaryR(buf,Sq3ValueBinaryR(sq3val));
201}
202
206__parser__(doc-group=Types)
209 SQ3_INSTANCE_HDL(sq3val);
210
211 MK_STRN str = Sq3ValueText(sq3val);
212 MK_I32 len = Sq3ValueBytes(sq3val);
213 return MkStringCreate(len,str);
214}
215
225__parser__(const,class-overload=MkObjectLog,doc-group=Info)
228 SQ3_VALN const val ,
230 MK_DBG const debug __parser__(default=0),
231 MK_STRN const callfunc __parser__(default=F#FUNC),
232 MK_I32 const lvl __parser__(default=0)
234
242__parser__(doc-group=Types)
245 SQ3_VALN const val
247
248
LibSq3Lite_sq3.h - 10 Apr 2025 - aotto1968.
#define BEGIN_SQ3_C_DECLS
#define END_SQ3_C_DECLS
Sq3ValueC_def_sq3.h - 10 Apr 2025 - aotto1968.
#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 rbsq3lite error and convert into a rbsq3lite 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