LCOV - code coverage report
Current view: | top level - Modules/_sqlite - module.h (source / functions) |  |  | Hit | Total | Coverage
Test: | CPython 3.12 LCOV report [commit 5e6661bce9] |  | Lines: | 3 | 6 | 50.0 %
Date: | 2023-03-20 08:15:36 |  | Functions: | 1 | 2 | 50.0 %
|  |  | Branches: | 0 | 0 | -

               Branch data     Line data    Source code
           1                 :            : /* module.h - definitions for the module
           2                 :            :  *
           3                 :            :  * Copyright (C) 2004-2010 Gerhard Häring <gh@ghaering.de>
           4                 :            :  *
           5                 :            :  * This file is part of pysqlite.
           6                 :            :  *
           7                 :            :  * This software is provided 'as-is', without any express or implied
           8                 :            :  * warranty.  In no event will the authors be held liable for any damages
           9                 :            :  * arising from the use of this software.
          10                 :            :  *
          11                 :            :  * Permission is granted to anyone to use this software for any purpose,
          12                 :            :  * including commercial applications, and to alter it and redistribute it
          13                 :            :  * freely, subject to the following restrictions:
          14                 :            :  *
          15                 :            :  * 1. The origin of this software must not be misrepresented; you must not
          16                 :            :  *    claim that you wrote the original software. If you use this software
          17                 :            :  *    in a product, an acknowledgment in the product documentation would be
          18                 :            :  *    appreciated but is not required.
          19                 :            :  * 2. Altered source versions must be plainly marked as such, and must not be
          20                 :            :  *    misrepresented as being the original software.
          21                 :            :  * 3. This notice may not be removed or altered from any source distribution.
          22                 :            :  */
          23                 :            :
          24                 :            : #ifndef PYSQLITE_MODULE_H
          25                 :            : #define PYSQLITE_MODULE_H
          26                 :            : #define PY_SSIZE_T_CLEAN
          27                 :            : #include "Python.h"
          28                 :            :
          29                 :            : #define LEGACY_TRANSACTION_CONTROL -1
          30                 :            :
          31                 :            : #define PYSQLITE_VERSION "2.6.0"
          32                 :            : #define MODULE_NAME "sqlite3"
          33                 :            :
          34                 :            : typedef struct {
          35                 :            :     PyObject *DataError;
          36                 :            :     PyObject *DatabaseError;
          37                 :            :     PyObject *Error;
          38                 :            :     PyObject *IntegrityError;
          39                 :            :     PyObject *InterfaceError;
          40                 :            :     PyObject *InternalError;
          41                 :            :     PyObject *NotSupportedError;
          42                 :            :     PyObject *OperationalError;
          43                 :            :     PyObject *ProgrammingError;
          44                 :            :     PyObject *Warning;
          45                 :            :
          46                 :            :
          47                 :            :     /* A dictionary, mapping column types (INTEGER, VARCHAR, etc.) to converter
          48                 :            :      * functions, that convert the SQL value to the appropriate Python value.
          49                 :            :      * The key is uppercase.
          50                 :            :      */
          51                 :            :     PyObject *converters;
          52                 :            :
          53                 :            :     PyObject *lru_cache;
          54                 :            :     PyObject *psyco_adapters;  // The adapters registry
          55                 :            :     int BaseTypeAdapted;
          56                 :            :     int enable_callback_tracebacks;
          57                 :            :
          58                 :            :     PyTypeObject *BlobType;
          59                 :            :     PyTypeObject *ConnectionType;
          60                 :            :     PyTypeObject *CursorType;
          61                 :            :     PyTypeObject *PrepareProtocolType;
          62                 :            :     PyTypeObject *RowType;
          63                 :            :     PyTypeObject *StatementType;
          64                 :            :
          65                 :            :     /* Pointers to interned strings */
          66                 :            :     PyObject *str___adapt__;
          67                 :            :     PyObject *str___conform__;
          68                 :            :     PyObject *str_executescript;
          69                 :            :     PyObject *str_finalize;
          70                 :            :     PyObject *str_inverse;
          71                 :            :     PyObject *str_step;
          72                 :            :     PyObject *str_upper;
          73                 :            :     PyObject *str_value;
          74                 :            : } pysqlite_state;
          75                 :            :
          76                 :            : extern pysqlite_state pysqlite_global_state;
          77                 :            :
          78                 :            : static inline pysqlite_state *
          79                 :         20 : pysqlite_get_state(PyObject *module)
          80                 :            : {
          81                 :         20 :     pysqlite_state *state = (pysqlite_state *)PyModule_GetState(module);
          82                 :            :     assert(state != NULL);
          83                 :         20 :     return state;
          84                 :            : }
          85                 :            :
          86                 :            : extern struct PyModuleDef _sqlite3module;
          87                 :            : static inline pysqlite_state *
          88                 :          0 : pysqlite_get_state_by_type(PyTypeObject *tp)
          89                 :            : {
          90                 :          0 :     PyObject *module = PyType_GetModuleByDef(tp, &_sqlite3module);
          91                 :            :     assert(module != NULL);
          92                 :          0 :     return pysqlite_get_state(module);
          93                 :            : }
          94                 :            :
          95                 :            : extern const char *pysqlite_error_name(int rc);
          96                 :            :
          97                 :            : #define PARSE_DECLTYPES 1
          98                 :            : #define PARSE_COLNAMES 2
          99                 :            : #endif

Generated by: LCOV version 1.14