📄 csqlrelay.c
字号:
#else "lsi",#endif &sqlrcur, &sqlString, &length)) return NULL; ((sqlrcursor *)sqlrcur)->prepareQuery(sqlString,length); return Py_BuildValue("h", 0);}static PyObject *prepareFileQuery(PyObject *self, PyObject *args) { char *path; char *file; long sqlrcur; bool rc; if (!PyArg_ParseTuple(args, "lss", &sqlrcur, &path, &file)) return NULL; Py_BEGIN_ALLOW_THREADS rc=((sqlrcursor *)sqlrcur)->prepareFileQuery(path, file); Py_END_ALLOW_THREADS return Py_BuildValue("h", (short)rc);}static PyObject *substitution(PyObject *self, PyObject *args) { long sqlrcur; char *variable; PyObject *value; uint32_t precision; uint32_t scale; uint16_t success; if (!PyArg_ParseTuple(args,#ifdef SUPPORTS_UNSIGNED "lsOII",#else "lsOii",#endif &sqlrcur, &variable, &value, &precision, &scale)) return NULL; success=1; if (value==Py_None) { ((sqlrcursor *)sqlrcur)->substitution(variable, (char *)NULL); } else if (PyString_Check(value)) { ((sqlrcursor *)sqlrcur)->substitution(variable, PyString_AsString(value)); } else if (PyInt_Check(value)) { ((sqlrcursor *)sqlrcur)->substitution(variable, (int64_t)PyInt_AsLong(value)); } else if (PyFloat_Check(value)) { ((sqlrcursor *)sqlrcur)->substitution(variable, (double)PyFloat_AsDouble(value), precision, scale); } else { success=0; } return Py_BuildValue("h", success);}static PyObject *substitutions(PyObject *self, PyObject *args) { PyObject *variables; PyObject *values; PyObject *precisions; PyObject *scales; long sqlrcur; char *variable; uint16_t success; PyObject *value; if (!PyArg_ParseTuple(args, "lOOOO", &sqlrcur, &variables, &values, &precisions, &scales)) return NULL; success=1; if (PyList_Check(variables) && PyList_Check(values)) { for (int i=0; i<PyList_Size(variables); i++) { variable=PyString_AsString(PyList_GetItem(variables,i)); value=PyList_GetItem(values,i); if (value==Py_None) { ((sqlrcursor *)sqlrcur)->substitution(variable, (char *)NULL); } else if (PyString_Check(value)) { ((sqlrcursor *)sqlrcur)->substitution(variable, PyString_AsString(value)); } else if (PyInt_Check(value)) { ((sqlrcursor *)sqlrcur)->substitution(variable, (int64_t)PyInt_AsLong(value)); } else if (PyFloat_Check(value)) { ((sqlrcursor *)sqlrcur)->substitution(variable, (double)PyFloat_AsDouble(value), (uint32_t)PyInt_AsLong(PyList_GetItem(precisions,i)), (uint32_t)PyInt_AsLong(PyList_GetItem(scales,i))); } else { success=0; } } } return Py_BuildValue("h", success);}static PyObject *clearBinds(PyObject *self, PyObject *args) { long sqlrcur; if (!PyArg_ParseTuple(args, "l", &sqlrcur)) return NULL; ((sqlrcursor *)sqlrcur)->clearBinds(); return Py_BuildValue("h", 0);}static PyObject *countBindVariables(PyObject *self, PyObject *args) { long sqlrcur; uint16_t rc; if (!PyArg_ParseTuple(args, "l", &sqlrcur)) return NULL; rc=((sqlrcursor *)sqlrcur)->countBindVariables(); // FIXME: lame, python doesn't support building values from uint16_t's return Py_BuildValue("h", (short)rc);}static PyObject *inputBind(PyObject *self, PyObject *args) { char *variable; PyObject *value; uint32_t precision; uint32_t scale; long sqlrcur; uint16_t success; if (!PyArg_ParseTuple(args,#ifdef SUPPORTS_UNSIGNED "lsOII",#else "lsOii",#endif &sqlrcur, &variable, &value, &precision, &scale)) return NULL; success=1; if (value==Py_None) { ((sqlrcursor *)sqlrcur)->inputBind(variable, (char *)NULL); } else if (PyString_Check(value)) { ((sqlrcursor *)sqlrcur)->inputBind(variable, PyString_AsString(value)); } else if (PyInt_Check(value)) { ((sqlrcursor *)sqlrcur)->inputBind(variable, (int64_t)PyInt_AsLong(value)); } else if (PyFloat_Check(value)) { ((sqlrcursor *)sqlrcur)->inputBind(variable, (double)PyFloat_AsDouble(value), (uint32_t)precision, (uint32_t)scale); } else { success=0; } return Py_BuildValue("h", success);}static PyObject *inputBindBlob(PyObject *self, PyObject *args) { char *variable; PyObject *value; uint32_t size; long sqlrcur; uint16_t success; if (!PyArg_ParseTuple(args,#ifdef SUPPORTS_UNSIGNED "lsOI",#else "lsOi",#endif &sqlrcur, &variable, &value, &size)) return NULL; success=1; if (value==Py_None) { ((sqlrcursor *)sqlrcur)->inputBindBlob(variable, NULL, size); } else if (PyString_Check(value)) { ((sqlrcursor *)sqlrcur)->inputBindBlob(variable, PyString_AsString(value), size); } else { success=0; } return Py_BuildValue("h", success);}static PyObject *inputBindClob(PyObject *self, PyObject *args) { char *variable; PyObject *value; uint32_t size; long sqlrcur; uint16_t success; if (!PyArg_ParseTuple(args,#ifdef SUPPORTS_UNSIGNED "lsOI",#else "lsOi",#endif &sqlrcur, &variable, &value, &size)) return NULL; success=1; if (value==Py_None) { ((sqlrcursor *)sqlrcur)->inputBindClob(variable, NULL, size); } else if (PyString_Check(value)) { ((sqlrcursor *)sqlrcur)->inputBindClob(variable, PyString_AsString(value), size); } else { success=0; } return Py_BuildValue("h", success);}static PyObject *inputBinds(PyObject *self, PyObject *args) { PyObject *variables; PyObject *values; PyObject *precisions; PyObject *scales; long sqlrcur; char *variable; uint16_t success; PyObject *value; if (!PyArg_ParseTuple(args, "lOOOO", &sqlrcur, &variables, &values, &precisions, &scales)) return NULL; success=1; if (PyList_Check(variables) && PyList_Check(values)) { for (int i=0; i<PyList_Size(variables); i++) { variable=PyString_AsString(PyList_GetItem(variables,i)); value=PyList_GetItem(values,i); if (value==Py_None) { ((sqlrcursor *)sqlrcur)->inputBind(variable, (char *)NULL); } else if (PyString_Check(value)) { ((sqlrcursor *)sqlrcur)->inputBind(variable, PyString_AsString(value)); } else if (PyInt_Check(value)) { ((sqlrcursor *)sqlrcur)->inputBind(variable, (int64_t)PyInt_AsLong(value)); } else if (PyFloat_Check(value)) { ((sqlrcursor *)sqlrcur)->inputBind(variable, (double)PyFloat_AsDouble(value), (unsigned short)PyInt_AsLong(PyList_GetItem(precisions,i)), (unsigned short)PyInt_AsLong(PyList_GetItem(scales,i))); } else { success=0; } } } return Py_BuildValue("h", success);}static PyObject *defineOutputBindString(PyObject *self, PyObject *args) { char *variable; uint32_t length; long sqlrcur; if (!PyArg_ParseTuple(args,#ifdef SUPPORTS_UNSIGNED "lsI",#else "lsi",#endif &sqlrcur, &variable, &length)) return NULL; ((sqlrcursor *)sqlrcur)->defineOutputBindString(variable, length); return Py_BuildValue("h", 0);}static PyObject *defineOutputBindInteger(PyObject *self, PyObject *args) { char *variable; long sqlrcur; if (!PyArg_ParseTuple(args,"ls",&sqlrcur, &variable)) return NULL; ((sqlrcursor *)sqlrcur)->defineOutputBindInteger(variable); return Py_BuildValue("h", 0);}static PyObject *defineOutputBindDouble(PyObject *self, PyObject *args) { char *variable; long sqlrcur; if (!PyArg_ParseTuple(args,"ls",&sqlrcur, &variable)) return NULL; ((sqlrcursor *)sqlrcur)->defineOutputBindDouble(variable); return Py_BuildValue("h", 0);}static PyObject *defineOutputBindBlob(PyObject *self, PyObject *args) { char *variable; long sqlrcur; if (!PyArg_ParseTuple(args, "ls", &sqlrcur, &variable)) return NULL; ((sqlrcursor *)sqlrcur)->defineOutputBindBlob(variable); return Py_BuildValue("h", 0);}static PyObject *defineOutputBindClob(PyObject *self, PyObject *args) { char *variable; long sqlrcur; if (!PyArg_ParseTuple(args, "ls", &sqlrcur, &variable)) return NULL; ((sqlrcursor *)sqlrcur)->defineOutputBindClob(variable); return Py_BuildValue("h", 0);}static PyObject *defineOutputBindCursor(PyObject *self, PyObject *args) { char *variable; long sqlrcur; if (!PyArg_ParseTuple(args, "ls", &sqlrcur, &variable)) return NULL; ((sqlrcursor *)sqlrcur)->defineOutputBindCursor(variable); return Py_BuildValue("h", 0);}static PyObject *validateBinds(PyObject *self, PyObject *args) { long sqlrcur; if (!PyArg_ParseTuple(args, "l", &sqlrcur)) return NULL; ((sqlrcursor *)sqlrcur)->validateBinds(); return Py_BuildValue("h", 0);}static PyObject *validBind(PyObject *self, PyObject *args) { long sqlrcur; bool rc; char *variable; if (!PyArg_ParseTuple(args, "ls", &sqlrcur, &variable)) return NULL; Py_BEGIN_ALLOW_THREADS rc=((sqlrcursor *)sqlrcur)->validBind(variable); Py_END_ALLOW_THREADS return Py_BuildValue("h", (short)rc);}static PyObject *executeQuery(PyObject *self, PyObject *args) { long sqlrcur; bool rc; if (!PyArg_ParseTuple(args, "l", &sqlrcur)) return NULL; Py_BEGIN_ALLOW_THREADS rc=((sqlrcursor *)sqlrcur)->executeQuery(); Py_END_ALLOW_THREADS return Py_BuildValue("h", (short)rc);}static PyObject *fetchFromBindCursor(PyObject *self, PyObject *args) { long sqlrcur; bool rc; if (!PyArg_ParseTuple(args, "l", &sqlrcur)) return NULL; Py_BEGIN_ALLOW_THREADS rc=((sqlrcursor *)sqlrcur)->fetchFromBindCursor(); Py_END_ALLOW_THREADS return Py_BuildValue("h", (short)rc);}static PyObject *getOutputBindString(PyObject *self, PyObject *args) { char *variable; long sqlrcur; const char *rc; uint32_t rl; if (!PyArg_ParseTuple(args, "ls", &sqlrcur, &variable)) return NULL; rc=((sqlrcursor *)sqlrcur)->getOutputBindString(variable); rl=((sqlrcursor *)sqlrcur)->getOutputBindLength(variable); return Py_BuildValue("s#", rc, rl);}static PyObject *getOutputBindBlob(PyObject *self, PyObject *args) { char *variable; long sqlrcur; const char *rc; uint32_t rl; if (!PyArg_ParseTuple(args, "ls", &sqlrcur, &variable)) return NULL; rc=((sqlrcursor *)sqlrcur)->getOutputBindBlob(variable); rl=((sqlrcursor *)sqlrcur)->getOutputBindLength(variable); return Py_BuildValue("s#", rc, rl);}static PyObject *getOutputBindClob(PyObject *self, PyObject *args) { char *variable; long sqlrcur; const char *rc; uint32_t rl; if (!PyArg_ParseTuple(args, "ls", &sqlrcur, &variable)) return NULL; rc=((sqlrcursor *)sqlrcur)->getOutputBindClob(variable); rl=((sqlrcursor *)sqlrcur)->getOutputBindLength(variable); return Py_BuildValue("s#", rc, rl);}static PyObject *getOutputBindInteger(PyObject *self, PyObject *args) { char *variable; long sqlrcur; int64_t rc; if (!PyArg_ParseTuple(args, "ls", &sqlrcur, &variable)) return NULL; rc=((sqlrcursor *)sqlrcur)->getOutputBindInteger(variable); // FIXME: lame, python doesn't support building values from int64_t's return Py_BuildValue("l", (long)rc);}static PyObject *getOutputBindDouble(PyObject *self, PyObject *args) { char *variable; long sqlrcur; double rc; if (!PyArg_ParseTuple(args, "ls", &sqlrcur, &variable)) return NULL; rc=((sqlrcursor *)sqlrcur)->getOutputBindDouble(variable); return Py_BuildValue("d", rc);}static PyObject *getOutputBindLength(PyObject *self, PyObject *args) { char *variable; long sqlrcur; uint32_t rc; if (!PyArg_ParseTuple(args, "ls", &sqlrcur, &variable)) return NULL; rc=((sqlrcursor *)sqlrcur)->getOutputBindLength(variable); // FIXME: lame, python doesn't support building values from uint32_t's return Py_BuildValue("l", (long)rc);}static PyObject *openCachedResultSet(PyObject *self, PyObject *args) { long sqlrcur; bool rc; char *filename; if (!PyArg_ParseTuple(args, "ls", &sqlrcur, &filename)) return NULL; Py_BEGIN_ALLOW_THREADS rc=((sqlrcursor *)sqlrcur)->openCachedResultSet(filename); Py_END_ALLOW_THREADS return Py_BuildValue("h", (short)rc);}static PyObject *colCount(PyObject *self, PyObject *args) { long sqlrcur; uint32_t rc; if (!PyArg_ParseTuple(args, "l", &sqlrcur)) return NULL; rc=((sqlrcursor *)sqlrcur)->colCount(); // FIXME: lame, python doesn't support building values from uint32_t's return Py_BuildValue("l", (long)rc);}static PyObject *rowCount(PyObject *self, PyObject *args) { long sqlrcur; uint64_t rc; if (!PyArg_ParseTuple(args, "l", &sqlrcur)) return NULL; rc=((sqlrcursor *)sqlrcur)->rowCount();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -