|
| 1 | +import sys |
| 2 | +from _typeshed import ReadableBuffer, StrOrBytesPath |
| 3 | +from collections.abc import Callable |
| 4 | +from sqlite3 import ( |
| 5 | + Connection as Connection, |
| 6 | + Cursor as Cursor, |
| 7 | + DatabaseError as DatabaseError, |
| 8 | + DataError as DataError, |
| 9 | + Error as Error, |
| 10 | + IntegrityError as IntegrityError, |
| 11 | + InterfaceError as InterfaceError, |
| 12 | + InternalError as InternalError, |
| 13 | + NotSupportedError as NotSupportedError, |
| 14 | + OperationalError as OperationalError, |
| 15 | + PrepareProtocol as PrepareProtocol, |
| 16 | + ProgrammingError as ProgrammingError, |
| 17 | + Row as Row, |
| 18 | + Warning as Warning, |
| 19 | +) |
| 20 | +from typing import Any, Final, Literal, TypeVar, overload |
| 21 | +from typing_extensions import TypeAlias |
| 22 | + |
| 23 | +if sys.version_info >= (3, 11): |
| 24 | + from sqlite3 import Blob as Blob |
| 25 | + |
| 26 | +_T = TypeVar("_T") |
| 27 | +_ConnectionT = TypeVar("_ConnectionT", bound=Connection) |
| 28 | +_SqliteData: TypeAlias = str | ReadableBuffer | int | float | None |
| 29 | +_Adapter: TypeAlias = Callable[[_T], _SqliteData] |
| 30 | +_Converter: TypeAlias = Callable[[bytes], Any] |
| 31 | + |
| 32 | +PARSE_COLNAMES: Final[int] |
| 33 | +PARSE_DECLTYPES: Final[int] |
| 34 | +SQLITE_ALTER_TABLE: Final[int] |
| 35 | +SQLITE_ANALYZE: Final[int] |
| 36 | +SQLITE_ATTACH: Final[int] |
| 37 | +SQLITE_CREATE_INDEX: Final[int] |
| 38 | +SQLITE_CREATE_TABLE: Final[int] |
| 39 | +SQLITE_CREATE_TEMP_INDEX: Final[int] |
| 40 | +SQLITE_CREATE_TEMP_TABLE: Final[int] |
| 41 | +SQLITE_CREATE_TEMP_TRIGGER: Final[int] |
| 42 | +SQLITE_CREATE_TEMP_VIEW: Final[int] |
| 43 | +SQLITE_CREATE_TRIGGER: Final[int] |
| 44 | +SQLITE_CREATE_VIEW: Final[int] |
| 45 | +SQLITE_CREATE_VTABLE: Final[int] |
| 46 | +SQLITE_DELETE: Final[int] |
| 47 | +SQLITE_DENY: Final[int] |
| 48 | +SQLITE_DETACH: Final[int] |
| 49 | +SQLITE_DONE: Final[int] |
| 50 | +SQLITE_DROP_INDEX: Final[int] |
| 51 | +SQLITE_DROP_TABLE: Final[int] |
| 52 | +SQLITE_DROP_TEMP_INDEX: Final[int] |
| 53 | +SQLITE_DROP_TEMP_TABLE: Final[int] |
| 54 | +SQLITE_DROP_TEMP_TRIGGER: Final[int] |
| 55 | +SQLITE_DROP_TEMP_VIEW: Final[int] |
| 56 | +SQLITE_DROP_TRIGGER: Final[int] |
| 57 | +SQLITE_DROP_VIEW: Final[int] |
| 58 | +SQLITE_DROP_VTABLE: Final[int] |
| 59 | +SQLITE_FUNCTION: Final[int] |
| 60 | +SQLITE_IGNORE: Final[int] |
| 61 | +SQLITE_INSERT: Final[int] |
| 62 | +SQLITE_OK: Final[int] |
| 63 | +SQLITE_PRAGMA: Final[int] |
| 64 | +SQLITE_READ: Final[int] |
| 65 | +SQLITE_RECURSIVE: Final[int] |
| 66 | +SQLITE_REINDEX: Final[int] |
| 67 | +SQLITE_SAVEPOINT: Final[int] |
| 68 | +SQLITE_SELECT: Final[int] |
| 69 | +SQLITE_TRANSACTION: Final[int] |
| 70 | +SQLITE_UPDATE: Final[int] |
| 71 | +adapters: dict[tuple[type[Any], type[Any]], _Adapter[Any]] |
| 72 | +converters: dict[str, _Converter] |
| 73 | +sqlite_version: str |
| 74 | + |
| 75 | +if sys.version_info < (3, 12): |
| 76 | + version: str |
| 77 | + |
| 78 | +if sys.version_info >= (3, 12): |
| 79 | + LEGACY_TRANSACTION_CONTROL: Final[int] |
| 80 | + SQLITE_DBCONFIG_DEFENSIVE: Final[int] |
| 81 | + SQLITE_DBCONFIG_DQS_DDL: Final[int] |
| 82 | + SQLITE_DBCONFIG_DQS_DML: Final[int] |
| 83 | + SQLITE_DBCONFIG_ENABLE_FKEY: Final[int] |
| 84 | + SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER: Final[int] |
| 85 | + SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION: Final[int] |
| 86 | + SQLITE_DBCONFIG_ENABLE_QPSG: Final[int] |
| 87 | + SQLITE_DBCONFIG_ENABLE_TRIGGER: Final[int] |
| 88 | + SQLITE_DBCONFIG_ENABLE_VIEW: Final[int] |
| 89 | + SQLITE_DBCONFIG_LEGACY_ALTER_TABLE: Final[int] |
| 90 | + SQLITE_DBCONFIG_LEGACY_FILE_FORMAT: Final[int] |
| 91 | + SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE: Final[int] |
| 92 | + SQLITE_DBCONFIG_RESET_DATABASE: Final[int] |
| 93 | + SQLITE_DBCONFIG_TRIGGER_EQP: Final[int] |
| 94 | + SQLITE_DBCONFIG_TRUSTED_SCHEMA: Final[int] |
| 95 | + SQLITE_DBCONFIG_WRITABLE_SCHEMA: Final[int] |
| 96 | + |
| 97 | +if sys.version_info >= (3, 11): |
| 98 | + SQLITE_ABORT: Final[int] |
| 99 | + SQLITE_ABORT_ROLLBACK: Final[int] |
| 100 | + SQLITE_AUTH: Final[int] |
| 101 | + SQLITE_AUTH_USER: Final[int] |
| 102 | + SQLITE_BUSY: Final[int] |
| 103 | + SQLITE_BUSY_RECOVERY: Final[int] |
| 104 | + SQLITE_BUSY_SNAPSHOT: Final[int] |
| 105 | + SQLITE_BUSY_TIMEOUT: Final[int] |
| 106 | + SQLITE_CANTOPEN: Final[int] |
| 107 | + SQLITE_CANTOPEN_CONVPATH: Final[int] |
| 108 | + SQLITE_CANTOPEN_DIRTYWAL: Final[int] |
| 109 | + SQLITE_CANTOPEN_FULLPATH: Final[int] |
| 110 | + SQLITE_CANTOPEN_ISDIR: Final[int] |
| 111 | + SQLITE_CANTOPEN_NOTEMPDIR: Final[int] |
| 112 | + SQLITE_CANTOPEN_SYMLINK: Final[int] |
| 113 | + SQLITE_CONSTRAINT: Final[int] |
| 114 | + SQLITE_CONSTRAINT_CHECK: Final[int] |
| 115 | + SQLITE_CONSTRAINT_COMMITHOOK: Final[int] |
| 116 | + SQLITE_CONSTRAINT_FOREIGNKEY: Final[int] |
| 117 | + SQLITE_CONSTRAINT_FUNCTION: Final[int] |
| 118 | + SQLITE_CONSTRAINT_NOTNULL: Final[int] |
| 119 | + SQLITE_CONSTRAINT_PINNED: Final[int] |
| 120 | + SQLITE_CONSTRAINT_PRIMARYKEY: Final[int] |
| 121 | + SQLITE_CONSTRAINT_ROWID: Final[int] |
| 122 | + SQLITE_CONSTRAINT_TRIGGER: Final[int] |
| 123 | + SQLITE_CONSTRAINT_UNIQUE: Final[int] |
| 124 | + SQLITE_CONSTRAINT_VTAB: Final[int] |
| 125 | + SQLITE_CORRUPT: Final[int] |
| 126 | + SQLITE_CORRUPT_INDEX: Final[int] |
| 127 | + SQLITE_CORRUPT_SEQUENCE: Final[int] |
| 128 | + SQLITE_CORRUPT_VTAB: Final[int] |
| 129 | + SQLITE_EMPTY: Final[int] |
| 130 | + SQLITE_ERROR: Final[int] |
| 131 | + SQLITE_ERROR_MISSING_COLLSEQ: Final[int] |
| 132 | + SQLITE_ERROR_RETRY: Final[int] |
| 133 | + SQLITE_ERROR_SNAPSHOT: Final[int] |
| 134 | + SQLITE_FORMAT: Final[int] |
| 135 | + SQLITE_FULL: Final[int] |
| 136 | + SQLITE_INTERNAL: Final[int] |
| 137 | + SQLITE_INTERRUPT: Final[int] |
| 138 | + SQLITE_IOERR: Final[int] |
| 139 | + SQLITE_IOERR_ACCESS: Final[int] |
| 140 | + SQLITE_IOERR_AUTH: Final[int] |
| 141 | + SQLITE_IOERR_BEGIN_ATOMIC: Final[int] |
| 142 | + SQLITE_IOERR_BLOCKED: Final[int] |
| 143 | + SQLITE_IOERR_CHECKRESERVEDLOCK: Final[int] |
| 144 | + SQLITE_IOERR_CLOSE: Final[int] |
| 145 | + SQLITE_IOERR_COMMIT_ATOMIC: Final[int] |
| 146 | + SQLITE_IOERR_CONVPATH: Final[int] |
| 147 | + SQLITE_IOERR_CORRUPTFS: Final[int] |
| 148 | + SQLITE_IOERR_DATA: Final[int] |
| 149 | + SQLITE_IOERR_DELETE: Final[int] |
| 150 | + SQLITE_IOERR_DELETE_NOENT: Final[int] |
| 151 | + SQLITE_IOERR_DIR_CLOSE: Final[int] |
| 152 | + SQLITE_IOERR_DIR_FSYNC: Final[int] |
| 153 | + SQLITE_IOERR_FSTAT: Final[int] |
| 154 | + SQLITE_IOERR_FSYNC: Final[int] |
| 155 | + SQLITE_IOERR_GETTEMPPATH: Final[int] |
| 156 | + SQLITE_IOERR_LOCK: Final[int] |
| 157 | + SQLITE_IOERR_MMAP: Final[int] |
| 158 | + SQLITE_IOERR_NOMEM: Final[int] |
| 159 | + SQLITE_IOERR_RDLOCK: Final[int] |
| 160 | + SQLITE_IOERR_READ: Final[int] |
| 161 | + SQLITE_IOERR_ROLLBACK_ATOMIC: Final[int] |
| 162 | + SQLITE_IOERR_SEEK: Final[int] |
| 163 | + SQLITE_IOERR_SHMLOCK: Final[int] |
| 164 | + SQLITE_IOERR_SHMMAP: Final[int] |
| 165 | + SQLITE_IOERR_SHMOPEN: Final[int] |
| 166 | + SQLITE_IOERR_SHMSIZE: Final[int] |
| 167 | + SQLITE_IOERR_SHORT_READ: Final[int] |
| 168 | + SQLITE_IOERR_TRUNCATE: Final[int] |
| 169 | + SQLITE_IOERR_UNLOCK: Final[int] |
| 170 | + SQLITE_IOERR_VNODE: Final[int] |
| 171 | + SQLITE_IOERR_WRITE: Final[int] |
| 172 | + SQLITE_LIMIT_ATTACHED: Final[int] |
| 173 | + SQLITE_LIMIT_COLUMN: Final[int] |
| 174 | + SQLITE_LIMIT_COMPOUND_SELECT: Final[int] |
| 175 | + SQLITE_LIMIT_EXPR_DEPTH: Final[int] |
| 176 | + SQLITE_LIMIT_FUNCTION_ARG: Final[int] |
| 177 | + SQLITE_LIMIT_LENGTH: Final[int] |
| 178 | + SQLITE_LIMIT_LIKE_PATTERN_LENGTH: Final[int] |
| 179 | + SQLITE_LIMIT_SQL_LENGTH: Final[int] |
| 180 | + SQLITE_LIMIT_TRIGGER_DEPTH: Final[int] |
| 181 | + SQLITE_LIMIT_VARIABLE_NUMBER: Final[int] |
| 182 | + SQLITE_LIMIT_VDBE_OP: Final[int] |
| 183 | + SQLITE_LIMIT_WORKER_THREADS: Final[int] |
| 184 | + SQLITE_LOCKED: Final[int] |
| 185 | + SQLITE_LOCKED_SHAREDCACHE: Final[int] |
| 186 | + SQLITE_LOCKED_VTAB: Final[int] |
| 187 | + SQLITE_MISMATCH: Final[int] |
| 188 | + SQLITE_MISUSE: Final[int] |
| 189 | + SQLITE_NOLFS: Final[int] |
| 190 | + SQLITE_NOMEM: Final[int] |
| 191 | + SQLITE_NOTADB: Final[int] |
| 192 | + SQLITE_NOTFOUND: Final[int] |
| 193 | + SQLITE_NOTICE: Final[int] |
| 194 | + SQLITE_NOTICE_RECOVER_ROLLBACK: Final[int] |
| 195 | + SQLITE_NOTICE_RECOVER_WAL: Final[int] |
| 196 | + SQLITE_OK_LOAD_PERMANENTLY: Final[int] |
| 197 | + SQLITE_OK_SYMLINK: Final[int] |
| 198 | + SQLITE_PERM: Final[int] |
| 199 | + SQLITE_PROTOCOL: Final[int] |
| 200 | + SQLITE_RANGE: Final[int] |
| 201 | + SQLITE_READONLY: Final[int] |
| 202 | + SQLITE_READONLY_CANTINIT: Final[int] |
| 203 | + SQLITE_READONLY_CANTLOCK: Final[int] |
| 204 | + SQLITE_READONLY_DBMOVED: Final[int] |
| 205 | + SQLITE_READONLY_DIRECTORY: Final[int] |
| 206 | + SQLITE_READONLY_RECOVERY: Final[int] |
| 207 | + SQLITE_READONLY_ROLLBACK: Final[int] |
| 208 | + SQLITE_ROW: Final[int] |
| 209 | + SQLITE_SCHEMA: Final[int] |
| 210 | + SQLITE_TOOBIG: Final[int] |
| 211 | + SQLITE_WARNING: Final[int] |
| 212 | + SQLITE_WARNING_AUTOINDEX: Final[int] |
| 213 | + threadsafety: Final[int] |
| 214 | + |
| 215 | +# Can take or return anything depending on what's in the registry. |
| 216 | +@overload |
| 217 | +def adapt(obj: Any, proto: Any, /) -> Any: ... |
| 218 | +@overload |
| 219 | +def adapt(obj: Any, proto: Any, alt: _T, /) -> Any | _T: ... |
| 220 | +def complete_statement(statement: str) -> bool: ... |
| 221 | + |
| 222 | +if sys.version_info >= (3, 12): |
| 223 | + @overload |
| 224 | + def connect( |
| 225 | + database: StrOrBytesPath, |
| 226 | + timeout: float = 5.0, |
| 227 | + detect_types: int = 0, |
| 228 | + isolation_level: Literal["DEFERRED", "EXCLUSIVE", "IMMEDIATE"] | None = "DEFERRED", |
| 229 | + check_same_thread: bool = True, |
| 230 | + cached_statements: int = 128, |
| 231 | + uri: bool = False, |
| 232 | + *, |
| 233 | + autocommit: bool = ..., |
| 234 | + ) -> Connection: ... |
| 235 | + @overload |
| 236 | + def connect( |
| 237 | + database: StrOrBytesPath, |
| 238 | + timeout: float, |
| 239 | + detect_types: int, |
| 240 | + isolation_level: Literal["DEFERRED", "EXCLUSIVE", "IMMEDIATE"] | None, |
| 241 | + check_same_thread: bool, |
| 242 | + factory: type[_ConnectionT], |
| 243 | + cached_statements: int = 128, |
| 244 | + uri: bool = False, |
| 245 | + *, |
| 246 | + autocommit: bool = ..., |
| 247 | + ) -> _ConnectionT: ... |
| 248 | + @overload |
| 249 | + def connect( |
| 250 | + database: StrOrBytesPath, |
| 251 | + timeout: float = 5.0, |
| 252 | + detect_types: int = 0, |
| 253 | + isolation_level: Literal["DEFERRED", "EXCLUSIVE", "IMMEDIATE"] | None = "DEFERRED", |
| 254 | + check_same_thread: bool = True, |
| 255 | + *, |
| 256 | + factory: type[_ConnectionT], |
| 257 | + cached_statements: int = 128, |
| 258 | + uri: bool = False, |
| 259 | + autocommit: bool = ..., |
| 260 | + ) -> _ConnectionT: ... |
| 261 | + |
| 262 | +else: |
| 263 | + @overload |
| 264 | + def connect( |
| 265 | + database: StrOrBytesPath, |
| 266 | + timeout: float = 5.0, |
| 267 | + detect_types: int = 0, |
| 268 | + isolation_level: Literal["DEFERRED", "EXCLUSIVE", "IMMEDIATE"] | None = "DEFERRED", |
| 269 | + check_same_thread: bool = True, |
| 270 | + cached_statements: int = 128, |
| 271 | + uri: bool = False, |
| 272 | + ) -> Connection: ... |
| 273 | + @overload |
| 274 | + def connect( |
| 275 | + database: StrOrBytesPath, |
| 276 | + timeout: float, |
| 277 | + detect_types: int, |
| 278 | + isolation_level: Literal["DEFERRED", "EXCLUSIVE", "IMMEDIATE"] | None, |
| 279 | + check_same_thread: bool, |
| 280 | + factory: type[_ConnectionT], |
| 281 | + cached_statements: int = 128, |
| 282 | + uri: bool = False, |
| 283 | + ) -> _ConnectionT: ... |
| 284 | + @overload |
| 285 | + def connect( |
| 286 | + database: StrOrBytesPath, |
| 287 | + timeout: float = 5.0, |
| 288 | + detect_types: int = 0, |
| 289 | + isolation_level: Literal["DEFERRED", "EXCLUSIVE", "IMMEDIATE"] | None = "DEFERRED", |
| 290 | + check_same_thread: bool = True, |
| 291 | + *, |
| 292 | + factory: type[_ConnectionT], |
| 293 | + cached_statements: int = 128, |
| 294 | + uri: bool = False, |
| 295 | + ) -> _ConnectionT: ... |
| 296 | + |
| 297 | +def enable_callback_tracebacks(enable: bool, /) -> None: ... |
| 298 | + |
| 299 | +if sys.version_info < (3, 12): |
| 300 | + # takes a pos-or-keyword argument because there is a C wrapper |
| 301 | + def enable_shared_cache(do_enable: int) -> None: ... |
| 302 | + |
| 303 | +if sys.version_info >= (3, 10): |
| 304 | + def register_adapter(type: type[_T], adapter: _Adapter[_T], /) -> None: ... |
| 305 | + def register_converter(typename: str, converter: _Converter, /) -> None: ... |
| 306 | + |
| 307 | +else: |
| 308 | + def register_adapter(type: type[_T], caster: _Adapter[_T], /) -> None: ... |
| 309 | + def register_converter(name: str, converter: _Converter, /) -> None: ... |
| 310 | + |
| 311 | +if sys.version_info < (3, 10): |
| 312 | + OptimizedUnicode = str |
0 commit comments