summaryrefslogtreecommitdiffstats
path: root/contrib/tools/python3/Modules/_sqlite/module.h
diff options
context:
space:
mode:
authorthegeorg <[email protected]>2024-02-19 02:38:52 +0300
committerthegeorg <[email protected]>2024-02-19 02:50:43 +0300
commitd96fa07134c06472bfee6718b5cfd1679196fc99 (patch)
tree31ec344fa9d3ff8dc038692516b6438dfbdb8a2d /contrib/tools/python3/Modules/_sqlite/module.h
parent452cf9e068aef7110e35e654c5d47eb80111ef89 (diff)
Sync contrib/tools/python3 layout with upstream
* Move src/ subdir contents to the top of the layout * Rename self-written lib -> lib2 to avoid CaseFolding warning from the VCS * Regenerate contrib/libs/python proxy-headers accordingly 4ccc62ac1511abcf0fed14ccade38e984e088f1e
Diffstat (limited to 'contrib/tools/python3/Modules/_sqlite/module.h')
-rw-r--r--contrib/tools/python3/Modules/_sqlite/module.h99
1 files changed, 99 insertions, 0 deletions
diff --git a/contrib/tools/python3/Modules/_sqlite/module.h b/contrib/tools/python3/Modules/_sqlite/module.h
new file mode 100644
index 00000000000..daa22091d38
--- /dev/null
+++ b/contrib/tools/python3/Modules/_sqlite/module.h
@@ -0,0 +1,99 @@
+/* module.h - definitions for the module
+ *
+ * Copyright (C) 2004-2010 Gerhard Häring <[email protected]>
+ *
+ * This file is part of pysqlite.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ */
+
+#ifndef PYSQLITE_MODULE_H
+#define PYSQLITE_MODULE_H
+#define PY_SSIZE_T_CLEAN
+#include "Python.h"
+
+#define LEGACY_TRANSACTION_CONTROL -1
+
+#define PYSQLITE_VERSION "2.6.0"
+#define MODULE_NAME "sqlite3"
+
+typedef struct {
+ PyObject *DataError;
+ PyObject *DatabaseError;
+ PyObject *Error;
+ PyObject *IntegrityError;
+ PyObject *InterfaceError;
+ PyObject *InternalError;
+ PyObject *NotSupportedError;
+ PyObject *OperationalError;
+ PyObject *ProgrammingError;
+ PyObject *Warning;
+
+
+ /* A dictionary, mapping column types (INTEGER, VARCHAR, etc.) to converter
+ * functions, that convert the SQL value to the appropriate Python value.
+ * The key is uppercase.
+ */
+ PyObject *converters;
+
+ PyObject *lru_cache;
+ PyObject *psyco_adapters; // The adapters registry
+ int BaseTypeAdapted;
+ int enable_callback_tracebacks;
+
+ PyTypeObject *BlobType;
+ PyTypeObject *ConnectionType;
+ PyTypeObject *CursorType;
+ PyTypeObject *PrepareProtocolType;
+ PyTypeObject *RowType;
+ PyTypeObject *StatementType;
+
+ /* Pointers to interned strings */
+ PyObject *str___adapt__;
+ PyObject *str___conform__;
+ PyObject *str_executescript;
+ PyObject *str_finalize;
+ PyObject *str_inverse;
+ PyObject *str_step;
+ PyObject *str_upper;
+ PyObject *str_value;
+} pysqlite_state;
+
+extern pysqlite_state pysqlite_global_state;
+
+static inline pysqlite_state *
+pysqlite_get_state(PyObject *module)
+{
+ pysqlite_state *state = (pysqlite_state *)PyModule_GetState(module);
+ assert(state != NULL);
+ return state;
+}
+
+extern struct PyModuleDef _sqlite3module;
+static inline pysqlite_state *
+pysqlite_get_state_by_type(PyTypeObject *tp)
+{
+ PyObject *module = PyType_GetModuleByDef(tp, &_sqlite3module);
+ assert(module != NULL);
+ return pysqlite_get_state(module);
+}
+
+extern const char *pysqlite_error_name(int rc);
+
+#define PARSE_DECLTYPES 1
+#define PARSE_COLNAMES 2
+#endif