11#define META_FILE_NAME "Sq3BlobC_py.c"
16#define OT_CLASS (&NS(Sq3BlobCR))
17#define OT_CLASS_NAME "Sq3BlobC"
19#define OT_LNG2META(O) Sq3Blob(VAL2MNG(O))
21#define OT_retObj_CONSTR(mng) OT_retObj_SET(NS(Sq3BlobC_CTOR)(MK_RT_CALL (PyTypeObject*)class,mng))
23#define OT_SETUP_hdl OT_SETUP_hdl_tmpl(Sq3BlobC)
24#define OT_SETUP_hdl__null_allow OT_SETUP_hdl_tmpl__null_allow(Sq3BlobC)
25#define OT_SETUP_hdl_constr MK_RT_UNUSED AllRtSetup_NULL; \
26 SQ3_BLOB hdl = (SQ3_BLOB) OT_CLASS;
27#define OT_SETUP_hdl_destr OT_SETUP_hdl_tmpl__null_allow(Sq3BlobC)
28#define OT_SETUP_hdl_static MK_RT_UNUSED AllRtSetup_NULL; \
29 __attribute__((unused)) MK_TYP hdl = Sq3BlobC##_TT;
31#define OT_SETUP_hdl_static_constr OT_SETUP_hdl_static
33#if !defined(SetupRtFromObj_X)
34 #define SetupRtFromObj_X(hdl) AllRtSetup_X(hdl)
35 #define SetupRtFromObj_XN(hdl) AllRtSetup_XN(hdl)
40#define Sq3BlobCTT SQ3(Sq3LiteThreadState).Sq3BlobCTT
67 if (Sq3BlobCTT == NULL) Sq3BlobCTT = Sq3BlobSTT; \
70 if (Sq3BlobCTT->selfCreate == NS(Sq3BlobC_selfCreate)) return MK_OK; \
73 Sq3BlobCTT->selfCreate = NS(Sq3BlobC_selfCreate); \
74 Sq3BlobCTT->selfDelete = NS(Sq3BlobC_selfDelete); \
75 Sq3BlobCTT->selfUnlink = NS(Sq3BlobC_selfUnlink); \
77 if (!PyType_HasFeature(OT_CLASS,Py_TPFLAGS_READY)) { \
78 NS(Sq3BlobCR).tp_base = Sq3BlobC_base; \
79 OtErrorCheckLng (PyType_Ready(OT_CLASS)); \
81 OtErrorCheckLng(PyModule_AddObjectRef(m, "Sq3BlobC", (PyObject *)OT_CLASS)); \
84 Sq3BlobC_MK_NULL = Py_NewRef(MK(AtomCreate) (MK_RT_CALL OT_CLASS, NULL ));
88#define META_CONTEXT_S MK_ERROR_DEFAULT
100#define Open_doc "Sq3BlobC Sq3BlobC.Open(sq3lite:Sq3LiteC, zDb:string, zTable:string, zColumn:string, iRow:int64, flags:int32)"
101#define new_doc "Sq3BlobC Sq3BlobC.new(sq3lite:Sq3LiteC, zDb:string, zTable:string, zColumn:string, iRow:int64, flags:int32)"
104#define GetNull_doc "Sq3BlobC Sq3BlobC.GetNull()"
105#define HandleResolve_doc "Sq3BlobC Sq3BlobC.HandleResolve(netHdl:MK_HDL)"
106#define Instances_doc "Sq3BlobC Sq3BlobC.Instances()"
109#define Next_doc "Sq3BlobC blob.Next()"
110#define Prev_doc "Sq3BlobC blob.Prev()"
113#define Read_doc "MkBufferC sq3blob.Read(Z_inout:MkBufferC, iOffset:int32)"
116#define Bytes_doc "int32 sq3blob.Bytes()"
118#define Reopen_doc "sq3blob.Reopen(arg1:int64)"
119#define Write_doc "sq3blob.Write(z:MkBufferC, iOffset:int32)"
393 {
"Open" , (PyCFunction)
NS(Sq3BlobC_Open) , METH_VARARGS|METH_CLASS ,
Open_doc },
396 {
"GetNull" , (PyCFunction)
NS(Sq3BlobC_GetNull) , METH_NOARGS|METH_CLASS ,
GetNull_doc },
397 {
"HandleResolve" , (PyCFunction)
NS(Sq3BlobC_HandleResolve) , METH_O|METH_CLASS ,
HandleResolve_doc },
398 {
"Instances" , (PyCFunction)
NS(Sq3BlobC_Instances) , METH_NOARGS|METH_CLASS ,
Instances_doc },
405 {
"Next" , (PyCFunction)
NS(Sq3BlobC_Next) , METH_NOARGS ,
Next_doc },
406 {
"Prev" , (PyCFunction)
NS(Sq3BlobC_Prev) , METH_NOARGS ,
Prev_doc },
409 {
"Read" , (PyCFunction)
NS(Sq3BlobC_Read) , METH_VARARGS ,
Read_doc },
412 {
"Bytes" , (PyCFunction)
NS(Sq3BlobC_Bytes) , METH_NOARGS ,
Bytes_doc },
414 {
"Reopen" , (PyCFunction)
NS(Sq3BlobC_Reopen) , METH_O ,
Reopen_doc },
415 {
"Write" , (PyCFunction)
NS(Sq3BlobC_Write) , METH_VARARGS ,
Write_doc },
419 {NULL, NULL, 0, NULL}
429 PyVarObject_HEAD_INIT(NULL, 0)
430 .tp_name =
"pymsgque.Sq3BlobC",
431 .tp_doc =
"PyMsgque Sq3BlobC Type",
434 .tp_new = (newfunc)
NS(Sq3BlobC_new),
435 .tp_flags = Py_TPFLAGS_DEFAULT,
#define OT_SETUP_VARARGS(min, max, d)
#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_CONSTRUCTOR_POST(x)
#define OT_retObj_SET_BUF(nat)
#define OT_CHECK_REQUIRED(val)
#define OT_retObj_SET_None
#define OT_retObj_SET_I32(nat)
#define OT_SETUP_CONSTRUCTOR_ARGS(...)
#define OT_CLASS_TYPE_REF
#define OT_CHECK_OPTIONAL(val)
#define MkErrorC_Check(mng, PROC)
#define OT_CHECK_STRN(val)
#define OT_retObj_SET_BLOB(nat)
struct Sq3BlobC_Obj Sq3BlobC_Obj
#define OT_SETUP_hdl_static_constr
#define OT_retObj_CONSTR(mng)
#define HandleResolve_doc
#define OT_SETUP_hdl_static
#define OT_SETUP_hdl_constr
static PyMethodDef Sq3BlobC_Methods[]
#define Sq3BlobHandleResolve(...)
static SQ3_BLOB Sq3BlobPrev(SQ3_BLOB const blob)
get previous instance from linked-list of Sq3BlobS type
#define Sq3BlobInstances()
static SQ3_BLOB Sq3BlobNext(SQ3_BLOB const blob)
get next instance from linked-list of Sq3BlobS type
static SQ3_BLOB Sq3BlobGetNull(void)
Null-Slot - return a Sq3BlobC typed NULL instance …
#define Sq3BlobC_X2obj(x)
static MK_I32 Sq3BlobBytes(SQ3_BLOB sq3blob)
Return The Size Of An Open BLOB …
#define Sq3BlobWrite(...)
static enum MkErrorE Sq3BlobReopen(SQ3_BLOB sq3blob, MK_I64 arg1)
Move a BLOB Handle to a New Row …
static enum MkErrorE Sq3BlobOpen(SQ3_LITE sq3lite, MK_STRN zDb, MK_STRN zTable, MK_STRN zColumn, MK_I64 iRow, MK_I32 flags, SQ3_BLOB *ppBlob)
Open A BLOB For Incremental I/O …
#define OT_CHECK_NIH(val)
#define OT_CHECK_BUF(val, nullB)
#define OT_CHECK_LITE(val, nullB)
Struct to represent the data of the Sq3BlobC …
Struct to represent the data of the Sq3LiteC …