diff --git a/.buildinfo b/.buildinfo index bc754343..072792c4 100644 --- a/.buildinfo +++ b/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 22e5b5a366d8c091154229ef6a20f2e9 +config: ca78e81c3b9a965fdf82635b8983adea tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/_modules/apsw/bestpractice.html b/_modules/apsw/bestpractice.html index 1b665376..0a0aa00d 100644 --- a/_modules/apsw/bestpractice.html +++ b/_modules/apsw/bestpractice.html @@ -3,7 +3,7 @@ - apsw.bestpractice — APSW 3.43.1.0 documentation + apsw.bestpractice — APSW 3.43.1.1 documentation @@ -13,7 +13,7 @@ - + @@ -36,7 +36,7 @@
- 3.43.1.0 + 3.43.1.1
@@ -218,7 +218,7 @@

Source code for apsw.bestpractice

 
   

© Copyright 2004-2023, Roger Binns <rogerb@rogerbinns.com>. - Last updated on Sep 13, 2023. + Last updated on Oct 06, 2023.

diff --git a/_modules/apsw/ext.html b/_modules/apsw/ext.html index 4c5f74b9..7eb383b3 100644 --- a/_modules/apsw/ext.html +++ b/_modules/apsw/ext.html @@ -3,7 +3,7 @@ - apsw.ext — APSW 3.43.1.0 documentation + apsw.ext — APSW 3.43.1.1 documentation @@ -13,7 +13,7 @@ - + @@ -36,7 +36,7 @@
- 3.43.1.0 + 3.43.1.1
@@ -1883,7 +1883,7 @@

Source code for apsw.ext

 
   

© Copyright 2004-2023, Roger Binns <rogerb@rogerbinns.com>. - Last updated on Sep 13, 2023. + Last updated on Oct 06, 2023.

diff --git a/_modules/apsw/shell.html b/_modules/apsw/shell.html index 1b466df5..99f7483a 100644 --- a/_modules/apsw/shell.html +++ b/_modules/apsw/shell.html @@ -3,7 +3,7 @@ - apsw.shell — APSW 3.43.1.0 documentation + apsw.shell — APSW 3.43.1.1 documentation @@ -13,7 +13,7 @@ - + @@ -36,7 +36,7 @@
- 3.43.1.0 + 3.43.1.1
@@ -104,6 +104,8 @@

Source code for apsw.shell

 
 from __future__ import annotations
 
+# mypy: ignore-errors
+
 import argparse
 import base64
 import code
@@ -3718,7 +3720,7 @@ 

Source code for apsw.shell

 
   

© Copyright 2004-2023, Roger Binns <rogerb@rogerbinns.com>. - Last updated on Sep 13, 2023. + Last updated on Oct 06, 2023.

diff --git a/_modules/index.html b/_modules/index.html index a09108d6..be75421f 100644 --- a/_modules/index.html +++ b/_modules/index.html @@ -3,7 +3,7 @@ - Overview: module code — APSW 3.43.1.0 documentation + Overview: module code — APSW 3.43.1.1 documentation @@ -13,7 +13,7 @@ - + @@ -36,7 +36,7 @@
- 3.43.1.0 + 3.43.1.1
@@ -112,7 +112,7 @@

All modules for which code is available

© Copyright 2004-2023, Roger Binns <rogerb@rogerbinns.com>. - Last updated on Sep 13, 2023. + Last updated on Oct 06, 2023.

diff --git a/_sources/changes.rst.txt b/_sources/changes.rst.txt index f3ffa5bc..acb8b5dd 100644 --- a/_sources/changes.rst.txt +++ b/_sources/changes.rst.txt @@ -3,12 +3,24 @@ Change History .. currentmodule:: apsw +3.43.1.1 +======== + +:doc:`Exception ` handling has been updated, with multiple +exceptions in the same SQLite control flow being chained together. +Previously more would have used the :ref:`unraisable ` +mechanism. (:issue:`489`) + +Only use alloca with msvc because it doesn't support `VLA +`__. The arrays +are used for fastcall. (:issue:`487`) + 3.43.1.0 ======== All C code calling into Python and all C code called by Python uses vectorcall / fastcall (see :pep:`590`) which reduces the overhead of -passing and receiving positional and keyword arguments. (:issue:`477` +passing and receiving positional and keyword arguments. (:issue:`477`, :issue:`446`): * Conversion of arguments from Python values to C values drops generic diff --git a/_sources/example.rst.txt b/_sources/example.rst.txt index e0cfb0e0..61ed0840 100644 --- a/_sources/example.rst.txt +++ b/_sources/example.rst.txt @@ -59,7 +59,7 @@ Checking APSW and SQLite versions .. code-block:: output Using APSW file /space/apsw/apsw/__init__.cpython-311-x86_64-linux-gnu.so - APSW version 3.43.1.0 + APSW version 3.43.1.1 SQLite header version 3043001 SQLite lib version 3.43.1 Using amalgamation True @@ -1211,7 +1211,7 @@ feedback and allows cancelling. progress handler called progress handler called progress handler called - (9820078994,) + (9973029666,) .. index:: File Control (example code) @@ -1316,7 +1316,8 @@ with :meth:`Connection.setcommithook`. .. code-block:: output in commit hook - commits okay at this time + no commits out of hours + commit was not allowed .. index:: Update hook (example code) @@ -1613,10 +1614,10 @@ useful instead. │ .local │ 1534 │ │ .o │ 20304 │ │ .ps1 │ 9033 │ - │ .py │ 11773809 │ - │ .pyc │ 13256978 │ + │ .py │ 11776971 │ + │ .pyc │ 13267393 │ │ .rst │ 9561 │ - │ .sh │ 3932 │ + │ .sh │ 3941 │ │ .so │ 27584936 │ │ .stdlib │ 10752 │ │ .supp │ 70 │ @@ -1887,9 +1888,9 @@ Python. Dump output - -- SQLite dump (by APSW 3.43.1.0) + -- SQLite dump (by APSW 3.43.1.1) -- SQLite version 3.43.1 - -- Date: Wed Sep 13 15:58:02 2023 + -- Date: Fri Oct 6 07:11:15 2023 -- Tables like: csvtest% -- Database: /space/apsw/dbfile -- User: rogerb @ clamps @@ -1935,7 +1936,7 @@ SQLite provides statistics by :meth:`status` .. code-block:: output - SQLite memory usage 438680 max 2346512 + SQLite memory usage 433992 max 2341792 .. index:: Tracing (example code) diff --git a/_sources/exceptions.rst.txt b/_sources/exceptions.rst.txt index ac2ada1a..f966569e 100644 --- a/_sources/exceptions.rst.txt +++ b/_sources/exceptions.rst.txt @@ -12,27 +12,33 @@ systems as needed. Exceptions raised in Python code called by SQLite will have that exception present when control returns to Python, and SQLite will understand that an error occurred. +Chaining +-------- + +When an error is reported to SQLite, it may take further actions. For +example errors in :doc:`VFS ` can result in error recovery +attempts, while an error in a window function step method will result +in the final method being called to do clean up. Your code +implementing those could also have additional exceptions. + +When multiple exceptions occur in the same SQLite control flow then +they will be :pep:`chained <3134>`. Python's traceback printing code +will show `all the exceptions +`__. + + .. _unraisable: Unraisable ---------- There are a few places where it is not possible for a Python exception -to be reported to SQLite as an error, typically because SQLite does -not allow an error to be signalled in that context. Another example -would be in :doc:`VFS ` code, because SQLite takes actions to -recover from errors (eg it may try to rollback a transaction on a -write error). Python wants to return to callers, not continue -execution while the exception is pending. (Also only one exception -can be active at a time.) - -Unraisable exceptions in VFS code are handled by calling -:meth:`VFS.excepthook` or :meth:`VFSFile.excepthook` (:ref:`more info -`). In other code `sys.unraisablehook -`__ is -called, and if that is not present then `sys.excepthook -`__ is -called. +to be reported to SQLite as an error, and Python C code does not allow +destructors to report exceptions. These exceptions are reported via +`sys.unraisablehook +`__, +and if that is not present then `sys.excepthook +`__. `sqlite3_log `__ is also called so that you will have the context of when the exception happened diff --git a/_sources/install.rst.txt b/_sources/install.rst.txt index 1da99d7e..79a88a86 100644 --- a/_sources/install.rst.txt +++ b/_sources/install.rst.txt @@ -136,12 +136,12 @@ edit the :file:`setup.apsw` file inside. .. downloads-begin -* `apsw-3.43.1.0.zip - `__ +* `apsw-3.43.1.1.zip + `__ (Source, includes this HTML Help) -* `apsw-3.43.1.0-sigs.zip - `__ +* `apsw-3.43.1.1-sigs.zip + `__ GPG signatures for all files .. downloads-end @@ -164,7 +164,7 @@ Verify To verify a file use --verify specifying the corresponding ``.asc`` filename. This example verifies the source:: - $ gpg --verify apsw-3.43.1.0.zip.asc + $ gpg --verify apsw-3.43.1.1.zip.asc gpg: Signature made ... date ... using DSA key ID 0DFBD904 gpg: Good signature from "Roger Binns " diff --git a/_sources/tips.rst.txt b/_sources/tips.rst.txt index cc7f53b5..91c44c49 100644 --- a/_sources/tips.rst.txt +++ b/_sources/tips.rst.txt @@ -15,7 +15,9 @@ also unique in many ways. Read about the unique features at the `SQLite website `__ and `quirks `__. -:doc:`Best practice ` is recommended. +.. tip:: + + :doc:`Best practice ` is recommended. Transactions ============ @@ -80,18 +82,19 @@ from each other. Anything done on one cursor is immediately visible to all other Cursors on the same connection. This still applies if you start transactions. Connections are isolated from each other. -Cursor objects are obtained by :meth:`Connection.cursor` and are very -cheap. It is best practise to not re-use them, and instead get a new one -each time. If you don't, code refactoring and nested loops can unintentionally -use the same cursor object which will not crash but will cause hard to -diagnose behaviour in your program. +:meth:`Connection.execute` and :meth:`Connection.executemany` +automatically obtains cursors from :meth:`Connection.cursor` which +are very cheap. It is best practise to not re-use them, and instead +get a new one each time. If you don't, code refactoring and nested +loops can unintentionally use the same cursor object which will not +crash but will cause hard to diagnose behaviour in your program. Read more about :ref:`Cursors `. Bindings ======== -When using a cursor, always use bindings. `String interpolation +When issuing a query, always use bindings. `String interpolation `_ may seem more convenient but you will encounter difficulties. You may feel that you have complete control over all data accessed but if your @@ -184,29 +187,6 @@ Sometimes you want to know what a particular SQL statement does. Use :func:`apsw.ext.query_info` which will provide as much detail as you need. -Unexpected behaviour -==================== - -Occasionally you may get different results than you expected. Before -littering your code with *print*, try :ref:`apswtrace ` -with all options turned on to see exactly what is going on. You can -also use the :ref:`SQLite shell ` to dump the contents of your -database to a text file. For example you could dump it before and -after a run to see what changed. - -One fairly common gotcha is using double quotes instead of single -quotes. (This wouldn't be a problem if you use bindings!) SQL -strings use single quotes. If you use double quotes then it will -mostly appear to work, but they are intended to be used for -identifiers such as column names. For example if you have a column -named ``a b`` (a space b) then you would need to use:: - - SELECT "a b" from table - -If you use double quotes and happen to use a string whose contents are -the same as a table, alias, column etc then unexpected results will -occur. - .. _customizing_connection_cursor: Customizing Connections @@ -282,33 +262,6 @@ design SQL schemas is called `normalization `_. The page also shows common pitfalls if you don't normalize your schema. -.. _sharedcache: - -Shared Cache Mode -================= - -SQLite supports a `shared cache mode -`__ where multiple connections -to the same database can share a cache instead of having their own. -It is not recommended that you use this mode. - -A big issue is that :ref:`busy handling ` is not done -the same way. The timeouts and handlers are ignored and instead -*SQLITE_LOCKED_SHAREDCACHE* extended error is returned. -Consequently you will have to do your own busy handling. (`SQLite -ticket -`__, -:issue:`59`) - -The amount of memory and I/O saved is trivial compared to Python's -overall memory and I/O consumption. You may also need to tune the -shared cache's memory back up to what it would have been with separate -connections to get the same performance. - -The shared cache mode is targeted at embedded systems where every -byte of memory and I/O matters. For example an MP3 player may only -have kilobytes of memory available for SQLite. - .. _wal: Write Ahead Logging @@ -322,7 +275,7 @@ can also turn it on for all opened databases by using :attr:`connection_hooks`:: def setwal(db): - db.execute("pragma journal_mode=wal") + db.pragma("journal_mode", "wal") # custom auto checkpoint interval (use zero to disable) db.wal_autocheckpoint(10) @@ -338,3 +291,18 @@ If you write your own VFS, then inheriting from an existing VFS that supports WAL will make your VFS support the extra WAL methods too. (Your VFS will point directly to the base methods - there is no indirect call via Python.) + +.. _sharedcache: + +Shared Cache Mode +================= + +SQLite supports a `shared cache mode +`__ where multiple connections to +the same database can share a cache instead of having their own. +SQLite recommend that `you do not use this mode +`__. + +If you do use it, be aware that :ref:`busy handling ` is +very different, and that you are unlikely to save any memory or I/O +compared to what Python programs usually do. diff --git a/_sources/vfs.rst.txt b/_sources/vfs.rst.txt index 4bab9190..4db4c9fe 100644 --- a/_sources/vfs.rst.txt +++ b/_sources/vfs.rst.txt @@ -36,17 +36,14 @@ instance that has your overridden :class:`VFSFile` methods. The :ref:`example ` demonstrates obfuscating the database file contents. -.. _vfserrors: - Exceptions and errors ===================== To return an error from any routine you should raise an exception. The -exception will be translated into the appropriate SQLite error code -for SQLite. To return a specific SQLite error code use -:meth:`exceptionfor`. If the exception does not map to any specific -error code then *SQLITE_ERROR* which corresponds to -:exc:`SQLError` is returned to SQLite. +exception will be translated into the corresponding SQLite error code. +To return a specific SQLite error code use :meth:`exceptionfor`. If +the exception does not map to any specific error code then +*SQLITE_ERROR* which corresponds to :exc:`SQLError` is returned to SQLite. The SQLite code that deals with VFS errors behaves in varying ways. Some routines have no way to return an error (eg `xDlOpen @@ -62,57 +59,11 @@ database can result in many different VFS function calls such as hot journals being detected, locking, and read/writes for playback/rollback. -To avoid confusion with exceptions being raised in the VFS and -exceptions from normal code to open Connections or execute SQL -queries, VFS exceptions are not raised in the normal way. (If they -were, only one could be raised and it would obscure whatever -exceptions the :class:`Connection` open or SQL query execute wanted to -raise.) Instead the :func:`VFS.excepthook` or -:func:`VFSFile.excepthook` method is called with a tuple of exception -type, exception value and exception traceback. The default -implementation of ``excepthook`` calls :func:`sys.unraisablehook`, -or if that fails :func:`sys.excepthook`. - -In normal VFS usage there will be no exceptions raised, or specific -expected ones which APSW clears after noting them and returning the -appropriate value back to SQLite. The exception hooking behaviour -helps you find issues in your code or unexpected behaviour of the -external environment. Remember that :ref:`augmented stack traces -` are available which significantly increase -detail about the exceptions. - -As an example, lets say you have a divide by zero error in your xWrite -routine. The table below shows what happens with time going down and -across. - -+----------------------------------------------+--------------------------------+---------------------------------------------+ -| Python Query Code | SQLite and APSW C code | Python VFS code | -+==============================================+================================+=============================================+ -| ``cursor.execute("update table set foo=3")`` | | | -+----------------------------------------------+--------------------------------+---------------------------------------------+ -| | SQLite starts executing query | | -+----------------------------------------------+--------------------------------+---------------------------------------------+ -| | | Your VFS routines are called | -+----------------------------------------------+--------------------------------+---------------------------------------------+ -| | | Your xWrite divides by zero | -+----------------------------------------------+--------------------------------+---------------------------------------------+ -| | | :meth:`VFSFile.excepthook` is called with | -| | | ZeroDivision exception | -+----------------------------------------------+--------------------------------+---------------------------------------------+ -| | *SQLITE_ERROR* (closest | | -| | matching SQLite error code) is | | -| | returned to SQLite by APSW | | -+----------------------------------------------+--------------------------------+---------------------------------------------+ -| | SQLite error handling and | More VFS routines are called. Any | -| | recovery operates which calls | exceptions in these routines will result in | -| | more VFS routines. | :meth:`VFSFile.excepthook` being called with| -| | | them. | -+----------------------------------------------+--------------------------------+---------------------------------------------+ -| | SQLite returns | | -| | *SQLITE_FULL* to APSW | | -+----------------------------------------------+--------------------------------+---------------------------------------------+ -| APSW returns :class:`apsw.FullError` | | | -+----------------------------------------------+--------------------------------+---------------------------------------------+ +If multiple exceptions occur during the same SQLite control flow, then +they will be :doc:`chained ` together. Remember that +:ref:`augmented stack traces ` are available +which significantly increase detail about the exceptions and help with +debugging. VFSFcntlPragma class ==================== @@ -185,7 +136,9 @@ VFS class .. method:: VFS.excepthook(etype: type[BaseException], evalue: BaseException, etraceback: Optional[types.TracebackType]) -> Any - Called when there has been an exception in a :class:`VFS` routine. + Called when there has been an exception in a :class:`VFS` routine, + and it can't be reported to the caller as usual. + The default implementation passes the exception information to sqlite3_log, and the first non-error of :func:`sys.unraisablehook` and :func:`sys.excepthook`, falling back to @@ -400,16 +353,13 @@ VFSFile class .. method:: VFSFile.excepthook(etype: type[BaseException], evalue: BaseException, etraceback: Optional[types.TracebackType]) ->None Called when there has been an exception in a :class:`VFSFile` - routine. The default implementation passes the exception information + routine, and it can't be reported to the caller as usual. + + The default implementation passes the exception information to sqlite3_log, and the first non-error of :func:`sys.unraisablehook` and :func:`sys.excepthook`, falling back to `PyErr_Display`. - :param etype: The exception type - :param evalue: The exception value - :param etraceback: The exception traceback. Note this - includes all frames all the way up to the thread being started. - .. method:: VFSFile.xCheckReservedLock() -> bool Returns True if any database connection (in this or another process) diff --git a/_static/documentation_options.js b/_static/documentation_options.js index 7d7ddc8d..cfe5088d 100644 --- a/_static/documentation_options.js +++ b/_static/documentation_options.js @@ -1,5 +1,5 @@ const DOCUMENTATION_OPTIONS = { - VERSION: '3.43.1.0', + VERSION: '3.43.1.1', LANGUAGE: 'en', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/about.html b/about.html index b9b7b794..401ee948 100644 --- a/about.html +++ b/about.html @@ -4,7 +4,7 @@ - About — APSW 3.43.1.0 documentation + About — APSW 3.43.1.1 documentation @@ -14,7 +14,7 @@ - + @@ -23,7 +23,7 @@ - + @@ -39,7 +39,7 @@
- 3.43.1.0 + 3.43.1.1
@@ -105,7 +105,7 @@ View page source
@@ -115,7 +115,7 @@

About

-

APSW 3.43.1.0 released 13 September 2023

+

APSW 3.43.1.1 released 8 October 2023

Use with SQLite 3.43 or later, Python 3.8 and later.

What APSW does

@@ -123,7 +123,7 @@

What APSW doesSQLite C API and Python's C API, staying up to date with both SQLite and Python.

-

It is recommended to use the builtin sqlite3 module +

It is recommended to use the builtin sqlite3 module if you want SQLite to appear interchangeable with the other database drivers.

Use APSW when you want to use SQLite fully, and have an improved @@ -207,7 +207,7 @@

Python versions - +

@@ -215,7 +215,7 @@

Python versions

© Copyright 2004-2023, Roger Binns <rogerb@rogerbinns.com>. - Last updated on Sep 13, 2023. + Last updated on Oct 06, 2023.

diff --git a/apsw.html b/apsw.html index 1a7ceed5..dbeba0a3 100644 --- a/apsw.html +++ b/apsw.html @@ -4,7 +4,7 @@ - APSW Module — APSW 3.43.1.0 documentation + APSW Module — APSW 3.43.1.1 documentation @@ -14,7 +14,7 @@ - + @@ -39,7 +39,7 @@
- 3.43.1.0 + 3.43.1.1
@@ -243,7 +243,7 @@

Query bindings are either a sequence of SQLiteValue​, or a dict​ mapping names to SQLiteValues​. You can also provide zeroblob​ in Bindings​. You can use -dict​ subclasses or any type registered with collections.abc.Mapping +dict​ subclasses or any type registered with collections.abc.Mapping for named bindings

@@ -429,7 +429,7 @@

API Reference

-SQLITE_VERSION_NUMBER: int
+SQLITE_VERSION_NUMBER: int

The integer version number of SQLite that APSW was compiled against. For example SQLite 3.6.4 will have the value 3006004. This number may be different than the actual library in use if the @@ -439,8 +439,8 @@

API Reference
-allow_missing_dict_bindings(value: bool) bool
-

Changes how missing bindings are handled when using a dict. +allow_missing_dict_bindings(value: bool) bool +

Changes how missing bindings are handled when using a dict. Historically missing bindings were treated as None. It was anticipated that dict bindings would be used when there were lots of columns, so having missing ones defaulting to None was @@ -455,13 +455,13 @@

API Reference
-apswversion() str
+apswversion() str

Returns the APSW version.

-compile_options: tuple[str, ...]
+compile_options: tuple[str, ...]

A tuple of the options used to compile SQLite. For example it will be something like this:

('ENABLE_LOCKING_STYLE=0', 'TEMP_STORE=1', 'THREADSAFE=1')
@@ -472,7 +472,7 @@ 

API Reference
-complete(statement: str) bool
+complete(statement: str) bool

Returns True if the input string comprises one or more complete SQL statements by looking for an unquoted trailing semi-colon.

An example use would be if you were prompting the user for SQL @@ -489,7 +489,7 @@

API Reference
-config(op: int, *args: Any) None
+config(op: int, *args: Any) None
Parameters:
-enablesharedcache(enable: bool) None
+enablesharedcache(enable: bool) None

If you use the same Connection across threads or use multiple connections accessing the same file, then SQLite can share the cache between them. It is not @@ -540,7 +540,7 @@

API Reference
-exceptionfor(code: int) Exception
+exceptionfor(code: int) Exception

If you would like to raise an exception that corresponds to a particular SQLite error code then call this function. It also understands extended error codes.

@@ -552,7 +552,7 @@

API Reference
-fork_checker() None
+fork_checker() None

Note This method is not available on Windows as it does not support the fork system call.

SQLite does not allow the use of database connections across forked processes @@ -590,7 +590,7 @@

API Reference
-format_sql_value(value: SQLiteValue) str
+format_sql_value(value: SQLiteValue) str

Returns a Python string representing the supplied value in SQLite syntax.

Note that SQLite represents floating point Nan as NULL, infinity as @@ -599,7 +599,7 @@

API Reference
-hard_heap_limit(limit: int) int
+hard_heap_limit(limit: int) int

Enforces SQLite keeping memory usage below limit bytes and returns the previous limit.

@@ -611,14 +611,14 @@

API Reference
-initialize() None
+initialize() None

It is unlikely you will want to call this method as SQLite automatically initializes.

Calls: sqlite3_initialize

-keywords: set[str]
+keywords: set[str]

A set containing every SQLite keyword

Calls:
-connection_busy_timeout(connection: Connection, duration_ms: int = 100) None[source]
+connection_busy_timeout(connection: Connection, duration_ms: int = 100) None[source]

Sets a short busy timeout

Parameters:
@@ -165,7 +165,7 @@

Explanation
-connection_dqs(connection: Connection) None[source]
+connection_dqs(connection: Connection) None[source]

Double quotes are for identifiers only, not strings

Turns off allowing double quoted strings if they don't match any identifier (column/table names etc), making it an error @@ -175,7 +175,7 @@

Explanation
-connection_enable_foreign_keys(connection: Connection) None[source]
+connection_enable_foreign_keys(connection: Connection) None[source]

Enables foreign key constraints

Foreign keys need to be enabled @@ -184,7 +184,7 @@

Explanation
-connection_wal(connection: Connection) None[source]
+connection_wal(connection: Connection) None[source]

Turns on write ahead logging

Reduces contention and improves write performance. WAL is described here.

@@ -192,14 +192,14 @@

Explanation
-library_logging() None[source]
+library_logging() None[source]

Forwards SQLite logging to Python logging module

See apsw.ext.log_sqlite()

-recommended: tuple[Callable, ...] = (<function connection_wal>, <function connection_busy_timeout>, <function connection_enable_foreign_keys>, <function connection_dqs>, <function library_logging>)
+recommended: tuple[Callable, ...] = (<function connection_wal>, <function connection_busy_timeout>, <function connection_enable_foreign_keys>, <function connection_dqs>, <function library_logging>)

All of them

@@ -218,7 +218,7 @@

Explanation

© Copyright 2004-2023, Roger Binns <rogerb@rogerbinns.com>. - Last updated on Sep 13, 2023. + Last updated on Oct 06, 2023.

diff --git a/blob.html b/blob.html index 0eefc222..cb9607f4 100644 --- a/blob.html +++ b/blob.html @@ -4,7 +4,7 @@ - Blob Input/Output — APSW 3.43.1.0 documentation + Blob Input/Output — APSW 3.43.1.1 documentation @@ -14,7 +14,7 @@ - + @@ -39,7 +39,7 @@
- 3.43.1.0 + 3.43.1.1
@@ -143,7 +143,7 @@

zeroblob class

-class zeroblob(size: int)
+class zeroblob(size: int)

If you want to insert a blob into a row, you previously needed to supply the entire blob in one go. To read just one byte also required retrieving the blob in its entirety. For example to insert @@ -175,7 +175,7 @@

zeroblob class
-zeroblob.length() int
+zeroblob.length() int

Size of zero blob in bytes.

@@ -214,7 +214,7 @@

Blob class
-Blob.__exit__(etype: type[BaseException] | None, evalue: BaseException | None, etraceback: types.TracebackType | None) bool | None
+Blob.__exit__(etype: type[BaseException] | None, evalue: BaseException | None, etraceback: types.TracebackType | None) bool | None

Implements context manager in conjunction with __enter__(). Any exception that happened in the with block is raised after closing the blob.

@@ -222,7 +222,7 @@

Blob class
-Blob.close(force: bool = False) None
+Blob.close(force: bool = False) None

Closes the blob. Note that even if an error occurs the blob is still closed.

@@ -246,14 +246,14 @@

Blob class
-Blob.length() int
+Blob.length() int

Returns the size of the blob in bytes.

Calls: sqlite3_blob_bytes

-Blob.read(length: int = -1) bytes
+Blob.read(length: int = -1) bytes

Reads amount of data requested, or till end of file, whichever is earlier. Attempting to read beyond the end of the blob returns an empty bytes in the same manner as end of file on normal file @@ -263,7 +263,7 @@

Blob class
-Blob.readinto(buffer: bytearray | array.array[Any] | memoryview, offset: int = 0, length: int = -1) None
+Blob.readinto(buffer: bytearray | array.array[Any] | memoryview, offset: int = 0, length: int = -1) None

Reads from the blob into a buffer you have supplied. This method is useful if you already have a buffer like object that data is being assembled in, and avoids allocating results in Blob.read() and @@ -272,8 +272,8 @@

Blob classParameters:

-Blob.tell() int
+Blob.tell() int

Returns the current offset.

-Blob.write(data: bytes) None
+Blob.write(data: bytes) None

Writes the data to the blob.

Parameters:
@@ -329,8 +329,8 @@

Blob classRaises:
    -
  • TypeError -- Wrong data type

  • -
  • ValueError -- If the data would go beyond the end of the blob. +

  • TypeError -- Wrong data type

  • +
  • ValueError -- If the data would go beyond the end of the blob. You cannot increase the size of a blob by writing beyond the end. You need to use zeroblob to set the desired size first when inserting the blob.

  • @@ -355,7 +355,7 @@

    Blob class

    © Copyright 2004-2023, Roger Binns <rogerb@rogerbinns.com>. - Last updated on Sep 13, 2023. + Last updated on Oct 06, 2023.

diff --git a/changes.html b/changes.html index 97755486..656027b2 100644 --- a/changes.html +++ b/changes.html @@ -4,7 +4,7 @@ - Change History — APSW 3.43.1.0 documentation + Change History — APSW 3.43.1.1 documentation @@ -14,7 +14,7 @@ - + @@ -38,7 +38,7 @@
- 3.43.1.0 + 3.43.1.1
@@ -72,132 +72,133 @@
  • Benchmarking
  • Copyright and License
  • Change History
  • Module Index
  • @@ -233,10 +234,19 @@

    Change History

    -

    3.43.1.0

    +

    3.43.1.1

    +

    Exception handling has been updated, with multiple +exceptions in the same SQLite control flow being chained together. +Previously more would have used the unraisable +mechanism. (APSW issue 489)

    +

    Only use alloca with msvc because it doesn't support VLA. The arrays +are used for fastcall. (APSW issue 487)

    +
    +
    +

    3.43.1.0

    All C code calling into Python and all C code called by Python uses vectorcall / fastcall (see PEP 590) which reduces the overhead of -passing and receiving positional and keyword arguments. (APSW issue 477 +passing and receiving positional and keyword arguments. (APSW issue 477, APSW issue 446):

    -
    -

    3.43.0.0

    +
    +

    3.43.0.0

    This is the last version that supports Python 3.6 and Python 3.7 (both end of life). The policy as stated in the about page is that there will be one more APSW release after a Python version @@ -271,8 +281,8 @@

    3.43.0.0Reduced overhead of the Column method when using apsw.ext.make_virtual_module() (APSW issue 465)

    -
    -

    3.42.0.1

    +
    +

    3.42.0.1

    Work with SQLite compiled with SQLITE_OMIT_DEPRECATED. Connection.setprofile() was changed from using the deprecated sqlite3_profile to @@ -298,8 +308,8 @@

    3.42.0.1speedtest now shows summary statistics, and improved help text. (APSW issue 444)

    -
    -

    3.42.0.0

    +
    +

    3.42.0.0

    SQLITE_ENABLE_COLUMN_METADATA is enabled when installing APSW from PyPI (binary or source). (APSW issue 435)

    @@ -330,20 +340,20 @@

    3.42.0.0Detect unbound recursion not handled by CPython, and handle better. (APSW issue 425)

    -
    -

    3.41.2.0

    +
    +

    3.41.2.0

    Fixed APSW issue 412 in apsw.ext.make_virtual_module().

    Added apsw.connections() to get all connections. (APSW issue 416)

    -

    sys.unraisablehook() is called correctly (APSW issue 410)

    -

    Be stricter where bool values are expected (eg -VTTable.BestIndex()), only accepting int and -bool. Previously you could for example supply strings and +

    sys.unraisablehook() is called correctly (APSW issue 410)

    +

    Be stricter where bool values are expected (eg +VTTable.BestIndex()), only accepting int and +bool. Previously you could for example supply strings and lists, which were almost certainly unintended errors.

    -
    -

    3.41.0.0

    +
    +

    3.41.0.0

    Backwards incompatible change: Bindings using a dictionary with a -missing key now result in a KeyError exception. You can use +missing key now result in a KeyError exception. You can use allow_missing_dict_bindings() to restore the old behaviour. (APSW issue 392)

    Virtual table updates:

    @@ -382,8 +392,8 @@

    3.41.0.0

    Added Connection.is_interrupted().

    -
    -

    3.40.1.0

    +
    +

    3.40.1.0

    Implemented window functions (APSW issue 292)

    Function flags @@ -416,8 +426,8 @@

    3.40.1.0ZipVFS (APSW issue 394)

    -
    -

    3.40.0.0

    +
    +

    3.40.0.0

    Fixed regression in statement cache update (version 3.38.1-r1) where trailing whitespace in queries would be incorrectly treated as incomplete execution (APSW issue 376)

    @@ -438,8 +448,8 @@

    3.40.0.0

    Example/Tour updated and appearance improved (APSW issue 367).

    -
    -

    3.39.4.0

    +
    +

    3.39.4.0

    Added Connection.cache_stats() to provide more information about the statement cache.

    Cursor.execute() now uses sqlite_prepare_v3 which allows supplying @@ -456,12 +466,12 @@

    3.39.4.0Added Cursor.is_readonly, Cursor.is_explain, and Cursor.expanded_sql.

    Updated processing named bindings so that types registered with -collections.abc.Mapping (such as -collections.UserDict) will also be treated as dictionaries. +collections.abc.Mapping (such as +collections.UserDict) will also be treated as dictionaries. (APSW issue 373)

    -
    -

    3.39.3.0

    +
    +

    3.39.3.0

    Test no longer fails if APSW was compiled without SQLITE_ENABLE_COLUMN_METADATA but sqlite3 was separately compiled with it. APSW should be compiled with the same flags as sqlite3 to match @@ -469,8 +479,8 @@

    3.39.3.0<

    --use-system-sqlite-config setup.py build_ext option added to allow build_ext. (APSW issue 364)

    -
    -

    3.39.2.1

    +
    +

    3.39.2.1

    PyPI now includes Python 3.11 builds.

    Instead of using scripts, you can now run several tools directly:

    -
    -

    3.39.2.0

    +
    +

    3.39.2.0

    Version numbering scheme change: Instead of a -r1 style suffix, there is .0 style suffix (APSW issue 340)

    Updated building for PyPI to include more compiled platforms, @@ -526,8 +536,8 @@

    3.38.5-r1Python 3.11 (APSW issue 326) now works.

    PyPy3 compiles and mostly works (APSW issue 323).

    -
    -

    3.38.1-r1

    +
    +

    3.38.1-r1

    All items now have full docstrings including type information. (Previously just one line summaries). Note the C implemented functions and data (ie almost all of APSW) can't provide the same @@ -548,8 +558,8 @@

    3.38.1-r1
  • SQLITE_INDEX_CONSTRAINT_OFFSET, SQLITE_INDEX_CONSTRAINT_LIMIT

  • -
    -

    3.37.0-r1

    +
    +

    3.37.0-r1

    Allow breaking of reference cycles between objects that contain a Connection or Cursor, and also use callbacks from that object (eg busy handler). (APSW issue 314)

    @@ -572,8 +582,8 @@

    3.37.0-r1
  • SQLITE_CONSTRAINT_DATATYPE, SQLITE_OPEN_EXRESCODE

  • -
    -

    3.36.0-r1

    +
    +

    3.36.0-r1

    Implemented Connection.serialize() and Connection.deserialize(). They turn a database into bytes, and bytes into a database respectively.

    @@ -584,16 +594,16 @@

    3.36.0-r1
  • SQLITE_FCNTL_EXTERNAL_READER, SQLITE_FCNTL_CKSM_FILE

  • -
    -

    3.35.4-r1

    +
    +

    3.35.4-r1

    Updates for SQLite download url (the year is part of the urls).

    Added enable flag for built-in SQL math functions, and enable it by default with --enable-all-extensions.

    Use the newer buffer API for Python 3 (old API removed in Python 3.10).

    -
    -

    3.34.0-r1

    +
    +

    3.34.0-r1

    Windows MSI installer files are now provided in addition to the exe files (APSW issue 294), as well as wheels for Python 3.6+. Python 3.9 binaries are also now available. The wheels can be installed via pip.

    @@ -603,8 +613,8 @@

    3.34.0-r1
  • SQLITE_IOERR_CORRUPTFS

  • -
    -

    3.33.0-r1

    +
    +

    3.33.0-r1

    Small performance improvement in string handling

    apsw module exposes Cursor, Blob, and Backup types (APSW issue 273)

    pkg-config is used to detect International Components for Unicode @@ -616,8 +626,8 @@

    3.33.0-r1
  • SQLITE_OPEN_SUPER_JOURNAL

  • -
    -

    3.32.2-r1

    +
    +

    3.32.2-r1

    Added constants:

    • SQLITE_IOERR_DATA, SQLITE_CORRUPT_INDEX, SQLITE_BUSY_TIMEOUT, SQLITE_FCNTL_CKPT_START, @@ -625,8 +635,8 @@

      3.32.2-r1

    Minor documentation updates

    -
    -

    3.31.1-r1

    +
    +

    3.31.1-r1

    Various updates due to year change

    Fix deprecated universal newline use in shell (APSW issue 283)

    Shell now uses pragma function_list to get list of functions for tab completion

    @@ -637,8 +647,8 @@

    3.31.1-r1 SQLITE_FCNTL_CKPT_DONE, SQLITE_OPEN_NOFOLLOW, SQLITE_VTAB_DIRECTONLY

    -
    -

    3.30.1-r1

    +
    +

    3.30.1-r1

    Added constants:

    -
    -

    3.29.0-r1

    +
    +

    3.29.0-r1

    Added constants:

    -
    -

    3.28.0-r1

    +
    +

    3.28.0-r1

    Added constant:

    • SQLITE_DBCONFIG_WRITABLE_SCHEMA

    -
    -

    3.27.2-r1

    +
    +

    3.27.2-r1

    Added constants:

    -
    -

    3.26.0-r1

    +
    +

    3.26.0-r1

    Added constant:

    • SQLITE_DBCONFIG_DEFENSIVE

    -
    -

    3.25.2-r1

    +
    +

    3.25.2-r1

    Added constants:

    -
    -

    3.24.0-r1

    +
    +

    3.24.0-r1

    Added constants:

    • SQLITE_DBCONFIG_RESET_DATABASE, and support for it in Connection.config()

    • @@ -697,23 +707,23 @@

      3.24.0-r1

      Added keywords and updated the shell to use it.

      Python 3.7 Windows binaries are provided.

    -
    -

    3.23.1-r1

    +
    +

    3.23.1-r1

    Added constants:

    • SQLITE_DBSTATUS_CACHE_SPILL, SQLITE_FCNTL_LOCK_TIMEOUT

    -
    -

    3.22.0-r1

    +
    +

    3.22.0-r1

    Added constants:

    • SQLITE_DBCONFIG_TRIGGER_EQP, SQLITE_DBCONFIG_MAX

    • SQLITE_READONLY_CANTINIT, SQLITE_ERROR_RETRY, SQLITE_ERROR_MISSING_COLLSEQ, SQLITE_READONLY_DIRECTORY

    -
    -

    3.21.0-r1

    +
    +

    3.21.0-r1

    Added constants:

    • SQLITE_INDEX_CONSTRAINT_ISNULL, SQLITE_INDEX_CONSTRAINT_ISNOT, @@ -728,54 +738,54 @@

      3.21.0-r1

    Many spelling fixes (thanks to Edward Betts for the review)

    -
    -

    3.20.1-r1

    +
    +

    3.20.1-r1

    Added SQLITE_DBCONFIG_ENABLE_QPSG constant.

    Added shell .open command (APSW issue 240)

    -
    -

    3.19.3-r1

    +
    +

    3.19.3-r1

    No APSW changes.

    -
    -

    3.18.0-r1

    +
    +

    3.18.0-r1

    Updated completions in shell (eg added pragmas).

    Resumable Bulk Update (RBU) extension is now built by default for --enable-all-extensions.

    Added Connection.set_last_insert_rowid().

    -
    -

    3.17.0-r1

    +
    +

    3.17.0-r1

    No APSW changes.

    -
    -

    3.16.2-r1

    +
    +

    3.16.2-r1

    Python 3.6 builds added.

    Added SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE and SQLITE_FCNTL_PDB constants.

    -
    -

    3.15.2-r1

    +
    +

    3.15.2-r1

    No APSW changes.

    -
    -

    3.15.1-r1

    +
    +

    3.15.1-r1

    Added SQLITE_FCNTL_WIN32_GET_HANDLE constant.

    -
    -

    3.15.0-r1

    +
    +

    3.15.0-r1

    Added SQLITE_DBCONFIG_MAINDBNAME constant.

    -
    -

    3.14.1-r1

    +
    +

    3.14.1-r1

    Added SQLITE_DBSTATUS_CACHE_USED_SHARED and SQLITE_OK_LOAD_PERMANENTLY constants.

    -
    -

    3.13.0-r1

    +
    +

    3.13.0-r1

    Added SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION constant.

    Added a pip command line in the download page.

    -
    -

    3.12.2-r1

    +
    +

    3.12.2-r1

    Call PyUnicode_READY for Python 3.3 onwards. Fixes APSW issue 208, APSW issue 132, APSW issue 168.

    SQLite 3.12 completely changed the semantics of VFS.xGetLastError() in an @@ -788,16 +798,16 @@

    3.12.2-r1 constants.

    Added support for SQLITE_CONFIG_STMTJRNL_SPILL in apsw.config().

    -
    -

    3.11.1-r1

    +
    +

    3.11.1-r1

    setup.py attempts to use setuptools if present, before falling back to distutils. This allows setuptools only commands such as bdist_wheel to work. You can force use of distutils by setting the environment variable APSW_FORCE_DISTUTILS to any value. Note that setuptools may also affect the output file names. (APSW issue 207)

    -
    -

    3.11.0-r1

    +
    +

    3.11.0-r1

    The shell dump command now outputs the page size and user version. They were both output before as comments.

    Updated SQLite download logic for 2016 folder.

    @@ -813,13 +823,13 @@

    3.11.0-r1

    Use SQLITE_ENABLE_API_ARMOR for extra error checking.

    -
    -

    3.9.2-r1

    +
    +

    3.9.2-r1

    Added SQLITE_IOERR_VNODE constant.

    Windows builds for Python 3.5 are now provided.

    -
    -

    3.8.11.1-r1

    +
    +

    3.8.11.1-r1

    Added SQLITE_FCNTL_RBU and SQLITE_FCNTL_ZIPVFS constants.

    setup's fetch command can now get arbitrary fossil versions. For example specify fossil-e596a6b6.

    @@ -828,15 +838,15 @@

    3.8.11.1-r1 ValueError).

    Adjusted some internal detection related to the fork checker

    -
    -

    3.8.10.1-r1

    +
    +

    3.8.10.1-r1

    Added deterministic parameter to Connection.createscalarfunction() (APSW issue 187)

    Switched to new SQLite API returning 64 bit values for status() (APSW issue 191)

    -
    -

    3.8.9-r1

    +
    +

    3.8.9-r1

    Fixed column description caching which could be preserved between multiple statements in the same execution (APSW issue 186)

    Updated documentation building tool to use new database of information @@ -852,12 +862,12 @@

    3.8.9-r1<

    Added mappings for conflict resolution modes, virtual table configuration options and xShmLock VFS flags.

    -
    -

    3.8.8.2-r1

    +
    +

    3.8.8.2-r1

    No APSW changes.

    -
    -

    3.8.8.1-r1

    +
    +

    3.8.8.1-r1

    The column description is now cached on first request during a query so getting it is quick if called for every row.

    Added SQLITE_CONFIG_PCACHE_HDRSZ and SQLITE_CONFIG_PMASZ constants, and @@ -865,78 +875,78 @@

    3.8.8.1-r1

    Added SQLITE_CHECKPOINT_TRUNCATE constant.

    Update year in various places to 2015.

    -
    -

    3.8.7.3-r1

    +
    +

    3.8.7.3-r1

    No APSW changes.

    -
    -

    3.8.7.2-r1

    +
    +

    3.8.7.2-r1

    Fixed parsing of icu-config flags

    -
    -

    3.8.7.1-r1

    +
    +

    3.8.7.1-r1

    Added SQLITE_LIMIT_WORKER_THREADS constant

    -
    -

    3.8.6-r1

    +
    +

    3.8.6-r1

    Updated test suite for Python 3.4 unittest garbage collection changes (APSW issue 164 APSW issue 169)

    Using the recommended build option of --enable-all-extensions turns on STAT4. Windows binaries include this too.

    -
    -

    3.8.5-r1

    +
    +

    3.8.5-r1

    Added SQLITE_IOCAP_IMMUTABLE and SQLITE_FCNTL_WIN32_SET_HANDLE constants.

    -
    -

    3.8.4.3-r1

    +
    +

    3.8.4.3-r1

    Added Cursor.fetchone()

    -
    -

    3.8.4.2-r1

    +
    +

    3.8.4.2-r1

    No APSW code changes. Rebuild due to updated SQLite version.

    -
    -

    3.8.4.1-r1

    +
    +

    3.8.4.1-r1

    Windows 64 bit binary builds for Python 3.3+ are back - thanks to Mike C. Fletcher for pointing the way

    Correct detection of current SQLite version from download page for setup.py fetch command

    Tested against Python 3.4 and binaries for Windows.

    -
    -

    3.8.3.1-r1

    +
    +

    3.8.3.1-r1

    Updated Shell completions for keywords, functions and pragmas.

    -
    -

    3.8.3-r1

    +
    +

    3.8.3-r1

    APSW is now hosted at Github - https://github.com/rogerbinns/apsw

    Added SQLITE_RECURSIVE, SQLITE_READONLY_DBMOVED, SQLITE_FCNTL_COMMIT_PHASETWO, SQLITE_FCNTL_HAS_MOVED and SQLITE_FCNTL_SYNC constants.

    -
    -

    3.8.2-r1

    +
    +

    3.8.2-r1

    Added SQLITE_CONFIG_WIN32_HEAPSIZE, SQLITE_CONSTRAINT_ROWID and SQLITE_FCNTL_TRACE constants.

    -
    -

    3.8.1-r1

    +
    +

    3.8.1-r1

    Added SQLITE_CANTOPEN_CONVPATH and SQLITE_IOERR_CONVPATH extended error codes.

    Updated pysqlite urls to point to github.

    Various minor build/download documentation updates.

    -
    -

    3.8.0.2-r1

    +
    +

    3.8.0.2-r1

    No APSW code changes. Rebuild due to updated SQLite version.

    Updated documentation tips to show how to get detailed diagnostics.

    -
    -

    3.8.0.1-r1

    +
    +

    3.8.0.1-r1

    No APSW changes. Rebuild due to updated SQLite version.

    Windows binaries for Python 3.3 64 bit are no longer available as a Visual Studio update obliterated the ability to compile them, and I @@ -947,8 +957,8 @@

    3.8.0-r2No APSW changes - updated checksums because SQLite changed the released archive to address an autoconf issue on some platforms

    -
    -

    3.8.0-r1

    +
    +

    3.8.0-r1

    Windows binaries for Python 3.3 64 bit are now available after managing to get several pieces of Microsoft software to cooperate.

    Fixed shell dump issue when system routines (eg timestamp, username, @@ -957,45 +967,45 @@

    3.8.0-r1<

    Added SQLITE_DBSTATUS_DEFERRED_FKS, SQLITE_IOERR_GETTEMPPATH, SQLITE_WARNING_AUTOINDEX and SQLITE_BUSY_SNAPSHOT constants.

    -
    -

    3.7.17-r1

    +
    +

    3.7.17-r1

    Removed tests that checked directly calling VFS read/write with negative offsets or amounts returns errors. This version of SQLite no longer returns errors in those circumstances and typically crashes instead.

    Various new constants.

    -
    -

    3.7.16.2-r1

    +
    +

    3.7.16.2-r1

    No APSW changes - just a binary rebuild. Windows users are recommended to upgrade their SQLite version.

    -
    -

    3.7.16.1-r1

    +
    +

    3.7.16.1-r1

    Updated tables of functions and pragmas in the Shell to match current SQLite version.

    -
    -

    3.7.16-r1

    +
    +

    3.7.16-r1

    Adjust to different SQLite download URLs

    Added SQLITE_CONSTRAINT_* and SQLITE_READONLY_ROLLBACK extended error codes

    Removed CouchDB virtual table

    -
    -

    3.7.15.2-r1

    +
    +

    3.7.15.2-r1

    No APSW changes - binary rebuild to pickup new SQLite version

    -
    -

    3.7.15.1-r1

    +
    +

    3.7.15.1-r1

    Use https (SSL) for SQLite web site references (downloads and documentation links). On some platforms/versions/SSL libraries, Python's SSL module doesn't work with the SQLite website so a fallback to http is used - the downloads still have their checksum verified.

    -
    -

    3.7.15-r1

    +
    +

    3.7.15-r1

    Work around changed semantics for error handling when the VFS xDelete method is asked to delete a file that does not exist.

    Completely removed all AsyncVFS related code. This extension @@ -1008,8 +1018,8 @@

    3.7.15-r1 SQLITE_FCNTL_TEMPFILENAME, SQLITE_CANTOPEN_FULLPATH, SQLITE_IOERR_DELETE_NOENT

    -
    -

    3.7.14.1-r1

    +
    +

    3.7.14.1-r1

    Updated setup and test suite so that all files are explicitly closed instead of relying on garbage collection.

    Added Windows binaries for Python 3.3. (Only 32 bit as Python doesn't @@ -1020,8 +1030,8 @@

    3.7.14.1-r1 shell can result in bad data or Python crashing. The bug has been fixed for Python 3.3.1 which is due in November 2012.

    -
    -

    3.7.14-r2

    +
    +

    3.7.14-r2

    Fixed an issue with the GIL in the destructor for functions. The bug would be encountered if you create a function with the same name as an existing function and are using an upcoming version of Python (eg @@ -1029,40 +1039,40 @@

    3.7.14-r2 (APSW issue 134).

    Added shell .print command to match upcoming SQLite shell changes.

    -
    -

    3.7.14-r1

    +
    +

    3.7.14-r1

    Added support for Connection.status() (calls sqlite3_db_status).

    The legacy Windows Compiled Help Format documentation is no longer produced - the help compiler setup program can't cope with modern machines.

    -
    -

    3.7.13-r1

    +
    +

    3.7.13-r1

    Do not free a structure on failure to register a virtual table module as SQLite does that anyway.

    Added SQLITE_OPEN_MEMORY constant.

    -
    -

    3.7.12.1-r1

    +
    +

    3.7.12.1-r1

    No changes to APSW. Binary rebuilds due to SQLite bugfixes.

    -
    -

    3.7.12-r1

    +
    +

    3.7.12-r1

    Re-enabled the asyncvfs.

    Added Cursor.description to make DB API interoperability a little easier (APSW issue 131).

    Added SQLITE_DBSTATUS_CACHE_WRITE and SQLITE_CANTOPEN_ISDIR constants.

    -
    -

    3.7.11-r1

    +
    +

    3.7.11-r1

    Added SQLITE_ABORT_ROLLBACK and SQLITE_FCNTL_PRAGMA constants.

    Added Connection.readonly().

    Changed Connection.filename which used to return the string used to open the database and now returns the absolute pathname.

    Added Connection.db_filename().

    -
    -

    3.7.10-r1

    +
    +

    3.7.10-r1

    The default sector size returned in VFS routines is 4,096 to match SQLite's new default.

    Several links to SQLite tickets and documentation were updated @@ -1089,21 +1099,21 @@

    3.7.10-r1VFS.xOpen() are exactly what was returned from VFS.xFullPathname().

    -
    -

    3.7.9-r1

    +
    +

    3.7.9-r1

    Added SQLITE_DBSTATUS_CACHE_HIT, SQLITE_DBSTATUS_CACHE_MISS and SQLITE_FCNTL_OVERWRITE constants.

    -
    -

    3.7.8-r1

    +
    +

    3.7.8-r1

    Updated documentation and tests due to an undocumented change in VFS xDelete semantics.

    Added SQLITE3_FCNTL_PERSIST_WAL and SQLITE3_FCNTL_WIN32_AV_RETRY file controls.

    Wrapped sqlite3_sourceid (APSW issue 120)

    -
    -

    3.7.7.1-r1

    +
    +

    3.7.7.1-r1

    Added SQLITE_CONFIG_URI and support for it in config(), and the open flag SQLITE_OPEN_URI. This makes it @@ -1117,8 +1127,8 @@

    3.7.7.1-r1 and Python 2: The Python int type is returned for 64 bit integers instead of Python long type.

    -
    -

    3.7.6.3-r1

    +
    +

    3.7.6.3-r1

    When invoking the shell by calling apsw.shell.main() it will not become interactive if you supply SQL commands as command line arguments. This is to have the same behaviour as the SQLite shell @@ -1129,8 +1139,8 @@

    3.7.6.3-r1 file automatically deducing separators, column names and data types.

    Detect attempted use of a cursor as input data for itself.

    -
    -

    3.7.6.2-r1

    +
    +

    3.7.6.2-r1

    Fixed APSW issue 117 where the shell could report an I/O error on changing output target for some operating systems. Thanks to Edzard Pasma for finding and diagnosing @@ -1144,8 +1154,8 @@

    3.7.6.2-r1 more fine grained control over checkpointing and returns useful information.

    -
    -

    3.7.5-r1

    +
    +

    3.7.5-r1

    Backwards incompatible change in SQLite 3.7.5 for handling of xFileControl(). If you implement this method in a VFS then you must return True or False to indicate if the operation was @@ -1155,8 +1165,8 @@

    3.7.5-r1< all.)

    Windows Python 3.2 binaries now available.

    -
    -

    3.7.4-r1

    +
    +

    3.7.4-r1

    Binary downloads for Windows 64 bit Python versions 2.6 and above including Python 3 are now available.

    apsw.softheaplimit() now uses sqlite3_soft_heap_limit64 so you can @@ -1168,8 +1178,8 @@

    3.7.4-r1< augmentation of FTS3 rather than totally separate code and described in the SQLite documentation.

    -
    -

    3.7.3-r1

    +
    +

    3.7.3-r1

    You can read blobs into pre-existing buffers using Blob.readinto(). (This is more efficient than allocating new buffers as Blob.read() does and then copying.) (APSW issue 109).

    @@ -1178,13 +1188,13 @@

    3.7.3-r1< housekeeping APSW did can be pushed back onto SQLite and the consequent deletion of some code

    -
    -

    3.7.2-r1

    +
    +

    3.7.2-r1

    No changes to APSW. Upgrading to this version of SQLite is recommended.

    -
    -

    3.7.1-r1

    +
    +

    3.7.1-r1

    Updated various constants including SQLITE_FCNTL_CHUNK_SIZE used with Connection.filecontrol().

    Fixed Unicode output with some file objects from the shell (APSW issue 108).

    @@ -1195,12 +1205,12 @@

    3.7.1-r1<

    -
    -

    3.7.0.1-r1

    +
    +

    3.7.0.1-r1

    Fixed issue when using a tracer and a context manager fails to commit.

    -
    -

    3.7.0-r1

    +
    +

    3.7.0-r1

    Added several new constants.

    Write Ahead Logging is supported. You can make all databases automatically use @@ -1240,16 +1250,16 @@

    3.7.0-r1< the statement cache was initialised which would result in a crash if any hooks executed SQL code.

    -
    -

    3.6.23.1-r1

    +
    +

    3.6.23.1-r1

    Shell CSV output under Python 3.1 is corrected (work around Python 3.1 StringIO bug/incompatibility with other Python versions).

    Simplified access to the shell's database from the API.

    Added a shell example.

    -
    -

    3.6.23-r1

    +
    +

    3.6.23-r1

    If setup is downloading files and an error occurs then it retries up to 5 times.

    Added SQLITE_CONFIG_LOG and SQLITE_OPEN_AUTOPROXY constants.

    @@ -1258,8 +1268,8 @@

    3.6.23-r1

    Added log() to call the SQLite logging interface, and updated config() so you can set log destination function.

    -
    -

    3.6.22-r1

    +
    +

    3.6.22-r1

    Made it possible to run distutils 'sdist' from an already produced source that was made from 'sdist'. This was necessary for some Python virtual package environments. Note that the recursive result does not @@ -1269,8 +1279,8 @@

    3.6.22-r1 such as page size, encoding, auto_vacuum etc. The pragmas are commented out. APSW issue 90

    -
    -

    3.6.21-r1

    +
    +

    3.6.21-r1

    Source and binary files are now digitally signed which means you can verify they have not been tampered with. See Verifying your download for instructions.

    @@ -1279,8 +1289,8 @@

    3.6.21-r1

    Removed some unintentional logging code left in CouchDB virtual table code.

    -
    -

    3.6.20-r1

    +
    +

    3.6.20-r1

    Support for Python 3.0 has been dropped as it has been end of lifed. Use Python 3.1 onwards.

    Changes to how some statements are prepared to allow the new RANGE and @@ -1312,8 +1322,8 @@

    3.6.20-r1 by itself.

    -
    -

    3.6.19-r1

    +
    +

    3.6.19-r1

    Backwards incompatible change Fixed APSW issue 72 where APSW wasn't zero basing virtual table BestIndex() constraints returned as documented. If you have working BestIndex code then you @@ -1362,8 +1372,8 @@

    3.6.19-r1 SQLite. The test suite will also work correctly with experimental on or off. (It is on by default.)

    -
    -

    3.6.18-r1

    +
    +

    3.6.18-r1

    The APSW license has been updated to allow you (at your option) to use any OSI approved license.

    The speedtest has been updated to (optionally) use unicode @@ -1372,8 +1382,8 @@

    3.6.18-r1 situations where it was not necessary. This results in the code executing a little faster.

    -
    -

    3.6.17-r1

    +
    +

    3.6.17-r1

    APSW has migrated from Subversion to Mercurial for source code control. Hosting remains at Google Code

    Updated a test due to VFS xUnlock errors now being ignored sometimes @@ -1392,27 +1402,27 @@

    3.6.17-r1 Windows binary distribution.

    Various documentation updates.

    -
    -

    3.6.16-r1

    +
    +

    3.6.16-r1

    Windows binary distribution includes Python 3.1.

    Trivial tweaks to keep MSVC happy.

    -
    -

    3.6.15-r1

    +
    +

    3.6.15-r1

    Fixed APSW issue 50 where Blob.read() was returning None on end of file instead of the documented (and correct) empty string/bytes.

    Corrected spelling of option in apswtrace and only output CURSORFROM if SQL tracing is on.

    -
    -

    3.6.14.2-r1

    +
    +

    3.6.14.2-r1

    Updated test code because SQLite 3.6.15 returns a different error code on trying to register a function with too many arguments (see cvstrac 3875).

    -
    -

    3.6.14.1-r1

    +
    +

    3.6.14.1-r1

    Changed some internal symbol names so they won't clash with similar new ones used by SQLite in the amalgamation.

    Added apsw.using_amalgamation so you can tell if APSW was @@ -1423,8 +1433,8 @@

    3.6.14.1-r1 we know it hasn't been tampered with. (The --fetch-sqlite argument can be used to automatically download SQLite.)

    -
    -

    3.6.13-r1

    +
    +

    3.6.13-r1

    Added SQLITE_LOCKED_SHAREDCACHE extended error code.

    Updated tests as the VFS delete error handling code in SQLite now returns the same high level error code between Windows and @@ -1432,8 +1442,8 @@

    3.6.13-r1

    The CHM format help file produced by the Windows HTML Help Compiler is viewable again under Windows HTML Help Viewer.

    -
    -

    3.6.11-r1

    +
    +

    3.6.11-r1

    You can now use the hot backup functionality introduced in SQLite 3.6.11.

    Updated a VFS test to reflect changes in SQLite underlying error handling. (Previously SQLite almost always returned FullError @@ -1443,8 +1453,8 @@

    3.6.11-r1 (reincarnated). That is no longer the case and you will get CursorClosedError.

    -
    -

    3.6.10-r1

    +
    +

    3.6.10-r1

    You can use the database as a context manager as defined in PEP 0343. When you use with a transaction is started. If the block finishes with an exception then the transaction @@ -1482,8 +1492,8 @@

    3.6.10-r1

    The speedtest script will now fallback to the Python builtin sqlite3 module if it can't find an externally installed pysqlite.

    -
    -

    3.6.6.2-r1

    +
    +

    3.6.6.2-r1

    Windows binary download for Python 3.0 is available.

    Various changes in data structures and containers to reduce code size.

    Changed the code to handle SQLite errors to only use Python @@ -1520,8 +1530,8 @@

    3.6.6.2-r1 text. Changing user defined functions could also cause a previously correct query to become invalid.

    -
    -

    3.6.5-r1

    +
    +

    3.6.5-r1

    The distribution now includes a speedtest script. You can use this to see how APSW performs relative to pysqlite, or to track performance differences between SQLite versions. The underlying @@ -1547,8 +1557,8 @@

    3.6.5-r1 where things are implemented and to make automatic extraction of documentation easier.

    -
    -

    3.6.3-r1

    +
    +

    3.6.3-r1

    You can now write your own Virtual File System (VFS) in Python. You can also inherit from an existing VFS making it easy to augment or override small bits of behaviour without having to code everything else. See the @@ -1561,7 +1571,7 @@

    3.6.3-r1HAVE_USLEEP, HAVE_LOCALTIME_R). Several other options to setup.py are also available to control enabling/omitting certains features and functionality. See -building for further details.

    +building for further details.

    APSW checks that SQLite was compiled to be threadsafe

    Added new constants:

    -
    -

    3.5.9-r2

    +
    +

    3.5.9-r2

    APSW now works with Python 3 (you need 3.0b1 or later).

    (APSW issue 17) Removed the SQLITE_MAX_ constants since they could be unreliable (eg APSW can't tell what a shared library was compiled with). A workaround is documented in Connection.limit().

    -
    -

    3.5.9-r1

    +
    +

    3.5.9-r1

    APSW is now hosted at https://code.google.com/p/apsw

    You can use this with SQLite 3.5.9 onwards.

    SQLite now provides the source all amalgamated into one file @@ -1650,8 +1660,8 @@

    3.5.9-r1 pysqlite (100). You can however specify more or less as needed.

    Connection.collationneeded() was implemented.

    -
    -

    3.3.13-r1

    +
    +

    3.3.13-r1

    As of this release, APSW is now co-hosted with pysqlite meaning there is one site to go to for your Python SQLite bindings. (Both projects subsequently moved to Google Code.)

    @@ -1671,23 +1681,23 @@

    3.3.13-r1 other statements getting busy errors.

    -
    -

    3.3.10-r1

    +
    +

    3.3.10-r1

    You can use this with SQLite 3.3.10 onwards.

    Added a statement cache that works in conjunction with the sqlite3_prepare_v2 API. A few issues were exposed in SQLite and hence you must use SQLite 3.3.10 or later.

    -
    -

    3.3.9-r1

    +
    +

    3.3.9-r1

    You can use this with SQLite 3.3.9 onwards.

    SQLite added sqlite3_prepare_v2 API. The net effect of this API update is that you will not get SQLITE_SCHEMA any more. SQLite will handle it internally.

    -
    -

    3.3.8-r1

    +
    +

    3.3.8-r1

    You can use this with SQLite 3.3.8 onwards. There was an incompatible API change for virtual tables in SQLite 3.3.8.

    Virtual tables updated for new api.

    @@ -1700,7 +1710,7 @@

    3.3.8-r1 completely useless, merely printing str of the object and exception. This doesn't help in finding where in your code the issue arose so you could fix it. An internal APSW implementation generates a traceback -and calls sys.excepthook(), the default implementation of which +and calls sys.excepthook(), the default implementation of which prints the exception and the traceback to sys.stderr.

    @@ -1720,8 +1730,8 @@

    3.3.8-r1

    Added mapping dicts which makes it easy to map the various constants between strings and ints.

    -
    -

    3.3.7-r1

    +
    +

    3.3.7-r1

    Never released as 3.3.8 came along.

    You can use this release against SQLite 3.3.7. There were no changes in the SQLite 3.3.6 API from 3.3.5. In SQLite 3.3.7 an API was added @@ -1739,8 +1749,8 @@

    3.3.7-r1
  • You can load SQLite shared library extensions.

  • -
    -

    3.3.5-r1

    +
    +

    3.3.5-r1

    You can use this release against any release of SQLite 3 from 3.3.5 onwards. A bug was also fixed when reporting an error during the cleanup of an aggregate function if there had also been an error in @@ -1756,7 +1766,7 @@

    3.3.5-r1

    The test code has been converted into using the unittest module. Run python tests.py -v to get the tests run. There should be no errors.

    -

    Updated code to work correctly with new Py_ssize_t introduced +

    Updated code to work correctly with new Py_ssize_t introduced in Python 2.5. See 64 bit hosts, Python 2.5+ for more details on how Python and SQLite handle 64 bit sized items.

    The following functions were added to SQLite and are wrapped. They are @@ -1772,8 +1782,8 @@

    3.3.5-r1 long it took.

    -
    -

    3.2.7-r1

    +
    +

    3.2.7-r1

    You can use this release against any release of SQLite 3.

    SQLite 3.2.7 has several bug fixes. The undocumented experimental function sqlite3_profile was added, but it not present in apsw @@ -1792,16 +1802,16 @@

    3.2.7-r1

    Changed when an error in the step function for an aggregate is reported due to limitations in SQLite.

    -
    -

    3.2.2-r1

    +
    +

    3.2.2-r1

    You can use this release against any release of SQLite 3.

    SQLite 3.2.2 API removed sqlite3_global_recover. That function was not wrapped in APSW. Note that SQLite 3.2.2 contains a bug fix that applies when you use 64 bit integer primary keys (32 bit ints are fine).

    -
    -

    3.2.1-r1

    +
    +

    3.2.1-r1

    You can use this release against any release of SQLite 3.

    There are no changes in APSW except to correct an error in the example code (collations are registered against the connection not the cursor)

    @@ -1809,8 +1819,8 @@

    3.2.1-r1 function named sqlite3_global_recover. That function is not applicable for wrapping in APSW.

    -
    -

    3.1.3-r1

    +
    +

    3.1.3-r1

    You can use this release against any release of SQLite 3.

    The text string returned by apsw.Error used to say "apsw.APSWException" and has been changed to "apsw.Error". This is @@ -1850,14 +1860,14 @@

    3.0.8-r3

    -
    -

    3.0.8-r2

    +
    +

    3.0.8-r2

    All remaining functionality in the C API for SQLite 3.0.8 is now available.

    Finished this documentation.

    -
    -

    3.0.8-r1

    +
    +

    3.0.8-r1

    Initial release

    @@ -1873,7 +1883,7 @@

    3.0.8-r1

    © Copyright 2004-2023, Roger Binns <rogerb@rogerbinns.com>. - Last updated on Sep 13, 2023. + Last updated on Oct 06, 2023.

    diff --git a/connection.html b/connection.html index 90fe5682..ac375029 100644 --- a/connection.html +++ b/connection.html @@ -4,7 +4,7 @@ - Connections to a database — APSW 3.43.1.0 documentation + Connections to a database — APSW 3.43.1.1 documentation @@ -14,7 +14,7 @@ - + @@ -39,7 +39,7 @@
    - 3.43.1.0 + 3.43.1.1
    @@ -196,7 +196,7 @@

    Connection class

    -class Connection(filename: str, flags: int = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, vfs: str | None = None, statementcachesize: int = 100)
    +class Connection(filename: str, flags: int = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, vfs: str | None = None, statementcachesize: int = 100)

    This object wraps a sqlite3 pointer.

    Opens the named database. You can use :memory: to get a private temporary in-memory database that is not shared with any other connections.

    @@ -248,7 +248,7 @@

    Connection class
    -Connection.__exit__(etype: type[BaseException] | None, evalue: BaseException | None, etraceback: types.TracebackType | None) bool | None
    +Connection.__exit__(etype: type[BaseException] | None, evalue: BaseException | None, etraceback: types.TracebackType | None) bool | None

    Implements context manager in conjunction with __enter__(). Any exception that happened in the with block is raised after committing or rolling back the @@ -257,7 +257,7 @@

    Connection class
    -Connection.authorizer: Authorizer | None
    +Connection.authorizer: Authorizer | None

    While preparing statements, SQLite will call any defined authorizer to see if a particular action is ok to be part of the statement.

    @@ -290,7 +290,7 @@

    Connection class
    -Connection.autovacuum_pages(callable: Callable[[str, int, int, int], int] | None) None
    +Connection.autovacuum_pages(callable: Callable[[str, int, int, int], int] | None) None

    Calls callable to find out how many pages to autovacuum. The callback has 4 parameters:

    -

    inspect.signature() is used to discover parameter names.

    +

    inspect.signature() is used to discover parameter names.

    Positional parameters to callable come from the table definition.

    SELECT * from table_name(1, 100, 1);
     
    @@ -756,7 +756,7 @@

    Detailed Query Information include_system=1;

    -

    iter() is called on callable with each iteration expected +

    iter() is called on callable with each iteration expected to return the next row. That means callable can return its data all at once (eg a list of rows), or yield them one row at a time. The number of columns must always be the same, no matter @@ -769,7 +769,7 @@

    Detailed Query Informationapsw.SQLiteValue will be converted to a string using -repr()

    +repr()

    @@ -777,7 +777,7 @@

    Detailed Query Information

    Advanced

    The callable may also have an attribute named primary_key. -By default the id() of each row is used as the primary key. +By default the id() of each row is used as the primary key. If present then it must be a column number to use as the primary key. The contents of that column must be unique for every row.

    If you specify a parameter to the table and in WHERE, or have @@ -833,7 +833,7 @@

    Advanced
    -query_info(db: apsw.Connection, query: str, bindings: apsw.Bindings | None = None, *, prepare_flags: int = 0, actions: bool = False, expanded_sql: bool = False, explain: bool = False, explain_query_plan: bool = False) QueryDetails[source]
    +query_info(db: apsw.Connection, query: str, bindings: apsw.Bindings | None = None, *, prepare_flags: int = 0, actions: bool = False, expanded_sql: bool = False, explain: bool = False, explain_query_plan: bool = False) QueryDetails[source]

    Returns information about the query, but does not run it.

    Set the various parameters to True if you also want the actions, expanded_sql, explain, query_plan etc filled in.

    @@ -841,85 +841,85 @@

    Advanced
    -class QueryDetails(query: str, bindings: apsw.Bindings | None, first_query: str, query_remaining: str | None, is_explain: int, is_readonly: bool, has_vdbe: bool, description: tuple[tuple[str, str], ...], description_full: tuple[tuple[str, str, str, str, str], ...] | None, expanded_sql: str | None, actions: list[QueryAction] | None, explain: list[VDBEInstruction] | None, query_plan: QueryPlan | None)[source]
    -

    A dataclass that provides detailed information about a query, returned by query_info()

    +class QueryDetails(query: str, bindings: apsw.Bindings | None, first_query: str, query_remaining: str | None, is_explain: int, is_readonly: bool, has_vdbe: bool, description: tuple[tuple[str, str], ...], description_full: tuple[tuple[str, str, str, str, str], ...] | None, expanded_sql: str | None, actions: list[QueryAction] | None, explain: list[VDBEInstruction] | None, query_plan: QueryPlan | None)[source] +

    A dataclass that provides detailed information about a query, returned by query_info()

    -query: str
    +query: str

    Original query provided

    -bindings: apsw.Bindings | None
    +bindings: apsw.Bindings | None

    Bindings provided

    -first_query: str
    +first_query: str

    The first statement present in query

    -query_remaining: str | None
    +query_remaining: str | None

    Query text after the first one if multiple were in query, else None

    -is_explain: int
    +is_explain: int

    Cursor.is_explain

    -is_readonly: bool
    +is_readonly: bool

    Cursor.is_readonly

    -has_vdbe: bool
    +has_vdbe: bool

    Cursor.has_vdbe

    -description: tuple[tuple[str, str], ...]
    +description: tuple[tuple[str, str], ...]

    Cursor.getdescription

    -description_full: tuple[tuple[str, str, str, str, str], ...] | None
    +description_full: tuple[tuple[str, str, str, str, str], ...] | None

    Cursor.description_full

    -expanded_sql: str | None
    +expanded_sql: str | None

    Cursor.expanded_sql

    -actions: list[QueryAction] | None
    +actions: list[QueryAction] | None

    A list of the actions taken by the query, as discovered via Connection.authorizer

    -explain: list[VDBEInstruction] | None
    +explain: list[VDBEInstruction] | None

    A list of instructions of the internal code used by SQLite to execute the query

    -query_plan: QueryPlan | None
    +query_plan: QueryPlan | None

    The steps taken against tables and indices described here

    @@ -927,101 +927,101 @@

    Advanced
    -class QueryAction(action: int, action_name: str, column_name: str | None = None, database_name: str | None = None, file_name: str | None = None, function_name: str | None = None, module_name: str | None = None, operation: str | None = None, pragma_name: str | None = None, pragma_value: str | None = None, table_name: str | None = None, trigger_name: str | None = None, trigger_or_view: str | None = None, view_name: str | None = None)[source]
    -

    A dataclass that provides information about one action taken by a query

    +class QueryAction(action: int, action_name: str, column_name: str | None = None, database_name: str | None = None, file_name: str | None = None, function_name: str | None = None, module_name: str | None = None, operation: str | None = None, pragma_name: str | None = None, pragma_value: str | None = None, table_name: str | None = None, trigger_name: str | None = None, trigger_or_view: str | None = None, view_name: str | None = None)[source] +

    A dataclass that provides information about one action taken by a query

    Depending on the action, only a subset of the fields will have non-None values

    -action: int
    +action: int

    Authorizer code (also present in apsw.mapping_authorizer_function)

    -action_name: str
    +action_name: str

    The string corresponding to the action. For example action could be 21 in which case action_name will be SQLITE_SELECT

    -column_name: str | None = None
    +column_name: str | None = None
    -database_name: str | None = None
    +database_name: str | None = None

    eg main, temp, the name in ATTACH

    -file_name: str | None = None
    +file_name: str | None = None
    -function_name: str | None = None
    +function_name: str | None = None
    -module_name: str | None = None
    +module_name: str | None = None
    -operation: str | None = None
    +operation: str | None = None
    -pragma_name: str | None = None
    +pragma_name: str | None = None
    -pragma_value: str | None = None
    +pragma_value: str | None = None
    -table_name: str | None = None
    +table_name: str | None = None
    -trigger_name: str | None = None
    +trigger_name: str | None = None
    -trigger_or_view: str | None = None
    +trigger_or_view: str | None = None

    This action is happening due to a trigger or view, and not directly expressed in the query itself

    -view_name: str | None = None
    +view_name: str | None = None
    -class QueryPlan(detail: str, sub: list[QueryPlan] | None = None)[source]
    -

    A dataclass for one step of a query plan

    +class QueryPlan(detail: str, sub: list[QueryPlan] | None = None)[source] +

    A dataclass for one step of a query plan

    -detail: str
    +detail: str

    Description of this step

    -sub: list[QueryPlan] | None = None
    +sub: list[QueryPlan] | None = None

    Steps that run within this one

    @@ -1029,53 +1029,53 @@

    Advanced
    -class VDBEInstruction(addr: int, opcode: str, comment: str | None = None, p1: int | None = None, p2: int | None = None, p3: int | None = None, p4: int | None = None, p5: int | None = None)[source]
    -

    A dataclass representing one instruction and its parameters

    +class VDBEInstruction(addr: int, opcode: str, comment: str | None = None, p1: int | None = None, p2: int | None = None, p3: int | None = None, p4: int | None = None, p5: int | None = None)[source] +

    A dataclass representing one instruction and its parameters

    -addr: int
    +addr: int

    Address of this opcode. It will be the target of goto, loops etc

    -opcode: str
    +opcode: str

    The instruction

    -comment: str | None = None
    +comment: str | None = None

    Additional human readable information

    -p1: int | None = None
    +p1: int | None = None

    First opcode parameter

    -p2: int | None = None
    +p2: int | None = None

    Second opcode parameter

    -p3: int | None = None
    +p3: int | None = None

    Third opcode parameter

    -p4: int | None = None
    +p4: int | None = None

    Fourth opcode parameter

    -p5: int | None = None
    +p5: int | None = None

    Fifth opcode parameter

    @@ -1083,234 +1083,234 @@

    Advanced
    -class DatabaseFileInfo(filename: str, header: bytes, page_size: int, write_format: int, read_format: int, reserved_bytes: int, file_change_counter: int, page_count: int, freelist_pages: int, schema_cookie: int, schema_format: int, default_cache_size: int, autovacuum_top_root: int, text_encoding: str, user_version: int, incremental_vacuum: bool, application_id: int, version_valid_for: int, sqlite_version: int)[source]
    +class DatabaseFileInfo(filename: str, header: bytes, page_size: int, write_format: int, read_format: int, reserved_bytes: int, file_change_counter: int, page_count: int, freelist_pages: int, schema_cookie: int, schema_format: int, default_cache_size: int, autovacuum_top_root: int, text_encoding: str, user_version: int, incremental_vacuum: bool, application_id: int, version_valid_for: int, sqlite_version: int)[source]

    Information about the main database file returned by dbinfo()

    See file format description

    -filename: str
    +filename: str

    Header string

    -header: bytes
    +header: bytes

    The database page size in bytes

    -page_size: int
    +page_size: int

    File format write version. 1 for legacy; 2 for WAL

    -write_format: int
    +write_format: int

    File format read version. 1 for legacy; 2 for WAL.

    -read_format: int
    +read_format: int

    Bytes of unused "reserved" space at the end of each page. Usually 0

    -reserved_bytes: int
    +reserved_bytes: int

    File change counter

    -file_change_counter: int
    +file_change_counter: int

    Size of the database file in pages

    -page_count: int
    +page_count: int

    Total number of freelist pages

    -freelist_pages: int
    +freelist_pages: int

    The schema cookie

    +schema_cookie: int

    The schema format number. Supported schema formats are 1, 2, 3, and 4

    -schema_format: int
    +schema_format: int

    Default page cache size

    -default_cache_size: int
    +default_cache_size: int

    The page number of the largest root b-tree page when in auto-vacuum or incremental-vacuum modes, or zero otherwise

    -autovacuum_top_root: int
    +autovacuum_top_root: int

    The database text encoding

    -text_encoding: str
    +text_encoding: str

    The "user version" as read and set by the user_version pragma.

    -user_version: int
    +user_version: int

    True (non-zero) for incremental-vacuum mode. False (zero) otherwise.

    -incremental_vacuum: bool
    +incremental_vacuum: bool

    The "Application ID" set by PRAGMA application_id

    -application_id: int
    +application_id: int

    The version-valid-for number.

    -version_valid_for: int
    +version_valid_for: int

    SQLite version that lost wrote

    -sqlite_version: int
    +sqlite_version: int
    -class JournalFileInfo(filename: str, header: bytes, header_valid: bool, page_count: int, random_nonce: int, initial_pages: int, sector_size: int, page_size: int)[source]
    +class JournalFileInfo(filename: str, header: bytes, header_valid: bool, page_count: int, random_nonce: int, initial_pages: int, sector_size: int, page_size: int)[source]

    Information about the rollback journal returned by dbinfo()

    See the file format description

    -filename: str
    +filename: str

    Header string

    -header: bytes
    +header: bytes

    The "Page Count" - The number of pages in the next segment of the journal, or -1 to mean all content to the end of the file

    -header_valid: bool
    +header_valid: bool

    If the header is the expected bytes

    -page_count: int
    +page_count: int

    A random nonce for the checksum

    -random_nonce: int
    +random_nonce: int

    Initial size of the database in pages

    -initial_pages: int
    +initial_pages: int

    Size of a disk sector assumed by the process that wrote this journal

    -sector_size: int
    +sector_size: int

    Size of pages in this journal

    -page_size: int
    +page_size: int
    -class WALFileInfo(filename: str, magic_number: int, format_version: int, page_size: int, checkpoint_sequence_number: int, salt_1: int, salt_2: int, checksum_1: int, checksum_2: int)[source]
    +class WALFileInfo(filename: str, magic_number: int, format_version: int, page_size: int, checkpoint_sequence_number: int, salt_1: int, salt_2: int, checksum_1: int, checksum_2: int)[source]

    Information about the rollback journal returned by dbinfo()

    See the file format description

    -filename: str
    +filename: str

    Magic number

    -magic_number: int
    +magic_number: int

    File format version. Currently 3007000

    -format_version: int
    +format_version: int

    Database page size

    -page_size: int
    +page_size: int

    Checkpoint sequence number

    -checkpoint_sequence_number: int
    +checkpoint_sequence_number: int

    Salt-1: random integer incremented with each checkpoint

    -salt_1: int
    +salt_1: int

    Salt-2: a different random number for each checkpoint

    -salt_2: int
    +salt_2: int

    Checksum-1: First part of a checksum on the first 24 bytes of header

    -checksum_1: int
    +checksum_1: int

    Checksum-2: Second part of the checksum on the first 24 bytes of header

    -checksum_2: int
    +checksum_2: int
    @@ -1330,7 +1330,7 @@

    Advanced

    © Copyright 2004-2023, Roger Binns <rogerb@rogerbinns.com>. - Last updated on Sep 13, 2023. + Last updated on Oct 06, 2023.

    diff --git a/extensions.html b/extensions.html index 87a8e882..34065573 100644 --- a/extensions.html +++ b/extensions.html @@ -4,7 +4,7 @@ - Extensions — APSW 3.43.1.0 documentation + Extensions — APSW 3.43.1.1 documentation @@ -14,7 +14,7 @@ - + @@ -39,7 +39,7 @@
    - 3.43.1.0 + 3.43.1.1
    @@ -166,7 +166,7 @@

    © Copyright 2004-2023, Roger Binns <rogerb@rogerbinns.com>. - Last updated on Sep 13, 2023. + Last updated on Oct 06, 2023.

    diff --git a/genindex.html b/genindex.html index 4f9206a1..1b48ad2c 100644 --- a/genindex.html +++ b/genindex.html @@ -3,7 +3,7 @@ - Index — APSW 3.43.1.0 documentation + Index — APSW 3.43.1.1 documentation @@ -13,7 +13,7 @@ - + @@ -36,7 +36,7 @@
    - 3.43.1.0 + 3.43.1.1
    @@ -1088,6 +1088,8 @@

    P

  • PEP 0343, [1], [2], [3]
  • PEP 249, [1] +
  • +
  • PEP 3134
  • PEP 590
  • @@ -1825,7 +1827,7 @@

    Z

    © Copyright 2004-2023, Roger Binns <rogerb@rogerbinns.com>. - Last updated on Sep 13, 2023. + Last updated on Oct 06, 2023.

    diff --git a/index.html b/index.html index c7c0a76e..2060906f 100644 --- a/index.html +++ b/index.html @@ -4,7 +4,7 @@ - APSW 3.43.1.0 documentation — APSW 3.43.1.0 documentation + APSW 3.43.1.1 documentation — APSW 3.43.1.1 documentation @@ -14,7 +14,7 @@ - + @@ -38,7 +38,7 @@
    - 3.43.1.0 + 3.43.1.1
    @@ -90,7 +90,7 @@
    • - +
    • View page source
    • @@ -103,9 +103,9 @@
      -

      APSW 3.43.1.0 documentation

      +

      APSW 3.43.1.1 documentation

      -APSW 3.43.1.0 released 13 September 2023

      +APSW 3.43.1.1 released 8 October 2023

      diff --git a/install.html b/install.html index 888e5e06..6d0b9305 100644 --- a/install.html +++ b/install.html @@ -4,7 +4,7 @@ - Installation and customization — APSW 3.43.1.0 documentation + Installation and customization — APSW 3.43.1.1 documentation @@ -14,7 +14,7 @@ - + @@ -39,7 +39,7 @@
      - 3.43.1.0 + 3.43.1.1
      @@ -243,9 +243,9 @@

      Source< source from PyPi then ensure you edit the setup.apsw file inside.

      @@ -260,7 +260,7 @@

      Source<

      To verify a file use --verify specifying the corresponding .asc filename. This example verifies the source:

      -
      $ gpg --verify apsw-3.43.1.0.zip.asc
      +
      $ gpg --verify apsw-3.43.1.1.zip.asc
       gpg: Signature made ... date ... using DSA key ID 0DFBD904
       gpg: Good signature from "Roger Binns <rogerb@rogerbinns.com>"
       
      @@ -348,7 +348,7 @@

      build< - @@ -430,7 +430,7 @@

      build<

      © Copyright 2004-2023, Roger Binns <rogerb@rogerbinns.com>. - Last updated on Sep 13, 2023. + Last updated on Oct 06, 2023.

      diff --git a/objects.inv b/objects.inv index 94cdd2e6..d671bc3b 100644 Binary files a/objects.inv and b/objects.inv differ diff --git a/py-modindex.html b/py-modindex.html index ebb3cfe9..8a433614 100644 --- a/py-modindex.html +++ b/py-modindex.html @@ -3,7 +3,7 @@ - Python Module Index — APSW 3.43.1.0 documentation + Python Module Index — APSW 3.43.1.1 documentation @@ -13,7 +13,7 @@ - + @@ -39,7 +39,7 @@
      - 3.43.1.0 + 3.43.1.1
      @@ -143,7 +143,7 @@

      Python Module Index

      © Copyright 2004-2023, Roger Binns <rogerb@rogerbinns.com>. - Last updated on Sep 13, 2023. + Last updated on Oct 06, 2023.

      diff --git a/pysqlite.html b/pysqlite.html index 0bc2831a..83c2c906 100644 --- a/pysqlite.html +++ b/pysqlite.html @@ -4,7 +4,7 @@ - sqlite3 module differences — APSW 3.43.1.0 documentation + sqlite3 module differences — APSW 3.43.1.1 documentation @@ -14,7 +14,7 @@ - + @@ -39,7 +39,7 @@
      - 3.43.1.0 + 3.43.1.1
      @@ -122,7 +122,7 @@

      Note

      I suggest using APSW when you want to directly use SQLite and its functionality or are using your own code to deal with database -independence rather than DBAPI. Use sqlite3 and DBAPI if +independence rather than DBAPI. Use sqlite3 and DBAPI if your needs are simple, and you don't want to use SQLite specific features.

      @@ -146,7 +146,7 @@

      What APSW does better -
    • APSW build instructions show you how to include +

    • APSW build instructions show you how to include SQLite statically in the extension, avoiding a dependency on system SQLite.

    • Nothing happens behind your back. By default sqlite3 tries to @@ -279,7 +279,7 @@

      What sqlite3 does better

      © Copyright 2004-2023, Roger Binns <rogerb@rogerbinns.com>. - Last updated on Sep 13, 2023. + Last updated on Oct 06, 2023.

    • diff --git a/search.html b/search.html index 6cbd244b..6a659f47 100644 --- a/search.html +++ b/search.html @@ -3,7 +3,7 @@ - Search — APSW 3.43.1.0 documentation + Search — APSW 3.43.1.1 documentation @@ -14,7 +14,7 @@ - + @@ -39,7 +39,7 @@
      - 3.43.1.0 + 3.43.1.1
      @@ -121,7 +121,7 @@

      © Copyright 2004-2023, Roger Binns <rogerb@rogerbinns.com>. - Last updated on Sep 13, 2023. + Last updated on Oct 06, 2023.

      diff --git a/searchindex.js b/searchindex.js index e576908e..36eaca57 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["about", "apsw", "backup", "benchmarking", "bestpractice", "blob", "changes", "connection", "copyright", "cursor", "dbapi", "example", "exceptions", "execution", "ext", "extensions", "index", "install", "pysqlite", "shell", "tips", "types", "vfs", "vtable"], "filenames": ["about.rst", "apsw.rst", "backup.rst", "benchmarking.rst", "bestpractice.rst", "blob.rst", "changes.rst", "connection.rst", "copyright.rst", "cursor.rst", "dbapi.rst", "example.rst", "exceptions.rst", "execution.rst", "ext.rst", "extensions.rst", "index.rst", "install.rst", "pysqlite.rst", "shell.rst", "tips.rst", "types.rst", "vfs.rst", "vtable.rst"], "titles": ["About", "APSW Module", "Backup", "Benchmarking", "Best Practice", "Blob Input/Output", "Change History", "Connections to a database", "Copyright and License", "Cursors (executing SQL)", "DBAPI notes", "Example/Tour", "Exceptions and Errors", "Execution and tracing", "Various interesting and useful bits of functionality", "Extensions", "APSW 3.43.1.0 documentation", "Installation and customization", "sqlite3 module differences", "Shell", "Tips", "Types", "Virtual File System (VFS)", "Virtual Tables"], "terms": {"3": [0, 1, 3, 5, 7, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 22, 23], "43": [0, 11, 17], "1": [0, 1, 2, 3, 5, 7, 9, 11, 12, 13, 14, 17, 18, 19, 20, 23], "0": [0, 1, 3, 5, 7, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 22, 23], "13": [0, 11, 16, 18], "septemb": [0, 16], "2023": [0, 8, 11, 16], "us": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23], "later": [0, 1, 6, 7, 11], "8": [0, 7, 9, 11, 12, 13, 14, 16, 18, 21, 22], "let": [0, 1, 6, 9, 11, 13, 14, 18, 22, 23], "you": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "get": [0, 1, 2, 5, 6, 7, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 22, 23], "most": [0, 6, 7, 12, 13, 17, 18, 19, 23], "out": [0, 6, 7, 9, 12, 13, 16, 17, 18, 19, 20, 21, 22, 23], "embed": [0, 6, 14, 17, 20], "relat": [0, 6, 22], "databas": [0, 1, 2, 3, 4, 5, 6, 9, 12, 13, 14, 15, 16, 17, 18, 21, 22, 23], "engin": 0, "from": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 22, 23], "glue": 0, "togeth": [0, 7, 22], "complet": [0, 1, 2, 6, 7, 9, 11, 12, 13, 17, 19, 20, 22, 23], "c": [0, 5, 6, 7, 8, 9, 11, 12, 13, 17, 18, 19, 20, 21, 22, 23], "api": [0, 2, 5, 6, 7, 9, 13, 15, 16, 17, 19, 23], "": [0, 1, 2, 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 17, 18, 20, 21, 22, 23], "stai": [0, 18], "up": [0, 1, 2, 3, 4, 6, 7, 11, 12, 13, 14, 17, 18, 20, 22, 23], "date": [0, 4, 6, 10, 11, 13, 14, 17, 18, 19], "both": [0, 1, 6, 7, 9, 11, 14, 17, 19, 20, 21], "It": [0, 1, 2, 5, 6, 7, 9, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23], "i": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23], "recommend": [0, 1, 4, 6, 7, 9, 11, 16, 20], "builtin": [0, 6, 19], "sqlite3": [0, 1, 2, 3, 5, 6, 7, 9, 12, 16, 17, 19, 22, 23], "modul": [0, 3, 4, 6, 7, 11, 12, 14, 16, 17, 19, 20, 23], "want": [0, 1, 5, 6, 7, 9, 11, 12, 13, 14, 18, 19, 20, 21, 22, 23], "appear": [0, 6, 12, 20], "interchang": 0, "other": [0, 1, 2, 3, 6, 7, 9, 10, 11, 12, 13, 17, 18, 19, 20, 22, 23], "driver": [0, 20], "when": [0, 1, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 22, 23], "fulli": 0, "have": [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23], "an": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "improv": [0, 1, 4, 6, 18, 19], "develop": [0, 6, 17, 18, 19, 23], "experi": [0, 20], "see": [0, 1, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22], "more": [0, 1, 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 22, 23], "differ": [0, 1, 3, 5, 6, 7, 9, 10, 12, 13, 14, 16, 17, 19, 21, 22, 23], "between": [0, 1, 3, 6, 11, 12, 19, 21, 22, 23], "ha": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 22, 23], "than": [0, 1, 3, 5, 6, 7, 11, 12, 13, 14, 17, 18, 19, 20, 22, 23], "itself": [0, 6, 7, 9, 12, 13, 14, 17, 23], "which": [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 22, 23], "can": [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23], "provid": [0, 1, 2, 3, 5, 6, 7, 8, 13, 14, 15, 16, 18, 19, 20, 22, 23], "fetch": [0, 6, 9], "includ": [0, 1, 2, 3, 6, 7, 8, 9, 11, 12, 13, 14, 15, 17, 18, 19, 21, 22, 23], "static": [0, 1, 6, 9, 11, 17, 18], "extens": [0, 1, 6, 7, 11, 12, 16, 17, 18, 19, 21], "http": [0, 6, 8, 11, 17], "github": [0, 6, 17], "com": [0, 6, 17], "rogerbinn": [0, 6, 17], "sourc": [0, 1, 2, 4, 6, 7, 8, 14, 18, 19, 20], "pip": [0, 6, 17, 19], "instal": [0, 1, 6, 7, 9, 13, 16, 19, 20], "pypi": [0, 6, 16], "detail": [0, 1, 3, 6, 7, 10, 12, 13, 16, 17, 18, 19, 20, 22, 23], "discuss": [0, 6], "group": [0, 1, 11], "prefer": 0, "also": [0, 1, 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 22, 23], "email": [0, 20], "author": [0, 1, 6, 7, 8, 12, 13, 14, 16], "rogerb": [0, 11, 17], "find": [0, 1, 6, 7, 9, 11, 13, 14, 15, 20, 22, 23], "exist": [0, 1, 5, 6, 7, 9, 11, 12, 19, 20, 22, 23], "fix": [0, 6, 19], "bug": [0, 6], "click": 0, "new": [0, 1, 4, 5, 6, 7, 9, 12, 13, 14, 17, 19, 20, 22, 23], "report": [0, 1, 5, 6, 12, 13, 17, 18], "previous": [0, 5, 6, 7], "unknown": [0, 6, 19], "approxim": [0, 23], "quarterli": 0, "These": [0, 1, 6, 7, 11, 17, 20, 23], "tweak": [0, 6, 11], "function": [0, 1, 4, 5, 6, 7, 9, 10, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23], "base": [0, 1, 3, 6, 7, 9, 11, 12, 14, 19, 20, 21, 22], "billion": [0, 6], "mani": [0, 1, 2, 3, 4, 6, 7, 9, 11, 12, 13, 14, 19, 20, 22, 23], "program": [0, 1, 6, 7, 13, 14, 19, 20, 23], "eg": [0, 1, 3, 5, 6, 7, 9, 11, 12, 13, 14, 17, 19, 20, 21, 22, 23], "almost": [0, 3, 6, 12, 22], "everi": [0, 1, 6, 7, 9, 11, 14, 18, 20, 22, 23], "browser": 0, "client": 0, "photo": 0, "librari": [0, 1, 4, 6, 7, 11, 12, 17, 18, 19, 21, 22], "mobil": 0, "desktop": 0, "o": [0, 3, 5, 6, 7, 12, 13, 14, 16, 18, 19, 20, 22], "despit": 0, "chang": [0, 1, 2, 4, 5, 7, 9, 11, 12, 14, 16, 18, 20, 22, 23], "retain": [0, 23], "backward": [0, 4, 6, 15], "forward": [0, 4, 6, 11, 14, 20], "compat": [0, 4, 6, 14, 15, 17, 19, 20], "file": [0, 1, 3, 5, 6, 7, 12, 13, 14, 16, 17, 18, 20, 23], "format": [0, 1, 6, 12, 14, 16, 19, 23], "wrap": [0, 3, 5, 6, 7, 11, 14, 19, 22], "That": [0, 6, 9, 10, 14, 17, 18], "mean": [0, 1, 2, 6, 7, 11, 13, 14, 17, 19, 22, 23], "add": [0, 6, 10, 11, 19, 20], "constant": [0, 6, 16, 22], "so": [0, 1, 2, 5, 6, 7, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 22, 23], "think": 0, "express": [0, 8, 14, 15, 19], "lookup": 0, "attribut": [0, 6, 10, 12, 14], "call": [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 18, 19, 20, 22, 23], "them": [0, 1, 4, 6, 7, 9, 11, 13, 14, 15, 18, 19, 20, 21, 22], "consequ": [0, 6, 7, 10, 18, 19, 20, 22], "mirror": [0, 11], "addit": [0, 1, 6, 7, 9, 11, 12, 14, 15, 17, 18, 19, 20, 23], "compon": [0, 6, 15, 17], "end": [0, 1, 5, 6, 7, 9, 10, 11, 13, 14, 18, 19, 20, 23], "reflect": [0, 6], "iter": [0, 3, 9, 10, 11, 13, 14, 19, 22, 23], "For": [0, 1, 3, 5, 6, 7, 9, 11, 12, 13, 14, 17, 18, 19, 20, 22, 23], "exampl": [0, 1, 2, 3, 5, 6, 7, 10, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23], "42": [0, 16], "would": [0, 1, 3, 5, 6, 7, 8, 9, 10, 12, 13, 14, 17, 18, 19, 20, 22, 23], "correspond": [0, 1, 6, 7, 10, 12, 14, 17, 18, 21, 22, 23], "final": [0, 1, 2, 3, 6, 7, 11, 17, 19], "increment": [0, 5, 6, 7, 14], "ar": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23], "ani": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 17, 18, 19, 20, 22, 23], "newer": [0, 6, 7], "could": [0, 1, 6, 7, 9, 11, 14, 20, 22, 23], "origin": [0, 6, 8, 9, 12, 14, 17], "2004": [0, 8], "todai": 0, "just": [0, 1, 5, 6, 7, 11, 13, 14, 18, 19, 20, 22, 23], "fine": [0, 6, 17, 18, 23], "although": [0, 6, 18, 21], "wouldn": [0, 20], "t": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 22, 23], "know": [0, 1, 6, 7, 11, 17, 19, 20, 21, 22, 23], "support": [0, 1, 6, 7, 9, 10, 11, 12, 14, 17, 18, 19, 20, 21, 22, 23], "all": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23], "under": [0, 6, 7, 8, 18, 22, 23], "onc": [0, 1, 5, 6, 7, 9, 13, 14, 22, 23], "goe": [0, 6, 14, 19], "life": [0, 6], "one": [0, 1, 2, 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 17, 19, 20, 21, 22, 23], "6": [0, 1, 7, 11, 16, 17, 18, 22], "7": [0, 9, 11, 14, 16, 18, 20, 23], "2": [0, 1, 3, 5, 7, 9, 11, 12, 13, 14, 16, 17, 18, 20, 23], "5": [0, 1, 3, 5, 7, 9, 11, 12, 14, 16, 17, 18, 23], "37": [0, 11, 16, 17], "r1": [0, 16], "The": [1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23], "main": [1, 2, 6, 7, 11, 12, 13, 14, 22, 23], "interfac": [1, 6, 7, 11, 15, 16, 19, 21, 22, 23], "method": [1, 2, 5, 6, 7, 9, 10, 11, 12, 13, 14, 18, 19, 20, 22, 23], "data": [1, 3, 5, 6, 7, 9, 11, 12, 14, 15, 17, 18, 19, 20, 22, 23], "process": [1, 2, 4, 6, 7, 11, 13, 14, 19, 20, 22, 23], "wide": [1, 6, 11, 14, 17, 18, 20], "effect": [1, 2, 4, 6, 7, 11, 14, 19, 20], "comprehens": 1, "your": [1, 2, 3, 5, 6, 7, 9, 10, 12, 13, 14, 16, 18, 19, 21, 22, 23], "code": [1, 6, 7, 9, 10, 11, 12, 13, 14, 17, 18, 20, 21, 22, 23], "check": [1, 6, 13, 16, 17, 18, 22, 23], "tool": [1, 3, 6, 14, 17], "like": [1, 5, 6, 7, 9, 11, 13, 14, 17, 18, 19, 20, 21, 22, 23], "mypi": [1, 14], "below": [1, 11, 17, 22, 23], "sqlitevalu": [1, 7, 9, 11, 14, 19, 23], "should": [1, 3, 5, 6, 7, 9, 10, 12, 13, 17, 19, 21, 22, 23], "futur": [1, 4, 6, 11, 22], "import": [1, 4, 6, 11, 12, 14, 16, 17, 18], "avail": [1, 5, 6, 7, 9, 10, 11, 12, 13, 15, 17, 18, 19, 20, 22, 23], "run": [1, 3, 6, 7, 9, 11, 12, 13, 14, 17, 18, 19, 20, 23], "time": [1, 2, 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 22, 23], "thei": [1, 4, 6, 7, 9, 11, 12, 13, 17, 19, 20, 21, 22, 23], "onli": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 17, 19, 20, 21, 22, 23], "referenc": [1, 7, 14], "checker": [1, 6, 12, 17], "id": [1, 6, 7, 10, 11, 13, 14, 17, 19, 20, 23], "requir": [1, 3, 5, 6, 7, 8, 9, 11, 12, 17, 18, 19, 20, 21], "recent": [1, 6, 7, 12, 13, 18, 19], "version": [1, 3, 6, 7, 8, 9, 12, 14, 15, 16, 17, 20, 22], "python": [1, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 16, 17, 18, 20, 21, 22, 23], "class": [1, 6, 10, 11, 14, 16, 21], "none": [1, 2, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 17, 19, 20, 21, 22, 23], "int": [1, 2, 4, 5, 6, 7, 9, 11, 14, 19, 21, 22, 23], "float": [1, 6, 10, 11, 14, 19, 21, 22, 23], "byte": [1, 2, 3, 5, 6, 7, 10, 11, 14, 19, 20, 21, 22, 23], "str": [1, 6, 7, 9, 11, 13, 14, 19, 21, 22, 23], "null": [1, 6, 7, 9, 11, 14, 19, 20, 21, 22], "64": [1, 6, 7, 11, 12, 16, 17, 21, 22, 23], "bit": [1, 6, 7, 11, 16, 17, 18, 21, 22, 23], "sign": [1, 6, 7, 17, 19, 21], "unicod": [1, 3, 6, 11, 14, 15, 16, 19, 23], "text": [1, 3, 6, 7, 9, 11, 13, 14, 15, 19, 20, 21, 22], "tupl": [1, 4, 7, 9, 11, 12, 13, 14, 19, 20, 22, 23], "A": [1, 2, 3, 5, 6, 7, 9, 11, 12, 13, 14, 17, 19, 20, 21, 22, 23], "sequenc": [1, 5, 6, 7, 9, 14, 16, 19, 21, 23], "zero": [1, 2, 5, 6, 7, 10, 11, 12, 13, 14, 19, 20, 22, 23], "bind": [1, 3, 6, 7, 9, 12, 13, 14, 16, 19, 21, 22], "zeroblob": [1, 9, 11, 16], "map": [1, 6, 7, 9, 11, 12, 13, 14, 16, 20, 22, 23], "queri": [1, 3, 6, 7, 9, 12, 13, 16, 18, 19, 20, 22, 23], "either": [1, 5, 6, 9, 12, 14, 19, 20, 21, 23], "dict": [1, 6, 7, 9, 14, 16, 19, 20, 23], "name": [1, 3, 4, 6, 7, 9, 10, 12, 13, 16, 17, 18, 20, 21, 22, 23], "subclass": [1, 6, 19, 21], "regist": [1, 6, 7, 11, 12, 13, 14, 18, 22, 23], "collect": [1, 6, 7, 9, 11, 14], "abc": [1, 6, 13, 14], "aggregatet": 1, "object": [1, 2, 5, 6, 7, 9, 11, 12, 13, 14, 16, 19, 20, 22, 23], "first": [1, 5, 6, 7, 9, 11, 13, 14, 19, 22, 23], "paramet": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 14, 20, 22, 23], "step": [1, 2, 6, 7, 9, 11, 13, 14, 15, 17, 20, 23], "aggreg": [1, 6, 7, 13, 16], "aggregatestep": 1, "callabl": [1, 4, 6, 7, 9, 14, 20, 23], "each": [1, 3, 6, 7, 9, 11, 12, 13, 14, 17, 18, 19, 20, 22, 23], "match": [1, 4, 6, 7, 11, 14, 19, 22, 23], "row": [1, 3, 5, 6, 7, 9, 10, 16, 18, 19, 20, 23], "relev": [1, 6, 7, 17, 19], "number": [1, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 22, 23], "aggregatefin": 1, "after": [1, 2, 5, 6, 7, 9, 11, 13, 14, 19, 20, 22, 23], "been": [1, 2, 6, 7, 9, 11, 13, 17, 19, 20, 22, 23], "return": [1, 2, 3, 5, 6, 7, 9, 10, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23], "aggregatefactori": [1, 7], "start": [1, 5, 6, 7, 9, 10, 11, 12, 13, 14, 19, 20, 22, 23], "calcul": [1, 10, 11, 13, 20], "scalarprotocol": [1, 7], "scalar": [1, 7, 11, 12, 18, 23], "callback": [1, 6, 7, 11, 12, 13, 18, 20, 23], "take": [1, 2, 3, 6, 7, 11, 12, 13, 15, 17, 19, 21, 22, 23], "windowt": 1, "4": [1, 3, 7, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 23], "window": [1, 6, 7, 16, 17, 19, 22], "windowstep": 1, "windowfin": 1, "windowvalu": 1, "valu": [1, 2, 3, 5, 6, 7, 9, 10, 12, 13, 14, 16, 17, 18, 21, 22, 23], "current": [1, 5, 6, 7, 9, 11, 14, 17, 18, 19, 21, 22, 23], "windowinvers": 1, "invers": [1, 7, 11], "windowfactori": [1, 7], "windowclass": 1, "execut": [1, 3, 5, 6, 7, 10, 12, 14, 16, 17, 18, 19, 20, 22, 23], "rowtrac": [1, 6, 7, 9, 11, 13, 14, 20], "cursor": [1, 2, 3, 6, 7, 11, 12, 13, 14, 16, 17, 18, 22, 23], "tracer": [1, 6, 7, 9, 11, 12, 14, 20], "If": [1, 2, 5, 6, 7, 8, 9, 10, 11, 13, 14, 17, 19, 20, 21, 22, 23], "otherwis": [1, 2, 3, 6, 7, 14, 17, 19], "whatev": [1, 7, 9, 13, 17, 18, 19, 22], "result": [1, 5, 6, 7, 9, 10, 12, 13, 16, 18, 19, 20, 21, 22, 23], "exectrac": [1, 6, 7, 9, 11, 13], "option": [1, 3, 6, 11, 13, 16, 20, 22, 23], "bool": [1, 2, 5, 6, 7, 9, 11, 14, 19, 22, 23], "sql": [1, 2, 3, 4, 6, 7, 12, 13, 14, 15, 16, 18, 19, 21, 22, 23], "fals": [1, 2, 3, 5, 6, 7, 9, 11, 12, 13, 14, 19, 22, 23], "abort": [1, 6, 7, 11, 13, 19, 20], "true": [1, 2, 6, 7, 9, 11, 13, 14, 17, 19, 22, 23], "continu": [1, 7, 11, 12, 14, 17], "oper": [1, 6, 7, 10, 11, 12, 14, 17, 19, 20, 22, 23], "string": [1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 18, 20, 21, 22, 23], "depend": [1, 6, 7, 11, 14, 16, 18, 21], "operat": 1, "ok": [1, 6, 7, 9, 11, 17], "deni": [1, 7, 11, 12], "ignor": [1, 2, 3, 5, 6, 7, 11, 18, 19, 20, 22, 23], "commithook": [1, 7], "commit": [1, 2, 6, 7, 9, 10, 16, 20, 22, 23], "hook": [1, 4, 6, 7, 13, 16, 20, 22], "argument": [1, 6, 7, 11, 12, 13, 14, 19, 23], "integ": [1, 6, 7, 9, 11, 12, 14, 19, 21, 22, 23], "wa": [1, 6, 7, 9, 11, 12, 13, 14, 19, 20, 22, 23], "compil": [1, 6, 9, 11, 13, 15, 17, 19, 21], "against": [1, 6, 7, 11, 13, 14, 17], "3006004": 1, "thi": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 22, 23], "mai": [1, 2, 3, 5, 6, 7, 8, 11, 12, 13, 14, 17, 19, 20, 21, 22, 23], "actual": [1, 7, 10, 13, 14, 17, 19, 21, 22, 23], "share": [1, 6, 7, 11, 16, 22], "updat": [1, 6, 7, 9, 10, 13, 15, 16, 22, 23], "sqlitelibvers": [1, 7, 11], "allow": [1, 2, 4, 5, 6, 7, 9, 10, 11, 12, 14, 17, 18, 19, 20], "miss": [1, 6, 7, 9, 11, 12, 17, 22], "how": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 18, 19, 20, 21, 22, 23], "handl": [1, 3, 6, 7, 12, 16, 18, 19, 22], "histor": 1, "were": [1, 2, 3, 6, 7, 9, 12, 14, 19, 22, 23], "treat": [1, 6, 7, 19, 21, 22], "anticip": 1, "lot": [1, 6, 11, 12, 14, 17, 23], "column": [1, 3, 4, 6, 7, 9, 12, 13, 16, 17, 18, 19, 20, 21, 23], "ones": [1, 2, 6, 12, 19, 22], "default": [1, 2, 5, 6, 7, 11, 12, 13, 14, 15, 18, 19, 20, 21, 22, 23], "conveni": [1, 7, 13, 19, 20, 22, 23], "unfortun": [1, 6], "side": [1, 23], "catch": [1, 2, 6, 11, 18, 19, 22], "typo": 1, "similar": [1, 6, 11, 12, 17, 19, 23], "issu": [1, 6, 7, 9, 12, 13, 15, 16, 17, 18, 20, 22], "41": [1, 16], "entri": [1, 6, 7, 9, 11, 13, 23], "except": [1, 2, 5, 6, 7, 9, 10, 11, 13, 14, 16, 17, 18, 20, 21, 23], "restor": [1, 3, 6], "earlier": [1, 5, 6, 12, 15, 18, 22], "behaviour": [1, 3, 5, 6, 7, 11, 16, 18, 19, 22, 23], "previou": [1, 6, 12, 13], "apswvers": [1, 6, 11], "someth": [1, 7, 11, 17, 19, 21, 23], "enabl": [1, 4, 6, 7, 9, 15, 17, 19, 21], "lock": [1, 2, 4, 6, 7, 10, 12, 13, 18, 19, 20, 22], "style": [1, 6, 10, 12, 19], "temp": [1, 6, 7, 14], "store": [1, 5, 10, 14, 15, 19, 22, 23], "threadsaf": [1, 6, 13], "compileopt": 1, "statement": [1, 2, 3, 5, 6, 7, 9, 10, 11, 12, 14, 16, 18, 19, 20, 21, 23], "input": [1, 6, 7, 11, 12, 16, 19, 21], "compris": 1, "look": [1, 7, 9, 11, 14, 19], "unquot": 1, "trail": [1, 6, 9, 17, 19], "semi": [1, 9, 13, 18, 19], "colon": [1, 9, 13, 18, 19], "prompt": [1, 6], "user": [1, 6, 7, 11, 12, 13, 14, 18, 19, 20, 21, 22, 23], "need": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 14, 15, 17, 18, 19, 20, 21, 22, 23], "had": [1, 6, 7, 9, 12, 19, 23], "whole": [1, 4, 13, 20], "ask": [1, 6, 10, 11, 19, 20, 21, 23], "anoth": [1, 2, 4, 7, 9, 11, 12, 13, 19, 22], "line": [1, 3, 6, 7, 11, 12, 13, 14, 16, 17, 18, 20], "while": [1, 2, 3, 4, 6, 7, 9, 11, 12, 13, 17, 19, 20, 22, 23], "n": [1, 3, 7, 11, 13, 19], "config": [1, 6, 7, 17, 20], "op": [1, 6, 7, 11, 14, 22, 23], "arg": [1, 7, 11, 12, 14, 23], "configur": [1, 6, 7, 11, 17, 19], "appropri": [1, 2, 6, 7, 10, 19, 22, 23], "some": [1, 2, 3, 5, 6, 7, 11, 12, 15, 18, 19, 20, 22, 23], "don": [1, 3, 4, 6, 7, 9, 10, 11, 13, 18, 19, 20, 21, 22, 23], "make": [1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 22, 23], "sens": [1, 10, 20, 23], "remain": [1, 2, 5, 6, 7, 9, 10, 11, 13, 14, 19, 22], "tip": [1, 6, 11, 16], "receiv": [1, 6, 11, 22, 23], "log": [1, 4, 6, 7, 12, 13, 16, 22], "messag": [1, 3, 6, 7, 10, 11, 13, 14, 19, 20, 22], "connect": [1, 2, 4, 5, 6, 9, 11, 12, 13, 14, 16, 18, 22, 23], "list": [1, 6, 7, 8, 9, 11, 12, 13, 14, 16, 17, 19, 20, 22, 23], "purpos": [1, 6, 8, 19, 23], "easi": [1, 6, 11, 13, 14, 15, 18, 19, 20, 22], "registr": [1, 11], "virtual": [1, 6, 7, 9, 12, 16, 18, 19], "tabl": [1, 3, 4, 6, 7, 9, 12, 13, 15, 16, 18, 20, 22], "item": [1, 6, 7, 9, 11, 12, 13, 14, 19, 22, 23], "creat": [1, 2, 3, 5, 6, 7, 9, 11, 12, 13, 14, 17, 18, 19, 20, 22, 23], "empti": [1, 5, 6, 7, 12, 14, 19, 22, 23], "whenev": [1, 7, 15], "invok": [1, 6, 7, 17, 19], "singl": [1, 3, 4, 6, 9, 11, 13, 19, 20], "being": [1, 5, 6, 7, 8, 9, 11, 13, 18, 19, 20, 21, 22, 23], "rais": [1, 4, 5, 7, 9, 10, 11, 12, 13, 14, 18, 19, 22, 23], "creation": [1, 2], "fail": [1, 6, 7, 12, 14, 17, 20, 22], "own": [1, 3, 6, 7, 12, 13, 16, 17, 18, 19, 20, 22, 23], "defin": [1, 2, 5, 6, 7, 9, 10, 12, 13, 14, 16, 17, 18, 21, 22], "got": [1, 6, 7, 11, 12], "turn": [1, 4, 6, 7, 11, 12, 13, 14, 18, 19, 20, 22], "enablesharedcach": 1, "same": [1, 2, 5, 6, 7, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 22, 23], "across": [1, 3, 6, 7, 9, 13, 14, 18, 19, 22], "thread": [1, 4, 6, 7, 9, 10, 12, 16, 18, 19, 22], "multipl": [1, 2, 3, 5, 6, 7, 9, 10, 11, 13, 14, 17, 18, 19, 20, 21, 22, 23], "access": [1, 2, 3, 5, 6, 7, 12, 13, 16, 18, 19, 20, 22, 23], "cach": [1, 3, 6, 7, 9, 11, 14, 16, 23], "exceptionfor": [1, 22, 23], "particular": [1, 7, 10, 15, 19, 20, 23], "error": [1, 2, 4, 5, 6, 7, 9, 10, 11, 13, 14, 16, 17, 18, 19, 20, 23], "understand": [1, 3, 7, 9, 11, 12, 17, 19, 23], "extend": [1, 6, 12, 18, 19, 20], "ioerr": [1, 6, 7, 12, 22], "fork": [1, 6, 12], "note": [1, 3, 5, 6, 7, 9, 11, 12, 13, 14, 15, 16, 20, 21, 22, 23], "doe": [1, 2, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 16, 17, 19, 20, 21, 22], "system": [1, 3, 6, 7, 12, 14, 16, 17, 18, 19, 20], "faq": 1, "q6": 1, "child": 1, "duplic": [1, 3, 6, 14, 23], "parent": [1, 7], "state": [1, 6, 7, 9, 19], "structur": [1, 6, 7, 9, 22, 23], "do": [1, 3, 5, 6, 7, 9, 10, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23], "consid": [1, 7, 14, 22, 23], "themselv": 1, "owner": 1, "open": [1, 5, 6, 7, 8, 9, 12, 13, 16, 20, 22, 23], "silent": [1, 3, 9, 18], "corrupt": [1, 6, 7, 11, 12, 22], "work": [1, 3, 5, 6, 7, 9, 11, 12, 13, 14, 15, 17, 18, 19, 20, 22, 23], "interfer": 1, "One": [1, 6, 7, 9, 19, 20, 22, 23], "multiprocess": [1, 6], "platform": [1, 6, 7, 17, 19], "must": [1, 2, 3, 6, 7, 8, 9, 11, 12, 14, 15, 19, 21, 22, 23], "ensur": [1, 2, 4, 6, 7, 11, 17, 19, 20, 22], "backup": [1, 6, 7, 16, 18], "blob": [1, 2, 6, 7, 10, 12, 13, 16, 18, 19, 21], "etc": [1, 4, 6, 7, 9, 11, 13, 14, 17, 18, 19, 20, 21, 22, 23], "close": [1, 2, 5, 6, 7, 9, 11, 12, 13, 22, 23], "befor": [1, 2, 3, 5, 6, 7, 9, 11, 12, 13, 15, 17, 19, 20, 22, 23], "underli": [1, 3, 5, 6, 7, 14, 22, 23], "good": [1, 6, 7, 11, 17, 18, 21], "idea": [1, 6, 7, 11], "gc": 1, "anyth": [1, 9, 20, 21, 22, 23], "dealloc": 1, "extra": [1, 2, 6, 17, 20], "insert": [1, 3, 5, 6, 7, 9, 10, 11, 12, 13, 18, 19, 20, 23], "mutex": [1, 6, 18], "veri": [1, 4, 5, 6, 7, 9, 11, 13, 14, 18, 19, 20], "small": [1, 5, 6, 11], "perform": [1, 3, 4, 6, 7, 11, 12, 17, 19, 20, 23], "penalti": 1, "verifi": [1, 6, 7, 12, 13, 19], "forkingviolationerror": [1, 12], "due": [1, 6, 12, 14], "wai": [1, 3, 5, 6, 7, 9, 10, 11, 13, 14, 15, 17, 18, 19, 20, 22, 23], "intern": [1, 6, 7, 13, 14, 15, 19, 22], "deliv": 1, "sy": [1, 6, 11, 12, 14, 17, 19, 22], "excepthook": [1, 6, 12, 22], "normal": [1, 3, 5, 6, 7, 9, 11, 13, 17, 18, 19, 20, 22, 23], "mechan": [1, 6, 11, 23], "where": [1, 6, 9, 10, 11, 12, 13, 14, 19, 20, 21, 22, 23], "aros": [1, 6], "destructor": [1, 6, 23], "didn": [1, 6, 13], "shutdown": [1, 6, 22], "re": [1, 5, 6, 7, 16, 20], "initi": [1, 6, 7, 14, 19, 23], "alreadi": [1, 5, 6, 9, 19, 22, 23], "alloc": [1, 5, 6, 11, 12, 13, 17], "crash": [1, 6, 7, 11, 18, 20, 22], "part": [1, 6, 7, 11, 12, 14, 18, 19, 22, 23], "test": [1, 3, 6, 11, 12, 13, 16, 18, 20, 22], "suit": [1, 6, 13, 17, 18], "repres": [1, 5, 7, 10, 11, 14, 21, 22, 23], "suppli": [1, 3, 5, 6, 7, 9, 11, 12, 13, 14, 19, 21, 22], "syntax": [1, 6, 9, 11, 13], "point": [1, 5, 6, 7, 10, 11, 14, 19, 20, 22], "nan": [1, 6], "infin": [1, 6], "1e999": 1, "lose": [1, 5], "neg": [1, 2, 5, 6, 7, 14, 19], "hard": [1, 3, 6, 20, 23], "heap": [1, 6, 7], "limit": [1, 6, 7, 9, 12, 13, 14, 16, 19, 20, 21], "enforc": [1, 6], "keep": [1, 4, 6, 7, 11, 19, 20, 23], "memori": [1, 3, 6, 7, 9, 11, 13, 14, 17, 18, 19, 20, 22, 23], "usag": [1, 2, 3, 4, 6, 7, 11, 12, 13, 14, 16, 22], "softheaplimit": [1, 6], "limit64": [1, 6], "unlik": [1, 9], "automat": [1, 4, 6, 7, 9, 11, 13, 17, 19, 20, 22], "keyword": [1, 6, 11, 14], "set": [1, 4, 5, 6, 7, 9, 11, 13, 14, 17, 19, 20, 22, 23], "contain": [1, 6, 7, 9, 11, 19, 23], "count": [1, 7, 10, 11, 14, 19, 22], "errorcod": 1, "pass": [1, 6, 7, 9, 11, 12, 14, 19, 20, 22, 23], "nomem": [1, 6, 12], "f": [1, 11, 14, 20], "memoryhighwat": 1, "reset": [1, 6, 7, 11, 22], "maximum": [1, 5, 6, 7, 10, 11, 14, 22], "amount": [1, 3, 5, 6, 7, 9, 10, 11, 13, 20, 22], "high": [1, 6], "water": 1, "mark": [1, 8, 19, 20, 22], "statu": [1, 6, 7, 11], "highwat": [1, 6, 7], "memoryus": 1, "sentinel": 1, "indic": [1, 6, 7, 11, 12, 14, 22, 23], "vtcursor": [1, 6, 7, 16], "columnnochang": [1, 6, 7, 23], "vttabl": [1, 6, 7, 16], "updatechangerow": [1, 6, 7, 23], "random": [1, 6, 7, 11, 14, 21, 22], "gener": [1, 6, 7, 11, 13, 14, 19, 20, 21, 22, 23], "releasememori": 1, "request": [1, 5, 6, 7, 9, 10, 12, 17, 19, 20, 22, 23], "try": [1, 2, 3, 6, 9, 11, 12, 13, 14, 18, 19, 20, 23], "free": [1, 2, 6, 7], "freed": [1, 7], "releas": [1, 2, 6, 7, 10, 12, 13, 16, 17, 18, 23], "vf": [1, 3, 6, 7, 12, 13, 16, 18, 19, 20], "vfsname": [1, 6, 11, 22], "realli": [1, 9, 11], "bad": [1, 6, 9, 11, 12, 20], "unless": [1, 6, 7, 12, 18, 19], "absolut": [1, 5, 6, 19, 22], "sure": [1, 19], "delet": [1, 6, 7, 11, 19, 22, 23], "garbag": [1, 6, 7, 9, 11], "sleep": [1, 6, 22], "millisecond": [1, 6, 7, 19, 22], "least": [1, 6, 7, 9, 13, 19, 22], "soft": [1, 6], "sourceid": [1, 6], "exact": [1, 14, 21], "checkin": 1, "inform": [1, 6, 7, 9, 10, 11, 12, 16, 19, 20, 22, 23], "libvers": 1, "measur": [1, 7, 18], "status64": 1, "strglob": [1, 6], "glob": [1, 6], "stricmp": [1, 6], "string1": 1, "string2": 1, "case": [1, 5, 6, 7, 9, 11, 14, 17, 19, 21, 22], "insensit": 1, "comparison": 1, "strlike": [1, 6], "escap": [1, 14, 19], "strnicmp": [1, 6], "unregist": [1, 6, 7, 9, 11, 22], "amalgam": [1, 6, 11, 17], "affect": [1, 4, 6, 7, 14, 17, 19], "dictionari": [1, 6, 7, 9, 11, 13, 14, 19, 20], "kei": [1, 4, 6, 7, 11, 12, 14, 17, 19, 23], "pointer": [1, 6, 7, 11, 22], "convert": [1, 6, 11, 13, 16, 18, 19, 21, 23], "pylong": [1, 7], "fromvoidptr": [1, 7], "variou": [1, 6, 11, 12, 16, 17, 18, 19, 20, 21], "To": [1, 5, 6, 10, 11, 14, 17, 19, 20, 22, 23], "context": [1, 2, 5, 6, 7, 12, 18], "index": [1, 6, 11, 13, 14, 16, 17, 20, 22, 23], "numer": [1, 7, 10, 11, 12, 22], "help": [1, 3, 6, 11, 13, 17, 22, 23], "diagnost": [1, 6, 13, 16, 18, 19], "read": [1, 2, 5, 6, 7, 9, 11, 12, 13, 14, 20, 21, 22, 23], "20": [1, 7, 11, 16], "flag": [1, 6, 7, 9, 11, 12, 13, 14, 15, 22, 23], "xaccess": [1, 22], "readwrit": [1, 7, 11, 13], "action": [1, 6, 7, 11, 12, 14], "alter": [1, 3, 6, 8, 11, 20, 23], "analyz": 1, "attach": [1, 6, 7, 10, 11, 14, 17, 19, 23], "copi": [1, 2, 5, 6, 7, 11, 17, 19], "trigger": [1, 6, 7, 11, 12, 14, 19], "view": [1, 2, 6, 7, 9, 11, 14, 19], "vtabl": [1, 6, 12, 23], "detach": 1, "drop": [1, 6, 7, 11, 18, 19], "pragma": [1, 2, 6, 7, 9, 13, 14, 16, 20, 22], "recurs": [1, 6, 11], "reindex": [1, 6], "savepoint": [1, 6, 7, 10, 13, 23], "select": [1, 3, 7, 9, 10, 11, 12, 13, 14, 18, 19, 20, 23], "transact": [1, 2, 3, 6, 7, 9, 10, 12, 16, 18, 23], "bestindex": [1, 6, 7, 11, 12, 23], "constraint": [1, 4, 6, 7, 12, 14, 23], "eq": [1, 11, 14, 23], "ge": 1, "gt": [1, 14, 23], "isnot": [1, 6], "isnotnul": [1, 6], "isnul": [1, 6], "le": [1, 14, 23], "lt": [1, 11], "ne": [1, 6], "offset": [1, 5, 6, 7, 11, 12, 19, 22], "regexp": [1, 6], "cover": [1, 6, 17, 19], "scan": [1, 6, 11, 14, 19, 23], "getmalloc": 1, "getmutex": 1, "getpcach": 1, "getpcache2": [1, 6], "lookasid": 1, "malloc": [1, 6], "memdb": [1, 6, 11], "maxsiz": [1, 6], "memstatu": 1, "mmap": 1, "size": [1, 2, 3, 5, 6, 7, 11, 12, 13, 14, 19, 22], "multithread": 1, "pagecach": 1, "pcach": [1, 6], "pcache2": 1, "hdrsz": [1, 6], "pmasz": [1, 6], "scratch": 1, "serial": [1, 6, 7, 13, 17], "singlethread": 1, "sorterref": 1, "sqllog": [1, 6], "stmtjrnl": [1, 6], "spill": [1, 6], "uri": [1, 6, 11, 22], "win32": [1, 6, 22], "heapsiz": [1, 6], "conflict": [1, 6, 7], "resolut": [1, 6], "mode": [1, 6, 7, 11, 13, 14, 16], "replac": [1, 6, 7, 14, 19, 22], "rollback": [1, 6, 7, 10, 11, 12, 13, 14, 20, 22, 23], "db": [1, 2, 6, 7, 9, 11, 13, 14, 16, 20, 22], "dbconfig": [1, 6, 7], "defens": [1, 6], "dq": [1, 4, 6], "ddl": [1, 6], "dml": [1, 6], "fkei": [1, 7, 19], "fts3": [1, 6, 16], "token": [1, 6, 12, 19], "load": [1, 6, 7, 12, 17, 22], "qpsg": [1, 6], "legaci": [1, 6, 14], "maindbnam": [1, 6], "max": [1, 6, 7, 11, 13, 17], "NO": [1, 6], "ckpt": [1, 6], "ON": [1, 6, 11], "revers": 1, "scanord": 1, "stmt": [1, 6, 7, 9, 11], "scanstatu": 1, "eqp": [1, 6], "trust": [1, 6], "schema": [1, 6, 7, 11, 12, 14, 16], "writabl": [1, 5, 6], "dbstatu": [1, 6], "hit": [1, 3, 6, 7, 11, 19], "write": [1, 4, 5, 6, 7, 9, 11, 12, 14, 16, 19, 22, 23], "defer": [1, 6, 19], "fk": [1, 6], "full": [1, 5, 6, 7, 9, 11, 12, 13, 14, 15, 17, 19, 22], "devic": [1, 15], "characterist": 1, "iocap": [1, 6], "atom": [1, 6, 9], "atomic16k": 1, "atomic1k": 1, "atomic2k": 1, "atomic32k": 1, "atomic4k": 1, "atomic512": 1, "atomic64k": 1, "atomic8k": 1, "batch": [1, 6, 11, 19, 20], "immut": [1, 6], "powersaf": [1, 6], "overwrit": [1, 6, 19], "safe": [1, 2, 6, 9, 13, 19, 22], "append": [1, 9, 14, 20], "sequenti": 1, "undelet": 1, "auth": [1, 6, 11, 12], "busi": [1, 4, 6, 7, 13, 16, 19, 22], "recoveri": [1, 6, 22], "snapshot": [1, 6], "timeout": [1, 4, 6, 7, 13, 20], "cantopen": [1, 6, 12, 20], "convpath": [1, 6], "dirtyw": [1, 6], "fullpath": [1, 6], "isdir": [1, 6, 11], "notempdir": 1, "symlink": [1, 6, 11], "datatyp": [1, 5, 6], "foreignkei": 1, "notnul": 1, "pin": [1, 6], "primarykei": 1, "rowid": [1, 5, 6, 7, 9, 10, 11, 12, 14, 23], "uniqu": [1, 7, 9, 13, 14, 20, 23], "vtab": [1, 6, 7, 23], "collseq": [1, 6], "retri": [1, 4, 6, 7, 13, 19, 20], "begin": [1, 4, 5, 6, 9, 10, 11, 13, 19, 20, 23], "block": [1, 5, 6, 7, 22], "checkreservedlock": [1, 6], "corruptf": [1, 6], "noent": [1, 6, 22], "dir": [1, 6, 11], "fsync": 1, "fstat": 1, "gettemppath": [1, 6], "IN": [1, 7, 11], "page": [1, 2, 6, 7, 11, 14, 19, 20, 22, 23], "rdlock": 1, "seek": [1, 5, 6, 11], "shmlock": 1, "shmmap": [1, 6], "shmopen": 1, "shmsize": 1, "short": [1, 4, 7, 12, 17, 20, 22], "truncat": [1, 6, 11, 14, 19], "unlock": [1, 12], "vnode": [1, 6], "sharedcach": [1, 6, 20], "notic": [1, 8], "rbu": [1, 6, 16], "recov": [1, 6, 12], "wal": [1, 4, 6, 7, 11, 14, 20, 22], "perman": [1, 6, 11, 20], "readonli": [1, 6, 7, 9, 11, 12, 14, 22, 23], "cantinit": [1, 6], "cantlock": [1, 6], "dbmove": [1, 6], "directori": [1, 6, 11, 17, 19, 20, 22, 23], "warn": [1, 6, 20], "autoindex": [1, 6, 11], "control": [1, 3, 6, 7, 9, 12, 16, 17, 18, 19, 20, 22], "standard": [1, 6, 10, 11, 14, 17, 18, 19], "opcod": [1, 6, 11, 14], "fcntl": [1, 6, 7, 11, 22], "busyhandl": [1, 6], "chunk": [1, 6, 7], "done": [1, 2, 4, 5, 6, 7, 9, 11, 13, 17, 19, 20, 22], "cksm": [1, 6], "phasetwo": [1, 6], "extern": [1, 6, 21, 22], "reader": [1, 6], "lockproxyfil": [1, 6], "move": [1, 6, 11, 23], "journal": [1, 6, 7, 11, 14, 19, 20, 22], "last": [1, 2, 6, 7, 9, 10, 11, 12, 13, 17, 18, 19, 22], "errno": [1, 6, 7], "lockstat": [1, 6], "pdb": [1, 6], "persist": [1, 6], "reserv": [1, 5, 6, 7, 14, 22], "hint": [1, 14], "sync": [1, 6, 22, 23], "omit": [1, 2, 6, 13, 14, 17, 19, 23], "tempfilenam": [1, 6], "trace": [1, 6, 7, 9, 16, 18, 20, 22, 23], "av": [1, 6], "zipvf": [1, 6], "determinist": [1, 6, 7], "directonli": [1, 6], "innocu": 1, "subtyp": 1, "categori": [1, 11], "compound": [1, 23], "expr": 1, "depth": [1, 6], "length": [1, 5, 6, 7, 9, 11, 13, 19, 22, 23], "pattern": [1, 17], "variabl": [1, 6, 9, 12, 14, 19, 23], "vdbe": [1, 6, 7, 9, 11, 14], "worker": [1, 6], "level": [1, 5, 6, 7, 11, 14, 18, 19, 21, 22, 23], "exclus": [1, 6, 13], "pend": [1, 7, 12], "autoproxi": [1, 6], "deleteonclos": [1, 22], "exrescod": [1, 6], "fullmutex": [1, 6], "nofollow": [1, 6], "nomutex": [1, 6], "privatecach": [1, 6], "subjourn": 1, "super": [1, 6, 7, 11, 22], "transient": [1, 19], "prepar": [1, 6, 7, 9, 11, 12, 13, 14], "interrupt": [1, 6, 7, 12, 19], "mismatch": [1, 12], "misus": [1, 6, 12], "nolf": [1, 12], "notadb": [1, 12], "notfound": [1, 6, 12], "perm": [1, 12], "protocol": [1, 6, 10, 12, 21, 23], "rang": [1, 3, 6, 11, 12], "toobig": [1, 11, 12], "stmtstatu": [1, 7, 11], "filter": [1, 6, 11, 13, 23], "fullscan": [1, 11], "memus": [1, 11], "reprepar": [1, 11, 12, 13], "sort": [1, 6, 7, 15, 16, 19, 21, 23], "vm": [1, 7, 11], "overflow": [1, 21], "parser": 1, "stack": [1, 6, 14, 18, 19, 20, 22, 23], "synchron": 1, "dataonli": 1, "event": [1, 7, 8, 11], "profil": [1, 6, 7, 11], "txn": [1, 6, 7], "checkpoint": [1, 6, 7, 14, 20], "passiv": [1, 7], "restart": [1, 6, 11], "xshmlock": [1, 6], "shm": 1, "encapsul": [2, 6, 7, 9, 22], "destin": [2, 6], "repeatedli": [2, 22], "deal": [2, 6, 18, 19, 21, 22], "finish": [2, 6, 7, 9, 11], "clean": [2, 7, 14], "roll": [2, 6, 7, 20], "back": [2, 3, 6, 7, 9, 10, 11, 14, 18, 19, 20, 22, 23], "here": [2, 4, 6, 7, 11, 12, 13, 14, 19, 23], "b": [2, 7, 11, 13, 14, 19, 20, 23], "100": [2, 4, 6, 7, 11, 13, 14, 22, 23], "print": [2, 3, 6, 7, 9, 11, 12, 13, 16, 18, 20], "pagecount": 2, "r": [2, 6, 11, 13], "flush": [2, 7, 11], "ll": [2, 11, 20, 23], "round": [2, 19, 22], "trip": [2, 19], "via": [2, 3, 6, 7, 9, 11, 14, 15, 19, 20], "dure": [2, 4, 5, 6, 7, 10, 13, 20], "threadingviolationerror": [2, 9, 12, 13], "attempt": [2, 5, 6, 7, 9, 10, 11, 12, 20], "instanc": [2, 6, 7, 12, 14, 19, 22, 23], "enter": [2, 5, 6, 7, 19], "manag": [2, 3, 5, 6, 7, 15, 16, 18], "pep": [2, 5, 6, 7, 10, 18], "0343": [2, 5, 6, 7], "exit": [2, 3, 5, 6, 7, 13, 20], "etyp": [2, 5, 7, 22], "type": [2, 5, 6, 7, 9, 12, 16, 18, 19, 22, 23], "baseexcept": [2, 5, 7, 14, 22], "evalu": [2, 5, 7, 9, 22, 23], "etraceback": [2, 5, 7, 22], "tracebacktyp": [2, 5, 7, 14, 22], "implement": [2, 5, 6, 7, 9, 10, 11, 12, 18, 19, 22, 23], "conjunct": [2, 5, 6, 7], "forc": [2, 5, 6, 7, 9, 19], "thing": [2, 6, 9, 11, 12, 13, 18, 21], "give": [2, 4, 6, 7, 11, 12, 13, 14, 18, 19, 20, 22, 23], "apsw": [2, 3, 4, 5, 6, 7, 9, 10, 14, 17, 19, 20, 21, 22, 23], "boolean": [2, 7, 11, 12, 22, 23], "alwai": [2, 3, 5, 6, 7, 11, 14, 19, 20, 21, 23], "even": [2, 5, 6, 7, 11, 12, 13, 17, 19, 20, 22, 23], "haven": [2, 18], "npage": 2, "smaller": 2, "until": [2, 5, 9, 10, 19], "4096": [2, 11, 14, 22], "4kb": 2, "throw": 2, "busyerror": [2, 4, 7, 12, 13, 20, 22], "lockederror": [2, 12], "unabl": [2, 12, 20, 22], "those": [2, 4, 5, 6, 7, 8, 13, 14, 19], "again": [2, 6, 7, 11, 12, 17, 19, 22, 23], "outstand": [2, 7], "els": [2, 6, 7, 11, 14, 19, 21, 22, 23], "sqlite": [3, 4, 5, 6, 7, 9, 10, 13, 15, 16, 18, 19, 21, 22, 23], "layer": [3, 18], "interpret": [3, 10], "behind": [3, 6, 7, 9, 12, 18], "well": [3, 6, 13, 14, 18, 19, 20, 21, 23], "its": [3, 5, 6, 7, 11, 14, 18, 23], "yourself": [3, 6, 19, 20, 23], "000": [3, 23], "per": [3, 11, 19], "spin": 3, "drive": 3, "60": 3, "second": [3, 4, 5, 7, 13, 14, 19, 20, 22, 23], "speed": [3, 6, 11, 23], "tester": [3, 6], "compar": [3, 11, 19, 20], "host": [3, 6, 16], "matter": [3, 7, 13, 14, 17, 19, 20], "python3": [3, 6, 11, 13, 17, 19], "m": [3, 4, 6, 11, 13, 17], "h": [3, 13, 17], "correct": [3, 5, 6, 7, 11, 17, 21, 23], "scale": [3, 6], "dump": [3, 6, 11, 20], "filenam": [3, 5, 6, 7, 11, 13, 14, 17, 22], "sc": 3, "hide": [3, 18], "mb": 3, "packag": [3, 6, 17], "show": [3, 6, 7, 11, 12, 13, 14, 15, 18, 20, 22, 23], "unit": 3, "about": [3, 6, 7, 9, 11, 13, 14, 16, 19, 20, 21, 22, 23], "10": [3, 9, 11, 12, 13, 14, 16, 17, 18, 19, 20, 22, 23], "what": [3, 5, 6, 7, 9, 12, 13, 14, 16, 17, 19, 20, 21, 22, 23], "bigstmt": 3, "nobind": 3, "feed": [3, 14], "command": [3, 6, 11, 13, 16, 18], "shell": [3, 6, 16, 20], "128": [3, 6], "percentag": 3, "non": [3, 6, 12, 14, 19, 21, 22, 23], "ascii": [3, 6, 14, 19], "charact": [3, 6, 7, 9, 14, 19, 21], "50": [3, 6, 11], "randomli": 3, "individu": [3, 4, 13], "summari": [3, 6, 13, 18, 19, 21], "passthru": 3, "dummi": [3, 6, 11], "real": [3, 11, 19, 21, 23], "megabyt": 3, "outsid": [3, 6, 11, 22, 23], "caus": [3, 6, 7, 9, 11, 12, 13, 20], "disk": [3, 7, 11, 14, 22, 23], "consist": [3, 6, 19], "executescript": [3, 18, 20], "sever": [3, 4, 6, 10, 12, 17, 18, 20], "kilobyt": [3, 20], "kind": [3, 12], "faster": [3, 5, 6, 11, 18], "foo": [3, 5, 7, 11, 12, 13, 18, 19, 20, 22, 23], "doesn": [3, 6, 7, 10, 11, 17, 18, 19, 20, 23], "overhead": [3, 6, 13], "In": [3, 5, 6, 7, 8, 9, 10, 11, 12, 17, 19, 20, 21, 22, 23], "theori": [3, 6], "abov": [3, 6, 8, 18, 23], "ident": [3, 9, 23], "happen": [3, 5, 6, 7, 9, 12, 13, 14, 17, 18, 20, 22], "practis": [3, 4, 20], "becaus": [4, 6, 7, 9, 11, 12, 13, 19, 21, 22, 23], "strong": 4, "quirk": [4, 20], "describ": [4, 6, 7, 9, 10, 13, 14, 15, 19, 21, 22, 23], "document": [4, 6, 7, 8, 10, 11, 12, 13, 15, 20, 22, 23], "whose": [4, 11, 20], "appli": [4, 6, 7, 9, 11, 20], "bestpractic": [4, 11], "setup": [4, 6, 11, 15, 17, 19], "made": [4, 6, 7, 12, 17, 20, 22, 23], "prevent": [4, 7, 11, 18, 23], "common": [4, 9, 11, 17, 20], "mistak": [4, 11], "immedi": [4, 9, 13, 20, 22], "durat": 4, "thousandth": [4, 7, 19], "wait": [4, 6, 7, 11, 12, 13], "grace": [4, 7], "period": [4, 19], "doubl": [4, 9, 17, 19, 20, 23], "quot": [4, 6, 9, 11, 14, 19, 20], "identifi": [4, 7, 13, 20, 23], "off": [4, 6, 7, 11, 13, 17, 18, 20, 23], "around": [4, 6, 9, 11, 22], "foreign": [4, 11], "ahead": [4, 6, 7, 11, 16, 22], "reduc": [4, 6, 7, 10, 13, 14, 23], "content": [4, 5, 6, 7, 11, 13, 14, 19, 20, 22, 23], "ext": [4, 6, 11, 12, 14, 19, 20, 23], "2gb": [5, 6, 22], "1gb": 5, "altern": [5, 6, 7, 8, 17, 19], "approach": [5, 9, 18, 20, 21], "acid": 5, "properti": [5, 9, 19], "entir": [5, 6, 11, 12, 14], "go": [5, 6, 7, 11, 12, 13, 14, 17, 19, 20, 22, 23], "retriev": [5, 6], "entireti": 5, "100mb": 5, "largedata": 5, "largefil": 5, "rb": 5, "cur": [5, 12, 18], "cannot": [5, 7, 10, 11, 12, 13, 20], "space": [5, 6, 7, 11, 13, 14, 17, 19, 20], "through": [5, 6, 11, 17, 18, 19, 22], "specifi": [5, 6, 7, 13, 14, 17, 19, 22, 23], "two": [5, 6, 7, 9, 12, 13, 18, 19, 22, 23], "100000000": 5, "blobopen": [5, 7, 11], "behav": [5, 14, 21, 22], "At": [5, 21, 23], "advanc": [5, 6], "occur": [5, 6, 12, 19, 20], "1024": [5, 11, 22], "still": [5, 6, 7, 9, 13, 18, 20, 22, 23], "technic": [5, 20], "routin": [5, 6, 11, 12, 22, 23], "similarli": 5, "okai": [5, 11], "till": 5, "whichev": 5, "beyond": 5, "manner": [5, 6], "readinto": [5, 6], "buffer": [5, 6, 21], "bytearrai": 5, "arrai": [5, 6, 19, 22, 23], "memoryview": 5, "assembl": 5, "avoid": [5, 6, 13, 18, 19, 22], "There": [5, 6, 9, 10, 11, 12, 15, 17, 18, 19, 20, 22, 23], "posit": [5, 6, 11, 14, 23], "much": [5, 7, 17, 20, 21], "left": [5, 6, 9, 19], "valueerror": [5, 6, 7, 11, 12, 22, 23], "reopen": [5, 6], "whenc": 5, "bias": 5, "rel": [5, 6, 12], "less": [5, 6, 7, 11, 12, 14, 22], "tell": [5, 6, 7, 12, 22, 23], "typeerror": [5, 6, 9, 12, 14], "wrong": [5, 6], "increas": [5, 6, 19, 22], "desir": [5, 20], "vectorcal": 6, "fastcal": 6, "590": 6, "477": 6, "446": 6, "convers": [6, 14, 16, 18, 21], "pyarg": 6, "parsetupleandkeyword": 6, "favour": 6, "direct": [6, 7, 14, 18], "effici": [6, 23], "better": [6, 9, 16, 20], "speedtest": [6, 16, 18], "inherit": [6, 11, 12, 14, 19, 20, 22], "went": 6, "slower": 6, "pure": 6, "benchmark": [6, 9, 16, 18], "rememb": [6, 13, 22], "best": [6, 16, 19, 20, 21, 23], "json": [6, 15, 19], "output": [6, 9, 11, 13, 14, 16, 18, 21, 23], "jsonl": [6, 19], "newlin": [6, 19], "delimit": 6, "aka": 6, "483": 6, "polici": 6, "471": 6, "ad": [6, 11, 18, 22], "practic": [6, 16, 20], "460": 6, "472": 6, "explain": [6, 7, 9, 11, 14], "executemani": [6, 7, 9, 10, 12, 13, 14, 16, 18], "474": 6, "helper": [6, 22, 23], "custom": [6, 11, 14, 16, 19, 23], "464": 6, "465": 6, "deprec": [6, 7], "setprofil": [6, 7], "v2": [6, 7, 11], "443": 6, "397": 6, "dbinfo": [6, 14], "displai": [6, 19, 22], "vfslist": 6, "xcurrenttimeint64": [6, 22], "longer": [6, 9, 12, 19, 22, 23], "xcurrenttim": [6, 22], "451": 6, "incompat": 6, "overrid": [6, 7, 11, 19, 22], "exclud": [6, 17, 22], "ivers": [6, 7, 22], "now": [6, 7, 11, 13, 14, 17], "statist": [6, 16], "444": 6, "metadata": [6, 7, 9, 17, 19], "binari": [6, 11, 14, 17, 21, 22], "435": 6, "stub": 6, "convent": [6, 22], "instead": [6, 9, 10, 11, 13, 19, 20, 21, 22, 23], "union": [6, 11], "concis": 6, "readabl": [6, 14, 19], "runtim": [6, 7], "438": 6, "extract": [6, 14, 17, 19, 23], "detect": [6, 9, 11, 12, 13, 19, 22], "draw": [6, 14, 19], "sanit": [6, 11, 14, 17, 19], "box": [6, 19], "qbox": [6, 19], "420": [6, 13], "interact": [6, 19], "432": 6, "389": 6, "comment": [6, 7, 9, 11, 14], "433": 6, "applic": [6, 8, 10, 14, 20], "431": 6, "419": 6, "xnextsystemcal": [6, 22], "leak": [6, 17, 23], "430": 6, "unbound": 6, "cpython": [6, 11, 17], "425": 6, "412": 6, "416": 6, "unraisablehook": [6, 12, 22], "correctli": [6, 11, 13, 19], "410": 6, "Be": 6, "stricter": 6, "expect": [6, 9, 11, 12, 14, 18, 19, 20, 22], "accept": 6, "certainli": 6, "unintend": 6, "keyerror": 6, "old": [6, 19], "392": 6, "bestindexobject": [6, 7, 23], "indexinfo": [6, 14, 16], "expos": [6, 11, 22], "332": 6, "329": 6, "278": 6, "188": 6, "aconstraintusag": [6, 14, 23], "findfunct": [6, 7, 23], "unrais": [6, 16, 23], "isn": [6, 10, 19, 23], "possibl": [6, 7, 9, 12, 17, 19, 20, 21, 22, 23], "specif": [6, 7, 10, 13, 14, 18, 19, 21, 22], "overload": [6, 7], "269": 6, "189": 6, "190": 6, "createmodul": [6, 7, 11, 23], "eponym": [6, 7, 14], "196": 6, "subset": [6, 14, 19], "402": 6, "seri": [6, 11, 14, 17, 23], "380": [6, 13], "exactli": [6, 7, 9, 13, 20, 22, 23], "398": 6, "handi": 6, "auto": [6, 7, 11, 14, 19, 20], "colour": [6, 11, 14], "word": [6, 11, 13, 14, 15, 19], "292": 6, "createscalarfunct": [6, 7, 11, 12, 18], "createaggregatefunct": [6, 7, 11], "384": 6, "383": 6, "cacheflush": [6, 7], "382": 6, "within": [6, 11, 12, 14, 19, 20, 21], "385": 6, "given": [6, 11, 13, 14, 17, 19, 23], "signatur": [6, 14, 17], "358": 6, "387": 6, "handler": [6, 7, 12, 13, 16, 19, 20, 22], "394": 6, "regress": 6, "whitespac": [6, 14], "incorrectli": [6, 12], "incomplet": [6, 19, 20], "376": 6, "interest": [6, 11, 16, 18, 19], "369": 6, "getter": 6, "setter": 6, "371": 6, "extent": 6, "permit": 6, "docstr": [6, 19], "everyth": [6, 11, 21], "visual": 6, "studio": 6, "hover": 6, "tour": [6, 16], "367": 6, "stat": [6, 7, 11], "v3": [6, 7, 9], "whether": [6, 14], "present": [6, 7, 9, 12, 14, 17, 19, 22, 23], "expand": [6, 9, 11, 14], "userdict": 6, "373": 6, "without": [6, 8, 11, 13, 14, 18, 23], "separ": [6, 9, 11, 13, 17, 20], "363": 6, "py": [6, 7, 11, 12, 13, 15, 17, 18, 22], "build": [6, 15, 16, 18, 21], "364": 6, "script": [6, 13, 17, 18], "directli": [6, 14, 18, 19, 20, 23], "356": 6, "refer": [6, 7, 9, 16, 19, 22, 23], "ie": [6, 7, 11, 12, 13, 17, 19, 22, 23], "break": [6, 14, 15, 19], "On": [6, 7, 13, 19, 22], "nativ": [6, 10, 22], "consol": [6, 19], "third": [6, 14, 15], "parti": 6, "definevalu": [6, 17], "357": 6, "descript": [6, 9, 10, 11, 14, 17, 19], "354": 6, "factori": [6, 7, 11, 14, 20], "obtain": [6, 7, 9, 10, 20], "361": 6, "scheme": 6, "suffix": [6, 23], "340": 6, "aarch64": 6, "linux": [6, 11, 16, 22], "univers": 6, "maco": [6, 17], "sinc": [6, 7, 9, 10, 13, 19], "125": [6, 11], "ongo": 6, "core": [6, 17, 22], "338": 6, "381": 6, "342": 6, "343": 6, "thank": 6, "peopl": 6, "scene": [6, 7, 9, 12], "who": 6, "piec": 6, "remov": [6, 7, 8, 11, 19], "download": 6, "fossil": 6, "cleanli": 6, "210": 6, "326": 6, "pypy3": 6, "mostli": [6, 20], "323": 6, "regular": [6, 11, 15, 19], "pyi": 6, "shown": [6, 11, 19, 23], "everywher": [6, 21], "quarter": 6, "simpler": 6, "latest": 6, "cycl": [6, 7, 20], "314": 6, "ex": 6, "failur": [6, 7, 11, 17, 18, 22], "leav": [6, 7], "untermin": 6, "totalchang": [6, 7], "greater": [6, 7, 9, 14, 23], "autovacuum": [6, 7, 14], "deseri": [6, 7], "respect": 6, "311": [6, 11], "url": 6, "year": [6, 11, 17, 19, 20], "built": [6, 17], "math": 6, "msi": 6, "294": 6, "wheel": 6, "273": 6, "pkg": 6, "icu": [6, 16, 17, 21], "sdk": 6, "fall": [6, 22], "268": 6, "minor": [6, 17], "283": 6, "tab": [6, 14, 19], "hash": 6, "274": 6, "249": [6, 10, 18], "geopoli": 6, "253": 6, "optimis": [6, 7, 23], "256": 6, "214": 6, "spell": 6, "edward": 6, "bett": 6, "review": 6, "240": 6, "No": [6, 7, 12, 17, 20], "resum": [6, 13, 15], "bulk": [6, 15], "pyunicod": 6, "readi": 6, "onward": 6, "208": 6, "132": 6, "168": 6, "semant": 6, "xgetlasterror": [6, 22], "rewrit": 6, "too": [6, 7, 9, 12, 20], "consum": [6, 18, 20, 23], "swap": [6, 19], "address": [6, 7, 11, 14, 15, 22], "setuptool": [6, 17], "distutil": [6, 17], "bdist": 6, "environ": [6, 19, 22], "207": 6, "logic": [6, 12], "2016": 6, "folder": 6, "199": 6, "fts5": [6, 15, 17, 19], "json1": [6, 16], "few": [6, 9, 12], "matur": 6, "armor": 6, "arbitrari": 6, "e596a6b6": 6, "invalid": [6, 9, 12, 14, 19], "adjust": [6, 11, 22], "187": 6, "switch": [6, 19], "191": 6, "preserv": 6, "186": 6, "site": [6, 20, 23], "reliabl": 6, "scrape": 6, "quick": [6, 22], "place": [6, 7, 9, 12, 17, 18, 19], "2015": 6, "pars": [6, 7, 16, 18, 19, 23], "unittest": 6, "164": 6, "169": 6, "stat4": 6, "fetchon": [6, 9, 10], "rebuild": 6, "mike": 6, "fletcher": 6, "pysqlit": 6, "obliter": 6, "abil": [6, 18, 23], "patienc": 6, "fight": 6, "microsoft": 6, "checksum": [6, 14, 17], "archiv": 6, "autoconf": 6, "softwar": [6, 8], "cooper": 6, "timestamp": [6, 11, 13], "usernam": [6, 17], "hostnam": 6, "couldn": [6, 7], "promot": 6, "142": 6, "circumst": 6, "typic": [6, 7, 12, 19, 22], "upgrad": [6, 20], "couchdb": 6, "pickup": 6, "ssl": 6, "web": [6, 22], "link": [6, 11, 17, 20], "websit": [6, 20], "fallback": 6, "xdelet": [6, 22], "asyncvf": 6, "maintain": [6, 9, 11, 13, 19, 21], "nor": [6, 9, 19], "team": 6, "explicitli": [6, 19], "reli": 6, "csv": [6, 11, 19, 23], "novemb": 6, "2012": 6, "gil": [6, 10, 13], "encount": [6, 19, 20], "upcom": 6, "arfrev": 6, "freht": 6, "taifersar": 6, "arahesi": 6, "134": 6, "produc": [6, 14], "cope": 6, "modern": 6, "machin": [6, 17], "anywai": [6, 12, 19], "bugfix": 6, "interoper": 6, "littl": 6, "easier": [6, 14, 22], "131": [6, 9], "pathnam": [6, 22], "sector": [6, 14, 22], "096": 6, "ticket": [6, 20, 22], "122": 6, "async": 6, "disabl": [6, 7, 13, 15, 18, 19, 20], "lead": [6, 13, 17, 19, 22, 23], "strip": [6, 11], "declar": [6, 7, 9, 11, 14, 19, 23], "urifilenam": [6, 11, 16], "124": 6, "xopen": [6, 11, 22], "vfsfile": [6, 11, 12, 16], "xfullpathnam": [6, 22], "construct": 6, "bypass": 6, "guarante": 6, "undocu": [6, 17], "120": [6, 13], "lp64": 6, "long": [6, 7, 12, 13, 14, 19, 21], "becom": [6, 12, 14, 17, 19, 22], "115": [6, 13], "search": [6, 7, 11, 15, 19, 22], "autoimport": 6, "deduc": [6, 19], "117": 6, "target": [6, 14, 20], "edzard": 6, "pasma": 6, "diagnos": [6, 20], "redirect": 6, "sandbox": [6, 22], "notfounderror": [6, 12, 22], "grain": [6, 17], "over": [6, 7, 9, 11, 17, 18, 20, 22, 23], "xfilecontrol": [6, 7, 11, 22], "understood": [6, 7, 11, 22], "filecontrol": [6, 7, 11, 22], "larger": [6, 7, 13, 18, 22], "abl": [6, 19, 22], "timer": 6, "fts4": [6, 15], "augment": [6, 14, 15, 18, 22, 23], "rather": [6, 18, 19, 23], "total": [6, 7, 11, 13, 14, 17, 19, 21], "pre": [6, 17, 19], "109": 6, "housekeep": 6, "did": [6, 22], "push": [6, 19], "onto": [6, 19], "108": 6, "With": [6, 19, 23], "encod": [6, 11, 12, 13, 14, 21], "xmlcharrefreplac": [6, 19], "cp437": [6, 19], "significantli": [6, 18, 22], "dumper": 6, "three": [6, 9, 10, 13, 19], "four": [6, 11], "nikolau": 6, "rath": 6, "problem": [6, 9, 12, 14, 18, 20], "highlight": 6, "distinguish": [6, 19], "header": [6, 11, 12, 14, 17], "termin": [6, 11, 12, 19], "countri": [6, 21], "adopt": 6, "metric": 6, "u": [6, 12, 19], "won": [6, 7, 13, 19, 23], "colorama": 6, "eager": 6, "geoff": 6, "ness": 6, "98": [6, 11, 14], "jose": 6, "gome": 6, "103": 6, "ppa": 6, "ubuntu": [6, 17], "kept": [6, 7], "launchpad": 6, "net": 6, "insid": [6, 11, 12, 13, 14, 17], "rtree": [6, 16], "initialis": 6, "stringio": [6, 11], "simplifi": 6, "sdist": 6, "necessari": [6, 7, 13, 17, 19, 22], "html": [6, 11, 17, 19], "repar": 6, "locat": [6, 12, 17, 19], "89": [6, 11], "vacuum": [6, 11, 14], "90": [6, 11], "digit": [6, 11, 17, 19], "tamper": [6, 17], "instruct": [6, 11, 14, 17, 18], "emit": 6, "unintent": 6, "bound": [6, 9], "introduc": [6, 7, 20, 23], "85": 6, "gori": 6, "easili": [6, 13, 14], "bidirection": 6, "transfer": 6, "order": [6, 7, 11, 12, 13, 14, 21, 23], "alphabet": [6, 8, 21], "82": 6, "firefox": [6, 11], "track": [6, 11, 16, 18, 22, 23], "83": [6, 13], "right": [6, 18, 19, 21, 23], "justifi": [6, 19], "width": [6, 11, 14], "84": 6, "traceback": [6, 7, 12, 13, 16, 18, 19, 22], "86": 6, "local": [6, 7, 9, 11, 12, 14, 15, 19, 21, 23], "72": 6, "wasn": 6, "lefteri": 6, "along": 6, "emb": [6, 19], "stat2": 6, "gather": [6, 14], "plan": [6, 9, 11, 14], "unix": [6, 11, 13, 17, 19, 20, 22], "especi": [6, 11], "67": 6, "experiment": 6, "licens": [6, 16], "osi": [6, 8], "approv": [6, 8], "record": [6, 7, 13, 22], "situat": [6, 12], "migrat": 6, "subvers": 6, "mercuri": 6, "googl": 6, "xunlock": [6, 22], "sometim": [6, 11, 19, 20, 22], "cvstrac": 6, "3946": 6, "mention": 6, "integr": [6, 11, 19], "sampl": [6, 13], "distribut": [6, 8, 17], "55": 6, "unintention": [6, 20], "trivial": [6, 20], "msvc": 6, "happi": 6, "apswtrac": [6, 13, 18, 20], "cursorfrom": [6, 13], "3875": 6, "symbol": [6, 19, 22], "clash": 6, "we": [6, 7, 11, 19, 20, 22, 23], "hasn": [6, 7, 19], "chm": 6, "viewabl": 6, "viewer": [6, 11], "hot": [6, 22], "fullerror": [6, 12, 22], "sqlerror": [6, 12, 14, 22], "prior": [6, 7, 11, 22], "reincarn": 6, "cursorclosederror": [6, 12], "nest": [6, 7, 9, 10, 11, 18, 20, 23], "xtruncat": [6, 22], "caller": [6, 12, 13], "xdlsym": [6, 22], "pedant": 6, "poorli": 6, "storag": [6, 11, 20], "vista": 6, "xp": 6, "rudolf": 6, "gaertner": 6, "assist": 6, "weak": 6, "popular": [6, 7, 13, 18], "demand": [6, 7, 11], "fetchal": [6, 9, 10], "modifi": [6, 7, 11, 13, 18], "revert": [6, 7], "older": [6, 9, 18, 19], "2158": 6, "save": [6, 13, 19, 20, 22], "visibl": [6, 9, 17, 20], "multi": [6, 15, 16, 20], "As": [6, 11, 12, 18, 21, 22], "collat": [6, 7, 12, 13, 14, 16, 23], "deriv": [6, 11, 22], "rewritten": 6, "deadlock": [6, 13, 18], "inspect": [6, 14], "amicita": 6, "concurr": [6, 10, 12, 13, 19, 20], "sphinx": 6, "richer": 6, "pdf": 6, "ft": [6, 15], "reorgan": 6, "clearer": 6, "obfusc": [6, 11, 22], "xore": [6, 22], "ver": 6, "usleep": 6, "localtim": [6, 11], "certain": [6, 23], "featur": [6, 9, 12, 18, 20, 23], "further": [6, 12], "follow": [6, 7, 8, 11, 12, 13, 14, 18], "noth": [6, 9, 17, 18, 20], "yet": [6, 9], "regard": 6, "fit": [6, 14, 19, 21], "joe": 6, "pham": 6, "sqlite3point": [6, 7], "0b1": 6, "unreli": 6, "workaround": 6, "p": [6, 11], "far": [6, 12, 18], "roughli": [6, 19], "constrain": [6, 23], "weren": 6, "destroi": [6, 23], "elsewher": [6, 23], "renam": [6, 14, 23], "restrict": [6, 8, 18, 20], "howev": [6, 13, 19, 20, 21, 22, 23], "utf8": [6, 7, 19, 21], "effort": [6, 10, 18, 20, 22], "coverag": [6, 17, 18], "percent": 6, "collationneed": [6, 7], "co": [6, 11], "project": [6, 17], "subsequ": [6, 19, 22, 23], "ed": 6, "special": [6, 11], "hung": 6, "henc": [6, 21], "usual": [6, 7, 14], "pyerr": [6, 22], "writeunrais": 6, "useless": [6, 12], "mere": 6, "stderr": [6, 13, 14, 19], "often": [6, 7], "never": [6, 9, 19, 20, 21], "came": 6, "frame": [6, 7, 12, 14, 19, 22], "why": [6, 16, 19], "tradit": [6, 23], "cleanup": [6, 7, 16, 23], "believ": [6, 13], "corner": 6, "aren": [6, 11, 14], "pleas": 6, "shout": 6, "getdescript": [6, 9, 10, 14, 20], "v": [6, 11], "ssize": 6, "autocommit": [6, 7], "took": [6, 7], "consider": [6, 17, 19], "written": 6, "section": [6, 10, 13, 21], "accord": 6, "overli": 6, "global": [6, 10], "primari": [6, 7, 11, 12, 14], "stabl": [6, 17], "sai": [6, 14, 22, 23], "apswexcept": 6, "cosmet": 6, "clear": [6, 11, 19, 22], "ism": 6, "macro": 6, "contact": [6, 16], "me": 6, "By": [6, 11, 13, 14, 18, 19, 20, 23], "expir": [6, 7], "margin": 6, "temporari": [6, 7, 19, 20, 22], "cut": 6, "past": 6, "zip": [6, 14, 17], "sub": [6, 11, 14], "statementcaches": 7, "privat": [7, 11, 17], "orred": [7, 22], "distinct": [7, 13, 14, 19, 23], "frequent": 7, "function2": 7, "harm": 7, "3rd": 7, "4th": 7, "innermost": 7, "THE": 7, "wors": 7, "databasenam": [7, 23], "sourceconnect": 7, "sourcedatabasenam": 7, "init": [7, 11, 17, 19], "writeabl": 7, "explan": [7, 16], "evict": 7, "found": [7, 12, 17, 19], "big": [7, 20, 23], "cacheabl": 7, "mid": 7, "changes64": 7, "indirect": [7, 20], "circular": 7, "broken": 7, "design": [7, 20], "surviv": [7, 11, 20, 22], "power": [7, 11, 15, 20, 22], "awkward": 7, "moment": 7, "abrupt": 7, "worst": 7, "progress": [7, 16, 20], "next": [7, 9, 10, 11, 13, 14, 20, 23], "createcol": [7, 11], "thousand": 7, "prereigst": 7, "dbname": [7, 13], "field": [7, 13, 14, 15, 19, 20, 23], "autoincr": 7, "val": [7, 14], "unalt": 7, "numarg": 7, "param": [7, 14], "255": [7, 20], "debug": [7, 14, 17, 18, 19], "resourc": [7, 19, 23], "term": 7, "account": [7, 21], "equal": [7, 11, 14, 23], "def": [7, 11, 12, 13, 14, 18, 20, 22, 23], "mycol": 7, "datasourc": 7, "vtmodul": [7, 16], "come": [7, 11, 14, 19, 23], "tablenam": [7, 23], "involv": [7, 11, 12, 13, 23], "planner": [7, 23], "toip": 7, "ipv4convert": 7, "ipv6convert": 7, "16": [7, 11, 16, 21], "strconvert": 7, "rest": [7, 13, 17, 19], "resiz": 7, "enableloadextens": 7, "loadextens": 7, "sequenceofbind": [7, 9, 14], "void": [7, 22], "mutabl": 7, "ctype": [7, 11, 17, 19, 22], "obj": [7, 22], "objwrap": 7, "live": 7, "123": [7, 11], "our": [7, 11], "addressof": [7, 11], "self": [7, 9, 11, 12, 19, 20, 22, 23], "plai": 7, "superclass": [7, 22], "grow": 7, "combin": [7, 11, 18], "chunksiz": 7, "32768": 7, "getautocommit": 7, "getexectrac": [7, 9], "getrowtrac": [7, 9], "earliest": 7, "opportun": 7, "press": [7, 19], "stop": [7, 9, 11, 13, 14, 19], "button": 7, "interrupterror": [7, 12], "newval": 7, "32": [7, 11, 12, 13, 16, 17, 22], "entrypoint": 7, "extensionloadingerror": [7, 12], "overloadfunct": [7, 23], "narg": [7, 23], "placehold": 7, "compos": [7, 9, 11], "strongli": [7, 19], "align": [7, 19], "permiss": [7, 8, 22], "associ": [7, 10, 12, 23], "skip": [7, 9, 11, 13], "altogeth": [7, 9], "setauthor": 7, "setbusyhandl": [7, 12, 13], "tri": [7, 12, 18, 20], "repeat": [7, 17], "setbusytimeout": [7, 12, 13], "setcommithook": [7, 11], "setexectrac": [7, 9], "nanosecond": [7, 11], "reach": [7, 19], "setprogresshandl": [7, 11], "nstep": 7, "inststruct": 7, "setrollbackhook": 7, "setrowtrac": [7, 9], "setupdatehook": [7, 11], "setwalhook": 7, "hood": 7, "mask": [7, 23], "belong": 7, "counter": [7, 14], "valid": [7, 14, 19, 22, 23], "xupdat": 7, "autocheckpoint": [7, 20], "interv": [7, 20], "roger": [8, 17], "binn": [8, 17], "impli": 8, "warranti": 8, "held": 8, "liabl": 8, "damag": 8, "aris": 8, "grant": 8, "anyon": 8, "commerci": 8, "redistribut": 8, "freeli": 8, "subject": 8, "misrepres": 8, "claim": 8, "wrote": [8, 14], "product": 8, "acknowledg": 8, "appreci": 8, "plainli": 8, "strike": 8, "opensourc": 8, "org": [8, 11, 17], "explicit": [9, 17], "databasefilenam": [9, 19], "titl": [9, 11, 14], "isbn": 9, "d": [9, 11, 19], "8390823904": 9, "addition": [9, 19], "inject": [9, 11, 20], "attack": [9, 20], "cheap": [9, 20], "fast": [9, 11], "reus": [9, 23], "million": [9, 20], "abandon": 9, "cursor1": 9, "cursor2": 9, "fill": [9, 11, 14, 22], "worri": 9, "put": [9, 17], "boundari": [9, 14, 20], "isol": [9, 20], "activ": [9, 12, 13, 19], "confin": 9, "discard": [9, 11, 13], "decltyp": 9, "book": [9, 11], "gotcha": [9, 20], "comma": [9, 17, 19], "rate": [9, 20], "908908908": 9, "neither": [9, 10, 19], "bindingserror": [9, 12], "incompleteexecutionerror": [9, 12, 13], "unexecut": [9, 13], "model": [9, 12, 16, 19], "int64": [9, 22], "text64": 9, "blob64": 9, "conceptu": [9, 23], "23": [9, 16], "92": [9, 11], "12": [9, 11, 13, 14, 16], "num": [9, 11], "act": [9, 19], "memoryerror": 9, "ran": [9, 17], "exce": [9, 12], "dbapi": [9, 16, 18], "getconnect": 9, "info": [9, 11, 12, 14, 17, 20, 23], "known": [9, 11, 17, 22, 23], "manifest": 9, "languag": [9, 11, 21], "wibbli": 9, "wobbli": 9, "zebra": 9, "97": 9, "fjfjfj": 9, "isexplain": 9, "though": [9, 23], "compli": 10, "constructor": [10, 22], "paramstyl": 10, "qmark": 10, "awar": [10, 13, 15, 18], "rowcount": [10, 20], "callproc": 10, "procedur": 10, "fetchmani": 10, "nextset": 10, "arrays": 10, "setinputs": 10, "setoutputs": 10, "manipul": [10, 21], "julian": [10, 22], "dai": [10, 19, 22], "rownumb": 10, "scroll": 10, "lastrowid": 10, "errorhandl": 10, "demonstr": [11, 18, 22], "overview": [11, 22], "usr": [11, 17], "bin": [11, 17], "env": 11, "annot": [11, 16], "pathlib": 11, "path": [11, 17, 22], "filesystem": 11, "lib": [11, 17], "incorpor": 11, "x86": [11, 17], "gnu": [11, 17], "3043001": 11, "dbfile": 11, "x": [11, 12, 13, 14, 18, 19, 20, 23], "y": [11, 12, 13, 18, 20], "z": [11, 12, 13, 18, 19, 20], "secret": 11, "tempt": 11, "mangl": 11, "punctuat": 11, "simpl": [11, 18, 19, 21, 22, 23], "NOT": [11, 20], "gui": [11, 20], "alpha": 11, "beta": 11, "gamma": 11, "sensit": 11, "9": [11, 14, 16, 18, 23], "types1": 11, "e": 11, "types2": 11, "x03": 11, "x72": 11, "xf4": 11, "x00": 11, "x9e": 11, "repr": [11, 14], "x03r": 11, "confirm": 11, "manual": [11, 20], "Or": 11, "varieti": 11, "startup": [11, 19], "my": [11, 12, 18, 20], "bar": [11, 12, 13, 18, 20], "hand": [11, 23], "ilove7": 11, "love": 11, "seven": 11, "averag": 11, "longest": [11, 13], "len": [11, 14], "classmethod": 11, "cl": 11, "aggregatecallback": 11, "equival": 11, "sumint": 11, "t3": 11, "INTO": 11, "BY": [11, 14], "preced": 11, "AND": [11, 14, 19], "AS": [11, 14, 19], "sum": [11, 13, 14], "portion": [11, 22], "file1": 11, "file7": 11, "file17": 11, "file20": 11, "file3": 11, "s1": 11, "s2": 11, "isdigit": 11, "ps1": 11, "ps2": 11, "strnum": 11, "dataclass": [11, 14], "dataclassrowfactori": [11, 14], "anim": 11, "farm": 11, "georg": 11, "orwel": 11, "1945": 11, "pictur": 11, "dorian": 11, "grai": 11, "oscar": 11, "wild": 11, "1890": 11, "fragil": 11, "frozen": [11, 14], "kwarg": [11, 14], "nnow": 11, "typesconvertercursorfactori": [11, 14], "registrar": 11, "sqlitetypeadapt": [11, 14], "isinst": [11, 14], "split": [11, 19, 23], "complex": [11, 12, 23], "imag": [11, 12], "adapt": [11, 14, 17], "4j": 11, "char": [11, 19], "cust": [11, 23], "addr": [11, 14], "join": [11, 19], "street": 11, "qd": 11, "low": [11, 14, 15], "solv": 11, "pprint": 11, "nbind": 11, "nexpand": 11, "nfirst": 11, "nqueri": 11, "ni": 11, "ndescript": 11, "pformat": 11, "hasattr": [11, 14], "queryplan": [11, 14], "queryact": [11, 14], "21": [11, 13, 14, 16], "vdbeinstruct": [11, 14], "p1": [11, 14], "p2": [11, 14], "17": [11, 14, 16], "p3": [11, 14], "p4": [11, 14], "p5": [11, 14], "openread": 11, "14": [11, 16, 20], "rewind": 11, "larg": [11, 12, 15, 19], "blobbi": 11, "10000": 11, "20000": 11, "hello": [11, 14], "world": [11, 14, 19], "2000": 11, "startswith": 11, "stuff": [11, 21], "master": 11, "autherror": [11, 12], "feedback": 11, "cancel": 11, "yield": [11, 14], "randint": 11, "9999999999": 11, "biggest": 11, "9820078994": 11, "unsign": 11, "uint32": 11, "assert": 11, "versu": [11, 19], "1234": 11, "44": 11, "45": 11, "46": 11, "47": 11, "veto": 11, "hour": [11, 22], "8am": 11, "6pm": 11, "constrainterror": [11, 12], "file93": 11, "file94": 11, "vtcolumnaccess": [11, 14], "94": [11, 13], "96": 11, "hidden": [11, 14], "95": [11, 17], "unicodedata": [11, 14], "codepoint": [11, 19], "decim": 11, "bidirect": 11, "east": 11, "asian": 11, "decomposit": 11, "maxunicod": 11, "meth": 11, "chr": 11, "func": [11, 18], "0x1000": 11, "0xffff": 11, "30": [11, 13, 16], "cf": 11, "926": 11, "cn": 11, "6400": 11, "2048": 11, "874": 11, "183": 11, "lm": 11, "44924": 11, "lo": 11, "27": [11, 13, 16, 23], "659": 11, "lu": 11, "156": 11, "mc": 11, "sep": 11, "pathsep": 11, "root": [11, 14], "scandir": 11, "sd": 11, "elif": [11, 22], "splitext": 11, "k": [11, 20], "getattr": 11, "st": 11, "samefil": 11, "desc": [11, 14, 23], "758777": 11, "11": [11, 12, 14, 16], "pydoc": 11, "topic": 11, "471229": 11, "pycach": 11, "pyc": 11, "257926": 11, "tkinter": 11, "oldest": 11, "ctime": 11, "07": 11, "31": [11, 16], "pydecim": 11, "04": 11, "382419": 11, "113893958": 11, "allowlist": 11, "56": 11, "bootstrap": 11, "1756": 11, "11116": 11, "cfg": [11, 17], "341": 11, "csh": 11, "935": 11, "css": 11, "1325": 11, "fish": 11, "2215": 11, "3504": 11, "1534": 11, "20304": 11, "9033": 11, "11773809": 11, "13256978": 11, "rst": 11, "9561": 11, "sh": [11, 17], "3932": 11, "27584936": 11, "stdlib": 11, "10752": 11, "supp": 11, "70": 11, "txt": [11, 14], "23425": 11, "monitor": 11, "flow": 11, "xor": 11, "0xa5": 11, "obfuscatedvf": 11, "basevf": 11, "warp": 11, "notpres": 11, "obfuscatedvfsfil": 11, "xread": [11, 22], "xwrite": [11, 22], "encrypt": [11, 14], "inheritfromvfsnam": 11, "ptr": [11, 22], "vfsfcntlpragma": [11, 16], "orang": [11, 14], "instanti": 11, "obfuvf": 11, "obfudb": 11, "myobfudb": 11, "And": [11, 18], "unobfusc": 11, "tidi": [11, 20], "excl": 11, "dotfil": 11, "xf6": 11, "xe9": 11, "xcc": 11, "xd1": 11, "xc0": 11, "x85": 11, "xc3": 11, "xca": 11, "xd7": 11, "xc8": 11, "xc4": 11, "x96": 11, "xa5": 11, "xb5": 11, "xa4": 11, "x10": 11, "x01": 11, "orig": 11, "0x7fffffff": 11, "testlimit": 11, "1023": 11, "exceed": 11, "toobigerror": [11, 12, 13], "caught": 11, "largest": [11, 14], "1000000000": 11, "choos": [11, 22, 23], "memcon": 11, "export": 11, "io": 11, "stdout": [11, 13, 19], "dot": [11, 14, 19], "csvtest": 11, "column1": 11, "column2": 11, "figur": [11, 14, 19], "getvalu": 11, "ndump": 11, "wed": 11, "15": [11, 13, 16], "58": 11, "02": 11, "clamp": 11, "utf": [11, 12, 13, 22], "1073741823": 11, "IF": [11, 20], "438680": 11, "2346512": 11, "www": 11, "lang": 11, "outlandish": 11, "WITH": 11, "xaxi": 11, "05": [11, 14], "yaxi": 11, "cx": 11, "cy": 11, "28": [11, 16], "m2": 11, "concat": 11, "substr": 11, "min": 11, "rtrim": 11, "0a": 11, "pop": [11, 19], "18000000": 11, "1365": 11, "15784": 11, "1015351": 11, "quantiti": [11, 13, 14, 21, 22, 23], "030709": 11, "ti\u1ebfng": 11, "vi\u1ec7t": 11, "cha": 11, "quant": 11, "iti": 11, "ti": 11, "latin": 11, "letter": [11, 21], "circumflex": 11, "acut": 11, "ng": 11, "vi": 11, "narrow": 11, "qua": 11, "la": 11, "nti": 11, "ty": 11, "th": 11, "inter": 11, "te": 11, "ting": 11, "nu": 11, "030": 11, "709": 11, "doc": [11, 14, 19], "rule": [11, 14, 23], "middl": 11, "partial": [11, 20, 22], "signal": [12, 20, 22], "extendedresult": [12, 22], "connectionnotclosederror": 12, "connectionclosederror": 12, "incorrect": 12, "unnam": 12, "executioncompleteerror": 12, "exectraceabort": [12, 13], "vfsnotimplementederror": 12, "vfsfileclosederror": 12, "mismatcherror": 12, "internalerror": 12, "protocolerror": 12, "misuseerror": 12, "enough": 12, "spec": 12, "127": [12, 13], "rangeerror": 12, "2nd": 12, "permissionserror": 12, "readonlyerror": [12, 23], "cantopenerror": 12, "aborterror": 12, "schemachangeerror": 12, "violat": 12, "nomemerror": 12, "ioerror": [12, 22], "corrupterror": 12, "inconsist": [12, 19], "nolfserror": 12, "emptyerror": 12, "formaterror": 12, "auxiliari": 12, "notadberror": 12, "inde": 12, "difficult": [12, 20], "fire": 12, "myfunc": 12, "con": [12, 18, 23], "fam": 12, "zerodivisionerror": 12, "divis": 12, "modulo": 12, "3412": 12, "resetcursor": [12, 18], "1597": 12, "examin": 12, "told": 12, "But": 12, "aid": 12, "troubleshoot": [12, 16], "erron": 12, "1387": 12, "testvtabl": 12, "allconstraint": 12, "0x988f30": 12, "1000": [12, 14, 23], "4050": 12, "0x978800": 12, "2681": 12, "virtualt": 12, "xbestindex": [12, 23], "0x98d8c0": 12, "997": 12, "xea": 12, "2559": 12, "represent": [13, 14, 21, 22, 23], "bam": 13, "stdin": [13, 19], "chanc": 13, "condit": [13, 17, 18], "aspw": [13, 21], "acquir": [13, 20], "arisen": 13, "gigabyt": 13, "classic": 13, "trade": 13, "cpu": 13, "consumpt": [13, 14, 20], "pick": [13, 17], "101": 13, "prioriti": 13, "yourscript": 13, "pythonscript": 13, "pythonscriptopt": 13, "send": [13, 14, 19], "dash": [13, 17, 19], "l": 13, "top": [13, 14], "1e0e5a0": 13, "152": 13, "7fccea8456e0": 13, "1f72ac0": 13, "161": 13, "testdb": 13, "1f6b8d0": 13, "162": 13, "239": 13, "kjfhgk": 13, "gkjlfdhgjkhsdfkjg": 13, "gklsdfjgkldfjhnbnvc": 13, "mnxb": 13, "mnxcv": 13, "242": 13, "gdfklhj": 13, "gjkhgfdsgfd": 13, "gjkfhgjkhdfkjh": 13, "244": 13, "245": 13, "gdfjkhg": 13, "gkjlfd": 13, "247": 13, "257": 13, "threadid": 13, "remaind": 13, "form": [13, 14, 18, 19, 20], "prefix": [13, 17], "connectionid": 13, "slept": 13, "073": 13, "1308": 13, "3082": 13, "127973": 13, "578": 13, "2369": 13, "spent": 13, "530": 13, "121451": 13, "1220": 13, "1118": 13, "909": 13, "timesten": 13, "654": 13, "426": 13, "t1": 13, "146": 13, "88": 13, "79": 13, "76": 13, "71": 13, "abcdefghijklmnopqrstuvwxyz": 13, "t2": 13, "illustr": 13, "413": 13, "305": 13, "120637": 13, "941": 13, "121449": 13, "179": 13, "509": 13, "715": 13, "38": [13, 16, 20], "241": 13, "206": 13, "61": 13, "170": 13, "165": 13, "158": 13, "snap": 13, "80": [13, 14], "150": [13, 17], "001": 13, "377": 13, "102": 13, "944": 13, "893": 13, "817": 13, "816": 13, "786": 13, "783": 13, "713": 13, "701": 13, "651": 13, "646": 13, "631": 13, "620": 13, "nice": 14, "quicker": [14, 23], "taken": [14, 19], "bytecod": 14, "slot": 14, "potenti": 14, "affin": [14, 21], "metaclass": 14, "yourclassher": 14, "suffici": 14, "abstract": [14, 18], "abcmeta": 14, "capabl": [14, 22], "klass": 14, "typeconvertercursor": 14, "schematyp": 14, "dictadapt": 14, "exc": 14, "textio": [14, 19], "respons": [14, 23], "orderid": 14, "sale": [14, 19], "price": [14, 19, 23], "74": [14, 23], "99": [14, 17, 18, 19, 23], "acm": [14, 19, 23], "widget": [14, 23], "industri": 14, "aconstraint": [14, 23], "icolumn": [14, 23], "rh": [14, 23], "usabl": [14, 23], "73": 14, "argvindex": [14, 23], "aorderbi": [14, 23], "colus": [14, 23], "estimatedcost": [14, 23], "5e": 14, "estimatedrow": [14, 23], "25": [14, 16, 17], "idxflag": [14, 23], "idxnum": [14, 23], "idxstr": [14, 23], "nconstraint": [14, 23], "norderbi": [14, 23], "orderbyconsum": [14, 23], "databasefileinfo": 14, "journalfileinfo": 14, "walfileinfo": 14, "compress": 14, "necessarili": 14, "liter": [14, 19], "lambda": 14, "attract": 14, "ansi": 14, "outlin": 14, "textual": [14, 19], "bigger": 14, "0\u65e5\u672c\u8a9e": 14, "vertic": 14, "backslash": [14, 19], "cjk": 14, "unifi": [14, 22], "ideograph": 14, "65e5": 14, "672c": 14, "8a9e": 14, "hex": 14, "textwrap": 14, "qualnam": 14, "attr": 14, "namedtupl": 14, "columnx": 14, "arg1": [14, 23], "arg2": 14, "fruit": 14, "goal": [14, 20], "gendata": 14, "2020": 14, "readm": 14, "2019": 14, "john": 14, "Will": 14, "discov": 14, "definit": 14, "claus": 14, "solut": [14, 17], "0xffffffff": 14, "postgr": 14, "server": [14, 17], "querydetail": 14, "goto": 14, "loop": [14, 19, 20], "human": 14, "fourth": 14, "fifth": 14, "freelist": 14, "cooki": 14, "unus": [14, 23], "tree": 14, "lost": 14, "nonc": 14, "segment": 14, "assum": 14, "magic": 14, "salt": 14, "3007000": 14, "24": [14, 16, 22], "intend": [15, 20, 23], "edg": 15, "network": 15, "spatial": 15, "mail": [16, 20, 22], "unexpect": [16, 18, 22], "bsd": 16, "programmat": [16, 20], "pretti": 16, "entranc": 16, "copyright": 16, "histori": 16, "40": 16, "39": [16, 17], "36": 16, "35": 16, "34": 16, "33": 16, "29": 16, "26": [16, 21], "22": 16, "19": 16, "18": 16, "r2": 16, "r3": 16, "debian": 17, "fedora": 17, "gentoo": 17, "dev": [17, 20], "arch": 17, "ultim": 17, "cmdone": 17, "cmdtwo": 17, "cmdthree": 17, "underscor": [17, 22], "abi": 17, "chosen": 17, "subdirectori": 17, "sqlite3config": 17, "edit": [17, 19], "sig": 17, "gpg": 17, "privaci": 17, "guard": 17, "asc": [17, 23], "dsa": 17, "0dfbd904": 17, "public": 17, "keyserv": 17, "hkp": 17, "recv": 17, "home": [17, 19], "gnupg": 17, "trustdb": 17, "uppercas": 17, "proceed": 17, "determin": [17, 19, 22, 23], "mycor": 17, "dedic": 17, "alongsid": 17, "major": [17, 22], "micro": 17, "releaselevel": 17, "310": 17, "3039002": 17, "990": 17, "checkout": 17, "deliber": 17, "induc": 17, "bring": [17, 18], "valgrind": 17, "stand": 17, "megatest": 17, "fundament": 18, "compliant": 18, "wrapper": 18, "nuanc": 18, "suggest": 18, "independ": 18, "enhanc": 18, "care": [18, 19, 23], "complianc": 18, "swallow": 18, "harder": 18, "poor": 18, "substitut": 18, "badfunc": 18, "operationalerror": 18, "3660": 18, "1871": 18, "debugg": [18, 19], "util": 18, "81": 18, "unsupport": 18, "awai": 18, "administr": 19, "notabl": 19, "nicer": 19, "instantli": 19, "readlin": 19, "pyreadline3": 19, "registri": 19, "nocolour": 19, "quickli": 19, "cmdloop": 19, "amongst": 19, "winchest": 19, "precis": [19, 21], "dialect": 19, "basenam": 19, "yyyi": 19, "mm": 19, "dd": 19, "datetim": 19, "iso8601": 19, "month": 19, "resolv": 19, "ambigu": 19, "unnecessari": 19, "plu": 19, "phone": 19, "quit": [19, 20], "twice": 19, "wildcard": 19, "recip": [19, 23], "segdir": 19, "sent": 19, "intermingl": 19, "choic": [19, 23], "437": 19, "question": 19, "strict": 19, "stream": 19, "lc": 19, "pythonioencod": 19, "exercis": 19, "cast": 19, "sophist": 19, "col": 19, "THEN": 19, "tcl": 19, "pad": 19, "base64": 19, "blank": 19, "obviou": 19, "surround": 19, "wipe": 19, "subcommand": 19, "unset": 19, "floor": 19, "glove": 19, "repl": 19, "namespac": 19, "mixtur": 19, "tsv": 19, "Not": 19, "monkei": 19, "patch": 19, "err": 19, "argv": [19, 23], "wish": [19, 22], "ever": 19, "huge": [19, 23], "simultan": [19, 23], "baffl": 19, "positionrow": 19, "intro": 19, "banner": 19, "member": [19, 23], "beg": 19, "b4": 19, "fixup": 19, "backlash": 19, "shlex": 19, "getcompletelin": 19, "semicolon": 19, "getlin": 19, "eof": [19, 23], "rerais": 19, "keyboard": 19, "linenumb": 19, "temporarili": 19, "initfil": 19, "sqlncommand": 19, "upon": 19, "front": [19, 20], "unrecogn": 19, "posix": 19, "recogn": 19, "enc": 19, "dest": 19, "fmt": 19, "post": 20, "robust": 20, "success": 20, "refactor": 20, "interpol": 20, "seem": 20, "difficulti": 20, "feel": 20, "comput": 20, "thought": 20, "facil": 20, "errcod": 20, "errstr": 20, "28729": 20, "7dd4968f23": 20, "mainten": 20, "baz": 20, "occasion": 20, "litter": 20, "fairli": 20, "alia": 20, "enumer": 20, "coordin": 20, "lax": 20, "decid": 20, "techniqu": 20, "pitfal": 20, "59": 20, "overal": 20, "tune": 20, "mp3": 20, "player": 20, "benefit": 20, "drawback": 20, "setwal": 20, "harmless": [20, 22], "loss": 21, "meet": [21, 23], "utf16": 21, "transpar": 21, "joel": 21, "articl": 21, "upper": 21, "lower": 21, "turkic": 21, "german": 21, "\u00df": 21, "ss": 21, "accent": 21, "european": 21, "fortun": 21, "roman": 21, "confus": [21, 22], "sadli": 21, "latter": 21, "earli": 21, "late": 21, "troubl": 22, "myvf": 22, "easiest": 22, "Then": 22, "overridden": 22, "translat": [22, 23], "vari": 22, "xdlopen": 22, "xsleep": 22, "obsolet": 22, "playback": 22, "obscur": 22, "divid": 22, "down": 22, "zerodivis": 22, "closest": 22, "element": 22, "makedefault": 22, "maxpathnam": 22, "unavail": 22, "accordingli": 22, "fraction": 22, "timezon": 22, "utc": 22, "multipli": 22, "86400000": 22, "syncdir": 22, "platter": 22, "reboot": 22, "xdlclose": 22, "unload": 22, "dlclose": 22, "mac": 22, "freelibrari": 22, "xdlerror": 22, "cdll": 22, "loadlibrari": 22, "dlsym": 22, "kernel32": 22, "getprocaddress": 22, "abspath": 22, "xgetsystemcal": 22, "inputflag": 22, "outputflag": 22, "xrandom": 22, "numbyt": 22, "seed": 22, "surplu": 22, "xsetsystemcal": 22, "scenario": 22, "lifetim": 22, "systemcal": 22, "microsecond": 22, "paus": 22, "millionth": 22, "nearest": 22, "inflag": 22, "outflag": 22, "xshm": 22, "xcheckreservedlock": 22, "xclose": 22, "xdevicecharacterist": 22, "bitwis": 22, "unrecognis": 22, "1027": 22, "1028": 22, "xfiles": 22, "xlock": 22, "famili": 22, "someon": 22, "fatal": 22, "xsectors": 22, "xsync": 22, "newsiz": 22, "decreas": 22, "convolut": 22, "person": 23, "might": 23, "ini": 23, "remot": 23, "backend": 23, "amazon": 23, "dynam": 23, "reformat": 23, "dataset": 23, "relation": 23, "friendlier": 23, "estim": 23, "cost": 23, "mymod": 23, "mymoduleclass": 23, "modulenam": 23, "advis": 23, "heavyweight": 23, "disconnect": 23, "mymodul": 23, "shadownam": 23, "shadow": 23, "knowledg": 23, "orderbi": 23, "satisfi": 23, "slightli": 23, "constraintarg": 23, "visit": 23, "answer": 23, "suitabl": 23, "said": 23, "signific": 23, "descend": 23, "ascend": 23, "idx": 23, "pr": 23, "opposit": 23, "succe": 23, "newnam": 23, "notif": 23, "newrowid": 23, "updatedeleterow": 23, "updateinsertrow": 23, "assign": 23, "nochang": 23, "indexnum": 23, "indexnam": 23, "indexstr": 23, "vice": 23, "versa": 23}, "objects": {"": [[1, 0, 0, "-", "apsw"]], "apsw": [[12, 1, 1, "", "AbortError"], [1, 2, 1, "", "AggregateFactory"], [1, 2, 1, "", "AggregateFinal"], [1, 2, 1, "", "AggregateStep"], [1, 2, 1, "", "AggregateT"], [12, 1, 1, "", "AuthError"], [1, 2, 1, "", "Authorizer"], [2, 2, 1, "", "Backup"], [1, 2, 1, "", "Bindings"], [12, 1, 1, "", "BindingsError"], [5, 2, 1, "", "Blob"], [12, 1, 1, "", "BusyError"], [12, 1, 1, "", "CantOpenError"], [1, 2, 1, "", "CommitHook"], [7, 2, 1, "", "Connection"], [12, 1, 1, "", "ConnectionClosedError"], [12, 1, 1, "", "ConnectionNotClosedError"], [12, 1, 1, "", "ConstraintError"], [12, 1, 1, "", "CorruptError"], [9, 2, 1, "", "Cursor"], [12, 1, 1, "", "CursorClosedError"], [12, 1, 1, "", "EmptyError"], [12, 1, 1, "", "Error"], [12, 1, 1, "", "ExecTraceAbort"], [1, 2, 1, "", "ExecTracer"], [12, 1, 1, "", "ExecutionCompleteError"], [12, 1, 1, "", "ExtensionLoadingError"], [12, 1, 1, "", "ForkingViolationError"], [12, 1, 1, "", "FormatError"], [12, 1, 1, "", "FullError"], [12, 1, 1, "", "IOError"], [12, 1, 1, "", "IncompleteExecutionError"], [23, 2, 1, "", "IndexInfo"], [12, 1, 1, "", "InternalError"], [12, 1, 1, "", "InterruptError"], [12, 1, 1, "", "LockedError"], [12, 1, 1, "", "MismatchError"], [12, 1, 1, "", "MisuseError"], [12, 1, 1, "", "NoLFSError"], [12, 1, 1, "", "NoMemError"], [12, 1, 1, "", "NotADBError"], [12, 1, 1, "", "NotFoundError"], [12, 1, 1, "", "PermissionsError"], [12, 1, 1, "", "ProtocolError"], [12, 1, 1, "", "RangeError"], [12, 1, 1, "", "ReadOnlyError"], [1, 2, 1, "", "RowTracer"], [12, 1, 1, "", "SQLError"], [1, 4, 1, "", "SQLITE_VERSION_NUMBER"], [1, 2, 1, "", "SQLiteValue"], [1, 2, 1, "", "SQLiteValues"], [1, 2, 1, "", "ScalarProtocol"], [12, 1, 1, "", "SchemaChangeError"], [12, 1, 1, "", "ThreadingViolationError"], [12, 1, 1, "", "TooBigError"], [22, 2, 1, "", "URIFilename"], [22, 2, 1, "", "VFS"], [22, 2, 1, "", "VFSFcntlPragma"], [22, 2, 1, "", "VFSFile"], [12, 1, 1, "", "VFSFileClosedError"], [12, 1, 1, "", "VFSNotImplementedError"], [23, 2, 1, "", "VTCursor"], [23, 2, 1, "", "VTModule"], [23, 2, 1, "", "VTTable"], [1, 2, 1, "", "WindowFactory"], [1, 2, 1, "", "WindowFinal"], [1, 2, 1, "", "WindowInverse"], [1, 2, 1, "", "WindowStep"], [1, 2, 1, "", "WindowT"], [1, 2, 1, "", "WindowValue"], [1, 3, 1, "", "allow_missing_dict_bindings"], [1, 3, 1, "", "apswversion"], [4, 0, 0, "-", "bestpractice"], [1, 4, 1, "", "compile_options"], [1, 3, 1, "", "complete"], [1, 3, 1, "", "config"], [1, 4, 1, "", "connection_hooks"], [1, 3, 1, "", "connections"], [1, 3, 1, "", "enablesharedcache"], [1, 3, 1, "", "exceptionfor"], [14, 0, 0, "-", "ext"], [1, 3, 1, "", "fork_checker"], [1, 3, 1, "", "format_sql_value"], [1, 3, 1, "", "hard_heap_limit"], [1, 3, 1, "", "initialize"], [1, 4, 1, "", "keywords"], [1, 3, 1, "", "log"], [1, 6, 1, "", "mapping_access"], [1, 6, 1, "", "mapping_authorizer_function"], [1, 6, 1, "", "mapping_authorizer_return_codes"], [1, 6, 1, "", "mapping_bestindex_constraints"], [1, 6, 1, "", "mapping_config"], [1, 6, 1, "", "mapping_conflict_resolution_modes"], [1, 6, 1, "", "mapping_db_config"], [1, 6, 1, "", "mapping_db_status"], [1, 6, 1, "", "mapping_device_characteristics"], [1, 6, 1, "", "mapping_extended_result_codes"], [1, 6, 1, "", "mapping_file_control"], [1, 6, 1, "", "mapping_function_flags"], [1, 6, 1, "", "mapping_limits"], [1, 6, 1, "", "mapping_locking_level"], [1, 6, 1, "", "mapping_open_flags"], [1, 6, 1, "", "mapping_prepare_flags"], [1, 6, 1, "", "mapping_result_codes"], [1, 6, 1, "", "mapping_statement_status"], [1, 6, 1, "", "mapping_status"], [1, 6, 1, "", "mapping_sync"], [1, 6, 1, "", "mapping_trace_codes"], [1, 6, 1, "", "mapping_txn_state"], [1, 6, 1, "", "mapping_virtual_table_configuration_options"], [1, 6, 1, "", "mapping_virtual_table_scan_flags"], [1, 6, 1, "", "mapping_wal_checkpoint"], [1, 6, 1, "", "mapping_xshmlock_flags"], [1, 3, 1, "", "memoryhighwater"], [1, 3, 1, "", "memoryused"], [1, 4, 1, "", "no_change"], [1, 3, 1, "", "randomness"], [1, 3, 1, "", "releasememory"], [1, 3, 1, "", "set_default_vfs"], [19, 0, 0, "-", "shell"], [1, 3, 1, "", "shutdown"], [1, 3, 1, "", "sleep"], [1, 3, 1, "", "softheaplimit"], [1, 3, 1, "", "sqlite3_sourceid"], [1, 3, 1, "", "sqlitelibversion"], [1, 3, 1, "", "status"], [1, 3, 1, "", "strglob"], [1, 3, 1, "", "stricmp"], [1, 3, 1, "", "strlike"], [1, 3, 1, "", "strnicmp"], [1, 3, 1, "", "unregister_vfs"], [1, 4, 1, "", "using_amalgamation"], [1, 3, 1, "", "vfs_details"], [1, 3, 1, "", "vfsnames"], [5, 2, 1, "", "zeroblob"]], "apsw.Backup": [[2, 3, 1, "", "__enter__"], [2, 3, 1, "", "__exit__"], [2, 3, 1, "", "close"], [2, 4, 1, "", "done"], [2, 3, 1, "", "finish"], [2, 4, 1, "", "pagecount"], [2, 4, 1, "", "remaining"], [2, 3, 1, "", "step"]], "apsw.Blob": [[5, 3, 1, "", "__enter__"], [5, 3, 1, "", "__exit__"], [5, 3, 1, "", "close"], [5, 3, 1, "", "length"], [5, 3, 1, "", "read"], [5, 3, 1, "", "readinto"], [5, 3, 1, "", "reopen"], [5, 3, 1, "", "seek"], [5, 3, 1, "", "tell"], [5, 3, 1, "", "write"]], "apsw.Connection": [[7, 3, 1, "", "__enter__"], [7, 3, 1, "", "__exit__"], [7, 4, 1, "", "authorizer"], [7, 3, 1, "", "autovacuum_pages"], [7, 3, 1, "", "backup"], [7, 3, 1, "", "blobopen"], [7, 3, 1, "", "cache_stats"], [7, 3, 1, "", "cacheflush"], [7, 3, 1, "", "changes"], [7, 3, 1, "", "close"], [7, 3, 1, "", "collationneeded"], [7, 3, 1, "", "column_metadata"], [7, 3, 1, "", "config"], [7, 3, 1, "", "create_window_function"], [7, 3, 1, "", "createaggregatefunction"], [7, 3, 1, "", "createcollation"], [7, 3, 1, "", "createmodule"], [7, 3, 1, "", "createscalarfunction"], [7, 3, 1, "", "cursor"], [7, 4, 1, "", "cursor_factory"], [7, 3, 1, "", "db_filename"], [7, 3, 1, "", "db_names"], [7, 3, 1, "", "deserialize"], [7, 3, 1, "", "drop_modules"], [7, 3, 1, "", "enableloadextension"], [7, 4, 1, "", "exectrace"], [7, 3, 1, "", "execute"], [7, 3, 1, "", "executemany"], [7, 3, 1, "", "filecontrol"], [7, 4, 1, "", "filename"], [7, 4, 1, "", "filename_journal"], [7, 4, 1, "", "filename_wal"], [7, 3, 1, "", "getautocommit"], [7, 3, 1, "", "getexectrace"], [7, 3, 1, "", "getrowtrace"], [7, 4, 1, "", "in_transaction"], [7, 3, 1, "", "interrupt"], [7, 4, 1, "", "is_interrupted"], [7, 3, 1, "", "last_insert_rowid"], [7, 3, 1, "", "limit"], [7, 3, 1, "", "loadextension"], [7, 4, 1, "", "open_flags"], [7, 4, 1, "", "open_vfs"], [7, 3, 1, "", "overloadfunction"], [7, 3, 1, "", "pragma"], [7, 3, 1, "", "read"], [7, 3, 1, "", "readonly"], [7, 3, 1, "", "release_memory"], [7, 4, 1, "", "rowtrace"], [7, 3, 1, "", "serialize"], [7, 3, 1, "", "set_last_insert_rowid"], [7, 3, 1, "", "setauthorizer"], [7, 3, 1, "", "setbusyhandler"], [7, 3, 1, "", "setbusytimeout"], [7, 3, 1, "", "setcommithook"], [7, 3, 1, "", "setexectrace"], [7, 3, 1, "", "setprofile"], [7, 3, 1, "", "setprogresshandler"], [7, 3, 1, "", "setrollbackhook"], [7, 3, 1, "", "setrowtrace"], [7, 3, 1, "", "setupdatehook"], [7, 3, 1, "", "setwalhook"], [7, 3, 1, "", "sqlite3pointer"], [7, 3, 1, "", "status"], [7, 4, 1, "", "system_errno"], [7, 3, 1, "", "table_exists"], [7, 3, 1, "", "totalchanges"], [7, 3, 1, "", "trace_v2"], [7, 3, 1, "", "txn_state"], [7, 3, 1, "", "vtab_config"], [7, 3, 1, "", "vtab_on_conflict"], [7, 3, 1, "", "wal_autocheckpoint"], [7, 3, 1, "", "wal_checkpoint"]], "apsw.Cursor": [[9, 3, 1, "", "__iter__"], [9, 3, 1, "", "__next__"], [9, 3, 1, "", "close"], [9, 4, 1, "", "connection"], [9, 4, 1, "", "description"], [9, 4, 1, "", "description_full"], [9, 4, 1, "", "exectrace"], [9, 3, 1, "", "execute"], [9, 3, 1, "", "executemany"], [9, 4, 1, "", "expanded_sql"], [9, 3, 1, "", "fetchall"], [9, 3, 1, "", "fetchone"], [9, 4, 1, "", "get"], [9, 3, 1, "", "getconnection"], [9, 3, 1, "", "getdescription"], [9, 3, 1, "", "getexectrace"], [9, 3, 1, "", "getrowtrace"], [9, 4, 1, "", "has_vdbe"], [9, 4, 1, "", "is_explain"], [9, 4, 1, "", "is_readonly"], [9, 4, 1, "", "rowtrace"], [9, 3, 1, "", "setexectrace"], [9, 3, 1, "", "setrowtrace"]], "apsw.Error": [[12, 4, 1, "", "error_offset"], [12, 4, 1, "", "extendedresult"], [12, 4, 1, "", "result"]], "apsw.IndexInfo": [[23, 4, 1, "", "colUsed"], [23, 4, 1, "", "distinct"], [23, 4, 1, "", "estimatedCost"], [23, 4, 1, "", "estimatedRows"], [23, 3, 1, "", "get_aConstraintUsage_argvIndex"], [23, 3, 1, "", "get_aConstraintUsage_in"], [23, 3, 1, "", "get_aConstraintUsage_omit"], [23, 3, 1, "", "get_aConstraint_collation"], [23, 3, 1, "", "get_aConstraint_iColumn"], [23, 3, 1, "", "get_aConstraint_op"], [23, 3, 1, "", "get_aConstraint_rhs"], [23, 3, 1, "", "get_aConstraint_usable"], [23, 3, 1, "", "get_aOrderBy_desc"], [23, 3, 1, "", "get_aOrderBy_iColumn"], [23, 4, 1, "", "idxFlags"], [23, 4, 1, "", "idxNum"], [23, 4, 1, "", "idxStr"], [23, 4, 1, "", "nConstraint"], [23, 4, 1, "", "nOrderBy"], [23, 4, 1, "", "orderByConsumed"], [23, 3, 1, "", "set_aConstraintUsage_argvIndex"], [23, 3, 1, "", "set_aConstraintUsage_in"], [23, 3, 1, "", "set_aConstraintUsage_omit"]], "apsw.URIFilename": [[22, 3, 1, "", "filename"], [22, 3, 1, "", "uri_boolean"], [22, 3, 1, "", "uri_int"], [22, 3, 1, "", "uri_parameter"]], "apsw.VFS": [[22, 3, 1, "", "excepthook"], [22, 3, 1, "", "unregister"], [22, 3, 1, "", "xAccess"], [22, 3, 1, "", "xCurrentTime"], [22, 3, 1, "", "xCurrentTimeInt64"], [22, 3, 1, "", "xDelete"], [22, 3, 1, "", "xDlClose"], [22, 3, 1, "", "xDlError"], [22, 3, 1, "", "xDlOpen"], [22, 3, 1, "", "xDlSym"], [22, 3, 1, "", "xFullPathname"], [22, 3, 1, "", "xGetLastError"], [22, 3, 1, "", "xGetSystemCall"], [22, 3, 1, "", "xNextSystemCall"], [22, 3, 1, "", "xOpen"], [22, 3, 1, "", "xRandomness"], [22, 3, 1, "", "xSetSystemCall"], [22, 3, 1, "", "xSleep"]], "apsw.VFSFcntlPragma": [[22, 4, 1, "", "name"], [22, 4, 1, "", "result"], [22, 4, 1, "", "value"]], "apsw.VFSFile": [[22, 3, 1, "", "excepthook"], [22, 3, 1, "", "xCheckReservedLock"], [22, 3, 1, "", "xClose"], [22, 3, 1, "", "xDeviceCharacteristics"], [22, 3, 1, "", "xFileControl"], [22, 3, 1, "", "xFileSize"], [22, 3, 1, "", "xLock"], [22, 3, 1, "", "xRead"], [22, 3, 1, "", "xSectorSize"], [22, 3, 1, "", "xSync"], [22, 3, 1, "", "xTruncate"], [22, 3, 1, "", "xUnlock"], [22, 3, 1, "", "xWrite"]], "apsw.VTCursor": [[23, 3, 1, "", "Close"], [23, 3, 1, "", "Column"], [23, 3, 1, "", "ColumnNoChange"], [23, 3, 1, "", "Eof"], [23, 3, 1, "", "Filter"], [23, 3, 1, "", "Next"], [23, 3, 1, "", "Rowid"]], "apsw.VTModule": [[23, 3, 1, "", "Connect"], [23, 3, 1, "", "Create"], [23, 3, 1, "", "ShadowName"]], "apsw.VTTable": [[23, 3, 1, "", "Begin"], [23, 3, 1, "", "BestIndex"], [23, 3, 1, "", "BestIndexObject"], [23, 3, 1, "", "Commit"], [23, 3, 1, "", "Destroy"], [23, 3, 1, "", "Disconnect"], [23, 3, 1, "", "FindFunction"], [23, 3, 1, "", "Open"], [23, 3, 1, "", "Release"], [23, 3, 1, "", "Rename"], [23, 3, 1, "", "Rollback"], [23, 3, 1, "", "Savepoint"], [23, 3, 1, "", "Sync"], [23, 3, 1, "", "UpdateChangeRow"], [23, 3, 1, "", "UpdateDeleteRow"], [23, 3, 1, "", "UpdateInsertRow"]], "apsw.bestpractice": [[4, 5, 1, "", "apply"], [4, 5, 1, "", "connection_busy_timeout"], [4, 5, 1, "", "connection_dqs"], [4, 5, 1, "", "connection_enable_foreign_keys"], [4, 5, 1, "", "connection_wal"], [4, 5, 1, "", "library_logging"], [4, 6, 1, "", "recommended"]], "apsw.ext": [[14, 2, 1, "", "DataClassRowFactory"], [14, 2, 1, "", "DatabaseFileInfo"], [14, 2, 1, "", "JournalFileInfo"], [14, 2, 1, "", "QueryAction"], [14, 2, 1, "", "QueryDetails"], [14, 2, 1, "", "QueryPlan"], [14, 2, 1, "", "SQLiteTypeAdapter"], [14, 2, 1, "", "TypesConverterCursorFactory"], [14, 2, 1, "", "VDBEInstruction"], [14, 2, 1, "", "VTColumnAccess"], [14, 2, 1, "", "WALFileInfo"], [14, 5, 1, "", "dbinfo"], [14, 5, 1, "", "format_query_table"], [14, 5, 1, "", "generate_series"], [14, 5, 1, "", "generate_series_sqlite"], [14, 5, 1, "", "get_column_names"], [14, 5, 1, "", "index_info_to_dict"], [14, 5, 1, "", "log_sqlite"], [14, 5, 1, "", "make_virtual_module"], [14, 5, 1, "", "print_augmented_traceback"], [14, 5, 1, "", "query_info"]], "apsw.ext.DataClassRowFactory": [[14, 3, 1, "", "__call__"], [14, 3, 1, "", "get_dataclass"], [14, 3, 1, "", "get_type"]], "apsw.ext.DatabaseFileInfo": [[14, 4, 1, "", "application_id"], [14, 4, 1, "", "autovacuum_top_root"], [14, 4, 1, "", "default_cache_size"], [14, 4, 1, "", "file_change_counter"], [14, 4, 1, "", "filename"], [14, 4, 1, "", "freelist_pages"], [14, 4, 1, "", "header"], [14, 4, 1, "", "incremental_vacuum"], [14, 4, 1, "", "page_count"], [14, 4, 1, "", "page_size"], [14, 4, 1, "", "read_format"], [14, 4, 1, "", "reserved_bytes"], [14, 4, 1, "", "schema_cookie"], [14, 4, 1, "", "schema_format"], [14, 4, 1, "", "sqlite_version"], [14, 4, 1, "", "text_encoding"], [14, 4, 1, "", "user_version"], [14, 4, 1, "", "version_valid_for"], [14, 4, 1, "", "write_format"]], "apsw.ext.JournalFileInfo": [[14, 4, 1, "", "filename"], [14, 4, 1, "", "header"], [14, 4, 1, "", "header_valid"], [14, 4, 1, "", "initial_pages"], [14, 4, 1, "", "page_count"], [14, 4, 1, "", "page_size"], [14, 4, 1, "", "random_nonce"], [14, 4, 1, "", "sector_size"]], "apsw.ext.QueryAction": [[14, 4, 1, "", "action"], [14, 4, 1, "", "action_name"], [14, 4, 1, "", "column_name"], [14, 4, 1, "", "database_name"], [14, 4, 1, "", "file_name"], [14, 4, 1, "", "function_name"], [14, 4, 1, "", "module_name"], [14, 4, 1, "", "operation"], [14, 4, 1, "", "pragma_name"], [14, 4, 1, "", "pragma_value"], [14, 4, 1, "", "table_name"], [14, 4, 1, "", "trigger_name"], [14, 4, 1, "", "trigger_or_view"], [14, 4, 1, "", "view_name"]], "apsw.ext.QueryDetails": [[14, 4, 1, "", "actions"], [14, 4, 1, "", "bindings"], [14, 4, 1, "", "description"], [14, 4, 1, "", "description_full"], [14, 4, 1, "", "expanded_sql"], [14, 4, 1, "", "explain"], [14, 4, 1, "", "first_query"], [14, 4, 1, "", "has_vdbe"], [14, 4, 1, "", "is_explain"], [14, 4, 1, "", "is_readonly"], [14, 4, 1, "", "query"], [14, 4, 1, "", "query_plan"], [14, 4, 1, "", "query_remaining"]], "apsw.ext.QueryPlan": [[14, 4, 1, "", "detail"], [14, 4, 1, "", "sub"]], "apsw.ext.SQLiteTypeAdapter": [[14, 3, 1, "", "to_sqlite_value"]], "apsw.ext.TypesConverterCursorFactory": [[14, 2, 1, "", "DictAdapter"], [14, 2, 1, "", "TypeConverterCursor"], [14, 3, 1, "", "__call__"], [14, 3, 1, "", "adapt_value"], [14, 3, 1, "", "convert_value"], [14, 3, 1, "", "register_adapter"], [14, 3, 1, "", "register_converter"], [14, 3, 1, "", "wrap_bindings"], [14, 3, 1, "", "wrap_sequence_bindings"]], "apsw.ext.TypesConverterCursorFactory.TypeConverterCursor": [[14, 3, 1, "", "execute"], [14, 3, 1, "", "executemany"]], "apsw.ext.VDBEInstruction": [[14, 4, 1, "", "addr"], [14, 4, 1, "", "comment"], [14, 4, 1, "", "opcode"], [14, 4, 1, "", "p1"], [14, 4, 1, "", "p2"], [14, 4, 1, "", "p3"], [14, 4, 1, "", "p4"], [14, 4, 1, "", "p5"]], "apsw.ext.VTColumnAccess": [[14, 4, 1, "", "By_Attr"], [14, 4, 1, "", "By_Index"], [14, 4, 1, "", "By_Name"]], "apsw.ext.WALFileInfo": [[14, 4, 1, "", "checkpoint_sequence_number"], [14, 4, 1, "", "checksum_1"], [14, 4, 1, "", "checksum_2"], [14, 4, 1, "", "filename"], [14, 4, 1, "", "format_version"], [14, 4, 1, "", "magic_number"], [14, 4, 1, "", "page_size"], [14, 4, 1, "", "salt_1"], [14, 4, 1, "", "salt_2"]], "apsw.shell": [[19, 2, 1, "", "Shell"], [19, 5, 1, "", "main"]], "apsw.shell.Shell": [[19, 1, 1, "", "Error"], [19, 2, 1, "", "PositionRow"], [19, 2, 1, "", "Row"], [19, 3, 1, "", "cmdloop"], [19, 3, 1, "", "complete"], [19, 3, 1, "", "complete_command"], [19, 3, 1, "", "complete_sql"], [19, 7, 1, "", "db"], [19, 3, 1, "", "display_timing"], [19, 3, 1, "", "fixup_backslashes"], [19, 3, 1, "", "get_resource_usage"], [19, 3, 1, "", "getcompleteline"], [19, 3, 1, "", "getline"], [19, 3, 1, "", "handle_exception"], [19, 3, 1, "", "handle_interrupt"], [19, 3, 1, "", "log_handler"], [19, 3, 1, "", "pop_input"], [19, 3, 1, "", "pop_output"], [19, 3, 1, "", "process_args"], [19, 3, 1, "", "process_command"], [19, 3, 1, "", "process_complete_line"], [19, 3, 1, "", "process_sql"], [19, 3, 1, "", "process_unknown_args"], [19, 3, 1, "", "push_input"], [19, 3, 1, "", "push_output"], [19, 3, 1, "", "set_encoding"], [19, 3, 1, "", "usage"], [19, 3, 1, "", "write"], [19, 3, 1, "", "write_error"], [19, 3, 1, "", "write_value"]], "apsw.shell.Shell.Row": [[19, 4, 1, "", "columns"], [19, 4, 1, "", "is_first"], [19, 4, 1, "", "is_last"], [19, 4, 1, "", "row"]], "apsw.zeroblob": [[5, 3, 1, "", "length"]]}, "objtypes": {"0": "py:module", "1": "py:exception", "2": "py:class", "3": "py:method", "4": "py:attribute", "5": "py:function", "6": "py:data", "7": "py:property"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "exception", "Python exception"], "2": ["py", "class", "Python class"], "3": ["py", "method", "Python method"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "function", "Python function"], "6": ["py", "data", "Python data"], "7": ["py", "property", "Python property"]}, "titleterms": {"about": 0, "what": [0, 11, 18], "apsw": [0, 1, 11, 12, 13, 16, 18], "doe": [0, 18], "depend": 0, "host": [0, 13], "mail": 0, "list": 0, "contact": 0, "issu": 0, "track": 0, "sqlite": [0, 1, 11, 12, 14, 17, 20], "version": [0, 11, 19], "python": [0, 19], "last": 0, "releas": 0, "modul": [1, 10, 18], "type": [1, 10, 11, 14, 21], "annot": 1, "api": [1, 4, 10, 14], "refer": [1, 14], "constant": 1, "backup": [2, 11, 19], "import": [2, 19], "detail": [2, 11, 14], "class": [2, 5, 7, 9, 12, 19, 22, 23], "benchmark": 3, "speedtest": 3, "best": [4, 11], "practic": [4, 11], "explan": 4, "blob": [5, 11], "input": 5, "output": [5, 19], "zeroblob": 5, "chang": [6, 19], "histori": 6, "3": [6, 16], "43": [6, 16], "1": [6, 16], "0": [6, 16], "42": 6, "41": 6, "2": 6, "40": 6, "39": 6, "4": [6, 15], "38": 6, "5": [6, 15], "r1": 6, "37": 6, "36": 6, "35": 6, "34": 6, "33": 6, "32": 6, "31": 6, "30": 6, "29": 6, "28": 6, "27": 6, "26": 6, "25": 6, "24": 6, "23": 6, "22": 6, "21": 6, "20": 6, "19": 6, "18": 6, "17": 6, "16": 6, "15": 6, "14": 6, "13": 6, "12": 6, "11": 6, "9": 6, "8": 6, "10": 6, "7": 6, "6": 6, "r2": 6, "r3": 6, "connect": [7, 10, 19, 20], "databas": [7, 11, 19, 20], "copyright": 8, "licens": 8, "cursor": [9, 10, 20], "execut": [9, 11, 13], "sql": [9, 11, 20], "some": 9, "exampl": [9, 11], "dbapi": 10, "note": [10, 19], "interfac": 10, "object": 10, "option": [10, 17, 19], "db": [10, 19], "extens": [10, 15], "tour": 11, "check": 11, "log": [11, 14, 19, 20], "open": [11, 19], "why": 11, "you": 11, "us": [11, 14], "bind": [11, 20], "provid": [11, 17], "valu": [11, 19], "sequenc": 11, "dict": 11, "differ": [11, 18, 20], "transact": [11, 20], "executemani": 11, "pragma": 11, "trace": [11, 12, 13], "return": 11, "row": [11, 13, 14], "defin": 11, "your": [11, 17, 20], "own": 11, "function": [11, 14], "aggreg": 11, "window": 11, "collat": 11, "sort": 11, "access": [11, 14], "result": [11, 14], "column": [11, 14], "name": [11, 14, 19], "convers": 11, "out": [11, 14], "queri": [11, 14], "i": [11, 20], "o": 11, "author": 11, "control": 11, "can": 11, "do": 11, "progress": 11, "handler": 11, "file": [11, 19, 22], "commit": 11, "hook": 11, "updat": [11, 20], "virtual": [11, 14, 22, 23], "tabl": [11, 14, 19, 23], "vf": [11, 22], "system": [11, 22], "limit": 11, "an": 11, "shell": [11, 19], "statist": 11, "format": 11, "cleanup": 11, "except": [12, 19, 22], "error": [12, 22], "unrais": 12, "specif": 12, "gener": 12, "intern": 12, "permiss": 12, "etc": 12, "abort": 12, "busi": [12, 20], "memori": 12, "disk": 12, "augment": 12, "stack": 12, "model": 13, "multi": 13, "thread": 13, "re": 13, "entranc": 13, "64": 13, "bit": [13, 14], "statement": 13, "cach": [13, 20], "tracer": 13, "variou": 14, "interest": 14, "pretti": 14, "print": [14, 19], "traceback": 14, "convert": 14, "inform": 14, "advanc": 14, "fts3": 15, "icu": 15, "json1": 15, "rbu": 15, "rtree": 15, "document": 16, "instal": 17, "custom": [17, 20], "pypi": 17, "recommend": 17, "linux": 17, "bsd": 17, "build": 17, "process": 17, "find": [17, 19], "sourc": 17, "verifi": 17, "download": 17, "command": [17, 19], "fetch": 17, "ext": 17, "test": 17, "sqlite3": 18, "better": 18, "line": 19, "usag": 19, "programmat": 19, "autoimport": 19, "filenam": 19, "bail": 19, "ON": 19, "off": 19, "cd": 19, "dir": 19, "close": 19, "colour": 19, "scheme": 19, "number": 19, "dbconfig": 19, "dbinfo": 19, "dump": 19, "echo": 19, "encod": 19, "exit": 19, "code": 19, "header": 19, "": 19, "help": 19, "indic": 19, "load": 19, "entri": 19, "mode": [19, 20], "nullvalu": 19, "string": 19, "paramet": 19, "cmd": 19, "prompt": 19, "main": 19, "continu": 19, "py": 19, "read": 19, "restor": 19, "schema": [19, 20], "separ": 19, "arg": 19, "show": 19, "pattern": 19, "timeout": 19, "m": 19, "timer": 19, "vfsinfo": 19, "vfslist": 19, "vfsname": 19, "width": 19, "num": 19, "tip": 20, "diagnost": 20, "manag": 20, "pars": 20, "unexpect": 20, "behaviour": 20, "handl": 20, "share": 20, "write": 20, "ahead": 20, "map": 21, "unicod": 21, "vfsfcntlpragma": 22, "vfsfile": 22, "urifilenam": 22, "indexinfo": 23, "vtmodul": 23, "vttabl": 23, "vtcursor": 23, "troubleshoot": 23}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.viewcode": 1, "sphinx": 60}, "alltitles": {"About": [[0, "about"]], "What APSW does": [[0, "what-apsw-does"]], "Dependencies": [[0, "dependencies"]], "Hosting": [[0, "hosting"]], "Mailing lists/contacts": [[0, "mailing-lists-contacts"]], "Issue tracking": [[0, "issue-tracking"]], "APSW and SQLite versions": [[0, "apsw-and-sqlite-versions"]], "Python versions": [[0, "python-versions"]], "Last APSW release": [[0, "id1"]], "APSW Module": [[1, "apsw-module"]], "Type Annotations": [[1, "type-annotations"]], "API Reference": [[1, "api-reference"], [14, "module-apsw.ext"]], "SQLite constants": [[1, "sqlite-constants"]], "Backup": [[2, "backup"]], "Important details": [[2, "important-details"]], "Backup class": [[2, "backup-class"]], "Benchmarking": [[3, "benchmarking"]], "speedtest": [[3, "speedtest"]], "Best Practice": [[4, "best-practice"], [11, "best-practice"]], "Explanation": [[4, "explanation"]], "API": [[4, "module-apsw.bestpractice"]], "Blob Input/Output": [[5, "blob-input-output"]], "zeroblob class": [[5, "zeroblob-class"]], "Blob class": [[5, "blob-class"]], "Change History": [[6, "change-history"]], "3.43.1.0": [[6, "id1"]], "3.43.0.0": [[6, "id2"]], "3.42.0.1": [[6, "id3"]], "3.42.0.0": [[6, "id4"]], "3.41.2.0": [[6, "id5"]], "3.41.0.0": [[6, "id6"]], "3.40.1.0": [[6, "id7"]], "3.40.0.0": [[6, "id8"]], "3.39.4.0": [[6, "id9"]], "3.39.3.0": [[6, "id10"]], "3.39.2.1": [[6, "id11"]], "3.39.2.0": [[6, "id12"]], "3.38.5-r1": [[6, "r1"]], "3.38.1-r1": [[6, "id13"]], "3.37.0-r1": [[6, "id14"]], "3.36.0-r1": [[6, "id15"]], "3.35.4-r1": [[6, "id16"]], "3.34.0-r1": [[6, "id17"]], "3.33.0-r1": [[6, "id18"]], "3.32.2-r1": [[6, "id19"]], "3.31.1-r1": [[6, "id20"]], "3.30.1-r1": [[6, "id21"]], "3.29.0-r1": [[6, "id22"]], "3.28.0-r1": [[6, "id23"]], "3.27.2-r1": [[6, "id24"]], "3.26.0-r1": [[6, "id25"]], "3.25.2-r1": [[6, "id26"]], "3.24.0-r1": [[6, "id27"]], "3.23.1-r1": [[6, "id28"]], "3.22.0-r1": [[6, "id29"]], "3.21.0-r1": [[6, "id30"]], "3.20.1-r1": [[6, "id31"]], "3.19.3-r1": [[6, "id32"]], "3.18.0-r1": [[6, "id33"]], "3.17.0-r1": [[6, "id34"]], "3.16.2-r1": [[6, "id35"]], "3.15.2-r1": [[6, "id36"]], "3.15.1-r1": [[6, "id37"]], "3.15.0-r1": [[6, "id38"]], "3.14.1-r1": [[6, "id39"]], "3.13.0-r1": [[6, "id40"]], "3.12.2-r1": [[6, "id41"]], "3.11.1-r1": [[6, "id42"]], "3.11.0-r1": [[6, "id43"]], "3.9.2-r1": [[6, "id44"]], "3.8.11.1-r1": [[6, "id45"]], "3.8.10.1-r1": [[6, "id46"]], "3.8.9-r1": [[6, "id47"]], "3.8.8.2-r1": [[6, "id48"]], "3.8.8.1-r1": [[6, "id49"]], "3.8.7.3-r1": [[6, "id50"]], "3.8.7.2-r1": [[6, "id51"]], "3.8.7.1-r1": [[6, "id52"]], "3.8.6-r1": [[6, "id53"]], "3.8.5-r1": [[6, "id54"]], "3.8.4.3-r1": [[6, "id55"]], "3.8.4.2-r1": [[6, "id56"]], "3.8.4.1-r1": [[6, "id57"]], "3.8.3.1-r1": [[6, "id58"]], "3.8.3-r1": [[6, "id59"]], "3.8.2-r1": [[6, "id60"]], "3.8.1-r1": [[6, "id61"]], "3.8.0.2-r1": [[6, "id62"]], "3.8.0.1-r1": [[6, "id63"]], "3.8.0-r2": [[6, "r2"]], "3.8.0-r1": [[6, "id64"]], "3.7.17-r1": [[6, "id65"]], "3.7.16.2-r1": [[6, "id66"]], "3.7.16.1-r1": [[6, "id67"]], "3.7.16-r1": [[6, "id68"]], "3.7.15.2-r1": [[6, "id69"]], "3.7.15.1-r1": [[6, "id70"]], "3.7.15-r1": [[6, "id71"]], "3.7.14.1-r1": [[6, "id72"]], "3.7.14-r2": [[6, "id73"]], "3.7.14-r1": [[6, "id74"]], "3.7.13-r1": [[6, "id75"]], "3.7.12.1-r1": [[6, "id76"]], "3.7.12-r1": [[6, "id77"]], "3.7.11-r1": [[6, "id78"]], "3.7.10-r1": [[6, "id79"]], "3.7.9-r1": [[6, "id80"]], "3.7.8-r1": [[6, "id81"]], "3.7.7.1-r1": [[6, "id82"]], "3.7.6.3-r1": [[6, "id83"]], "3.7.6.2-r1": [[6, "id84"]], "3.7.5-r1": [[6, "id85"]], "3.7.4-r1": [[6, "id86"]], "3.7.3-r1": [[6, "id87"]], "3.7.2-r1": [[6, "id88"]], "3.7.1-r1": [[6, "id89"]], "3.7.0.1-r1": [[6, "id90"]], "3.7.0-r1": [[6, "id91"]], "3.6.23.1-r1": [[6, "id92"]], "3.6.23-r1": [[6, "id93"]], "3.6.22-r1": [[6, "id94"]], "3.6.21-r1": [[6, "id95"]], "3.6.20-r1": [[6, "id96"]], "3.6.19-r1": [[6, "id97"]], "3.6.18-r1": [[6, "id98"]], "3.6.17-r1": [[6, "id99"]], "3.6.16-r1": [[6, "id100"]], "3.6.15-r1": [[6, "id101"]], "3.6.14.2-r1": [[6, "id102"]], "3.6.14.1-r1": [[6, "id103"]], "3.6.13-r1": [[6, "id104"]], "3.6.11-r1": [[6, "id105"]], "3.6.10-r1": [[6, "id106"]], "3.6.6.2-r1": [[6, "id107"]], "3.6.5-r1": [[6, "id108"]], "3.6.3-r1": [[6, "id109"]], "3.5.9-r2": [[6, "id110"]], "3.5.9-r1": [[6, "id111"]], "3.3.13-r1": [[6, "id112"]], "3.3.10-r1": [[6, "id113"]], "3.3.9-r1": [[6, "id114"]], "3.3.8-r1": [[6, "id116"]], "3.3.7-r1": [[6, "id117"]], "3.3.5-r1": [[6, "id118"]], "3.2.7-r1": [[6, "id119"]], "3.2.2-r1": [[6, "id120"]], "3.2.1-r1": [[6, "id121"]], "3.1.3-r1": [[6, "id122"]], "3.0.8-r3": [[6, "r3"]], "3.0.8-r2": [[6, "id123"]], "3.0.8-r1": [[6, "id124"]], "Connections to a database": [[7, "connections-to-a-database"]], "Connection class": [[7, "connection-class"]], "Copyright and License": [[8, "copyright-and-license"]], "Cursors (executing SQL)": [[9, "cursors-executing-sql"]], "Cursor class": [[9, "cursor-class"]], "Some examples": [[9, "id1"]], "DBAPI notes": [[10, "dbapi-notes"]], "Module Interface": [[10, "module-interface"]], "Connection Objects": [[10, "connection-objects"]], "Cursor Objects": [[10, "cursor-objects"]], "Type objects": [[10, "type-objects"]], "Optional DB API Extensions": [[10, "optional-db-api-extensions"]], "Example/Tour": [[11, "example-tour"]], "Checking APSW and SQLite versions": [[11, "checking-apsw-and-sqlite-versions"]], "Logging": [[11, "logging"]], "Opening the database": [[11, "opening-the-database"]], "Executing SQL": [[11, "executing-sql"]], "Why you use bindings to provide values": [[11, "why-you-use-bindings-to-provide-values"]], "Bindings (sequence)": [[11, "bindings-sequence"]], "Bindings (dict)": [[11, "bindings-dict"]], "Using different types": [[11, "using-different-types"]], "Transactions": [[11, "transactions"], [20, "transactions"]], "executemany": [[11, "executemany"]], "Pragmas": [[11, "pragmas"]], "Tracing execution": [[11, "tracing-execution"]], "Tracing returned rows": [[11, "tracing-returned-rows"]], "Defining your own functions": [[11, "defining-your-own-functions"]], "Defining aggregate functions": [[11, "defining-aggregate-functions"]], "Defining window functions": [[11, "defining-window-functions"]], "Defining collations (sorting)": [[11, "defining-collations-sorting"]], "Accessing results by column name": [[11, "accessing-results-by-column-name"]], "Type conversion into/out of database": [[11, "type-conversion-into-out-of-database"]], "Query details": [[11, "query-details"]], "Blob I/O": [[11, "blob-i-o"]], "Authorizer (control what SQL can do)": [[11, "authorizer-control-what-sql-can-do"]], "Progress handler": [[11, "progress-handler"]], "File Control": [[11, "file-control"]], "Commit hook": [[11, "commit-hook"]], "Update hook": [[11, "update-hook"]], "Virtual tables": [[11, "virtual-tables"]], "VFS - Virtual File System": [[11, "vfs-virtual-file-system"]], "Limits": [[11, "limits"]], "Backup an open database": [[11, "backup-an-open-database"]], "Shell": [[11, "shell"], [19, "shell"]], "Statistics": [[11, "statistics"]], "Tracing": [[11, "tracing"], [13, "tracing"]], "Formatting query results table": [[11, "formatting-query-results-table"]], "Cleanup": [[11, "cleanup"]], "Exceptions and Errors": [[12, "exceptions-and-errors"]], "Unraisable": [[12, "unraisable"]], "Exception Classes": [[12, "exception-classes"]], "APSW specific exceptions": [[12, "apsw-specific-exceptions"]], "SQLite Exceptions": [[12, "sqlite-exceptions"]], "General Errors": [[12, "general-errors"]], "Internal Errors": [[12, "internal-errors"]], "Permissions Etc": [[12, "permissions-etc"]], "Abort/Busy Etc": [[12, "abort-busy-etc"]], "Memory/Disk": [[12, "memory-disk"]], "Augmented stack traces": [[12, "augmented-stack-traces"]], "Execution and tracing": [[13, "execution-and-tracing"]], "Execution model": [[13, "execution-model"]], "Multi-threading and re-entrancy": [[13, "multi-threading-and-re-entrancy"]], "64 bit hosts": [[13, "bit-hosts"]], "Statement Cache": [[13, "statement-cache"]], "Execution Tracer": [[13, "execution-tracer"]], "Row Tracer": [[13, "row-tracer"]], "APSW Trace": [[13, "apsw-trace"]], "Various interesting and useful bits of functionality": [[14, "various-interesting-and-useful-bits-of-functionality"]], "Pretty printing": [[14, "pretty-printing"]], "Logging and tracebacks": [[14, "logging-and-tracebacks"]], "Virtual Tables": [[14, "virtual-tables"], [23, "virtual-tables"]], "Accessing result rows by column name": [[14, "accessing-result-rows-by-column-name"]], "Converting types into and out of SQLite": [[14, "converting-types-into-and-out-of-sqlite"]], "Detailed Query Information": [[14, "detailed-query-information"]], "Advanced": [[14, "advanced"]], "Extensions": [[15, "extensions"]], "FTS3/4/5": [[15, "fts3-4-5"]], "ICU": [[15, "icu"]], "JSON1": [[15, "json1"]], "RBU": [[15, "rbu"]], "RTree": [[15, "rtree"]], "APSW 3.43.1.0 documentation": [[16, "apsw-version-documentation"]], "Installation and customization": [[17, "installation-and-customization"]], "PyPI (recommended)": [[17, "pypi-recommended"]], "Linux/BSD provided": [[17, "linux-bsd-provided"]], "Building and customization": [[17, "building-and-customization"]], "Build process": [[17, "build-process"]], "SQLite options": [[17, "sqlite-options"]], "Finding SQLite": [[17, "finding-sqlite"]], "Source": [[17, "source"]], "Verifying your download": [[17, "verifying-your-download"]], "Commands and their options": [[17, "commands-and-their-options"]], "build": [[17, "id1"]], "fetch": [[17, "fetch"]], "build_ext": [[17, "build-ext"]], "Testing": [[17, "testing"]], "sqlite3 module differences": [[18, "sqlite3-module-differences"]], "What APSW does better": [[18, "what-apsw-does-better"]], "What sqlite3 does better": [[18, "what-sqlite3-does-better"]], "Notes": [[19, "notes"]], "Command Line Usage": [[19, "command-line-usage"]], "Programmatic Usage": [[19, "programmatic-usage"]], "Commands": [[19, "commands"]], "autoimport FILENAME ?TABLE?": [[19, "autoimport-filename-table"]], "backup ?DB? FILE": [[19, "backup-db-file"]], "bail ON|OFF": [[19, "bail-on-off"]], "cd ?DIR?": [[19, "cd-dir"]], "changes ON|OFF": [[19, "changes-on-off"]], "close": [[19, "close"]], "colour SCHEME": [[19, "colour-scheme"]], "connection ?NUMBER?": [[19, "connection-number"]], "databases": [[19, "databases"]], "dbconfig ?NAME VALUE?": [[19, "dbconfig-name-value"]], "dbinfo ?NAME?": [[19, "dbinfo-name"]], "dump ?TABLE? [TABLE...]": [[19, "dump-table-table"]], "echo ON|OFF": [[19, "echo-on-off"]], "encoding ENCODING": [[19, "encoding-encoding"]], "exceptions ON|OFF": [[19, "exceptions-on-off"]], "exit ?CODE?": [[19, "exit-code"]], "find value ?TABLE?": [[19, "find-value-table"]], "header(s) ON|OFF": [[19, "header-s-on-off"]], "help ?COMMAND?": [[19, "help-command"]], "import FILE TABLE": [[19, "import-file-table"]], "indices TABLE": [[19, "indices-table"]], "load FILE ?ENTRY?": [[19, "load-file-entry"]], "log ON|OFF": [[19, "log-on-off"]], "mode MODE ?OPTIONS?": [[19, "mode-mode-options"]], "nullvalue STRING": [[19, "nullvalue-string"]], "open ?OPTIONS? ?FILE?": [[19, "open-options-file"]], "output FILENAME": [[19, "output-filename"]], "parameter CMD ...": [[19, "parameter-cmd"]], "print STRING": [[19, "print-string"]], "prompt MAIN ?CONTINUE?": [[19, "prompt-main-continue"]], "py ?PYTHON?": [[19, "py-python"]], "read FILENAME": [[19, "read-filename"]], "restore ?DB? FILE": [[19, "restore-db-file"]], "schema ?TABLE? [TABLE...]": [[19, "schema-table-table"]], "separator STRING": [[19, "separator-string"]], "shell CMD ARGS...": [[19, "shell-cmd-args"]], "show": [[19, "show"]], "tables ?PATTERN?": [[19, "tables-pattern"]], "timeout MS": [[19, "timeout-ms"]], "timer ON|OFF": [[19, "timer-on-off"]], "version": [[19, "version"]], "vfsinfo": [[19, "vfsinfo"]], "vfslist": [[19, "vfslist"]], "vfsname": [[19, "vfsname"]], "width NUM NUM ...": [[19, "width-num-num"]], "Shell class": [[19, "shell-class"]], "Tips": [[20, "tips"]], "SQLite is different": [[20, "sqlite-is-different"]], "Cursors": [[20, "cursors"]], "Bindings": [[20, "bindings"]], "Diagnostics": [[20, "diagnostics"]], "Managing and updating your schema": [[20, "managing-and-updating-your-schema"]], "Parsing SQL": [[20, "parsing-sql"]], "Unexpected behaviour": [[20, "unexpected-behaviour"]], "Customizing Connections": [[20, "customizing-connections"]], "Customizing Cursors": [[20, "customizing-cursors"]], "Busy handling": [[20, "busy-handling"]], "Database schema": [[20, "database-schema"]], "Shared Cache Mode": [[20, "shared-cache-mode"]], "Write Ahead Logging": [[20, "write-ahead-logging"]], "Types": [[21, "types"]], "Mapping": [[21, "mapping"]], "Unicode": [[21, "unicode"]], "Virtual File System (VFS)": [[22, "virtual-file-system-vfs"]], "Exceptions and errors": [[22, "exceptions-and-errors"]], "VFSFcntlPragma class": [[22, "vfsfcntlpragma-class"]], "VFS class": [[22, "vfs-class"]], "VFSFile class": [[22, "vfsfile-class"]], "URIFilename class": [[22, "urifilename-class"]], "IndexInfo class": [[23, "indexinfo-class"]], "VTModule class": [[23, "vtmodule-class"]], "VTTable class": [[23, "vttable-class"]], "VTCursor class": [[23, "vtcursor-class"]], "Troubleshooting virtual tables": [[23, "troubleshooting-virtual-tables"]]}, "indexentries": {"aggregatefactory (class in apsw)": [[1, "apsw.AggregateFactory"]], "aggregatefinal (class in apsw)": [[1, "apsw.AggregateFinal"]], "aggregatestep (class in apsw)": [[1, "apsw.AggregateStep"]], "aggregatet (class in apsw)": [[1, "apsw.AggregateT"]], "authorizer (class in apsw)": [[1, "apsw.Authorizer"]], "bindings (class in apsw)": [[1, "apsw.Bindings"]], "commithook (class in apsw)": [[1, "apsw.CommitHook"]], "exectracer (class in apsw)": [[1, "apsw.ExecTracer"]], "rowtracer (class in apsw)": [[1, "apsw.RowTracer"]], "sqlite_version_number (in module apsw)": [[1, "apsw.SQLITE_VERSION_NUMBER"]], "sqlitevalue (class in apsw)": [[1, "apsw.SQLiteValue"]], "sqlitevalues (class in apsw)": [[1, "apsw.SQLiteValues"]], "scalarprotocol (class in apsw)": [[1, "apsw.ScalarProtocol"]], "windowfactory (class in apsw)": [[1, "apsw.WindowFactory"]], "windowfinal (class in apsw)": [[1, "apsw.WindowFinal"]], "windowinverse (class in apsw)": [[1, "apsw.WindowInverse"]], "windowstep (class in apsw)": [[1, "apsw.WindowStep"]], "windowt (class in apsw)": [[1, "apsw.WindowT"]], "windowvalue (class in apsw)": [[1, "apsw.WindowValue"]], "allow_missing_dict_bindings() (in module apsw)": [[1, "apsw.allow_missing_dict_bindings"]], "apsw": [[1, "module-apsw"]], "apswversion() (in module apsw)": [[1, "apsw.apswversion"]], "compile_options (in module apsw)": [[1, "apsw.compile_options"]], "complete() (in module apsw)": [[1, "apsw.complete"]], "config() (in module apsw)": [[1, "apsw.config"]], "connection_hooks (in module apsw)": [[1, "apsw.connection_hooks"]], "connections() (in module apsw)": [[1, "apsw.connections"]], "enablesharedcache() (in module apsw)": [[1, "apsw.enablesharedcache"]], "exceptionfor() (in module apsw)": [[1, "apsw.exceptionfor"]], "fork_checker() (in module apsw)": [[1, "apsw.fork_checker"]], "format_sql_value() (in module apsw)": [[1, "apsw.format_sql_value"]], "hard_heap_limit() (in module apsw)": [[1, "apsw.hard_heap_limit"]], "initialize() (in module apsw)": [[1, "apsw.initialize"]], "keywords (in module apsw)": [[1, "apsw.keywords"]], "log() (in module apsw)": [[1, "apsw.log"]], "mapping_access (in module apsw)": [[1, "apsw.mapping_access"]], "mapping_authorizer_function (in module apsw)": [[1, "apsw.mapping_authorizer_function"]], "mapping_authorizer_return_codes (in module apsw)": [[1, "apsw.mapping_authorizer_return_codes"]], "mapping_bestindex_constraints (in module apsw)": [[1, "apsw.mapping_bestindex_constraints"]], "mapping_config (in module apsw)": [[1, "apsw.mapping_config"]], "mapping_conflict_resolution_modes (in module apsw)": [[1, "apsw.mapping_conflict_resolution_modes"]], "mapping_db_config (in module apsw)": [[1, "apsw.mapping_db_config"]], "mapping_db_status (in module apsw)": [[1, "apsw.mapping_db_status"]], "mapping_device_characteristics (in module apsw)": [[1, "apsw.mapping_device_characteristics"]], "mapping_extended_result_codes (in module apsw)": [[1, "apsw.mapping_extended_result_codes"]], "mapping_file_control (in module apsw)": [[1, "apsw.mapping_file_control"]], "mapping_function_flags (in module apsw)": [[1, "apsw.mapping_function_flags"]], "mapping_limits (in module apsw)": [[1, "apsw.mapping_limits"]], "mapping_locking_level (in module apsw)": [[1, "apsw.mapping_locking_level"]], "mapping_open_flags (in module apsw)": [[1, "apsw.mapping_open_flags"]], "mapping_prepare_flags (in module apsw)": [[1, "apsw.mapping_prepare_flags"]], "mapping_result_codes (in module apsw)": [[1, "apsw.mapping_result_codes"]], "mapping_statement_status (in module apsw)": [[1, "apsw.mapping_statement_status"]], "mapping_status (in module apsw)": [[1, "apsw.mapping_status"]], "mapping_sync (in module apsw)": [[1, "apsw.mapping_sync"]], "mapping_trace_codes (in module apsw)": [[1, "apsw.mapping_trace_codes"]], "mapping_txn_state (in module apsw)": [[1, "apsw.mapping_txn_state"]], "mapping_virtual_table_configuration_options (in module apsw)": [[1, "apsw.mapping_virtual_table_configuration_options"]], "mapping_virtual_table_scan_flags (in module apsw)": [[1, "apsw.mapping_virtual_table_scan_flags"]], "mapping_wal_checkpoint (in module apsw)": [[1, "apsw.mapping_wal_checkpoint"]], "mapping_xshmlock_flags (in module apsw)": [[1, "apsw.mapping_xshmlock_flags"]], "memoryhighwater() (in module apsw)": [[1, "apsw.memoryhighwater"]], "memoryused() (in module apsw)": [[1, "apsw.memoryused"]], "module": [[1, "module-apsw"], [4, "module-apsw.bestpractice"], [14, "module-apsw.ext"], [19, "module-apsw.shell"]], "no_change (in module apsw)": [[1, "apsw.no_change"]], "randomness() (in module apsw)": [[1, "apsw.randomness"]], "releasememory() (in module apsw)": [[1, "apsw.releasememory"]], "set_default_vfs() (in module apsw)": [[1, "apsw.set_default_vfs"]], "shutdown() (in module apsw)": [[1, "apsw.shutdown"]], "sleep() (in module apsw)": [[1, "apsw.sleep"]], "softheaplimit() (in module apsw)": [[1, "apsw.softheaplimit"]], "sqlite3_compileoption_get": [[1, "index-0"]], "sqlite3_complete": [[1, "index-1"]], "sqlite3_config": [[1, "index-2"]], "sqlite3_enable_shared_cache": [[1, "index-3"]], "sqlite3_hard_heap_limit64": [[1, "index-4"]], "sqlite3_initialize": [[1, "index-5"]], "sqlite3_keyword_count": [[1, "index-6"]], "sqlite3_keyword_name": [[1, "index-6"]], "sqlite3_libversion": [[1, "index-17"]], "sqlite3_log": [[1, "index-7"]], "sqlite3_memory_highwater": [[1, "index-8"]], "sqlite3_memory_used": [[1, "index-9"]], "sqlite3_randomness": [[1, "index-10"]], "sqlite3_release_memory": [[1, "index-11"]], "sqlite3_shutdown": [[1, "index-13"]], "sqlite3_sleep": [[1, "index-14"]], "sqlite3_soft_heap_limit64": [[1, "index-15"]], "sqlite3_sourceid": [[1, "index-16"]], "sqlite3_sourceid() (in module apsw)": [[1, "apsw.sqlite3_sourceid"]], "sqlite3_status64": [[1, "index-18"]], "sqlite3_strglob": [[1, "index-19"]], "sqlite3_stricmp": [[1, "index-20"]], "sqlite3_strlike": [[1, "index-21"]], "sqlite3_strnicmp": [[1, "index-22"]], "sqlite3_vfs_find": [[1, "index-12"], [1, "index-23"], [1, "index-24"], [1, "index-25"], [22, "index-0"]], "sqlite3_vfs_register": [[1, "index-12"], [22, "index-0"]], "sqlite3_vfs_unregister": [[1, "index-23"], [22, "index-1"]], "sqlitelibversion() (in module apsw)": [[1, "apsw.sqlitelibversion"]], "status() (in module apsw)": [[1, "apsw.status"]], "strglob() (in module apsw)": [[1, "apsw.strglob"]], "stricmp() (in module apsw)": [[1, "apsw.stricmp"]], "strlike() (in module apsw)": [[1, "apsw.strlike"]], "strnicmp() (in module apsw)": [[1, "apsw.strnicmp"]], "unregister_vfs() (in module apsw)": [[1, "apsw.unregister_vfs"]], "using_amalgamation (in module apsw)": [[1, "apsw.using_amalgamation"]], "vfs_details() (in module apsw)": [[1, "apsw.vfs_details"]], "vfsnames() (in module apsw)": [[1, "apsw.vfsnames"]], "backup (class in apsw)": [[2, "apsw.Backup"]], "pep 0343": [[2, "index-0"], [5, "index-0"], [6, "index-1"], [7, "index-1"]], "python enhancement proposals": [[2, "index-0"], [5, "index-0"], [6, "index-0"], [6, "index-1"], [7, "index-1"], [10, "index-0"], [18, "index-0"]], "__enter__() (backup method)": [[2, "apsw.Backup.__enter__"]], "__exit__() (backup method)": [[2, "apsw.Backup.__exit__"]], "close() (backup method)": [[2, "apsw.Backup.close"]], "done (backup attribute)": [[2, "apsw.Backup.done"]], "finish() (backup method)": [[2, "apsw.Backup.finish"]], "pagecount (backup attribute)": [[2, "apsw.Backup.pagecount"]], "remaining (backup attribute)": [[2, "apsw.Backup.remaining"]], "sqlite3_backup_finish": [[2, "index-1"]], "sqlite3_backup_pagecount": [[2, "index-2"]], "sqlite3_backup_remaining": [[2, "index-3"]], "sqlite3_backup_step": [[2, "index-4"]], "step() (backup method)": [[2, "apsw.Backup.step"]], "apply() (in module apsw.bestpractice)": [[4, "apsw.bestpractice.apply"]], "apsw.bestpractice": [[4, "module-apsw.bestpractice"]], "connection_busy_timeout() (in module apsw.bestpractice)": [[4, "apsw.bestpractice.connection_busy_timeout"]], "connection_dqs() (in module apsw.bestpractice)": [[4, "apsw.bestpractice.connection_dqs"]], "connection_enable_foreign_keys() (in module apsw.bestpractice)": [[4, "apsw.bestpractice.connection_enable_foreign_keys"]], "connection_wal() (in module apsw.bestpractice)": [[4, "apsw.bestpractice.connection_wal"]], "library_logging() (in module apsw.bestpractice)": [[4, "apsw.bestpractice.library_logging"]], "recommended (in module apsw.bestpractice)": [[4, "apsw.bestpractice.recommended"]], "blob (class in apsw)": [[5, "apsw.Blob"]], "__enter__() (blob method)": [[5, "apsw.Blob.__enter__"]], "__exit__() (blob method)": [[5, "apsw.Blob.__exit__"]], "close() (blob method)": [[5, "apsw.Blob.close"]], "length() (blob method)": [[5, "apsw.Blob.length"]], "length() (zeroblob method)": [[5, "apsw.zeroblob.length"]], "read() (blob method)": [[5, "apsw.Blob.read"]], "readinto() (blob method)": [[5, "apsw.Blob.readinto"]], "reopen() (blob method)": [[5, "apsw.Blob.reopen"]], "seek() (blob method)": [[5, "apsw.Blob.seek"]], "sqlite3_blob_bytes": [[5, "index-2"]], "sqlite3_blob_close": [[5, "index-1"]], "sqlite3_blob_read": [[5, "index-3"], [5, "index-4"]], "sqlite3_blob_reopen": [[5, "index-5"]], "sqlite3_blob_write": [[5, "index-6"]], "tell() (blob method)": [[5, "apsw.Blob.tell"]], "write() (blob method)": [[5, "apsw.Blob.write"]], "zeroblob (class in apsw)": [[5, "apsw.zeroblob"]], "pep 590": [[6, "index-0"]], "connection (class in apsw)": [[7, "apsw.Connection"]], "__enter__() (connection method)": [[7, "apsw.Connection.__enter__"]], "__exit__() (connection method)": [[7, "apsw.Connection.__exit__"]], "authorizer (connection attribute)": [[7, "apsw.Connection.authorizer"]], "autovacuum_pages() (connection method)": [[7, "apsw.Connection.autovacuum_pages"]], "backup() (connection method)": [[7, "apsw.Connection.backup"]], "blobopen() (connection method)": [[7, "apsw.Connection.blobopen"]], "cache_stats() (connection method)": [[7, "apsw.Connection.cache_stats"]], "cacheflush() (connection method)": [[7, "apsw.Connection.cacheflush"]], "changes() (connection method)": [[7, "apsw.Connection.changes"]], "close() (connection method)": [[7, "apsw.Connection.close"]], "collationneeded() (connection method)": [[7, "apsw.Connection.collationneeded"]], "column_metadata() (connection method)": [[7, "apsw.Connection.column_metadata"]], "config() (connection method)": [[7, "apsw.Connection.config"]], "create_window_function() (connection method)": [[7, "apsw.Connection.create_window_function"]], "createaggregatefunction() (connection method)": [[7, "apsw.Connection.createaggregatefunction"]], "createcollation() (connection method)": [[7, "apsw.Connection.createcollation"]], "createmodule() (connection method)": [[7, "apsw.Connection.createmodule"]], "createscalarfunction() (connection method)": [[7, "apsw.Connection.createscalarfunction"]], "cursor() (connection method)": [[7, "apsw.Connection.cursor"]], "cursor_factory (connection attribute)": [[7, "apsw.Connection.cursor_factory"]], "db_filename() (connection method)": [[7, "apsw.Connection.db_filename"]], "db_names() (connection method)": [[7, "apsw.Connection.db_names"]], "deserialize() (connection method)": [[7, "apsw.Connection.deserialize"]], "drop_modules() (connection method)": [[7, "apsw.Connection.drop_modules"]], "enableloadextension() (connection method)": [[7, "apsw.Connection.enableloadextension"]], "exectrace (connection attribute)": [[7, "apsw.Connection.exectrace"]], "execute() (connection method)": [[7, "apsw.Connection.execute"]], "executemany() (connection method)": [[7, "apsw.Connection.executemany"]], "filecontrol() (connection method)": [[7, "apsw.Connection.filecontrol"]], "filename (connection attribute)": [[7, "apsw.Connection.filename"]], "filename_journal (connection attribute)": [[7, "apsw.Connection.filename_journal"]], "filename_wal (connection attribute)": [[7, "apsw.Connection.filename_wal"]], "getautocommit() (connection method)": [[7, "apsw.Connection.getautocommit"]], "getexectrace() (connection method)": [[7, "apsw.Connection.getexectrace"]], "getrowtrace() (connection method)": [[7, "apsw.Connection.getrowtrace"]], "in_transaction (connection attribute)": [[7, "apsw.Connection.in_transaction"]], "interrupt() (connection method)": [[7, "apsw.Connection.interrupt"]], "is_interrupted (connection attribute)": [[7, "apsw.Connection.is_interrupted"]], "last_insert_rowid() (connection method)": [[7, "apsw.Connection.last_insert_rowid"]], "limit() (connection method)": [[7, "apsw.Connection.limit"]], "loadextension() (connection method)": [[7, "apsw.Connection.loadextension"]], "open_flags (connection attribute)": [[7, "apsw.Connection.open_flags"]], "open_vfs (connection attribute)": [[7, "apsw.Connection.open_vfs"]], "overloadfunction() (connection method)": [[7, "apsw.Connection.overloadfunction"]], "pragma() (connection method)": [[7, "apsw.Connection.pragma"]], "read() (connection method)": [[7, "apsw.Connection.read"]], "readonly() (connection method)": [[7, "apsw.Connection.readonly"]], "release_memory() (connection method)": [[7, "apsw.Connection.release_memory"]], "rowtrace (connection attribute)": [[7, "apsw.Connection.rowtrace"]], "serialize() (connection method)": [[7, "apsw.Connection.serialize"]], "set_last_insert_rowid() (connection method)": [[7, "apsw.Connection.set_last_insert_rowid"]], "setauthorizer() (connection method)": [[7, "apsw.Connection.setauthorizer"]], "setbusyhandler() (connection method)": [[7, "apsw.Connection.setbusyhandler"]], "setbusytimeout() (connection method)": [[7, "apsw.Connection.setbusytimeout"]], "setcommithook() (connection method)": [[7, "apsw.Connection.setcommithook"]], "setexectrace() (connection method)": [[7, "apsw.Connection.setexectrace"]], "setprofile() (connection method)": [[7, "apsw.Connection.setprofile"]], "setprogresshandler() (connection method)": [[7, "apsw.Connection.setprogresshandler"]], "setrollbackhook() (connection method)": [[7, "apsw.Connection.setrollbackhook"]], "setrowtrace() (connection method)": [[7, "apsw.Connection.setrowtrace"]], "setupdatehook() (connection method)": [[7, "apsw.Connection.setupdatehook"]], "setwalhook() (connection method)": [[7, "apsw.Connection.setwalhook"]], "sqlite3_autovacuum_pages": [[7, "index-3"]], "sqlite3_backup_init": [[7, "index-4"]], "sqlite3_blob_open": [[7, "index-5"]], "sqlite3_busy_handler": [[7, "index-38"]], "sqlite3_busy_timeout": [[7, "index-39"]], "sqlite3_changes64": [[7, "index-7"]], "sqlite3_close": [[7, "index-8"]], "sqlite3_collation_needed": [[7, "index-9"]], "sqlite3_commit_hook": [[7, "index-40"]], "sqlite3_create_collation_v2": [[7, "index-14"]], "sqlite3_create_function_v2": [[7, "index-13"], [7, "index-16"]], "sqlite3_create_module_v2": [[7, "index-15"]], "sqlite3_create_window_function": [[7, "index-12"]], "sqlite3_db_cacheflush": [[7, "index-6"]], "sqlite3_db_config": [[7, "index-11"]], "sqlite3_db_filename": [[7, "index-17"], [7, "index-22"]], "sqlite3_db_name": [[7, "index-18"]], "sqlite3_db_readonly": [[7, "index-34"]], "sqlite3_db_release_memory": [[7, "index-35"]], "sqlite3_db_status": [[7, "index-46"]], "sqlite3_deserialize": [[7, "index-19"]], "sqlite3_enable_load_extension": [[7, "index-20"]], "sqlite3_file_control": [[7, "index-21"], [7, "index-33"]], "sqlite3_filename_journal": [[7, "index-23"]], "sqlite3_filename_wal": [[7, "index-24"]], "sqlite3_get_autocommit": [[7, "index-25"], [7, "index-26"]], "sqlite3_interrupt": [[7, "index-27"]], "sqlite3_is_interrupted": [[7, "index-28"]], "sqlite3_last_insert_rowid": [[7, "index-29"]], "sqlite3_limit": [[7, "index-30"]], "sqlite3_load_extension": [[7, "index-31"]], "sqlite3_open_v2": [[7, "index-0"]], "sqlite3_overload_function": [[7, "index-32"]], "sqlite3_progress_handler": [[7, "index-42"]], "sqlite3_rollback_hook": [[7, "index-43"]], "sqlite3_serialize": [[7, "index-36"]], "sqlite3_set_authorizer": [[7, "index-2"]], "sqlite3_set_last_insert_rowid": [[7, "index-37"]], "sqlite3_stmt_status": [[7, "index-50"]], "sqlite3_system_errno": [[7, "index-47"]], "sqlite3_table_column_metadata": [[7, "index-10"], [7, "index-48"]], "sqlite3_total_changes64": [[7, "index-49"]], "sqlite3_trace_v2": [[7, "index-41"], [7, "index-50"]], "sqlite3_txn_state": [[7, "index-51"]], "sqlite3_update_hook": [[7, "index-44"]], "sqlite3_vtab_config": [[7, "index-52"]], "sqlite3_vtab_on_conflict": [[7, "index-53"]], "sqlite3_wal_autocheckpoint": [[7, "index-54"]], "sqlite3_wal_checkpoint_v2": [[7, "index-55"]], "sqlite3_wal_hook": [[7, "index-45"]], "sqlite3pointer() (connection method)": [[7, "apsw.Connection.sqlite3pointer"]], "status() (connection method)": [[7, "apsw.Connection.status"]], "system_errno (connection attribute)": [[7, "apsw.Connection.system_errno"]], "table_exists() (connection method)": [[7, "apsw.Connection.table_exists"]], "totalchanges() (connection method)": [[7, "apsw.Connection.totalchanges"]], "trace_v2() (connection method)": [[7, "apsw.Connection.trace_v2"]], "txn_state() (connection method)": [[7, "apsw.Connection.txn_state"]], "vtab_config() (connection method)": [[7, "apsw.Connection.vtab_config"]], "vtab_on_conflict() (connection method)": [[7, "apsw.Connection.vtab_on_conflict"]], "wal_autocheckpoint() (connection method)": [[7, "apsw.Connection.wal_autocheckpoint"]], "wal_checkpoint() (connection method)": [[7, "apsw.Connection.wal_checkpoint"]], "cursor (class in apsw)": [[9, "apsw.Cursor"]], "__iter__() (cursor method)": [[9, "apsw.Cursor.__iter__"]], "__next__() (cursor method)": [[9, "apsw.Cursor.__next__"]], "close() (cursor method)": [[9, "apsw.Cursor.close"]], "connection (cursor attribute)": [[9, "apsw.Cursor.connection"]], "description (cursor attribute)": [[9, "apsw.Cursor.description"]], "description_full (cursor attribute)": [[9, "apsw.Cursor.description_full"]], "exectrace (cursor attribute)": [[9, "apsw.Cursor.exectrace"]], "execute() (cursor method)": [[9, "apsw.Cursor.execute"]], "executemany() (cursor method)": [[9, "apsw.Cursor.executemany"]], "expanded_sql (cursor attribute)": [[9, "apsw.Cursor.expanded_sql"]], "fetchall() (cursor method)": [[9, "apsw.Cursor.fetchall"]], "fetchone() (cursor method)": [[9, "apsw.Cursor.fetchone"]], "get (cursor attribute)": [[9, "apsw.Cursor.get"]], "getconnection() (cursor method)": [[9, "apsw.Cursor.getconnection"]], "getdescription() (cursor method)": [[9, "apsw.Cursor.getdescription"]], "getexectrace() (cursor method)": [[9, "apsw.Cursor.getexectrace"]], "getrowtrace() (cursor method)": [[9, "apsw.Cursor.getrowtrace"]], "has_vdbe (cursor attribute)": [[9, "apsw.Cursor.has_vdbe"]], "is_explain (cursor attribute)": [[9, "apsw.Cursor.is_explain"]], "is_readonly (cursor attribute)": [[9, "apsw.Cursor.is_readonly"]], "rowtrace (cursor attribute)": [[9, "apsw.Cursor.rowtrace"]], "setexectrace() (cursor method)": [[9, "apsw.Cursor.setexectrace"]], "setrowtrace() (cursor method)": [[9, "apsw.Cursor.setrowtrace"]], "sqlite3_bind_blob64": [[9, "index-1"]], "sqlite3_bind_double": [[9, "index-1"]], "sqlite3_bind_int64": [[9, "index-1"]], "sqlite3_bind_null": [[9, "index-1"]], "sqlite3_bind_text64": [[9, "index-1"]], "sqlite3_bind_zeroblob": [[9, "index-1"]], "sqlite3_column_database_name": [[9, "index-0"]], "sqlite3_column_decltype": [[9, "index-0"], [9, "index-3"]], "sqlite3_column_name": [[9, "index-0"], [9, "index-3"]], "sqlite3_column_origin_name": [[9, "index-0"]], "sqlite3_column_table_name": [[9, "index-0"]], "sqlite3_expanded_sql": [[9, "index-2"]], "sqlite3_prepare_v3": [[9, "index-1"]], "sqlite3_step": [[9, "index-1"]], "sqlite3_stmt_isexplain": [[9, "index-4"]], "sqlite3_stmt_readonly": [[9, "index-5"]], "pep 249": [[10, "index-0"], [18, "index-0"]], "accessing results by column name (example code)": [[11, "index-18"]], "authorizer (control what sql can do) (example code)": [[11, "index-22"]], "backup an open database (example code)": [[11, "index-30"]], "best practice (example code)": [[11, "index-1"]], "bindings (dict) (example code)": [[11, "index-7"]], "bindings (sequence) (example code)": [[11, "index-6"]], "blob i/o (example code)": [[11, "index-21"]], "checking apsw and sqlite versions (example code)": [[11, "index-0"]], "cleanup (example code)": [[11, "index-35"]], "commit hook (example code)": [[11, "index-25"]], "defining aggregate functions (example code)": [[11, "index-15"]], "defining collations (sorting) (example code)": [[11, "index-17"]], "defining window functions (example code)": [[11, "index-16"]], "defining your own functions (example code)": [[11, "index-14"]], "executing sql (example code)": [[11, "index-4"]], "file control (example code)": [[11, "index-24"]], "formatting query results table (example code)": [[11, "index-34"]], "limits (example code)": [[11, "index-29"]], "logging (example code)": [[11, "index-2"]], "opening the database (example code)": [[11, "index-3"]], "pragmas (example code)": [[11, "index-11"]], "progress handler (example code)": [[11, "index-23"]], "query details (example code)": [[11, "index-20"]], "shell (example code)": [[11, "index-31"]], "statistics (example code)": [[11, "index-32"]], "tracing (example code)": [[11, "index-33"]], "tracing execution (example code)": [[11, "index-12"]], "tracing returned rows (example code)": [[11, "index-13"]], "transactions (example code)": [[11, "index-9"]], "type conversion into/out of database (example code)": [[11, "index-19"]], "update hook (example code)": [[11, "index-26"]], "using different types (example code)": [[11, "index-8"]], "vfs - virtual file system (example code)": [[11, "index-28"]], "virtual tables (example code)": [[11, "index-27"]], "why you use bindings to provide values (example code)": [[11, "index-5"]], "executemany (example code)": [[11, "index-10"]], "aborterror": [[12, "apsw.AbortError"]], "autherror": [[12, "apsw.AuthError"]], "bindingserror": [[12, "apsw.BindingsError"]], "busyerror": [[12, "apsw.BusyError"]], "cantopenerror": [[12, "apsw.CantOpenError"]], "connectionclosederror": [[12, "apsw.ConnectionClosedError"]], "connectionnotclosederror": [[12, "apsw.ConnectionNotClosedError"]], "constrainterror": [[12, "apsw.ConstraintError"]], "corrupterror": [[12, "apsw.CorruptError"]], "cursorclosederror": [[12, "apsw.CursorClosedError"]], "emptyerror": [[12, "apsw.EmptyError"]], "error": [[12, "apsw.Error"]], "exectraceabort": [[12, "apsw.ExecTraceAbort"]], "executioncompleteerror": [[12, "apsw.ExecutionCompleteError"]], "extensionloadingerror": [[12, "apsw.ExtensionLoadingError"]], "forkingviolationerror": [[12, "apsw.ForkingViolationError"]], "formaterror": [[12, "apsw.FormatError"]], "fullerror": [[12, "apsw.FullError"]], "ioerror": [[12, "apsw.IOError"]], "incompleteexecutionerror": [[12, "apsw.IncompleteExecutionError"]], "internalerror": [[12, "apsw.InternalError"]], "interrupterror": [[12, "apsw.InterruptError"]], "lockederror": [[12, "apsw.LockedError"]], "mismatcherror": [[12, "apsw.MismatchError"]], "misuseerror": [[12, "apsw.MisuseError"]], "nolfserror": [[12, "apsw.NoLFSError"]], "nomemerror": [[12, "apsw.NoMemError"]], "notadberror": [[12, "apsw.NotADBError"]], "notfounderror": [[12, "apsw.NotFoundError"]], "permissionserror": [[12, "apsw.PermissionsError"]], "protocolerror": [[12, "apsw.ProtocolError"]], "rangeerror": [[12, "apsw.RangeError"]], "readonlyerror": [[12, "apsw.ReadOnlyError"]], "sqlerror": [[12, "apsw.SQLError"]], "schemachangeerror": [[12, "apsw.SchemaChangeError"]], "threadingviolationerror": [[12, "apsw.ThreadingViolationError"]], "toobigerror": [[12, "apsw.TooBigError"]], "vfsfileclosederror": [[12, "apsw.VFSFileClosedError"]], "vfsnotimplementederror": [[12, "apsw.VFSNotImplementedError"]], "error_offset (error attribute)": [[12, "apsw.Error.error_offset"]], "extendedresult (error attribute)": [[12, "apsw.Error.extendedresult"]], "result (error attribute)": [[12, "apsw.Error.result"]], "by_attr (vtcolumnaccess attribute)": [[14, "apsw.ext.VTColumnAccess.By_Attr"]], "by_index (vtcolumnaccess attribute)": [[14, "apsw.ext.VTColumnAccess.By_Index"]], "by_name (vtcolumnaccess attribute)": [[14, "apsw.ext.VTColumnAccess.By_Name"]], "dataclassrowfactory (class in apsw.ext)": [[14, "apsw.ext.DataClassRowFactory"]], "databasefileinfo (class in apsw.ext)": [[14, "apsw.ext.DatabaseFileInfo"]], "journalfileinfo (class in apsw.ext)": [[14, "apsw.ext.JournalFileInfo"]], "queryaction (class in apsw.ext)": [[14, "apsw.ext.QueryAction"]], "querydetails (class in apsw.ext)": [[14, "apsw.ext.QueryDetails"]], "queryplan (class in apsw.ext)": [[14, "apsw.ext.QueryPlan"]], "sqlitetypeadapter (class in apsw.ext)": [[14, "apsw.ext.SQLiteTypeAdapter"]], "typesconvertercursorfactory (class in apsw.ext)": [[14, "apsw.ext.TypesConverterCursorFactory"]], "typesconvertercursorfactory.dictadapter (class in apsw.ext)": [[14, "apsw.ext.TypesConverterCursorFactory.DictAdapter"]], "typesconvertercursorfactory.typeconvertercursor (class in apsw.ext)": [[14, "apsw.ext.TypesConverterCursorFactory.TypeConverterCursor"]], "vdbeinstruction (class in apsw.ext)": [[14, "apsw.ext.VDBEInstruction"]], "vtcolumnaccess (class in apsw.ext)": [[14, "apsw.ext.VTColumnAccess"]], "walfileinfo (class in apsw.ext)": [[14, "apsw.ext.WALFileInfo"]], "__call__() (dataclassrowfactory method)": [[14, "apsw.ext.DataClassRowFactory.__call__"]], "__call__() (typesconvertercursorfactory method)": [[14, "apsw.ext.TypesConverterCursorFactory.__call__"]], "action (queryaction attribute)": [[14, "apsw.ext.QueryAction.action"]], "action_name (queryaction attribute)": [[14, "apsw.ext.QueryAction.action_name"]], "actions (querydetails attribute)": [[14, "apsw.ext.QueryDetails.actions"]], "adapt_value() (typesconvertercursorfactory method)": [[14, "apsw.ext.TypesConverterCursorFactory.adapt_value"]], "addr (vdbeinstruction attribute)": [[14, "apsw.ext.VDBEInstruction.addr"]], "application_id (databasefileinfo attribute)": [[14, "apsw.ext.DatabaseFileInfo.application_id"]], "apsw.ext": [[14, "module-apsw.ext"]], "autovacuum_top_root (databasefileinfo attribute)": [[14, "apsw.ext.DatabaseFileInfo.autovacuum_top_root"]], "bindings (querydetails attribute)": [[14, "apsw.ext.QueryDetails.bindings"]], "checkpoint_sequence_number (walfileinfo attribute)": [[14, "apsw.ext.WALFileInfo.checkpoint_sequence_number"]], "checksum_1 (walfileinfo attribute)": [[14, "apsw.ext.WALFileInfo.checksum_1"]], "checksum_2 (walfileinfo attribute)": [[14, "apsw.ext.WALFileInfo.checksum_2"]], "column_name (queryaction attribute)": [[14, "apsw.ext.QueryAction.column_name"]], "comment (vdbeinstruction attribute)": [[14, "apsw.ext.VDBEInstruction.comment"]], "convert_value() (typesconvertercursorfactory method)": [[14, "apsw.ext.TypesConverterCursorFactory.convert_value"]], "database_name (queryaction attribute)": [[14, "apsw.ext.QueryAction.database_name"]], "dbinfo() (in module apsw.ext)": [[14, "apsw.ext.dbinfo"]], "default_cache_size (databasefileinfo attribute)": [[14, "apsw.ext.DatabaseFileInfo.default_cache_size"]], "description (querydetails attribute)": [[14, "apsw.ext.QueryDetails.description"]], "description_full (querydetails attribute)": [[14, "apsw.ext.QueryDetails.description_full"]], "detail (queryplan attribute)": [[14, "apsw.ext.QueryPlan.detail"]], "execute() (typesconvertercursorfactory.typeconvertercursor method)": [[14, "apsw.ext.TypesConverterCursorFactory.TypeConverterCursor.execute"]], "executemany() (typesconvertercursorfactory.typeconvertercursor method)": [[14, "apsw.ext.TypesConverterCursorFactory.TypeConverterCursor.executemany"]], "expanded_sql (querydetails attribute)": [[14, "apsw.ext.QueryDetails.expanded_sql"]], "explain (querydetails attribute)": [[14, "apsw.ext.QueryDetails.explain"]], "file_change_counter (databasefileinfo attribute)": [[14, "apsw.ext.DatabaseFileInfo.file_change_counter"]], "file_name (queryaction attribute)": [[14, "apsw.ext.QueryAction.file_name"]], "filename (databasefileinfo attribute)": [[14, "apsw.ext.DatabaseFileInfo.filename"]], "filename (journalfileinfo attribute)": [[14, "apsw.ext.JournalFileInfo.filename"]], "filename (walfileinfo attribute)": [[14, "apsw.ext.WALFileInfo.filename"]], "first_query (querydetails attribute)": [[14, "apsw.ext.QueryDetails.first_query"]], "format_query_table() (in module apsw.ext)": [[14, "apsw.ext.format_query_table"]], "format_version (walfileinfo attribute)": [[14, "apsw.ext.WALFileInfo.format_version"]], "freelist_pages (databasefileinfo attribute)": [[14, "apsw.ext.DatabaseFileInfo.freelist_pages"]], "function_name (queryaction attribute)": [[14, "apsw.ext.QueryAction.function_name"]], "generate_series() (in module apsw.ext)": [[14, "apsw.ext.generate_series"]], "generate_series_sqlite() (in module apsw.ext)": [[14, "apsw.ext.generate_series_sqlite"]], "get_column_names() (in module apsw.ext)": [[14, "apsw.ext.get_column_names"]], "get_dataclass() (dataclassrowfactory method)": [[14, "apsw.ext.DataClassRowFactory.get_dataclass"]], "get_type() (dataclassrowfactory method)": [[14, "apsw.ext.DataClassRowFactory.get_type"]], "has_vdbe (querydetails attribute)": [[14, "apsw.ext.QueryDetails.has_vdbe"]], "header (databasefileinfo attribute)": [[14, "apsw.ext.DatabaseFileInfo.header"]], "header (journalfileinfo attribute)": [[14, "apsw.ext.JournalFileInfo.header"]], "header_valid (journalfileinfo attribute)": [[14, "apsw.ext.JournalFileInfo.header_valid"]], "incremental_vacuum (databasefileinfo attribute)": [[14, "apsw.ext.DatabaseFileInfo.incremental_vacuum"]], "index_info_to_dict() (in module apsw.ext)": [[14, "apsw.ext.index_info_to_dict"]], "initial_pages (journalfileinfo attribute)": [[14, "apsw.ext.JournalFileInfo.initial_pages"]], "is_explain (querydetails attribute)": [[14, "apsw.ext.QueryDetails.is_explain"]], "is_readonly (querydetails attribute)": [[14, "apsw.ext.QueryDetails.is_readonly"]], "log_sqlite() (in module apsw.ext)": [[14, "apsw.ext.log_sqlite"]], "magic_number (walfileinfo attribute)": [[14, "apsw.ext.WALFileInfo.magic_number"]], "make_virtual_module() (in module apsw.ext)": [[14, "apsw.ext.make_virtual_module"]], "module_name (queryaction attribute)": [[14, "apsw.ext.QueryAction.module_name"]], "opcode (vdbeinstruction attribute)": [[14, "apsw.ext.VDBEInstruction.opcode"]], "operation (queryaction attribute)": [[14, "apsw.ext.QueryAction.operation"]], "p1 (vdbeinstruction attribute)": [[14, "apsw.ext.VDBEInstruction.p1"]], "p2 (vdbeinstruction attribute)": [[14, "apsw.ext.VDBEInstruction.p2"]], "p3 (vdbeinstruction attribute)": [[14, "apsw.ext.VDBEInstruction.p3"]], "p4 (vdbeinstruction attribute)": [[14, "apsw.ext.VDBEInstruction.p4"]], "p5 (vdbeinstruction attribute)": [[14, "apsw.ext.VDBEInstruction.p5"]], "page_count (databasefileinfo attribute)": [[14, "apsw.ext.DatabaseFileInfo.page_count"]], "page_count (journalfileinfo attribute)": [[14, "apsw.ext.JournalFileInfo.page_count"]], "page_size (databasefileinfo attribute)": [[14, "apsw.ext.DatabaseFileInfo.page_size"]], "page_size (journalfileinfo attribute)": [[14, "apsw.ext.JournalFileInfo.page_size"]], "page_size (walfileinfo attribute)": [[14, "apsw.ext.WALFileInfo.page_size"]], "pragma_name (queryaction attribute)": [[14, "apsw.ext.QueryAction.pragma_name"]], "pragma_value (queryaction attribute)": [[14, "apsw.ext.QueryAction.pragma_value"]], "print_augmented_traceback() (in module apsw.ext)": [[14, "apsw.ext.print_augmented_traceback"]], "query (querydetails attribute)": [[14, "apsw.ext.QueryDetails.query"]], "query_info() (in module apsw.ext)": [[14, "apsw.ext.query_info"]], "query_plan (querydetails attribute)": [[14, "apsw.ext.QueryDetails.query_plan"]], "query_remaining (querydetails attribute)": [[14, "apsw.ext.QueryDetails.query_remaining"]], "random_nonce (journalfileinfo attribute)": [[14, "apsw.ext.JournalFileInfo.random_nonce"]], "read_format (databasefileinfo attribute)": [[14, "apsw.ext.DatabaseFileInfo.read_format"]], "register_adapter() (typesconvertercursorfactory method)": [[14, "apsw.ext.TypesConverterCursorFactory.register_adapter"]], "register_converter() (typesconvertercursorfactory method)": [[14, "apsw.ext.TypesConverterCursorFactory.register_converter"]], "reserved_bytes (databasefileinfo attribute)": [[14, "apsw.ext.DatabaseFileInfo.reserved_bytes"]], "salt_1 (walfileinfo attribute)": [[14, "apsw.ext.WALFileInfo.salt_1"]], "salt_2 (walfileinfo attribute)": [[14, "apsw.ext.WALFileInfo.salt_2"]], "schema_cookie (databasefileinfo attribute)": [[14, "apsw.ext.DatabaseFileInfo.schema_cookie"]], "schema_format (databasefileinfo attribute)": [[14, "apsw.ext.DatabaseFileInfo.schema_format"]], "sector_size (journalfileinfo attribute)": [[14, "apsw.ext.JournalFileInfo.sector_size"]], "sqlite_version (databasefileinfo attribute)": [[14, "apsw.ext.DatabaseFileInfo.sqlite_version"]], "sub (queryplan attribute)": [[14, "apsw.ext.QueryPlan.sub"]], "table_name (queryaction attribute)": [[14, "apsw.ext.QueryAction.table_name"]], "text_encoding (databasefileinfo attribute)": [[14, "apsw.ext.DatabaseFileInfo.text_encoding"]], "to_sqlite_value() (sqlitetypeadapter method)": [[14, "apsw.ext.SQLiteTypeAdapter.to_sqlite_value"]], "trigger_name (queryaction attribute)": [[14, "apsw.ext.QueryAction.trigger_name"]], "trigger_or_view (queryaction attribute)": [[14, "apsw.ext.QueryAction.trigger_or_view"]], "user_version (databasefileinfo attribute)": [[14, "apsw.ext.DatabaseFileInfo.user_version"]], "version_valid_for (databasefileinfo attribute)": [[14, "apsw.ext.DatabaseFileInfo.version_valid_for"]], "view_name (queryaction attribute)": [[14, "apsw.ext.QueryAction.view_name"]], "wrap_bindings() (typesconvertercursorfactory method)": [[14, "apsw.ext.TypesConverterCursorFactory.wrap_bindings"]], "wrap_sequence_bindings() (typesconvertercursorfactory method)": [[14, "apsw.ext.TypesConverterCursorFactory.wrap_sequence_bindings"]], "write_format (databasefileinfo attribute)": [[14, "apsw.ext.DatabaseFileInfo.write_format"]], "shell (class in apsw.shell)": [[19, "apsw.shell.Shell"]], "shell.error": [[19, "apsw.shell.Shell.Error"]], "shell.positionrow (class in apsw.shell)": [[19, "apsw.shell.Shell.PositionRow"]], "shell.row (class in apsw.shell)": [[19, "apsw.shell.Shell.Row"]], "apsw.shell": [[19, "module-apsw.shell"]], "autoimport (shell command)": [[19, "index-0"]], "backup (shell command)": [[19, "index-1"]], "bail (shell command)": [[19, "index-2"]], "cd (shell command)": [[19, "index-3"]], "changes (shell command)": [[19, "index-4"]], "close (shell command)": [[19, "index-5"]], "cmdloop() (shell method)": [[19, "apsw.shell.Shell.cmdloop"]], "colour (shell command)": [[19, "index-6"]], "columns (shell.row attribute)": [[19, "apsw.shell.Shell.Row.columns"]], "complete() (shell method)": [[19, "apsw.shell.Shell.complete"]], "complete_command() (shell method)": [[19, "apsw.shell.Shell.complete_command"]], "complete_sql() (shell method)": [[19, "apsw.shell.Shell.complete_sql"]], "connection (shell command)": [[19, "index-7"]], "databases (shell command)": [[19, "index-8"]], "db (shell property)": [[19, "apsw.shell.Shell.db"]], "dbconfig (shell command)": [[19, "index-9"]], "dbinfo (shell command)": [[19, "index-10"]], "display_timing() (shell method)": [[19, "apsw.shell.Shell.display_timing"]], "dump (shell command)": [[19, "index-11"]], "echo (shell command)": [[19, "index-12"]], "encoding (shell command)": [[19, "index-13"]], "exceptions (shell command)": [[19, "index-14"]], "exit (shell command)": [[19, "index-15"]], "find (shell command)": [[19, "index-16"]], "fixup_backslashes() (shell method)": [[19, "apsw.shell.Shell.fixup_backslashes"]], "get_resource_usage() (shell method)": [[19, "apsw.shell.Shell.get_resource_usage"]], "getcompleteline() (shell method)": [[19, "apsw.shell.Shell.getcompleteline"]], "getline() (shell method)": [[19, "apsw.shell.Shell.getline"]], "handle_exception() (shell method)": [[19, "apsw.shell.Shell.handle_exception"]], "handle_interrupt() (shell method)": [[19, "apsw.shell.Shell.handle_interrupt"]], "header(s) (shell command)": [[19, "index-17"]], "help (shell command)": [[19, "index-18"]], "import (shell command)": [[19, "index-19"]], "indices (shell command)": [[19, "index-20"]], "is_first (shell.row attribute)": [[19, "apsw.shell.Shell.Row.is_first"]], "is_last (shell.row attribute)": [[19, "apsw.shell.Shell.Row.is_last"]], "load (shell command)": [[19, "index-21"]], "log (shell command)": [[19, "index-22"]], "log_handler() (shell method)": [[19, "apsw.shell.Shell.log_handler"]], "main() (in module apsw.shell)": [[19, "apsw.shell.main"]], "mode (shell command)": [[19, "index-23"]], "nullvalue (shell command)": [[19, "index-24"]], "open (shell command)": [[19, "index-25"]], "output (shell command)": [[19, "index-26"]], "parameter (shell command)": [[19, "index-27"]], "pop_input() (shell method)": [[19, "apsw.shell.Shell.pop_input"]], "pop_output() (shell method)": [[19, "apsw.shell.Shell.pop_output"]], "print (shell command)": [[19, "index-28"]], "process_args() (shell method)": [[19, "apsw.shell.Shell.process_args"]], "process_command() (shell method)": [[19, "apsw.shell.Shell.process_command"]], "process_complete_line() (shell method)": [[19, "apsw.shell.Shell.process_complete_line"]], "process_sql() (shell method)": [[19, "apsw.shell.Shell.process_sql"]], "process_unknown_args() (shell method)": [[19, "apsw.shell.Shell.process_unknown_args"]], "prompt (shell command)": [[19, "index-29"]], "push_input() (shell method)": [[19, "apsw.shell.Shell.push_input"]], "push_output() (shell method)": [[19, "apsw.shell.Shell.push_output"]], "py (shell command)": [[19, "index-30"]], "read (shell command)": [[19, "index-31"]], "restore (shell command)": [[19, "index-32"]], "row (shell.row attribute)": [[19, "apsw.shell.Shell.Row.row"]], "schema (shell command)": [[19, "index-33"]], "separator (shell command)": [[19, "index-34"]], "set_encoding() (shell method)": [[19, "apsw.shell.Shell.set_encoding"]], "shell (shell command)": [[19, "index-35"]], "show (shell command)": [[19, "index-36"]], "tables (shell command)": [[19, "index-37"]], "timeout (shell command)": [[19, "index-38"]], "timer (shell command)": [[19, "index-39"]], "usage() (shell method)": [[19, "apsw.shell.Shell.usage"]], "version (shell command)": [[19, "index-40"]], "vfsinfo (shell command)": [[19, "index-41"]], "vfslist (shell command)": [[19, "index-42"]], "vfsname (shell command)": [[19, "index-43"]], "width (shell command)": [[19, "index-44"]], "write() (shell method)": [[19, "apsw.shell.Shell.write"]], "write_error() (shell method)": [[19, "apsw.shell.Shell.write_error"]], "write_value() (shell method)": [[19, "apsw.shell.Shell.write_value"]], "urifilename (class in apsw)": [[22, "apsw.URIFilename"]], "vfs (class in apsw)": [[22, "apsw.VFS"]], "vfsfcntlpragma (class in apsw)": [[22, "apsw.VFSFcntlPragma"]], "vfsfile (class in apsw)": [[22, "apsw.VFSFile"]], "excepthook() (vfs method)": [[22, "apsw.VFS.excepthook"]], "excepthook() (vfsfile method)": [[22, "apsw.VFSFile.excepthook"]], "filename() (urifilename method)": [[22, "apsw.URIFilename.filename"]], "name (vfsfcntlpragma attribute)": [[22, "apsw.VFSFcntlPragma.name"]], "result (vfsfcntlpragma attribute)": [[22, "apsw.VFSFcntlPragma.result"]], "sqlite3_uri_boolean": [[22, "index-2"]], "sqlite3_uri_int64": [[22, "index-3"]], "sqlite3_uri_parameter": [[22, "index-4"]], "unregister() (vfs method)": [[22, "apsw.VFS.unregister"]], "uri_boolean() (urifilename method)": [[22, "apsw.URIFilename.uri_boolean"]], "uri_int() (urifilename method)": [[22, "apsw.URIFilename.uri_int"]], "uri_parameter() (urifilename method)": [[22, "apsw.URIFilename.uri_parameter"]], "value (vfsfcntlpragma attribute)": [[22, "apsw.VFSFcntlPragma.value"]], "xaccess() (vfs method)": [[22, "apsw.VFS.xAccess"]], "xcheckreservedlock() (vfsfile method)": [[22, "apsw.VFSFile.xCheckReservedLock"]], "xclose() (vfsfile method)": [[22, "apsw.VFSFile.xClose"]], "xcurrenttime() (vfs method)": [[22, "apsw.VFS.xCurrentTime"]], "xcurrenttimeint64() (vfs method)": [[22, "apsw.VFS.xCurrentTimeInt64"]], "xdelete() (vfs method)": [[22, "apsw.VFS.xDelete"]], "xdevicecharacteristics() (vfsfile method)": [[22, "apsw.VFSFile.xDeviceCharacteristics"]], "xdlclose() (vfs method)": [[22, "apsw.VFS.xDlClose"]], "xdlerror() (vfs method)": [[22, "apsw.VFS.xDlError"]], "xdlopen() (vfs method)": [[22, "apsw.VFS.xDlOpen"]], "xdlsym() (vfs method)": [[22, "apsw.VFS.xDlSym"]], "xfilecontrol() (vfsfile method)": [[22, "apsw.VFSFile.xFileControl"]], "xfilesize() (vfsfile method)": [[22, "apsw.VFSFile.xFileSize"]], "xfullpathname() (vfs method)": [[22, "apsw.VFS.xFullPathname"]], "xgetlasterror() (vfs method)": [[22, "apsw.VFS.xGetLastError"]], "xgetsystemcall() (vfs method)": [[22, "apsw.VFS.xGetSystemCall"]], "xlock() (vfsfile method)": [[22, "apsw.VFSFile.xLock"]], "xnextsystemcall() (vfs method)": [[22, "apsw.VFS.xNextSystemCall"]], "xopen() (vfs method)": [[22, "apsw.VFS.xOpen"]], "xrandomness() (vfs method)": [[22, "apsw.VFS.xRandomness"]], "xread() (vfsfile method)": [[22, "apsw.VFSFile.xRead"]], "xsectorsize() (vfsfile method)": [[22, "apsw.VFSFile.xSectorSize"]], "xsetsystemcall() (vfs method)": [[22, "apsw.VFS.xSetSystemCall"]], "xsleep() (vfs method)": [[22, "apsw.VFS.xSleep"]], "xsync() (vfsfile method)": [[22, "apsw.VFSFile.xSync"]], "xtruncate() (vfsfile method)": [[22, "apsw.VFSFile.xTruncate"]], "xunlock() (vfsfile method)": [[22, "apsw.VFSFile.xUnlock"]], "xwrite() (vfsfile method)": [[22, "apsw.VFSFile.xWrite"]], "begin() (vttable method)": [[23, "apsw.VTTable.Begin"]], "bestindex() (vttable method)": [[23, "apsw.VTTable.BestIndex"]], "bestindexobject() (vttable method)": [[23, "apsw.VTTable.BestIndexObject"]], "close() (vtcursor method)": [[23, "apsw.VTCursor.Close"]], "column() (vtcursor method)": [[23, "apsw.VTCursor.Column"]], "columnnochange() (vtcursor method)": [[23, "apsw.VTCursor.ColumnNoChange"]], "commit() (vttable method)": [[23, "apsw.VTTable.Commit"]], "connect() (vtmodule method)": [[23, "apsw.VTModule.Connect"]], "create() (vtmodule method)": [[23, "apsw.VTModule.Create"]], "destroy() (vttable method)": [[23, "apsw.VTTable.Destroy"]], "disconnect() (vttable method)": [[23, "apsw.VTTable.Disconnect"]], "eof() (vtcursor method)": [[23, "apsw.VTCursor.Eof"]], "filter() (vtcursor method)": [[23, "apsw.VTCursor.Filter"]], "findfunction() (vttable method)": [[23, "apsw.VTTable.FindFunction"]], "indexinfo (class in apsw)": [[23, "apsw.IndexInfo"]], "next() (vtcursor method)": [[23, "apsw.VTCursor.Next"]], "open() (vttable method)": [[23, "apsw.VTTable.Open"]], "release() (vttable method)": [[23, "apsw.VTTable.Release"]], "rename() (vttable method)": [[23, "apsw.VTTable.Rename"]], "rollback() (vttable method)": [[23, "apsw.VTTable.Rollback"]], "rowid() (vtcursor method)": [[23, "apsw.VTCursor.Rowid"]], "savepoint() (vttable method)": [[23, "apsw.VTTable.Savepoint"]], "shadowname() (vtmodule method)": [[23, "apsw.VTModule.ShadowName"]], "sync() (vttable method)": [[23, "apsw.VTTable.Sync"]], "updatechangerow() (vttable method)": [[23, "apsw.VTTable.UpdateChangeRow"]], "updatedeleterow() (vttable method)": [[23, "apsw.VTTable.UpdateDeleteRow"]], "updateinsertrow() (vttable method)": [[23, "apsw.VTTable.UpdateInsertRow"]], "vtcursor (class in apsw)": [[23, "apsw.VTCursor"]], "vtmodule (class in apsw)": [[23, "apsw.VTModule"]], "vttable (class in apsw)": [[23, "apsw.VTTable"]], "colused (indexinfo attribute)": [[23, "apsw.IndexInfo.colUsed"]], "distinct (indexinfo attribute)": [[23, "apsw.IndexInfo.distinct"]], "estimatedcost (indexinfo attribute)": [[23, "apsw.IndexInfo.estimatedCost"]], "estimatedrows (indexinfo attribute)": [[23, "apsw.IndexInfo.estimatedRows"]], "get_aconstraintusage_argvindex() (indexinfo method)": [[23, "apsw.IndexInfo.get_aConstraintUsage_argvIndex"]], "get_aconstraintusage_in() (indexinfo method)": [[23, "apsw.IndexInfo.get_aConstraintUsage_in"]], "get_aconstraintusage_omit() (indexinfo method)": [[23, "apsw.IndexInfo.get_aConstraintUsage_omit"]], "get_aconstraint_collation() (indexinfo method)": [[23, "apsw.IndexInfo.get_aConstraint_collation"]], "get_aconstraint_icolumn() (indexinfo method)": [[23, "apsw.IndexInfo.get_aConstraint_iColumn"]], "get_aconstraint_op() (indexinfo method)": [[23, "apsw.IndexInfo.get_aConstraint_op"]], "get_aconstraint_rhs() (indexinfo method)": [[23, "apsw.IndexInfo.get_aConstraint_rhs"]], "get_aconstraint_usable() (indexinfo method)": [[23, "apsw.IndexInfo.get_aConstraint_usable"]], "get_aorderby_desc() (indexinfo method)": [[23, "apsw.IndexInfo.get_aOrderBy_desc"]], "get_aorderby_icolumn() (indexinfo method)": [[23, "apsw.IndexInfo.get_aOrderBy_iColumn"]], "idxflags (indexinfo attribute)": [[23, "apsw.IndexInfo.idxFlags"]], "idxnum (indexinfo attribute)": [[23, "apsw.IndexInfo.idxNum"]], "idxstr (indexinfo attribute)": [[23, "apsw.IndexInfo.idxStr"]], "nconstraint (indexinfo attribute)": [[23, "apsw.IndexInfo.nConstraint"]], "norderby (indexinfo attribute)": [[23, "apsw.IndexInfo.nOrderBy"]], "orderbyconsumed (indexinfo attribute)": [[23, "apsw.IndexInfo.orderByConsumed"]], "set_aconstraintusage_argvindex() (indexinfo method)": [[23, "apsw.IndexInfo.set_aConstraintUsage_argvIndex"]], "set_aconstraintusage_in() (indexinfo method)": [[23, "apsw.IndexInfo.set_aConstraintUsage_in"]], "set_aconstraintusage_omit() (indexinfo method)": [[23, "apsw.IndexInfo.set_aConstraintUsage_omit"]], "sqlite3_vtab_collation": [[23, "index-2"]], "sqlite3_vtab_distinct": [[23, "index-0"]], "sqlite3_vtab_in": [[23, "index-1"], [23, "index-4"]], "sqlite3_vtab_in_first": [[23, "index-6"]], "sqlite3_vtab_in_next": [[23, "index-6"]], "sqlite3_vtab_nochange": [[23, "index-5"]], "sqlite3_vtab_rhs_value": [[23, "index-3"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["about", "apsw", "backup", "benchmarking", "bestpractice", "blob", "changes", "connection", "copyright", "cursor", "dbapi", "example", "exceptions", "execution", "ext", "extensions", "index", "install", "pysqlite", "shell", "tips", "types", "vfs", "vtable"], "filenames": ["about.rst", "apsw.rst", "backup.rst", "benchmarking.rst", "bestpractice.rst", "blob.rst", "changes.rst", "connection.rst", "copyright.rst", "cursor.rst", "dbapi.rst", "example.rst", "exceptions.rst", "execution.rst", "ext.rst", "extensions.rst", "index.rst", "install.rst", "pysqlite.rst", "shell.rst", "tips.rst", "types.rst", "vfs.rst", "vtable.rst"], "titles": ["About", "APSW Module", "Backup", "Benchmarking", "Best Practice", "Blob Input/Output", "Change History", "Connections to a database", "Copyright and License", "Cursors (executing SQL)", "DBAPI notes", "Example/Tour", "Exceptions and Errors", "Execution and tracing", "Various interesting and useful bits of functionality", "Extensions", "APSW 3.43.1.1 documentation", "Installation and customization", "sqlite3 module differences", "Shell", "Tips", "Types", "Virtual File System (VFS)", "Virtual Tables"], "terms": {"3": [0, 1, 3, 5, 7, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 22, 23], "43": [0, 11, 17], "1": [0, 1, 2, 3, 5, 7, 9, 11, 12, 13, 14, 17, 18, 19, 20, 23], "8": [0, 7, 9, 11, 12, 13, 14, 16, 18, 21, 22], "octob": [0, 16], "2023": [0, 8, 11, 16], "us": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23], "later": [0, 1, 6, 7, 11], "let": [0, 1, 6, 9, 11, 13, 14, 18, 22, 23], "you": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "get": [0, 1, 2, 5, 6, 7, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 22, 23], "most": [0, 6, 7, 12, 13, 17, 18, 19, 23], "out": [0, 6, 7, 9, 12, 13, 16, 17, 18, 19, 20, 21, 22, 23], "embed": [0, 6, 14, 17], "relat": [0, 6, 22], "databas": [0, 1, 2, 3, 4, 5, 6, 9, 12, 13, 14, 15, 16, 17, 18, 21, 22, 23], "engin": 0, "from": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 22, 23], "glue": 0, "togeth": [0, 6, 7, 22], "complet": [0, 1, 2, 6, 7, 9, 11, 12, 13, 17, 19, 20, 22, 23], "c": [0, 5, 6, 7, 8, 9, 11, 12, 13, 17, 18, 19, 20, 21, 22, 23], "api": [0, 2, 5, 6, 7, 9, 13, 15, 16, 17, 19, 23], "": [0, 1, 2, 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 17, 18, 20, 21, 22, 23], "stai": [0, 18], "up": [0, 1, 2, 3, 4, 6, 7, 11, 12, 13, 14, 17, 18, 20, 22, 23], "date": [0, 4, 6, 10, 11, 13, 14, 17, 18, 19], "both": [0, 1, 6, 7, 9, 11, 14, 17, 19, 20, 21], "It": [0, 1, 2, 5, 6, 7, 9, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23], "i": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23], "recommend": [0, 1, 4, 6, 7, 9, 11, 16, 20], "builtin": [0, 6, 19], "sqlite3": [0, 1, 2, 3, 5, 6, 7, 9, 12, 16, 17, 19, 22, 23], "modul": [0, 3, 4, 6, 7, 11, 12, 14, 16, 17, 19, 20, 23], "want": [0, 1, 5, 6, 7, 9, 11, 13, 14, 18, 19, 20, 21, 22, 23], "appear": [0, 6, 12], "interchang": 0, "other": [0, 1, 2, 3, 6, 7, 9, 10, 11, 12, 13, 17, 18, 19, 20, 22, 23], "driver": [0, 20], "when": [0, 1, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 22, 23], "fulli": 0, "have": [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23], "an": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "improv": [0, 1, 4, 6, 18, 19], "develop": [0, 6, 17, 18, 19, 23], "experi": [0, 20], "see": [0, 1, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22], "more": [0, 1, 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 22, 23], "differ": [0, 1, 3, 5, 6, 7, 9, 10, 12, 13, 14, 16, 17, 19, 21, 22, 23], "between": [0, 1, 3, 6, 11, 12, 19, 21, 22, 23], "ha": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 22, 23], "than": [0, 1, 3, 5, 6, 7, 11, 12, 13, 14, 17, 18, 19, 20, 22, 23], "itself": [0, 6, 7, 9, 12, 13, 14, 17, 23], "which": [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 22, 23], "can": [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23], "provid": [0, 1, 2, 3, 5, 6, 7, 8, 13, 14, 15, 16, 18, 19, 20, 22, 23], "fetch": [0, 6, 9], "includ": [0, 1, 2, 3, 6, 7, 8, 9, 11, 12, 13, 14, 15, 17, 18, 19, 21, 22, 23], "static": [0, 1, 6, 9, 11, 17, 18], "extens": [0, 1, 6, 7, 11, 12, 16, 17, 18, 19, 21], "http": [0, 6, 8, 11, 17], "github": [0, 6, 17], "com": [0, 6, 17], "rogerbinn": [0, 6, 17], "sourc": [0, 1, 2, 4, 6, 7, 8, 14, 18, 19, 20], "pip": [0, 6, 17, 19], "instal": [0, 1, 6, 7, 9, 13, 16, 19, 20], "pypi": [0, 6, 16], "detail": [0, 1, 3, 6, 7, 10, 12, 13, 16, 17, 18, 19, 20, 22, 23], "discuss": [0, 6], "group": [0, 1, 11], "prefer": 0, "also": [0, 1, 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 22, 23], "email": [0, 20], "author": [0, 1, 6, 7, 8, 12, 13, 14, 16], "rogerb": [0, 11, 17], "find": [0, 1, 6, 7, 9, 11, 13, 14, 15, 20, 22, 23], "exist": [0, 1, 5, 6, 7, 9, 11, 12, 19, 20, 22, 23], "fix": [0, 6, 19], "bug": [0, 6], "click": 0, "new": [0, 1, 4, 5, 6, 7, 9, 12, 13, 14, 17, 19, 20, 22, 23], "report": [0, 1, 5, 6, 12, 13, 17, 18, 22], "previous": [0, 5, 6, 7], "unknown": [0, 6, 19], "approxim": [0, 23], "quarterli": 0, "These": [0, 1, 6, 7, 11, 12, 17, 20, 23], "tweak": [0, 6, 11], "function": [0, 1, 4, 5, 6, 7, 9, 10, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23], "base": [0, 1, 3, 6, 7, 9, 11, 12, 14, 19, 20, 21, 22], "billion": [0, 6], "mani": [0, 1, 2, 3, 4, 6, 7, 9, 11, 12, 13, 14, 19, 20, 22, 23], "program": [0, 1, 6, 7, 13, 14, 19, 20, 23], "eg": [0, 1, 3, 5, 6, 7, 9, 11, 12, 13, 14, 17, 19, 20, 21, 22, 23], "almost": [0, 3, 6, 12, 22], "everi": [0, 1, 6, 7, 9, 11, 14, 18, 22, 23], "browser": 0, "client": 0, "photo": 0, "librari": [0, 1, 4, 6, 7, 11, 12, 17, 18, 19, 21, 22], "mobil": 0, "desktop": 0, "o": [0, 3, 5, 6, 7, 12, 13, 14, 16, 18, 19, 20, 22], "despit": 0, "chang": [0, 1, 2, 4, 5, 7, 9, 11, 12, 14, 16, 18, 20, 22, 23], "retain": [0, 23], "backward": [0, 4, 6, 15], "forward": [0, 4, 6, 11, 14, 20], "compat": [0, 4, 6, 14, 15, 17, 19, 20], "file": [0, 1, 3, 5, 6, 7, 12, 13, 14, 16, 17, 18, 20, 23], "format": [0, 1, 6, 12, 14, 16, 19, 23], "wrap": [0, 3, 5, 6, 7, 11, 14, 19, 22], "That": [0, 6, 9, 10, 14, 17, 18], "mean": [0, 1, 2, 6, 7, 11, 13, 14, 17, 19, 22, 23], "add": [0, 6, 10, 11, 19, 20], "constant": [0, 6, 16, 22], "so": [0, 1, 2, 5, 6, 7, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 22, 23], "think": 0, "express": [0, 8, 14, 15, 19], "lookup": 0, "attribut": [0, 6, 10, 12, 14], "call": [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 18, 19, 20, 22, 23], "them": [0, 1, 4, 6, 7, 9, 11, 13, 14, 15, 18, 19, 20, 21, 22], "consequ": [0, 6, 7, 10, 18, 19, 22], "mirror": [0, 11], "addit": [0, 1, 6, 7, 9, 11, 12, 14, 15, 17, 18, 19, 20, 23], "compon": [0, 6, 15, 17], "end": [0, 1, 5, 6, 7, 9, 10, 11, 13, 14, 18, 19, 20, 23], "reflect": [0, 6], "iter": [0, 3, 9, 10, 11, 13, 14, 19, 22, 23], "For": [0, 1, 3, 5, 6, 7, 9, 11, 12, 13, 14, 17, 18, 19, 20, 22, 23], "exampl": [0, 1, 2, 3, 5, 6, 7, 10, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23], "42": [0, 16], "would": [0, 1, 3, 5, 6, 7, 8, 9, 10, 12, 13, 14, 17, 18, 19, 20, 22, 23], "0": [0, 1, 3, 5, 7, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 22, 23], "correspond": [0, 1, 6, 7, 10, 12, 14, 17, 18, 21, 22, 23], "final": [0, 1, 2, 3, 6, 7, 11, 12, 17, 19], "increment": [0, 5, 6, 7, 14], "ar": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23], "ani": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 17, 18, 19, 20, 22, 23], "newer": [0, 6, 7], "could": [0, 1, 6, 7, 9, 11, 12, 14, 22, 23], "origin": [0, 6, 8, 9, 12, 14, 17], "2004": [0, 8], "todai": 0, "just": [0, 1, 5, 6, 7, 11, 13, 14, 18, 19, 20, 22, 23], "fine": [0, 6, 17, 18, 23], "although": [0, 6, 18, 21], "wouldn": 0, "t": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 22, 23], "know": [0, 1, 6, 7, 11, 17, 19, 20, 21, 22, 23], "support": [0, 1, 6, 7, 9, 10, 11, 12, 14, 17, 18, 19, 20, 21, 22, 23], "all": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23], "under": [0, 6, 7, 8, 18, 22, 23], "onc": [0, 1, 5, 6, 7, 9, 13, 14, 22, 23], "goe": [0, 6, 14, 19], "life": [0, 6], "one": [0, 1, 2, 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 17, 19, 20, 21, 22, 23], "6": [0, 1, 7, 11, 16, 17, 18, 22], "7": [0, 9, 11, 14, 16, 18, 20, 23], "2": [0, 1, 3, 5, 7, 9, 11, 12, 13, 14, 16, 17, 18, 20, 23], "5": [0, 1, 3, 5, 7, 9, 11, 12, 14, 16, 17, 18, 23], "37": [0, 11, 16, 17], "r1": [0, 16], "The": [1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23], "main": [1, 2, 6, 7, 11, 12, 13, 14, 22, 23], "interfac": [1, 6, 7, 11, 15, 16, 19, 21, 22, 23], "method": [1, 2, 5, 6, 7, 9, 10, 11, 12, 13, 14, 18, 19, 20, 22, 23], "data": [1, 3, 5, 6, 7, 9, 11, 12, 14, 15, 17, 18, 19, 20, 22, 23], "process": [1, 2, 4, 6, 7, 11, 13, 14, 19, 20, 22, 23], "wide": [1, 6, 11, 14, 17, 18, 20], "effect": [1, 2, 4, 6, 7, 11, 14, 19, 20], "comprehens": 1, "your": [1, 2, 3, 5, 6, 7, 9, 10, 12, 13, 14, 16, 18, 19, 21, 22, 23], "code": [1, 6, 7, 9, 10, 11, 12, 13, 14, 17, 18, 20, 21, 22, 23], "check": [1, 6, 13, 16, 17, 18, 22, 23], "tool": [1, 3, 6, 14, 17], "like": [1, 5, 6, 7, 9, 11, 13, 14, 17, 18, 19, 20, 21, 22, 23], "mypi": [1, 14], "below": [1, 11, 17, 22, 23], "sqlitevalu": [1, 7, 9, 11, 14, 19, 23], "should": [1, 3, 5, 6, 7, 9, 10, 12, 13, 17, 19, 21, 22, 23], "futur": [1, 4, 6, 11, 22], "import": [1, 4, 6, 11, 12, 14, 16, 17, 18], "avail": [1, 5, 6, 7, 9, 10, 11, 12, 13, 15, 17, 18, 19, 22, 23], "run": [1, 3, 6, 7, 9, 11, 12, 13, 14, 17, 18, 19, 23], "time": [1, 2, 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 22, 23], "thei": [1, 4, 6, 7, 9, 11, 12, 13, 17, 19, 20, 21, 22, 23], "onli": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 17, 19, 20, 21, 22, 23], "referenc": [1, 7, 14], "checker": [1, 6, 12, 17], "id": [1, 6, 7, 10, 11, 13, 14, 17, 19, 20, 23], "requir": [1, 3, 5, 6, 7, 8, 9, 11, 12, 17, 18, 19, 20, 21], "recent": [1, 6, 7, 12, 13, 18, 19], "version": [1, 3, 6, 7, 8, 9, 12, 14, 15, 16, 17, 20, 22], "python": [1, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 16, 17, 18, 20, 21, 22, 23], "class": [1, 6, 10, 11, 14, 16, 21], "none": [1, 2, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 17, 19, 20, 21, 22, 23], "int": [1, 2, 4, 5, 6, 7, 9, 11, 14, 19, 21, 22, 23], "float": [1, 6, 10, 11, 14, 19, 21, 22, 23], "byte": [1, 2, 3, 5, 6, 7, 10, 11, 14, 19, 21, 22, 23], "str": [1, 6, 7, 9, 11, 13, 14, 19, 21, 22, 23], "null": [1, 6, 7, 9, 11, 14, 19, 20, 21, 22], "64": [1, 6, 7, 11, 12, 16, 17, 21, 22, 23], "bit": [1, 6, 7, 11, 16, 17, 18, 21, 22, 23], "sign": [1, 6, 7, 17, 19, 21], "unicod": [1, 3, 6, 11, 14, 15, 16, 19, 23], "text": [1, 3, 6, 7, 9, 11, 13, 14, 15, 19, 21, 22], "tupl": [1, 4, 7, 9, 11, 12, 13, 14, 19, 20, 22, 23], "A": [1, 2, 3, 5, 6, 7, 9, 11, 12, 13, 14, 17, 19, 21, 22, 23], "sequenc": [1, 5, 6, 7, 9, 14, 16, 19, 21, 23], "zero": [1, 2, 5, 6, 7, 10, 11, 12, 13, 14, 19, 20, 22, 23], "bind": [1, 3, 6, 7, 9, 12, 13, 14, 16, 19, 21, 22], "zeroblob": [1, 9, 11, 16], "map": [1, 6, 7, 9, 11, 12, 13, 14, 16, 20, 22, 23], "queri": [1, 3, 6, 7, 9, 12, 13, 16, 18, 19, 20, 23], "either": [1, 5, 6, 9, 12, 14, 19, 20, 21, 23], "dict": [1, 6, 7, 9, 14, 16, 19, 20, 23], "name": [1, 3, 4, 6, 7, 9, 10, 12, 13, 16, 17, 18, 20, 21, 22, 23], "subclass": [1, 6, 19, 21], "regist": [1, 6, 7, 11, 12, 13, 14, 18, 22, 23], "collect": [1, 6, 7, 9, 11, 14], "abc": [1, 6, 13, 14], "aggregatet": 1, "object": [1, 2, 5, 6, 7, 9, 11, 12, 13, 14, 16, 19, 20, 22, 23], "first": [1, 5, 6, 7, 9, 11, 13, 14, 19, 22, 23], "paramet": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 14, 20, 22, 23], "step": [1, 2, 6, 7, 9, 11, 12, 13, 14, 15, 17, 20, 23], "aggreg": [1, 6, 7, 13, 16], "aggregatestep": 1, "callabl": [1, 4, 6, 7, 9, 14, 20, 23], "each": [1, 3, 6, 7, 9, 11, 12, 13, 14, 17, 18, 19, 20, 22, 23], "match": [1, 4, 6, 7, 11, 14, 19, 23], "row": [1, 3, 5, 6, 7, 9, 10, 16, 18, 19, 20, 23], "relev": [1, 6, 7, 17, 19], "number": [1, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 22, 23], "aggregatefin": 1, "after": [1, 2, 5, 6, 7, 9, 11, 13, 14, 19, 22, 23], "been": [1, 2, 6, 7, 9, 11, 13, 17, 19, 22, 23], "return": [1, 2, 3, 5, 6, 7, 9, 10, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23], "aggregatefactori": [1, 7], "start": [1, 5, 6, 7, 9, 10, 11, 12, 13, 14, 19, 20, 22, 23], "calcul": [1, 10, 11, 13, 20], "scalarprotocol": [1, 7], "scalar": [1, 7, 11, 12, 18, 23], "callback": [1, 6, 7, 11, 12, 13, 18, 20, 23], "take": [1, 2, 3, 6, 7, 11, 12, 13, 15, 17, 19, 21, 22, 23], "windowt": 1, "4": [1, 3, 7, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 23], "window": [1, 6, 7, 12, 16, 17, 19, 22], "windowstep": 1, "windowfin": 1, "windowvalu": 1, "valu": [1, 2, 3, 5, 6, 7, 9, 10, 12, 13, 14, 16, 17, 18, 21, 22, 23], "current": [1, 5, 6, 7, 9, 11, 14, 17, 18, 19, 21, 22, 23], "windowinvers": 1, "invers": [1, 7, 11], "windowfactori": [1, 7], "windowclass": 1, "execut": [1, 3, 5, 6, 7, 10, 12, 14, 16, 17, 18, 19, 20, 22, 23], "rowtrac": [1, 6, 7, 9, 11, 13, 14, 20], "cursor": [1, 2, 3, 6, 7, 11, 12, 13, 14, 16, 17, 18, 23], "tracer": [1, 6, 7, 9, 11, 12, 14, 20], "If": [1, 2, 5, 6, 7, 8, 9, 10, 11, 13, 14, 17, 19, 20, 21, 22, 23], "otherwis": [1, 2, 3, 6, 7, 14, 17, 19], "whatev": [1, 7, 9, 13, 17, 18, 19], "result": [1, 5, 6, 7, 9, 10, 12, 13, 16, 18, 19, 20, 21, 22, 23], "exectrac": [1, 6, 7, 9, 11, 13], "option": [1, 3, 6, 11, 13, 16, 22, 23], "bool": [1, 2, 5, 6, 7, 9, 11, 14, 19, 22, 23], "sql": [1, 2, 3, 4, 6, 7, 12, 13, 14, 15, 16, 18, 19, 21, 23], "fals": [1, 2, 3, 5, 6, 7, 9, 11, 12, 13, 14, 19, 22, 23], "abort": [1, 6, 7, 11, 13, 19, 20], "true": [1, 2, 6, 7, 9, 11, 13, 14, 17, 19, 22, 23], "continu": [1, 7, 11, 12, 14, 17], "oper": [1, 6, 7, 10, 11, 12, 14, 17, 19, 20, 22, 23], "string": [1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 18, 20, 21, 22, 23], "depend": [1, 6, 7, 11, 14, 16, 18, 21], "operat": 1, "ok": [1, 6, 7, 9, 11, 17], "deni": [1, 7, 11, 12], "ignor": [1, 2, 3, 5, 6, 7, 11, 18, 19, 20, 22, 23], "commithook": [1, 7], "commit": [1, 2, 6, 7, 9, 10, 16, 20, 22, 23], "hook": [1, 4, 6, 7, 13, 16, 20], "argument": [1, 6, 7, 11, 12, 13, 14, 19, 23], "integ": [1, 6, 7, 9, 11, 12, 14, 19, 21, 22, 23], "wa": [1, 6, 7, 9, 11, 12, 13, 14, 19, 20, 22, 23], "compil": [1, 6, 9, 11, 13, 15, 17, 19, 21], "against": [1, 6, 7, 11, 13, 14, 17], "3006004": 1, "thi": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 22, 23], "mai": [1, 2, 3, 5, 6, 7, 8, 11, 12, 13, 14, 17, 19, 20, 21, 22, 23], "actual": [1, 7, 10, 13, 14, 17, 19, 21, 22, 23], "share": [1, 6, 7, 11, 16, 22], "updat": [1, 6, 7, 9, 10, 13, 15, 16, 23], "sqlitelibvers": [1, 7, 11], "allow": [1, 2, 4, 5, 6, 7, 9, 10, 11, 12, 14, 17, 18, 19, 20], "miss": [1, 6, 7, 9, 11, 12, 17, 22], "how": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 18, 19, 20, 21, 22, 23], "handl": [1, 3, 6, 7, 16, 18, 19, 22], "histor": 1, "were": [1, 2, 3, 6, 7, 9, 12, 14, 19, 23], "treat": [1, 6, 7, 19, 21, 22], "anticip": 1, "lot": [1, 6, 11, 12, 14, 17, 23], "column": [1, 3, 4, 6, 7, 9, 12, 13, 16, 17, 18, 19, 20, 21, 23], "ones": [1, 2, 6, 12, 19], "default": [1, 2, 5, 6, 7, 11, 12, 13, 14, 15, 18, 19, 20, 21, 22, 23], "conveni": [1, 7, 13, 19, 20, 22, 23], "unfortun": [1, 6], "side": [1, 23], "catch": [1, 2, 6, 11, 18, 19, 22], "typo": 1, "similar": [1, 6, 11, 12, 17, 19, 23], "issu": [1, 6, 7, 9, 12, 13, 15, 16, 17, 18, 20, 22], "41": [1, 16], "entri": [1, 6, 7, 9, 11, 13, 23], "except": [1, 2, 5, 6, 7, 9, 10, 11, 13, 14, 16, 17, 18, 20, 21, 23], "restor": [1, 3, 6], "earlier": [1, 5, 6, 12, 15, 18, 22], "behaviour": [1, 3, 5, 6, 7, 11, 18, 19, 20, 22, 23], "previou": [1, 6, 12, 13], "apswvers": [1, 6, 11], "someth": [1, 7, 11, 17, 19, 21, 23], "enabl": [1, 4, 6, 7, 9, 15, 17, 19, 21], "lock": [1, 2, 4, 6, 7, 10, 12, 13, 18, 19, 20, 22], "style": [1, 6, 10, 12, 19], "temp": [1, 6, 7, 14], "store": [1, 5, 10, 14, 15, 19, 22, 23], "threadsaf": [1, 6, 13], "compileopt": 1, "statement": [1, 2, 3, 5, 6, 7, 9, 10, 11, 12, 14, 16, 18, 19, 20, 21, 23], "input": [1, 6, 7, 11, 12, 16, 19, 21], "compris": 1, "look": [1, 7, 9, 11, 14, 19], "unquot": 1, "trail": [1, 6, 9, 17, 19], "semi": [1, 9, 13, 18, 19], "colon": [1, 9, 13, 18, 19], "prompt": [1, 6], "user": [1, 6, 7, 11, 12, 13, 14, 18, 19, 20, 21, 22, 23], "need": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 14, 15, 17, 18, 19, 20, 21, 22, 23], "had": [1, 6, 7, 9, 12, 19, 23], "whole": [1, 4, 13, 20], "ask": [1, 6, 10, 11, 19, 20, 21, 23], "anoth": [1, 2, 4, 7, 9, 11, 12, 13, 19, 22], "line": [1, 3, 6, 7, 11, 12, 13, 14, 16, 17, 18, 20], "while": [1, 2, 3, 4, 6, 7, 9, 11, 12, 13, 17, 19, 20, 22, 23], "n": [1, 3, 7, 11, 13, 19], "config": [1, 6, 7, 17, 20], "op": [1, 6, 7, 11, 14, 22, 23], "arg": [1, 7, 11, 12, 14, 23], "configur": [1, 6, 7, 11, 17, 19], "appropri": [1, 2, 6, 7, 10, 19, 22, 23], "some": [1, 2, 3, 5, 6, 7, 11, 12, 15, 18, 19, 20, 22, 23], "don": [1, 3, 4, 6, 7, 9, 10, 11, 13, 18, 19, 20, 21, 22, 23], "make": [1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 22, 23], "sens": [1, 10, 20, 23], "remain": [1, 2, 5, 6, 7, 9, 10, 11, 13, 14, 19, 22], "tip": [1, 6, 11, 16], "receiv": [1, 6, 11, 22, 23], "log": [1, 4, 6, 7, 12, 13, 16, 22], "messag": [1, 3, 6, 7, 10, 11, 13, 14, 19, 20, 22], "connect": [1, 2, 4, 5, 6, 9, 11, 12, 13, 14, 16, 18, 22, 23], "list": [1, 6, 7, 8, 9, 11, 12, 13, 14, 16, 17, 19, 20, 22, 23], "purpos": [1, 6, 8, 19, 23], "easi": [1, 6, 11, 13, 14, 15, 18, 19, 20, 22], "registr": [1, 11], "virtual": [1, 6, 7, 9, 12, 16, 18, 19], "tabl": [1, 3, 4, 6, 7, 9, 12, 13, 15, 16, 18, 20], "item": [1, 6, 7, 9, 11, 12, 13, 14, 19, 22, 23], "creat": [1, 2, 3, 5, 6, 7, 9, 11, 12, 13, 14, 17, 18, 19, 20, 22, 23], "empti": [1, 5, 6, 7, 12, 14, 19, 22, 23], "whenev": [1, 7, 15], "invok": [1, 6, 7, 17, 19], "singl": [1, 3, 4, 6, 9, 11, 13, 19, 20], "being": [1, 5, 6, 7, 8, 9, 11, 12, 13, 18, 19, 20, 21, 22, 23], "rais": [1, 4, 5, 7, 9, 10, 11, 12, 13, 14, 18, 19, 22, 23], "creation": [1, 2], "fail": [1, 6, 7, 12, 14, 17, 20], "own": [1, 3, 6, 7, 12, 13, 16, 17, 18, 19, 20, 22, 23], "defin": [1, 2, 5, 6, 7, 9, 10, 12, 13, 14, 16, 17, 18, 21, 22], "got": [1, 6, 7, 11, 12], "turn": [1, 4, 6, 7, 11, 12, 13, 14, 18, 19, 20, 22], "enablesharedcach": 1, "same": [1, 2, 5, 6, 7, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 22, 23], "across": [1, 3, 6, 7, 9, 13, 14, 18, 19, 22], "thread": [1, 4, 6, 7, 9, 10, 12, 16, 18, 19, 22], "multipl": [1, 2, 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 22, 23], "access": [1, 2, 3, 5, 6, 7, 12, 13, 16, 18, 19, 20, 22, 23], "cach": [1, 3, 6, 7, 9, 11, 14, 16, 23], "exceptionfor": [1, 22, 23], "particular": [1, 7, 10, 15, 19, 20, 23], "error": [1, 2, 4, 5, 6, 7, 9, 10, 11, 13, 14, 16, 17, 18, 19, 20, 23], "understand": [1, 3, 7, 9, 11, 12, 17, 19, 23], "extend": [1, 6, 12, 18, 19, 20], "ioerr": [1, 6, 7, 12, 22], "fork": [1, 6, 12], "note": [1, 3, 5, 6, 7, 9, 11, 12, 13, 14, 15, 16, 20, 21, 22, 23], "doe": [1, 2, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 16, 17, 19, 20, 21, 22], "system": [1, 3, 6, 7, 12, 14, 16, 17, 18, 19, 20], "faq": 1, "q6": 1, "child": 1, "duplic": [1, 3, 6, 14, 23], "parent": [1, 7], "state": [1, 6, 7, 9, 19], "structur": [1, 6, 7, 9, 22, 23], "do": [1, 3, 5, 6, 7, 9, 10, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23], "consid": [1, 7, 14, 22, 23], "themselv": 1, "owner": 1, "open": [1, 5, 6, 7, 8, 9, 12, 13, 16, 20, 22, 23], "silent": [1, 3, 9, 18], "corrupt": [1, 6, 7, 11, 12, 22], "work": [1, 3, 5, 6, 7, 9, 11, 12, 13, 14, 15, 17, 18, 19, 20, 22, 23], "interfer": 1, "One": [1, 6, 7, 9, 19, 22, 23], "multiprocess": [1, 6], "platform": [1, 6, 7, 17, 19], "must": [1, 2, 3, 6, 7, 8, 9, 11, 12, 14, 15, 19, 21, 22, 23], "ensur": [1, 2, 4, 6, 7, 11, 17, 19, 20, 22], "backup": [1, 6, 7, 16, 18], "blob": [1, 2, 6, 7, 10, 12, 13, 16, 18, 19, 21], "etc": [1, 4, 6, 7, 9, 11, 13, 14, 17, 18, 19, 21, 22, 23], "close": [1, 2, 5, 6, 7, 9, 11, 12, 13, 22, 23], "befor": [1, 2, 3, 5, 6, 7, 9, 11, 12, 13, 15, 17, 19, 22, 23], "underli": [1, 3, 5, 6, 7, 14, 22, 23], "good": [1, 6, 7, 11, 17, 18, 21], "idea": [1, 6, 7, 11], "gc": 1, "anyth": [1, 9, 20, 21, 22, 23], "dealloc": 1, "extra": [1, 2, 6, 17, 20], "insert": [1, 3, 5, 6, 7, 9, 10, 11, 12, 13, 18, 19, 20, 23], "mutex": [1, 6, 18], "veri": [1, 4, 5, 6, 7, 9, 11, 13, 14, 18, 19, 20], "small": [1, 5, 6, 11], "perform": [1, 3, 4, 6, 7, 11, 12, 17, 19, 23], "penalti": 1, "verifi": [1, 6, 7, 12, 13, 19], "forkingviolationerror": [1, 12], "due": [1, 6, 12, 14], "wai": [1, 3, 5, 6, 7, 9, 10, 11, 13, 14, 15, 17, 18, 19, 20, 22, 23], "intern": [1, 6, 7, 13, 14, 15, 19, 22], "deliv": 1, "sy": [1, 6, 11, 12, 14, 17, 19, 22], "excepthook": [1, 6, 12, 22], "normal": [1, 3, 5, 6, 7, 9, 11, 13, 17, 18, 19, 20, 23], "mechan": [1, 6, 11, 23], "where": [1, 6, 9, 10, 11, 12, 13, 14, 19, 20, 21, 22, 23], "aros": [1, 6], "destructor": [1, 6, 12, 23], "didn": [1, 6, 13], "shutdown": [1, 6, 22], "re": [1, 5, 6, 7, 16, 20], "initi": [1, 6, 7, 14, 19, 23], "alreadi": [1, 5, 6, 9, 19, 22, 23], "alloc": [1, 5, 6, 11, 12, 13, 17], "crash": [1, 6, 7, 11, 18, 20, 22], "part": [1, 6, 7, 11, 12, 14, 18, 19, 22, 23], "test": [1, 3, 6, 11, 12, 13, 16, 18, 20, 22], "suit": [1, 6, 13, 17, 18], "repres": [1, 5, 7, 10, 11, 14, 21, 22, 23], "suppli": [1, 3, 5, 6, 7, 9, 11, 12, 13, 14, 19, 21, 22], "syntax": [1, 6, 9, 11, 13], "point": [1, 5, 6, 7, 10, 11, 14, 19, 20, 22], "nan": [1, 6], "infin": [1, 6], "1e999": 1, "lose": [1, 5], "neg": [1, 2, 5, 6, 7, 14, 19], "hard": [1, 3, 6, 20, 23], "heap": [1, 6, 7], "limit": [1, 6, 7, 9, 12, 13, 14, 16, 19, 20, 21], "enforc": [1, 6], "keep": [1, 4, 6, 7, 11, 19, 20, 23], "memori": [1, 3, 6, 7, 9, 11, 13, 14, 17, 18, 19, 20, 22, 23], "usag": [1, 2, 3, 4, 6, 7, 11, 12, 13, 14, 16, 22], "softheaplimit": [1, 6], "limit64": [1, 6], "unlik": [1, 9, 20], "automat": [1, 4, 6, 7, 9, 11, 13, 17, 19, 20, 22], "keyword": [1, 6, 11, 14], "set": [1, 4, 5, 6, 7, 9, 11, 13, 14, 17, 19, 20, 22, 23], "contain": [1, 6, 7, 9, 11, 19, 23], "count": [1, 7, 10, 11, 14, 19, 22], "errorcod": 1, "pass": [1, 6, 7, 9, 11, 12, 14, 19, 20, 22, 23], "nomem": [1, 6, 12], "f": [1, 11, 14, 20], "memoryhighwat": 1, "reset": [1, 6, 7, 11, 22], "maximum": [1, 5, 6, 7, 10, 11, 14, 22], "amount": [1, 3, 5, 6, 7, 9, 10, 11, 13, 22], "high": [1, 6], "water": 1, "mark": [1, 8, 19, 20, 22], "statu": [1, 6, 7, 11], "highwat": [1, 6, 7], "memoryus": 1, "sentinel": 1, "indic": [1, 6, 7, 11, 12, 14, 22, 23], "vtcursor": [1, 6, 7, 16], "columnnochang": [1, 6, 7, 23], "vttabl": [1, 6, 7, 16], "updatechangerow": [1, 6, 7, 23], "random": [1, 6, 7, 11, 14, 21, 22], "gener": [1, 6, 7, 11, 13, 14, 19, 20, 21, 22, 23], "releasememori": 1, "request": [1, 5, 6, 7, 9, 10, 12, 17, 19, 20, 22, 23], "try": [1, 2, 3, 6, 9, 11, 12, 13, 14, 18, 19, 23], "free": [1, 2, 6, 7], "freed": [1, 7], "releas": [1, 2, 6, 7, 10, 12, 13, 16, 17, 18, 23], "vf": [1, 3, 6, 7, 12, 13, 16, 18, 19, 20], "vfsname": [1, 6, 11, 22], "realli": [1, 9, 11], "bad": [1, 6, 9, 11, 12, 20], "unless": [1, 6, 7, 12, 18, 19], "absolut": [1, 5, 6, 19, 22], "sure": [1, 19], "delet": [1, 6, 7, 11, 19, 22, 23], "garbag": [1, 6, 7, 9, 11], "sleep": [1, 6, 22], "millisecond": [1, 6, 7, 19, 22], "least": [1, 6, 7, 9, 13, 19, 22], "soft": [1, 6], "sourceid": [1, 6], "exact": [1, 14, 21], "checkin": 1, "inform": [1, 6, 7, 9, 10, 11, 12, 16, 19, 20, 22, 23], "libvers": 1, "measur": [1, 7, 18], "status64": 1, "strglob": [1, 6], "glob": [1, 6], "stricmp": [1, 6], "string1": 1, "string2": 1, "case": [1, 5, 6, 7, 9, 11, 14, 17, 19, 21, 22], "insensit": 1, "comparison": 1, "strlike": [1, 6], "escap": [1, 14, 19], "strnicmp": [1, 6], "unregist": [1, 6, 7, 9, 11, 22], "amalgam": [1, 6, 11, 17], "affect": [1, 4, 6, 7, 14, 17, 19], "dictionari": [1, 6, 7, 9, 11, 13, 14, 19, 20], "kei": [1, 4, 6, 7, 11, 12, 14, 17, 19, 23], "pointer": [1, 6, 7, 11, 22], "convert": [1, 6, 11, 13, 16, 18, 19, 21, 23], "pylong": [1, 7], "fromvoidptr": [1, 7], "variou": [1, 6, 11, 12, 16, 17, 18, 19, 20, 21], "To": [1, 5, 6, 10, 11, 14, 17, 19, 20, 22, 23], "context": [1, 2, 5, 6, 7, 12, 18], "index": [1, 6, 11, 13, 14, 16, 17, 20, 22, 23], "numer": [1, 7, 10, 11, 12, 22], "help": [1, 3, 6, 11, 13, 17, 22, 23], "diagnost": [1, 6, 13, 16, 18, 19], "read": [1, 2, 5, 6, 7, 9, 11, 12, 13, 14, 20, 21, 22, 23], "20": [1, 7, 11, 16], "flag": [1, 6, 7, 9, 11, 12, 13, 14, 15, 22, 23], "xaccess": [1, 22], "readwrit": [1, 7, 11, 13], "action": [1, 6, 7, 11, 12, 14], "alter": [1, 3, 6, 8, 11, 20, 23], "analyz": 1, "attach": [1, 6, 7, 10, 11, 14, 17, 19, 23], "copi": [1, 2, 5, 6, 7, 11, 17, 19], "trigger": [1, 6, 7, 11, 12, 14, 19], "view": [1, 2, 6, 7, 9, 11, 14, 19], "vtabl": [1, 6, 12, 23], "detach": 1, "drop": [1, 6, 7, 11, 18, 19], "pragma": [1, 2, 6, 7, 9, 13, 14, 16, 20, 22], "recurs": [1, 6, 11], "reindex": [1, 6], "savepoint": [1, 6, 7, 10, 13, 23], "select": [1, 3, 7, 9, 10, 11, 12, 13, 14, 18, 19, 23], "transact": [1, 2, 3, 6, 7, 9, 10, 16, 18, 23], "bestindex": [1, 6, 7, 11, 12, 23], "constraint": [1, 4, 6, 7, 12, 14, 23], "eq": [1, 11, 14, 23], "ge": 1, "gt": [1, 14, 23], "isnot": [1, 6], "isnotnul": [1, 6], "isnul": [1, 6], "le": [1, 14, 23], "lt": [1, 11], "ne": [1, 6], "offset": [1, 5, 6, 7, 11, 12, 19, 22], "regexp": [1, 6], "cover": [1, 6, 17, 19], "scan": [1, 6, 11, 14, 19, 23], "getmalloc": 1, "getmutex": 1, "getpcach": 1, "getpcache2": [1, 6], "lookasid": 1, "malloc": [1, 6], "memdb": [1, 6, 11], "maxsiz": [1, 6], "memstatu": 1, "mmap": 1, "size": [1, 2, 3, 5, 6, 7, 11, 12, 13, 14, 19, 22], "multithread": 1, "pagecach": 1, "pcach": [1, 6], "pcache2": 1, "hdrsz": [1, 6], "pmasz": [1, 6], "scratch": 1, "serial": [1, 6, 7, 13, 17], "singlethread": 1, "sorterref": 1, "sqllog": [1, 6], "stmtjrnl": [1, 6], "spill": [1, 6], "uri": [1, 6, 11, 22], "win32": [1, 6, 22], "heapsiz": [1, 6], "conflict": [1, 6, 7], "resolut": [1, 6], "mode": [1, 6, 7, 11, 13, 14, 16], "replac": [1, 6, 7, 14, 19, 22], "rollback": [1, 6, 7, 10, 11, 13, 14, 20, 22, 23], "db": [1, 2, 6, 7, 9, 11, 13, 14, 16, 20, 22], "dbconfig": [1, 6, 7], "defens": [1, 6], "dq": [1, 4, 6], "ddl": [1, 6], "dml": [1, 6], "fkei": [1, 7, 19], "fts3": [1, 6, 16], "token": [1, 6, 12, 19], "load": [1, 6, 7, 12, 17, 22], "qpsg": [1, 6], "legaci": [1, 6, 14], "maindbnam": [1, 6], "max": [1, 6, 7, 11, 13, 17], "NO": [1, 6], "ckpt": [1, 6], "ON": [1, 6, 11], "revers": 1, "scanord": 1, "stmt": [1, 6, 7, 9, 11], "scanstatu": 1, "eqp": [1, 6], "trust": [1, 6], "schema": [1, 6, 7, 11, 12, 14, 16], "writabl": [1, 5, 6], "dbstatu": [1, 6], "hit": [1, 3, 6, 7, 11, 19], "write": [1, 4, 5, 6, 7, 9, 11, 12, 14, 16, 19, 22, 23], "defer": [1, 6, 19], "fk": [1, 6], "full": [1, 5, 6, 7, 9, 11, 12, 13, 14, 15, 17, 19, 22], "devic": [1, 15], "characterist": 1, "iocap": [1, 6], "atom": [1, 6, 9], "atomic16k": 1, "atomic1k": 1, "atomic2k": 1, "atomic32k": 1, "atomic4k": 1, "atomic512": 1, "atomic64k": 1, "atomic8k": 1, "batch": [1, 6, 11, 19, 20], "immut": [1, 6], "powersaf": [1, 6], "overwrit": [1, 6, 19], "safe": [1, 2, 6, 9, 13, 19, 22], "append": [1, 9, 14, 20], "sequenti": 1, "undelet": 1, "auth": [1, 6, 11, 12], "busi": [1, 4, 6, 7, 13, 16, 19, 22], "recoveri": [1, 6, 12], "snapshot": [1, 6], "timeout": [1, 4, 6, 7, 13, 20], "cantopen": [1, 6, 12, 20], "convpath": [1, 6], "dirtyw": [1, 6], "fullpath": [1, 6], "isdir": [1, 6, 11], "notempdir": 1, "symlink": [1, 6, 11], "datatyp": [1, 5, 6], "foreignkei": 1, "notnul": 1, "pin": [1, 6], "primarykei": 1, "rowid": [1, 5, 6, 7, 9, 10, 11, 12, 14, 23], "uniqu": [1, 7, 9, 13, 14, 20, 23], "vtab": [1, 6, 7, 23], "collseq": [1, 6], "retri": [1, 4, 6, 7, 13, 19, 20], "begin": [1, 4, 5, 6, 9, 10, 11, 13, 19, 20, 23], "block": [1, 5, 6, 7, 22], "checkreservedlock": [1, 6], "corruptf": [1, 6], "noent": [1, 6, 22], "dir": [1, 6, 11], "fsync": 1, "fstat": 1, "gettemppath": [1, 6], "IN": [1, 7, 11], "page": [1, 2, 6, 7, 11, 14, 19, 20, 22, 23], "rdlock": 1, "seek": [1, 5, 6, 11], "shmlock": 1, "shmmap": [1, 6], "shmopen": 1, "shmsize": 1, "short": [1, 4, 7, 12, 17, 20, 22], "truncat": [1, 6, 11, 14, 19], "unlock": [1, 12], "vnode": [1, 6], "sharedcach": [1, 6], "notic": [1, 8], "rbu": [1, 6, 16], "recov": [1, 6], "wal": [1, 4, 6, 7, 11, 14, 20, 22], "perman": [1, 6, 11, 20], "readonli": [1, 6, 7, 9, 11, 12, 14, 22, 23], "cantinit": [1, 6], "cantlock": [1, 6], "dbmove": [1, 6], "directori": [1, 6, 11, 17, 19, 20, 22, 23], "warn": [1, 6, 20], "autoindex": [1, 6, 11], "control": [1, 3, 6, 7, 9, 12, 16, 17, 18, 19, 20, 22], "standard": [1, 6, 10, 11, 14, 17, 18, 19], "opcod": [1, 6, 11, 14], "fcntl": [1, 6, 7, 11, 22], "busyhandl": [1, 6], "chunk": [1, 6, 7], "done": [1, 2, 4, 5, 6, 7, 9, 11, 13, 17, 19, 20, 22], "cksm": [1, 6], "phasetwo": [1, 6], "extern": [1, 6, 21], "reader": [1, 6], "lockproxyfil": [1, 6], "move": [1, 6, 11, 23], "journal": [1, 6, 7, 11, 14, 19, 20, 22], "last": [1, 2, 6, 7, 9, 10, 11, 12, 13, 17, 18, 19, 22], "errno": [1, 6, 7], "lockstat": [1, 6], "pdb": [1, 6], "persist": [1, 6], "reserv": [1, 5, 6, 7, 14, 22], "hint": [1, 14], "sync": [1, 6, 22, 23], "omit": [1, 2, 6, 13, 14, 17, 19, 23], "tempfilenam": [1, 6], "trace": [1, 6, 7, 9, 16, 18, 20, 22, 23], "av": [1, 6], "zipvf": [1, 6], "determinist": [1, 6, 7], "directonli": [1, 6], "innocu": 1, "subtyp": 1, "categori": [1, 11], "compound": [1, 23], "expr": 1, "depth": [1, 6], "length": [1, 5, 6, 7, 9, 11, 13, 19, 22, 23], "pattern": [1, 17], "variabl": [1, 6, 9, 12, 14, 19, 23], "vdbe": [1, 6, 7, 9, 11, 14], "worker": [1, 6], "level": [1, 5, 6, 7, 11, 14, 18, 19, 21, 22, 23], "exclus": [1, 6, 13], "pend": [1, 7], "autoproxi": [1, 6], "deleteonclos": [1, 22], "exrescod": [1, 6], "fullmutex": [1, 6], "nofollow": [1, 6], "nomutex": [1, 6], "privatecach": [1, 6], "subjourn": 1, "super": [1, 6, 7, 11, 22], "transient": [1, 19], "prepar": [1, 6, 7, 9, 11, 12, 13, 14], "interrupt": [1, 6, 7, 12, 19], "mismatch": [1, 12], "misus": [1, 6, 12], "nolf": [1, 12], "notadb": [1, 12], "notfound": [1, 6, 12], "perm": [1, 12], "protocol": [1, 6, 10, 12, 21, 23], "rang": [1, 3, 6, 11, 12], "toobig": [1, 11, 12], "stmtstatu": [1, 7, 11], "filter": [1, 6, 11, 13, 23], "fullscan": [1, 11], "memus": [1, 11], "reprepar": [1, 11, 12, 13], "sort": [1, 6, 7, 15, 16, 19, 21, 23], "vm": [1, 7, 11], "overflow": [1, 21], "parser": 1, "stack": [1, 6, 14, 18, 19, 20, 22, 23], "synchron": 1, "dataonli": 1, "event": [1, 7, 8, 11], "profil": [1, 6, 7, 11], "txn": [1, 6, 7], "checkpoint": [1, 6, 7, 14, 20], "passiv": [1, 7], "restart": [1, 6, 11], "xshmlock": [1, 6], "shm": 1, "encapsul": [2, 6, 7, 9, 22], "destin": [2, 6], "repeatedli": [2, 22], "deal": [2, 6, 18, 19, 21, 22], "finish": [2, 6, 7, 9, 11], "clean": [2, 7, 12, 14], "roll": [2, 6, 7, 20], "back": [2, 3, 6, 7, 9, 10, 11, 14, 18, 19, 20, 22, 23], "here": [2, 4, 6, 7, 11, 12, 13, 14, 19, 23], "b": [2, 7, 11, 13, 14, 19, 23], "100": [2, 4, 6, 7, 11, 13, 14, 22, 23], "print": [2, 3, 6, 7, 9, 11, 12, 13, 16, 18, 20], "pagecount": 2, "r": [2, 6, 11, 13], "flush": [2, 7, 11], "ll": [2, 11, 20, 23], "round": [2, 19, 22], "trip": [2, 19], "via": [2, 3, 6, 7, 9, 11, 12, 14, 15, 19, 20], "dure": [2, 4, 5, 6, 7, 10, 13, 20, 22], "threadingviolationerror": [2, 9, 12, 13], "attempt": [2, 5, 6, 7, 9, 10, 11, 12, 20], "instanc": [2, 6, 7, 12, 14, 19, 22, 23], "enter": [2, 5, 6, 7, 19], "manag": [2, 3, 5, 6, 7, 15, 16, 18], "pep": [2, 5, 6, 7, 10, 18], "0343": [2, 5, 6, 7], "exit": [2, 3, 5, 6, 7, 13, 20], "etyp": [2, 5, 7, 22], "type": [2, 5, 6, 7, 9, 12, 16, 18, 19, 22, 23], "baseexcept": [2, 5, 7, 14, 22], "evalu": [2, 5, 7, 9, 22, 23], "etraceback": [2, 5, 7, 22], "tracebacktyp": [2, 5, 7, 14, 22], "implement": [2, 5, 6, 7, 9, 10, 11, 12, 18, 19, 22, 23], "conjunct": [2, 5, 6, 7], "forc": [2, 5, 6, 7, 9, 19], "thing": [2, 6, 9, 11, 12, 13, 18, 21], "give": [2, 4, 6, 7, 11, 12, 13, 14, 18, 19, 20, 22, 23], "apsw": [2, 3, 4, 5, 6, 7, 9, 10, 14, 17, 19, 20, 21, 22, 23], "boolean": [2, 7, 11, 12, 22, 23], "alwai": [2, 3, 5, 6, 7, 11, 14, 19, 20, 21, 23], "even": [2, 5, 6, 7, 11, 12, 13, 17, 19, 20, 22, 23], "haven": [2, 18], "npage": 2, "smaller": 2, "until": [2, 5, 9, 10, 19], "4096": [2, 11, 14, 22], "4kb": 2, "throw": 2, "busyerror": [2, 4, 7, 12, 13, 20, 22], "lockederror": [2, 12], "unabl": [2, 12, 20, 22], "those": [2, 4, 5, 6, 7, 8, 12, 13, 14, 19], "again": [2, 6, 7, 11, 12, 17, 19, 22, 23], "outstand": [2, 7], "els": [2, 6, 7, 11, 14, 19, 21, 22, 23], "sqlite": [3, 4, 5, 6, 7, 9, 10, 13, 15, 16, 18, 19, 21, 22, 23], "layer": [3, 18], "interpret": [3, 10], "behind": [3, 6, 7, 9, 12, 18], "well": [3, 6, 13, 14, 18, 19, 20, 21, 23], "its": [3, 5, 6, 7, 11, 14, 18, 23], "yourself": [3, 6, 19, 20, 23], "000": [3, 23], "per": [3, 11, 19], "spin": 3, "drive": 3, "60": 3, "second": [3, 4, 5, 7, 13, 14, 19, 20, 22, 23], "speed": [3, 6, 11, 23], "tester": [3, 6], "compar": [3, 11, 19, 20], "host": [3, 6, 16], "matter": [3, 7, 13, 14, 17, 19], "python3": [3, 6, 11, 13, 17, 19], "m": [3, 4, 6, 11, 13, 17], "h": [3, 13, 17], "correct": [3, 5, 6, 7, 11, 17, 21, 23], "scale": [3, 6], "dump": [3, 6, 11], "filenam": [3, 5, 6, 7, 11, 13, 14, 17, 22], "sc": 3, "hide": [3, 18], "mb": 3, "packag": [3, 6, 17], "show": [3, 6, 7, 11, 12, 13, 14, 15, 18, 20, 22, 23], "unit": 3, "about": [3, 6, 7, 9, 11, 13, 14, 16, 19, 20, 21, 22, 23], "10": [3, 9, 11, 12, 13, 14, 16, 17, 18, 19, 20, 22, 23], "what": [3, 5, 6, 7, 9, 12, 13, 14, 16, 17, 19, 20, 21, 22, 23], "bigstmt": 3, "nobind": 3, "feed": [3, 14], "command": [3, 6, 11, 13, 16, 18], "shell": [3, 6, 16], "128": [3, 6], "percentag": 3, "non": [3, 6, 12, 14, 19, 21, 22, 23], "ascii": [3, 6, 14, 19], "charact": [3, 6, 7, 9, 14, 19, 21], "50": [3, 6, 11], "randomli": 3, "individu": [3, 4, 13], "summari": [3, 6, 13, 18, 19, 21], "passthru": 3, "dummi": [3, 6, 11], "real": [3, 11, 19, 21, 23], "megabyt": 3, "outsid": [3, 6, 11, 22, 23], "caus": [3, 6, 7, 9, 11, 12, 13, 20], "disk": [3, 7, 11, 14, 22, 23], "consist": [3, 6, 19], "executescript": [3, 18, 20], "sever": [3, 4, 6, 10, 12, 17, 18, 20], "kilobyt": 3, "kind": [3, 12], "faster": [3, 5, 6, 11, 18], "foo": [3, 5, 7, 11, 12, 13, 18, 19, 20, 23], "doesn": [3, 6, 7, 10, 11, 17, 18, 19, 20, 23], "overhead": [3, 6, 13], "In": [3, 5, 6, 7, 8, 9, 10, 11, 12, 17, 19, 20, 21, 22, 23], "theori": [3, 6], "abov": [3, 6, 8, 18, 23], "ident": [3, 9, 23], "happen": [3, 5, 6, 7, 9, 12, 13, 14, 17, 18, 20, 22], "practis": [3, 4, 20], "becaus": [4, 6, 7, 9, 11, 13, 19, 21, 22, 23], "strong": 4, "quirk": [4, 20], "describ": [4, 6, 7, 9, 10, 13, 14, 15, 19, 21, 22, 23], "document": [4, 6, 7, 8, 10, 11, 12, 13, 15, 20, 22, 23], "whose": [4, 11], "appli": [4, 6, 7, 9, 11, 20], "bestpractic": [4, 11], "setup": [4, 6, 11, 15, 17, 19], "made": [4, 6, 7, 12, 17, 20, 22, 23], "prevent": [4, 7, 11, 18, 23], "common": [4, 9, 11, 17, 20], "mistak": [4, 11], "immedi": [4, 9, 13, 20, 22], "durat": 4, "thousandth": [4, 7, 19], "wait": [4, 6, 7, 11, 12, 13], "grace": [4, 7], "period": [4, 19], "doubl": [4, 9, 17, 19, 23], "quot": [4, 6, 9, 11, 14, 19], "identifi": [4, 7, 13, 23], "off": [4, 6, 7, 11, 13, 17, 18, 20, 23], "around": [4, 6, 9, 11, 22], "foreign": [4, 11], "ahead": [4, 6, 7, 11, 16, 22], "reduc": [4, 6, 7, 10, 13, 14, 23], "content": [4, 5, 6, 7, 11, 13, 14, 19, 22, 23], "ext": [4, 6, 11, 12, 14, 19, 20, 23], "2gb": [5, 6, 22], "1gb": 5, "altern": [5, 6, 7, 8, 17, 19], "approach": [5, 9, 18, 20, 21], "acid": 5, "properti": [5, 9, 19], "entir": [5, 6, 11, 12, 14], "go": [5, 6, 7, 11, 12, 13, 14, 17, 19, 23], "retriev": [5, 6], "entireti": 5, "100mb": 5, "largedata": 5, "largefil": 5, "rb": 5, "cur": [5, 12, 18], "cannot": [5, 7, 10, 11, 12, 13, 20], "space": [5, 6, 7, 11, 13, 14, 17, 19], "through": [5, 6, 11, 17, 18, 19, 22], "specifi": [5, 6, 7, 13, 14, 17, 19, 22, 23], "two": [5, 6, 7, 9, 12, 13, 18, 19, 22, 23], "100000000": 5, "blobopen": [5, 7, 11], "behav": [5, 14, 21, 22], "At": [5, 21, 23], "advanc": [5, 6], "occur": [5, 6, 12, 19, 20, 22], "1024": [5, 11, 22], "still": [5, 6, 7, 9, 13, 18, 20, 22, 23], "technic": [5, 20], "routin": [5, 6, 11, 12, 22, 23], "similarli": 5, "okai": [5, 11], "till": 5, "whichev": 5, "beyond": 5, "manner": [5, 6], "readinto": [5, 6], "buffer": [5, 6, 21], "bytearrai": 5, "arrai": [5, 6, 19, 22, 23], "memoryview": 5, "assembl": 5, "avoid": [5, 6, 13, 18, 19], "There": [5, 6, 9, 10, 11, 12, 15, 17, 18, 19, 20, 22, 23], "posit": [5, 6, 11, 14, 23], "much": [5, 7, 17, 20, 21], "left": [5, 6, 9, 19], "valueerror": [5, 6, 7, 11, 12, 22, 23], "reopen": [5, 6], "whenc": 5, "bias": 5, "rel": [5, 6, 12], "less": [5, 6, 7, 11, 12, 14, 22], "tell": [5, 6, 7, 12, 22, 23], "typeerror": [5, 6, 9, 12, 14], "wrong": [5, 6], "increas": [5, 6, 19, 22], "desir": [5, 20], "flow": [6, 11, 12, 22], "chain": [6, 16, 22], "unrais": [6, 16, 23], "489": 6, "alloca": 6, "msvc": 6, "vla": 6, "fastcal": 6, "487": 6, "vectorcal": 6, "590": 6, "477": 6, "446": 6, "convers": [6, 14, 16, 18, 21], "pyarg": 6, "parsetupleandkeyword": 6, "favour": 6, "direct": [6, 7, 14, 18], "effici": [6, 23], "better": [6, 9, 16, 20], "speedtest": [6, 16, 18], "inherit": [6, 11, 12, 14, 19, 20, 22], "went": 6, "slower": 6, "pure": 6, "benchmark": [6, 9, 16, 18], "rememb": [6, 13, 22], "best": [6, 16, 19, 20, 21, 23], "json": [6, 15, 19], "output": [6, 9, 11, 13, 14, 16, 18, 21, 23], "jsonl": [6, 19], "newlin": [6, 19], "delimit": 6, "aka": 6, "483": 6, "polici": 6, "471": 6, "ad": [6, 11, 18, 22], "practic": [6, 16, 20], "460": 6, "472": 6, "explain": [6, 7, 9, 11, 14], "executemani": [6, 7, 9, 10, 12, 13, 14, 16, 18, 20], "474": 6, "helper": [6, 22, 23], "custom": [6, 11, 14, 16, 19, 23], "464": 6, "465": 6, "deprec": [6, 7], "setprofil": [6, 7], "v2": [6, 7, 11], "443": 6, "397": 6, "dbinfo": [6, 14], "displai": [6, 19, 22], "vfslist": 6, "xcurrenttimeint64": [6, 22], "longer": [6, 9, 12, 19, 22, 23], "xcurrenttim": [6, 22], "451": 6, "incompat": 6, "overrid": [6, 7, 11, 19, 22], "exclud": [6, 17, 22], "ivers": [6, 7, 22], "now": [6, 7, 11, 13, 14, 17], "statist": [6, 16], "444": 6, "metadata": [6, 7, 9, 17, 19], "binari": [6, 11, 14, 17, 21, 22], "435": 6, "stub": 6, "convent": [6, 22], "instead": [6, 9, 10, 11, 13, 19, 20, 21, 22, 23], "union": [6, 11], "concis": 6, "readabl": [6, 14, 19], "runtim": [6, 7], "438": 6, "extract": [6, 14, 17, 19, 23], "detect": [6, 9, 11, 12, 13, 19, 22], "draw": [6, 14, 19], "sanit": [6, 11, 14, 17, 19], "box": [6, 19], "qbox": [6, 19], "420": [6, 13], "interact": [6, 19], "432": 6, "389": 6, "comment": [6, 7, 9, 11, 14], "433": 6, "applic": [6, 8, 10, 14, 20], "431": 6, "419": 6, "xnextsystemcal": [6, 22], "leak": [6, 17, 23], "430": 6, "unbound": 6, "cpython": [6, 11, 17], "425": 6, "412": 6, "416": 6, "unraisablehook": [6, 12, 22], "correctli": [6, 11, 13, 19], "410": 6, "Be": 6, "stricter": 6, "expect": [6, 9, 11, 12, 14, 18, 19, 20], "accept": 6, "certainli": 6, "unintend": 6, "keyerror": 6, "old": [6, 19], "392": 6, "bestindexobject": [6, 7, 23], "indexinfo": [6, 14, 16], "expos": [6, 11, 22], "332": 6, "329": 6, "278": 6, "188": 6, "aconstraintusag": [6, 14, 23], "findfunct": [6, 7, 23], "isn": [6, 10, 19, 23], "possibl": [6, 7, 9, 12, 17, 19, 20, 21, 22, 23], "specif": [6, 7, 10, 13, 14, 18, 19, 21, 22], "overload": [6, 7], "269": 6, "189": 6, "190": 6, "createmodul": [6, 7, 11, 23], "eponym": [6, 7, 14], "196": 6, "subset": [6, 14, 19], "402": 6, "seri": [6, 11, 14, 17, 23], "380": [6, 13], "exactli": [6, 7, 9, 13, 22, 23], "398": 6, "handi": 6, "auto": [6, 7, 11, 14, 19, 20], "colour": [6, 11, 14], "word": [6, 11, 13, 14, 15, 19], "292": 6, "createscalarfunct": [6, 7, 11, 12, 18], "createaggregatefunct": [6, 7, 11], "384": 6, "383": 6, "cacheflush": [6, 7], "382": 6, "within": [6, 11, 12, 14, 19, 20, 21], "385": 6, "given": [6, 11, 13, 14, 17, 19, 23], "signatur": [6, 14, 17], "358": 6, "387": 6, "handler": [6, 7, 12, 13, 16, 19, 20, 22], "394": 6, "regress": 6, "whitespac": [6, 14], "incorrectli": [6, 12], "incomplet": [6, 19, 20], "376": 6, "interest": [6, 11, 16, 18, 19], "369": 6, "getter": 6, "setter": 6, "371": 6, "extent": 6, "permit": 6, "docstr": [6, 19], "everyth": [6, 11, 21], "visual": 6, "studio": 6, "hover": 6, "tour": [6, 16], "367": 6, "stat": [6, 7, 11], "v3": [6, 7, 9], "whether": [6, 14], "present": [6, 7, 9, 12, 14, 17, 19, 22, 23], "expand": [6, 9, 11, 14], "userdict": 6, "373": 6, "without": [6, 8, 11, 13, 14, 18, 23], "separ": [6, 9, 11, 13, 17, 20], "363": 6, "py": [6, 7, 11, 12, 13, 15, 17, 18, 22], "build": [6, 15, 16, 18, 21], "364": 6, "script": [6, 13, 17, 18], "directli": [6, 14, 18, 19, 20, 23], "356": 6, "refer": [6, 7, 9, 16, 19, 22, 23], "ie": [6, 7, 11, 12, 13, 17, 19, 22, 23], "break": [6, 14, 15, 19], "On": [6, 7, 13, 19, 22], "nativ": [6, 10, 22], "consol": [6, 19], "third": [6, 14, 15], "parti": 6, "definevalu": [6, 17], "357": 6, "descript": [6, 9, 10, 11, 14, 17, 19], "354": 6, "factori": [6, 7, 11, 14, 20], "obtain": [6, 7, 9, 10, 20], "361": 6, "scheme": 6, "suffix": [6, 23], "340": 6, "aarch64": 6, "linux": [6, 11, 16, 22], "univers": 6, "maco": [6, 17], "sinc": [6, 7, 9, 10, 13, 19], "125": [6, 11], "ongo": 6, "core": [6, 17, 22], "338": 6, "381": 6, "342": 6, "343": 6, "thank": 6, "peopl": 6, "scene": [6, 7, 9, 12], "who": 6, "piec": 6, "remov": [6, 7, 8, 11, 19], "download": 6, "fossil": 6, "cleanli": 6, "210": 6, "326": 6, "pypy3": 6, "mostli": 6, "323": 6, "regular": [6, 11, 15, 19], "pyi": 6, "shown": [6, 11, 19, 23], "everywher": [6, 21], "quarter": 6, "simpler": 6, "latest": 6, "cycl": [6, 7, 20], "314": 6, "ex": 6, "failur": [6, 7, 11, 17, 18, 22], "leav": [6, 7], "untermin": 6, "totalchang": [6, 7], "greater": [6, 7, 9, 14, 23], "autovacuum": [6, 7, 14], "deseri": [6, 7], "respect": 6, "311": [6, 11], "url": 6, "year": [6, 11, 17, 19, 20], "built": [6, 17], "math": 6, "msi": 6, "294": 6, "wheel": 6, "273": 6, "pkg": 6, "icu": [6, 16, 17, 21], "sdk": 6, "fall": [6, 22], "268": 6, "minor": [6, 17], "283": 6, "tab": [6, 14, 19], "hash": 6, "274": 6, "249": [6, 10, 18], "geopoli": 6, "253": 6, "optimis": [6, 7, 23], "256": 6, "214": 6, "spell": 6, "edward": 6, "bett": 6, "review": 6, "240": 6, "No": [6, 7, 12, 17, 20], "resum": [6, 13, 15], "bulk": [6, 15], "pyunicod": 6, "readi": 6, "onward": 6, "208": 6, "132": 6, "168": 6, "semant": 6, "xgetlasterror": [6, 22], "rewrit": 6, "too": [6, 7, 9, 12, 20], "consum": [6, 18, 20, 23], "swap": [6, 19], "address": [6, 7, 11, 14, 15, 22], "setuptool": [6, 17], "distutil": [6, 17], "bdist": 6, "environ": [6, 19], "207": 6, "logic": [6, 12], "2016": 6, "folder": 6, "199": 6, "fts5": [6, 15, 17, 19], "json1": [6, 16], "few": [6, 9, 12], "matur": 6, "armor": 6, "arbitrari": 6, "e596a6b6": 6, "invalid": [6, 9, 12, 14, 19], "adjust": [6, 11, 22], "187": 6, "switch": [6, 19], "191": 6, "preserv": 6, "186": 6, "site": [6, 20, 23], "reliabl": 6, "scrape": 6, "quick": [6, 22], "place": [6, 7, 9, 12, 17, 18, 19], "2015": 6, "pars": [6, 7, 16, 18, 19, 23], "unittest": 6, "164": 6, "169": 6, "stat4": 6, "fetchon": [6, 9, 10], "rebuild": 6, "mike": 6, "fletcher": 6, "pysqlit": 6, "obliter": 6, "abil": [6, 18, 23], "patienc": 6, "fight": 6, "microsoft": 6, "checksum": [6, 14, 17], "archiv": 6, "autoconf": 6, "softwar": [6, 8], "cooper": 6, "timestamp": [6, 11, 13], "usernam": [6, 17], "hostnam": 6, "couldn": [6, 7], "promot": 6, "142": 6, "circumst": 6, "typic": [6, 7, 12, 19, 22], "upgrad": [6, 20], "couchdb": 6, "pickup": 6, "ssl": 6, "web": [6, 22], "link": [6, 11, 17, 20], "websit": [6, 20], "fallback": 6, "xdelet": [6, 22], "asyncvf": 6, "maintain": [6, 9, 11, 13, 19, 21], "nor": [6, 9, 19], "team": 6, "explicitli": [6, 19], "reli": 6, "csv": [6, 11, 19, 23], "novemb": 6, "2012": 6, "gil": [6, 10, 13], "encount": [6, 19, 20], "upcom": 6, "arfrev": 6, "freht": 6, "taifersar": 6, "arahesi": 6, "134": 6, "produc": [6, 14], "cope": 6, "modern": 6, "machin": [6, 17], "anywai": [6, 12, 19], "bugfix": 6, "interoper": 6, "littl": 6, "easier": [6, 14, 22], "131": [6, 9], "pathnam": [6, 22], "sector": [6, 14, 22], "096": 6, "ticket": [6, 22], "122": 6, "async": 6, "disabl": [6, 7, 13, 15, 18, 19, 20], "lead": [6, 13, 17, 19, 22, 23], "strip": [6, 11], "declar": [6, 7, 9, 11, 14, 19, 23], "urifilenam": [6, 11, 16], "124": 6, "xopen": [6, 11, 22], "vfsfile": [6, 11, 16], "xfullpathnam": [6, 22], "construct": 6, "bypass": 6, "guarante": 6, "undocu": [6, 17], "120": [6, 13], "lp64": 6, "long": [6, 7, 12, 13, 14, 19, 21], "becom": [6, 12, 14, 17, 19, 22], "115": [6, 13], "search": [6, 7, 11, 15, 19, 22], "autoimport": 6, "deduc": [6, 19], "117": 6, "target": [6, 14], "edzard": 6, "pasma": 6, "diagnos": [6, 20], "redirect": 6, "sandbox": [6, 22], "notfounderror": [6, 12, 22], "grain": [6, 17], "over": [6, 7, 9, 11, 17, 18, 20, 22, 23], "xfilecontrol": [6, 7, 11, 22], "understood": [6, 7, 11, 22], "filecontrol": [6, 7, 11, 22], "larger": [6, 7, 13, 18, 22], "abl": [6, 19, 22], "timer": 6, "fts4": [6, 15], "augment": [6, 14, 15, 18, 22, 23], "rather": [6, 18, 19, 23], "total": [6, 7, 11, 13, 14, 17, 19, 21], "pre": [6, 17, 19], "109": 6, "housekeep": 6, "did": [6, 22], "push": [6, 19], "onto": [6, 19], "108": 6, "With": [6, 19, 23], "encod": [6, 11, 12, 13, 14, 21], "xmlcharrefreplac": [6, 19], "cp437": [6, 19], "significantli": [6, 18, 22], "dumper": 6, "three": [6, 9, 10, 13, 19], "four": [6, 11], "nikolau": 6, "rath": 6, "problem": [6, 9, 12, 14, 18], "highlight": 6, "distinguish": [6, 19], "header": [6, 11, 12, 14, 17], "termin": [6, 11, 12, 19], "countri": [6, 21], "adopt": 6, "metric": 6, "u": [6, 12, 19], "won": [6, 7, 13, 19, 23], "colorama": 6, "eager": 6, "geoff": 6, "ness": 6, "98": [6, 11, 14], "jose": 6, "gome": 6, "103": 6, "ppa": 6, "ubuntu": [6, 17], "kept": [6, 7], "launchpad": 6, "net": 6, "insid": [6, 11, 12, 13, 14, 17], "rtree": [6, 16], "initialis": 6, "stringio": [6, 11], "simplifi": 6, "sdist": 6, "necessari": [6, 7, 13, 17, 19, 22], "html": [6, 11, 17, 19], "repar": 6, "locat": [6, 12, 17, 19], "89": [6, 11], "vacuum": [6, 11, 14], "90": [6, 11], "digit": [6, 11, 17, 19], "tamper": [6, 17], "instruct": [6, 11, 14, 17, 18], "emit": 6, "unintent": 6, "bound": [6, 9], "introduc": [6, 7, 20, 23], "85": 6, "gori": 6, "easili": [6, 13, 14], "bidirection": 6, "transfer": 6, "order": [6, 7, 11, 12, 13, 14, 21, 23], "alphabet": [6, 8, 21], "82": 6, "firefox": [6, 11], "track": [6, 11, 16, 18, 22, 23], "83": [6, 13], "right": [6, 18, 19, 21, 23], "justifi": [6, 19], "width": [6, 11, 14], "84": 6, "traceback": [6, 7, 12, 13, 16, 18, 19], "86": 6, "local": [6, 7, 9, 11, 12, 14, 15, 19, 21, 23], "72": 6, "wasn": 6, "lefteri": 6, "along": 6, "emb": [6, 19], "stat2": 6, "gather": [6, 14], "plan": [6, 9, 11, 14], "unix": [6, 11, 13, 17, 19, 20, 22], "especi": [6, 11], "67": 6, "experiment": 6, "licens": [6, 16], "osi": [6, 8], "approv": [6, 8], "record": [6, 7, 13, 22], "situat": [6, 12], "migrat": 6, "subvers": 6, "mercuri": 6, "googl": 6, "xunlock": [6, 22], "sometim": [6, 11, 19, 20, 22], "cvstrac": 6, "3946": 6, "mention": 6, "integr": [6, 11, 19], "sampl": [6, 13], "distribut": [6, 8, 17], "55": 6, "unintention": [6, 20], "trivial": 6, "happi": 6, "apswtrac": [6, 13, 18], "cursorfrom": [6, 13], "3875": 6, "symbol": [6, 19, 22], "clash": 6, "we": [6, 7, 11, 19, 20, 22, 23], "hasn": [6, 7, 19], "chm": 6, "viewabl": 6, "viewer": [6, 11], "hot": [6, 22], "fullerror": [6, 12], "sqlerror": [6, 12, 14, 22], "prior": [6, 7, 11, 22], "reincarn": 6, "cursorclosederror": [6, 12], "nest": [6, 7, 9, 10, 11, 18, 20, 23], "xtruncat": [6, 22], "caller": [6, 13, 22], "xdlsym": [6, 22], "pedant": 6, "poorli": 6, "storag": [6, 11, 20], "vista": 6, "xp": 6, "rudolf": 6, "gaertner": 6, "assist": 6, "weak": 6, "popular": [6, 7, 13, 18], "demand": [6, 7, 11], "fetchal": [6, 9, 10], "modifi": [6, 7, 11, 13, 18], "revert": [6, 7], "older": [6, 9, 18, 19], "2158": 6, "save": [6, 13, 19, 20, 22], "visibl": [6, 9, 17, 20], "multi": [6, 15, 16, 20], "As": [6, 11, 12, 18, 21, 22], "collat": [6, 7, 12, 13, 14, 16, 23], "deriv": [6, 11, 22], "rewritten": 6, "deadlock": [6, 13, 18], "inspect": [6, 14], "amicita": 6, "concurr": [6, 10, 12, 13, 19, 20], "sphinx": 6, "richer": 6, "pdf": 6, "ft": [6, 15], "reorgan": 6, "clearer": 6, "obfusc": [6, 11, 22], "xore": [6, 22], "ver": 6, "usleep": 6, "localtim": [6, 11], "certain": [6, 23], "featur": [6, 9, 12, 18, 20, 23], "further": [6, 12], "follow": [6, 7, 8, 11, 12, 13, 14, 18], "noth": [6, 9, 17, 18, 20], "yet": [6, 9], "regard": 6, "fit": [6, 14, 19, 21], "joe": 6, "pham": 6, "sqlite3point": [6, 7], "0b1": 6, "unreli": 6, "workaround": 6, "p": [6, 11], "far": [6, 12, 18], "roughli": [6, 19], "constrain": [6, 23], "weren": 6, "destroi": [6, 23], "elsewher": [6, 23], "renam": [6, 14, 23], "restrict": [6, 8, 18, 20], "howev": [6, 13, 19, 20, 21, 22, 23], "utf8": [6, 7, 19, 21], "effort": [6, 10, 18, 20, 22], "coverag": [6, 17, 18], "percent": 6, "collationneed": [6, 7], "co": [6, 11], "project": [6, 17], "subsequ": [6, 19, 22, 23], "ed": 6, "special": [6, 11], "hung": 6, "henc": [6, 21], "usual": [6, 7, 14, 20, 22], "pyerr": [6, 22], "writeunrais": 6, "useless": [6, 12], "mere": 6, "stderr": [6, 13, 14, 19], "often": [6, 7], "never": [6, 9, 19, 20, 21], "came": 6, "frame": [6, 7, 12, 14, 19], "why": [6, 16, 19], "tradit": [6, 23], "cleanup": [6, 7, 16, 23], "believ": [6, 13], "corner": 6, "aren": [6, 11, 14], "pleas": 6, "shout": 6, "getdescript": [6, 9, 10, 14, 20], "v": [6, 11], "ssize": 6, "autocommit": [6, 7], "took": [6, 7], "consider": [6, 17, 19], "written": 6, "section": [6, 10, 13, 21], "accord": 6, "overli": 6, "global": [6, 10], "primari": [6, 7, 11, 12, 14], "stabl": [6, 17], "sai": [6, 14, 23], "apswexcept": 6, "cosmet": 6, "clear": [6, 11, 19], "ism": 6, "macro": 6, "contact": [6, 16], "me": 6, "By": [6, 11, 13, 14, 18, 19, 20, 23], "expir": [6, 7], "margin": 6, "temporari": [6, 7, 19, 20, 22], "cut": 6, "past": 6, "zip": [6, 14, 17], "sub": [6, 11, 14], "statementcaches": 7, "privat": [7, 11, 17], "orred": [7, 22], "distinct": [7, 13, 14, 19, 23], "frequent": 7, "function2": 7, "harm": 7, "3rd": 7, "4th": 7, "innermost": 7, "THE": 7, "wors": 7, "databasenam": [7, 23], "sourceconnect": 7, "sourcedatabasenam": 7, "init": [7, 11, 17, 19], "writeabl": 7, "explan": [7, 16], "evict": 7, "found": [7, 12, 17, 19], "big": [7, 23], "cacheabl": 7, "mid": 7, "changes64": 7, "indirect": [7, 20], "circular": 7, "broken": 7, "design": [7, 20], "surviv": [7, 11, 20, 22], "power": [7, 11, 15, 20, 22], "awkward": 7, "moment": 7, "abrupt": 7, "worst": 7, "progress": [7, 16, 20], "next": [7, 9, 10, 11, 13, 14, 20, 23], "createcol": [7, 11], "thousand": 7, "prereigst": 7, "dbname": [7, 13], "field": [7, 13, 14, 15, 19, 20, 23], "autoincr": 7, "val": [7, 14], "unalt": 7, "numarg": 7, "param": [7, 14], "255": [7, 20], "debug": [7, 14, 17, 18, 19, 22], "resourc": [7, 19, 23], "term": 7, "account": [7, 21], "equal": [7, 11, 14, 23], "def": [7, 11, 12, 13, 14, 18, 20, 22, 23], "mycol": 7, "datasourc": 7, "vtmodul": [7, 16], "come": [7, 11, 14, 19, 23], "tablenam": [7, 23], "involv": [7, 11, 12, 13, 23], "planner": [7, 23], "toip": 7, "ipv4convert": 7, "ipv6convert": 7, "16": [7, 11, 16, 21], "strconvert": 7, "rest": [7, 13, 17, 19], "resiz": 7, "enableloadextens": 7, "loadextens": 7, "sequenceofbind": [7, 9, 14], "void": [7, 22], "mutabl": 7, "ctype": [7, 11, 17, 19, 22], "obj": [7, 22], "objwrap": 7, "live": 7, "123": [7, 11], "our": [7, 11], "addressof": [7, 11], "self": [7, 9, 11, 12, 19, 20, 22, 23], "plai": 7, "superclass": [7, 22], "grow": 7, "combin": [7, 11, 18], "chunksiz": 7, "32768": 7, "getautocommit": 7, "getexectrac": [7, 9], "getrowtrac": [7, 9], "earliest": 7, "opportun": 7, "press": [7, 19], "stop": [7, 9, 11, 13, 14, 19], "button": 7, "interrupterror": [7, 12], "newval": 7, "32": [7, 11, 12, 13, 16, 17, 22], "entrypoint": 7, "extensionloadingerror": [7, 12], "overloadfunct": [7, 23], "narg": [7, 23], "placehold": 7, "compos": [7, 9, 11], "strongli": [7, 19], "align": [7, 19], "permiss": [7, 8, 22], "associ": [7, 10, 12, 23], "skip": [7, 9, 11, 13], "altogeth": [7, 9], "setauthor": 7, "setbusyhandl": [7, 12, 13], "tri": [7, 12, 18, 20], "repeat": [7, 17], "setbusytimeout": [7, 12, 13], "setcommithook": [7, 11], "setexectrac": [7, 9], "nanosecond": [7, 11], "reach": [7, 19], "setprogresshandl": [7, 11], "nstep": 7, "inststruct": 7, "setrollbackhook": 7, "setrowtrac": [7, 9], "setupdatehook": [7, 11], "setwalhook": 7, "hood": 7, "mask": [7, 23], "belong": 7, "counter": [7, 14], "valid": [7, 14, 19, 22, 23], "xupdat": 7, "autocheckpoint": [7, 20], "interv": [7, 20], "roger": [8, 17], "binn": [8, 17], "impli": 8, "warranti": 8, "held": 8, "liabl": 8, "damag": 8, "aris": 8, "grant": 8, "anyon": 8, "commerci": 8, "redistribut": 8, "freeli": 8, "subject": 8, "misrepres": 8, "claim": 8, "wrote": [8, 14], "product": 8, "acknowledg": 8, "appreci": 8, "plainli": 8, "strike": 8, "opensourc": 8, "org": [8, 11, 17], "explicit": [9, 17], "databasefilenam": [9, 19], "titl": [9, 11, 14], "isbn": 9, "d": [9, 11, 19], "8390823904": 9, "addition": [9, 19], "inject": [9, 11, 20], "attack": [9, 20], "cheap": [9, 20], "fast": [9, 11], "reus": [9, 23], "million": [9, 20], "abandon": 9, "cursor1": 9, "cursor2": 9, "fill": [9, 11, 14, 22], "worri": 9, "put": [9, 17], "boundari": [9, 14, 20], "isol": [9, 20], "activ": [9, 13, 19], "confin": 9, "discard": [9, 11, 13], "decltyp": 9, "book": [9, 11], "gotcha": 9, "comma": [9, 17, 19], "rate": [9, 20], "908908908": 9, "neither": [9, 10, 19], "bindingserror": [9, 12], "incompleteexecutionerror": [9, 12, 13], "unexecut": [9, 13], "model": [9, 12, 16, 19], "int64": [9, 22], "text64": 9, "blob64": 9, "conceptu": [9, 23], "23": [9, 16], "92": [9, 11], "12": [9, 11, 13, 14, 16], "num": [9, 11], "act": [9, 19], "memoryerror": 9, "ran": [9, 17], "exce": [9, 12], "dbapi": [9, 16, 18], "getconnect": 9, "info": [9, 11, 14, 17, 20, 23], "known": [9, 11, 17, 22, 23], "manifest": 9, "languag": [9, 11, 21], "wibbli": 9, "wobbli": 9, "zebra": 9, "97": 9, "fjfjfj": 9, "isexplain": 9, "though": [9, 23], "compli": 10, "constructor": [10, 22], "paramstyl": 10, "qmark": 10, "awar": [10, 13, 15, 18, 20], "rowcount": [10, 20], "callproc": 10, "procedur": 10, "fetchmani": 10, "nextset": 10, "arrays": 10, "setinputs": 10, "setoutputs": 10, "manipul": [10, 21], "julian": [10, 22], "dai": [10, 19, 22], "rownumb": 10, "scroll": 10, "lastrowid": 10, "errorhandl": 10, "demonstr": [11, 18, 22], "overview": [11, 22], "usr": [11, 17], "bin": [11, 17], "env": 11, "annot": [11, 16], "pathlib": 11, "path": [11, 17, 22], "filesystem": 11, "lib": [11, 17], "incorpor": 11, "x86": [11, 17], "gnu": [11, 17], "3043001": 11, "dbfile": 11, "x": [11, 12, 13, 14, 18, 19, 20, 23], "y": [11, 12, 13, 18, 20], "z": [11, 12, 13, 18, 19, 20], "secret": 11, "tempt": 11, "mangl": 11, "punctuat": 11, "simpl": [11, 18, 19, 21, 22, 23], "NOT": [11, 20], "gui": [11, 20], "alpha": 11, "beta": 11, "gamma": 11, "sensit": 11, "9": [11, 14, 16, 18, 23], "types1": 11, "e": 11, "types2": 11, "x03": 11, "x72": 11, "xf4": 11, "x00": 11, "x9e": 11, "repr": [11, 14], "x03r": 11, "confirm": 11, "manual": [11, 20], "Or": 11, "varieti": 11, "startup": [11, 19], "my": [11, 12, 18, 20], "bar": [11, 12, 13, 18, 20], "hand": [11, 23], "ilove7": 11, "love": 11, "seven": 11, "averag": 11, "longest": [11, 13], "len": [11, 14], "classmethod": 11, "cl": 11, "aggregatecallback": 11, "equival": 11, "sumint": 11, "t3": 11, "INTO": 11, "BY": [11, 14], "preced": 11, "AND": [11, 14, 19], "AS": [11, 14, 19], "sum": [11, 13, 14], "portion": [11, 22], "file1": 11, "file7": 11, "file17": 11, "file20": 11, "file3": 11, "s1": 11, "s2": 11, "isdigit": 11, "ps1": 11, "ps2": 11, "strnum": 11, "dataclass": [11, 14], "dataclassrowfactori": [11, 14], "anim": 11, "farm": 11, "georg": 11, "orwel": 11, "1945": 11, "pictur": 11, "dorian": 11, "grai": 11, "oscar": 11, "wild": 11, "1890": 11, "fragil": 11, "frozen": [11, 14], "kwarg": [11, 14], "nnow": 11, "typesconvertercursorfactori": [11, 14], "registrar": 11, "sqlitetypeadapt": [11, 14], "isinst": [11, 14], "split": [11, 19, 23], "complex": [11, 12, 23], "imag": [11, 12], "adapt": [11, 14, 17], "4j": 11, "char": [11, 19], "cust": [11, 23], "addr": [11, 14], "join": [11, 19], "street": 11, "qd": 11, "low": [11, 14, 15], "solv": 11, "pprint": 11, "nbind": 11, "nexpand": 11, "nfirst": 11, "nqueri": 11, "ni": 11, "ndescript": 11, "pformat": 11, "hasattr": [11, 14], "queryplan": [11, 14], "queryact": [11, 14], "21": [11, 13, 14, 16], "vdbeinstruct": [11, 14], "p1": [11, 14], "p2": [11, 14], "17": [11, 14, 16], "p3": [11, 14], "p4": [11, 14], "p5": [11, 14], "openread": 11, "14": [11, 16, 20], "13": [11, 16, 18], "rewind": 11, "larg": [11, 12, 15, 19], "blobbi": 11, "10000": 11, "20000": 11, "hello": [11, 14], "world": [11, 14, 19], "2000": 11, "startswith": 11, "stuff": [11, 21], "master": 11, "autherror": [11, 12], "feedback": 11, "cancel": 11, "yield": [11, 14], "randint": 11, "9999999999": 11, "biggest": 11, "9973029666": 11, "unsign": 11, "uint32": 11, "assert": 11, "versu": [11, 19], "1234": 11, "44": 11, "45": 11, "46": 11, "47": 11, "veto": 11, "hour": [11, 22], "8am": 11, "6pm": 11, "constrainterror": [11, 12], "file93": 11, "file94": 11, "vtcolumnaccess": [11, 14], "94": [11, 13], "96": 11, "hidden": [11, 14], "95": [11, 17], "unicodedata": [11, 14], "codepoint": [11, 19], "decim": 11, "bidirect": 11, "east": 11, "asian": 11, "decomposit": 11, "maxunicod": 11, "meth": 11, "chr": 11, "func": [11, 18], "0x1000": 11, "0xffff": 11, "30": [11, 13, 16], "cf": 11, "926": 11, "cn": 11, "6400": 11, "2048": 11, "874": 11, "183": 11, "lm": 11, "44924": 11, "lo": 11, "27": [11, 13, 16, 23], "659": 11, "lu": 11, "156": 11, "mc": 11, "sep": 11, "pathsep": 11, "root": [11, 14], "scandir": 11, "sd": 11, "elif": [11, 22], "splitext": 11, "k": [11, 20], "getattr": 11, "st": 11, "samefil": 11, "desc": [11, 14, 23], "758777": 11, "11": [11, 12, 14, 16], "pydoc": 11, "topic": 11, "471229": 11, "pycach": 11, "pyc": 11, "257926": 11, "tkinter": 11, "oldest": 11, "ctime": 11, "07": 11, "31": [11, 16], "pydecim": 11, "04": 11, "382419": 11, "113893958": 11, "allowlist": 11, "56": 11, "bootstrap": 11, "1756": 11, "11116": 11, "cfg": [11, 17], "341": 11, "csh": 11, "935": 11, "css": 11, "1325": 11, "fish": 11, "2215": 11, "3504": 11, "1534": 11, "20304": 11, "9033": 11, "11776971": 11, "13267393": 11, "rst": 11, "9561": 11, "sh": [11, 17], "3941": 11, "27584936": 11, "stdlib": 11, "10752": 11, "supp": 11, "70": 11, "txt": [11, 14], "23425": 11, "monitor": 11, "xor": 11, "0xa5": 11, "obfuscatedvf": 11, "basevf": 11, "warp": 11, "notpres": 11, "obfuscatedvfsfil": 11, "xread": [11, 22], "xwrite": [11, 22], "encrypt": [11, 14], "inheritfromvfsnam": 11, "ptr": [11, 22], "vfsfcntlpragma": [11, 16], "orang": [11, 14], "instanti": 11, "obfuvf": 11, "obfudb": 11, "myobfudb": 11, "And": [11, 18], "unobfusc": 11, "tidi": [11, 20], "excl": 11, "dotfil": 11, "xf6": 11, "xe9": 11, "xcc": 11, "xd1": 11, "xc0": 11, "x85": 11, "xc3": 11, "xca": 11, "xd7": 11, "xc8": 11, "xc4": 11, "x96": 11, "xa5": 11, "xb5": 11, "xa4": 11, "x10": 11, "x01": 11, "orig": 11, "0x7fffffff": 11, "testlimit": 11, "1023": 11, "exceed": 11, "toobigerror": [11, 12, 13], "caught": 11, "largest": [11, 14], "1000000000": 11, "choos": [11, 22, 23], "memcon": 11, "export": 11, "io": 11, "stdout": [11, 13, 19], "dot": [11, 14, 19], "csvtest": 11, "column1": 11, "column2": 11, "figur": [11, 14, 19], "getvalu": 11, "ndump": 11, "fri": 11, "oct": 11, "15": [11, 13, 16], "clamp": 11, "utf": [11, 12, 13, 22], "1073741823": 11, "IF": [11, 20], "433992": 11, "2341792": 11, "www": 11, "lang": 11, "outlandish": 11, "WITH": 11, "xaxi": 11, "05": [11, 14], "yaxi": 11, "cx": 11, "cy": 11, "28": [11, 16], "m2": 11, "concat": 11, "substr": 11, "min": 11, "rtrim": 11, "0a": 11, "pop": [11, 19], "18000000": 11, "1365": 11, "15784": 11, "1015351": 11, "quantiti": [11, 13, 14, 21, 22, 23], "030709": 11, "ti\u1ebfng": 11, "vi\u1ec7t": 11, "cha": 11, "quant": 11, "iti": 11, "ti": 11, "latin": 11, "letter": [11, 21], "circumflex": 11, "acut": 11, "ng": 11, "vi": 11, "narrow": 11, "qua": 11, "la": 11, "nti": 11, "ty": 11, "th": 11, "inter": 11, "te": 11, "ting": 11, "nu": 11, "030": 11, "709": 11, "doc": [11, 14, 19], "rule": [11, 14, 23], "middl": 11, "partial": [11, 20, 22], "extendedresult": [12, 22], "connectionnotclosederror": 12, "connectionclosederror": 12, "incorrect": 12, "unnam": 12, "executioncompleteerror": 12, "exectraceabort": [12, 13], "vfsnotimplementederror": 12, "vfsfileclosederror": 12, "mismatcherror": 12, "internalerror": 12, "protocolerror": 12, "misuseerror": 12, "enough": 12, "spec": 12, "127": [12, 13], "rangeerror": 12, "2nd": 12, "permissionserror": 12, "readonlyerror": [12, 23], "cantopenerror": 12, "aborterror": 12, "schemachangeerror": 12, "violat": 12, "nomemerror": 12, "ioerror": [12, 22], "corrupterror": 12, "inconsist": [12, 19], "nolfserror": 12, "emptyerror": 12, "formaterror": 12, "auxiliari": 12, "notadberror": 12, "inde": 12, "difficult": [12, 20], "fire": 12, "myfunc": 12, "con": [12, 18, 23], "fam": 12, "zerodivisionerror": 12, "divis": 12, "modulo": 12, "3412": 12, "resetcursor": [12, 18], "1597": 12, "examin": 12, "told": 12, "But": 12, "aid": 12, "troubleshoot": [12, 16], "erron": 12, "1387": 12, "testvtabl": 12, "allconstraint": 12, "0x988f30": 12, "1000": [12, 14, 23], "4050": 12, "0x978800": 12, "2681": 12, "virtualt": 12, "xbestindex": [12, 23], "0x98d8c0": 12, "997": 12, "xea": 12, "2559": 12, "represent": [13, 14, 21, 22, 23], "bam": 13, "stdin": [13, 19], "chanc": 13, "condit": [13, 17, 18], "aspw": [13, 21], "acquir": [13, 20], "arisen": 13, "gigabyt": 13, "classic": 13, "trade": 13, "cpu": 13, "consumpt": [13, 14], "pick": [13, 17], "101": 13, "prioriti": 13, "yourscript": 13, "pythonscript": 13, "pythonscriptopt": 13, "send": [13, 14, 19], "dash": [13, 17, 19], "l": 13, "top": [13, 14], "1e0e5a0": 13, "152": 13, "7fccea8456e0": 13, "1f72ac0": 13, "161": 13, "testdb": 13, "1f6b8d0": 13, "162": 13, "239": 13, "kjfhgk": 13, "gkjlfdhgjkhsdfkjg": 13, "gklsdfjgkldfjhnbnvc": 13, "mnxb": 13, "mnxcv": 13, "242": 13, "gdfklhj": 13, "gjkhgfdsgfd": 13, "gjkfhgjkhdfkjh": 13, "244": 13, "245": 13, "gdfjkhg": 13, "gkjlfd": 13, "247": 13, "257": 13, "threadid": 13, "remaind": 13, "form": [13, 14, 18, 19, 20], "prefix": [13, 17], "connectionid": 13, "slept": 13, "073": 13, "1308": 13, "3082": 13, "127973": 13, "578": 13, "2369": 13, "spent": 13, "530": 13, "121451": 13, "1220": 13, "1118": 13, "909": 13, "timesten": 13, "654": 13, "426": 13, "t1": 13, "146": 13, "88": 13, "79": 13, "76": 13, "71": 13, "abcdefghijklmnopqrstuvwxyz": 13, "t2": 13, "illustr": 13, "413": 13, "305": 13, "120637": 13, "941": 13, "121449": 13, "179": 13, "509": 13, "715": 13, "38": [13, 16, 20], "241": 13, "206": 13, "61": 13, "170": 13, "165": 13, "158": 13, "snap": 13, "80": [13, 14], "150": [13, 17], "001": 13, "377": 13, "102": 13, "944": 13, "893": 13, "817": 13, "816": 13, "786": 13, "783": 13, "713": 13, "701": 13, "651": 13, "646": 13, "631": 13, "620": 13, "nice": 14, "quicker": [14, 23], "taken": [14, 19], "bytecod": 14, "slot": 14, "potenti": 14, "affin": [14, 21], "metaclass": 14, "yourclassher": 14, "suffici": 14, "abstract": [14, 18], "abcmeta": 14, "capabl": [14, 22], "klass": 14, "typeconvertercursor": 14, "schematyp": 14, "dictadapt": 14, "exc": 14, "textio": [14, 19], "respons": [14, 23], "orderid": 14, "sale": [14, 19], "price": [14, 19, 23], "74": [14, 23], "99": [14, 17, 18, 19, 23], "acm": [14, 19, 23], "widget": [14, 23], "industri": 14, "aconstraint": [14, 23], "icolumn": [14, 23], "rh": [14, 23], "usabl": [14, 23], "73": 14, "argvindex": [14, 23], "aorderbi": [14, 23], "colus": [14, 23], "estimatedcost": [14, 23], "5e": 14, "estimatedrow": [14, 23], "25": [14, 16, 17], "idxflag": [14, 23], "idxnum": [14, 23], "idxstr": [14, 23], "nconstraint": [14, 23], "norderbi": [14, 23], "orderbyconsum": [14, 23], "databasefileinfo": 14, "journalfileinfo": 14, "walfileinfo": 14, "compress": 14, "necessarili": 14, "liter": [14, 19], "lambda": 14, "attract": 14, "ansi": 14, "outlin": 14, "textual": [14, 19], "bigger": 14, "0\u65e5\u672c\u8a9e": 14, "vertic": 14, "backslash": [14, 19], "cjk": 14, "unifi": [14, 22], "ideograph": 14, "65e5": 14, "672c": 14, "8a9e": 14, "hex": 14, "textwrap": 14, "qualnam": 14, "attr": 14, "namedtupl": 14, "columnx": 14, "arg1": [14, 23], "arg2": 14, "fruit": 14, "goal": [14, 20], "gendata": 14, "2020": 14, "readm": 14, "2019": 14, "john": 14, "Will": 14, "discov": 14, "definit": 14, "claus": 14, "solut": [14, 17], "0xffffffff": 14, "postgr": 14, "server": [14, 17], "querydetail": 14, "goto": 14, "loop": [14, 19, 20], "human": 14, "fourth": 14, "fifth": 14, "freelist": 14, "cooki": 14, "unus": [14, 23], "tree": 14, "lost": 14, "nonc": 14, "segment": 14, "assum": 14, "magic": 14, "salt": 14, "3007000": 14, "24": [14, 16, 22], "intend": [15, 23], "edg": 15, "network": 15, "spatial": 15, "mail": [16, 20, 22], "bsd": 16, "programmat": [16, 20], "pretti": 16, "entranc": 16, "copyright": 16, "histori": 16, "40": 16, "39": [16, 17], "36": 16, "35": 16, "34": 16, "33": 16, "29": 16, "26": [16, 21], "22": 16, "19": 16, "18": 16, "r2": 16, "r3": 16, "debian": 17, "fedora": 17, "gentoo": 17, "dev": [17, 20], "arch": 17, "ultim": 17, "cmdone": 17, "cmdtwo": 17, "cmdthree": 17, "underscor": [17, 22], "abi": 17, "chosen": 17, "subdirectori": 17, "sqlite3config": 17, "edit": [17, 19], "sig": 17, "gpg": 17, "privaci": 17, "guard": 17, "asc": [17, 23], "dsa": 17, "0dfbd904": 17, "public": 17, "keyserv": 17, "hkp": 17, "recv": 17, "home": [17, 19], "gnupg": 17, "trustdb": 17, "uppercas": 17, "proceed": 17, "determin": [17, 19, 22, 23], "mycor": 17, "dedic": 17, "alongsid": 17, "major": [17, 22], "micro": 17, "releaselevel": 17, "310": 17, "3039002": 17, "990": 17, "checkout": 17, "deliber": 17, "induc": 17, "bring": [17, 18], "valgrind": 17, "stand": 17, "megatest": 17, "fundament": 18, "compliant": 18, "wrapper": 18, "nuanc": 18, "suggest": 18, "independ": 18, "enhanc": 18, "care": [18, 19, 23], "complianc": 18, "unexpect": 18, "swallow": 18, "harder": 18, "poor": 18, "substitut": 18, "badfunc": 18, "operationalerror": 18, "3660": 18, "1871": 18, "debugg": [18, 19], "util": 18, "81": 18, "unsupport": 18, "awai": 18, "administr": 19, "notabl": 19, "nicer": 19, "instantli": 19, "readlin": 19, "pyreadline3": 19, "registri": 19, "nocolour": 19, "quickli": 19, "cmdloop": 19, "amongst": 19, "winchest": 19, "precis": [19, 21], "dialect": 19, "basenam": 19, "yyyi": 19, "mm": 19, "dd": 19, "datetim": 19, "iso8601": 19, "month": 19, "resolv": 19, "ambigu": 19, "unnecessari": 19, "plu": 19, "phone": 19, "quit": [19, 20], "twice": 19, "wildcard": 19, "recip": [19, 23], "segdir": 19, "sent": 19, "intermingl": 19, "choic": [19, 23], "437": 19, "question": 19, "strict": 19, "stream": 19, "lc": 19, "pythonioencod": 19, "exercis": 19, "cast": 19, "sophist": 19, "col": 19, "THEN": 19, "tcl": 19, "pad": 19, "base64": 19, "blank": 19, "obviou": 19, "surround": 19, "wipe": 19, "subcommand": 19, "unset": 19, "floor": 19, "glove": 19, "repl": 19, "namespac": 19, "mixtur": 19, "tsv": 19, "Not": 19, "monkei": 19, "patch": 19, "err": 19, "argv": [19, 23], "wish": [19, 22], "ever": 19, "huge": [19, 23], "simultan": [19, 23], "baffl": 19, "positionrow": 19, "intro": 19, "banner": 19, "member": [19, 23], "beg": 19, "b4": 19, "fixup": 19, "backlash": 19, "shlex": 19, "getcompletelin": 19, "semicolon": 19, "getlin": 19, "eof": [19, 23], "rerais": 19, "keyboard": 19, "linenumb": 19, "temporarili": 19, "initfil": 19, "sqlncommand": 19, "upon": 19, "front": [19, 20], "unrecogn": 19, "posix": 19, "recogn": 19, "enc": 19, "dest": 19, "fmt": 19, "post": 20, "robust": 20, "success": 20, "refactor": 20, "interpol": 20, "seem": 20, "difficulti": 20, "feel": 20, "comput": 20, "thought": 20, "signal": [20, 22], "facil": 20, "errcod": 20, "errstr": 20, "28729": 20, "7dd4968f23": 20, "mainten": 20, "baz": 20, "enumer": 20, "coordin": 20, "lax": 20, "decid": 20, "techniqu": 20, "pitfal": 20, "benefit": 20, "drawback": 20, "setwal": 20, "harmless": [20, 22], "loss": 21, "meet": [21, 23], "utf16": 21, "transpar": 21, "joel": 21, "articl": 21, "upper": 21, "lower": 21, "turkic": 21, "german": 21, "\u00df": 21, "ss": 21, "accent": 21, "european": 21, "fortun": 21, "roman": 21, "confus": 21, "sadli": 21, "latter": 21, "earli": 21, "late": 21, "troubl": 22, "myvf": 22, "easiest": 22, "Then": 22, "overridden": 22, "translat": [22, 23], "vari": 22, "xdlopen": 22, "xsleep": 22, "obsolet": 22, "playback": 22, "element": 22, "makedefault": 22, "maxpathnam": 22, "unavail": 22, "accordingli": 22, "fraction": 22, "timezon": 22, "utc": 22, "multipli": 22, "86400000": 22, "syncdir": 22, "platter": 22, "reboot": 22, "xdlclose": 22, "unload": 22, "dlclose": 22, "mac": 22, "freelibrari": 22, "xdlerror": 22, "cdll": 22, "loadlibrari": 22, "dlsym": 22, "kernel32": 22, "getprocaddress": 22, "abspath": 22, "xgetsystemcal": 22, "inputflag": 22, "outputflag": 22, "xrandom": 22, "numbyt": 22, "seed": 22, "surplu": 22, "xsetsystemcal": 22, "scenario": 22, "lifetim": 22, "systemcal": 22, "microsecond": 22, "paus": 22, "millionth": 22, "nearest": 22, "inflag": 22, "outflag": 22, "xshm": 22, "xcheckreservedlock": 22, "xclose": 22, "xdevicecharacterist": 22, "bitwis": 22, "unrecognis": 22, "1027": 22, "1028": 22, "xfiles": 22, "xlock": 22, "famili": 22, "someon": 22, "fatal": 22, "xsectors": 22, "xsync": 22, "newsiz": 22, "decreas": 22, "convolut": 22, "person": 23, "might": 23, "ini": 23, "remot": 23, "backend": 23, "amazon": 23, "dynam": 23, "reformat": 23, "dataset": 23, "relation": 23, "friendlier": 23, "estim": 23, "cost": 23, "mymod": 23, "mymoduleclass": 23, "modulenam": 23, "advis": 23, "heavyweight": 23, "disconnect": 23, "mymodul": 23, "shadownam": 23, "shadow": 23, "knowledg": 23, "orderbi": 23, "satisfi": 23, "slightli": 23, "constraintarg": 23, "visit": 23, "answer": 23, "suitabl": 23, "said": 23, "signific": 23, "descend": 23, "ascend": 23, "idx": 23, "pr": 23, "opposit": 23, "succe": 23, "newnam": 23, "notif": 23, "newrowid": 23, "updatedeleterow": 23, "updateinsertrow": 23, "assign": 23, "nochang": 23, "indexnum": 23, "indexnam": 23, "indexstr": 23, "vice": 23, "versa": 23}, "objects": {"": [[1, 0, 0, "-", "apsw"]], "apsw": [[12, 1, 1, "", "AbortError"], [1, 2, 1, "", "AggregateFactory"], [1, 2, 1, "", "AggregateFinal"], [1, 2, 1, "", "AggregateStep"], [1, 2, 1, "", "AggregateT"], [12, 1, 1, "", "AuthError"], [1, 2, 1, "", "Authorizer"], [2, 2, 1, "", "Backup"], [1, 2, 1, "", "Bindings"], [12, 1, 1, "", "BindingsError"], [5, 2, 1, "", "Blob"], [12, 1, 1, "", "BusyError"], [12, 1, 1, "", "CantOpenError"], [1, 2, 1, "", "CommitHook"], [7, 2, 1, "", "Connection"], [12, 1, 1, "", "ConnectionClosedError"], [12, 1, 1, "", "ConnectionNotClosedError"], [12, 1, 1, "", "ConstraintError"], [12, 1, 1, "", "CorruptError"], [9, 2, 1, "", "Cursor"], [12, 1, 1, "", "CursorClosedError"], [12, 1, 1, "", "EmptyError"], [12, 1, 1, "", "Error"], [12, 1, 1, "", "ExecTraceAbort"], [1, 2, 1, "", "ExecTracer"], [12, 1, 1, "", "ExecutionCompleteError"], [12, 1, 1, "", "ExtensionLoadingError"], [12, 1, 1, "", "ForkingViolationError"], [12, 1, 1, "", "FormatError"], [12, 1, 1, "", "FullError"], [12, 1, 1, "", "IOError"], [12, 1, 1, "", "IncompleteExecutionError"], [23, 2, 1, "", "IndexInfo"], [12, 1, 1, "", "InternalError"], [12, 1, 1, "", "InterruptError"], [12, 1, 1, "", "LockedError"], [12, 1, 1, "", "MismatchError"], [12, 1, 1, "", "MisuseError"], [12, 1, 1, "", "NoLFSError"], [12, 1, 1, "", "NoMemError"], [12, 1, 1, "", "NotADBError"], [12, 1, 1, "", "NotFoundError"], [12, 1, 1, "", "PermissionsError"], [12, 1, 1, "", "ProtocolError"], [12, 1, 1, "", "RangeError"], [12, 1, 1, "", "ReadOnlyError"], [1, 2, 1, "", "RowTracer"], [12, 1, 1, "", "SQLError"], [1, 4, 1, "", "SQLITE_VERSION_NUMBER"], [1, 2, 1, "", "SQLiteValue"], [1, 2, 1, "", "SQLiteValues"], [1, 2, 1, "", "ScalarProtocol"], [12, 1, 1, "", "SchemaChangeError"], [12, 1, 1, "", "ThreadingViolationError"], [12, 1, 1, "", "TooBigError"], [22, 2, 1, "", "URIFilename"], [22, 2, 1, "", "VFS"], [22, 2, 1, "", "VFSFcntlPragma"], [22, 2, 1, "", "VFSFile"], [12, 1, 1, "", "VFSFileClosedError"], [12, 1, 1, "", "VFSNotImplementedError"], [23, 2, 1, "", "VTCursor"], [23, 2, 1, "", "VTModule"], [23, 2, 1, "", "VTTable"], [1, 2, 1, "", "WindowFactory"], [1, 2, 1, "", "WindowFinal"], [1, 2, 1, "", "WindowInverse"], [1, 2, 1, "", "WindowStep"], [1, 2, 1, "", "WindowT"], [1, 2, 1, "", "WindowValue"], [1, 3, 1, "", "allow_missing_dict_bindings"], [1, 3, 1, "", "apswversion"], [4, 0, 0, "-", "bestpractice"], [1, 4, 1, "", "compile_options"], [1, 3, 1, "", "complete"], [1, 3, 1, "", "config"], [1, 4, 1, "", "connection_hooks"], [1, 3, 1, "", "connections"], [1, 3, 1, "", "enablesharedcache"], [1, 3, 1, "", "exceptionfor"], [14, 0, 0, "-", "ext"], [1, 3, 1, "", "fork_checker"], [1, 3, 1, "", "format_sql_value"], [1, 3, 1, "", "hard_heap_limit"], [1, 3, 1, "", "initialize"], [1, 4, 1, "", "keywords"], [1, 3, 1, "", "log"], [1, 6, 1, "", "mapping_access"], [1, 6, 1, "", "mapping_authorizer_function"], [1, 6, 1, "", "mapping_authorizer_return_codes"], [1, 6, 1, "", "mapping_bestindex_constraints"], [1, 6, 1, "", "mapping_config"], [1, 6, 1, "", "mapping_conflict_resolution_modes"], [1, 6, 1, "", "mapping_db_config"], [1, 6, 1, "", "mapping_db_status"], [1, 6, 1, "", "mapping_device_characteristics"], [1, 6, 1, "", "mapping_extended_result_codes"], [1, 6, 1, "", "mapping_file_control"], [1, 6, 1, "", "mapping_function_flags"], [1, 6, 1, "", "mapping_limits"], [1, 6, 1, "", "mapping_locking_level"], [1, 6, 1, "", "mapping_open_flags"], [1, 6, 1, "", "mapping_prepare_flags"], [1, 6, 1, "", "mapping_result_codes"], [1, 6, 1, "", "mapping_statement_status"], [1, 6, 1, "", "mapping_status"], [1, 6, 1, "", "mapping_sync"], [1, 6, 1, "", "mapping_trace_codes"], [1, 6, 1, "", "mapping_txn_state"], [1, 6, 1, "", "mapping_virtual_table_configuration_options"], [1, 6, 1, "", "mapping_virtual_table_scan_flags"], [1, 6, 1, "", "mapping_wal_checkpoint"], [1, 6, 1, "", "mapping_xshmlock_flags"], [1, 3, 1, "", "memoryhighwater"], [1, 3, 1, "", "memoryused"], [1, 4, 1, "", "no_change"], [1, 3, 1, "", "randomness"], [1, 3, 1, "", "releasememory"], [1, 3, 1, "", "set_default_vfs"], [19, 0, 0, "-", "shell"], [1, 3, 1, "", "shutdown"], [1, 3, 1, "", "sleep"], [1, 3, 1, "", "softheaplimit"], [1, 3, 1, "", "sqlite3_sourceid"], [1, 3, 1, "", "sqlitelibversion"], [1, 3, 1, "", "status"], [1, 3, 1, "", "strglob"], [1, 3, 1, "", "stricmp"], [1, 3, 1, "", "strlike"], [1, 3, 1, "", "strnicmp"], [1, 3, 1, "", "unregister_vfs"], [1, 4, 1, "", "using_amalgamation"], [1, 3, 1, "", "vfs_details"], [1, 3, 1, "", "vfsnames"], [5, 2, 1, "", "zeroblob"]], "apsw.Backup": [[2, 3, 1, "", "__enter__"], [2, 3, 1, "", "__exit__"], [2, 3, 1, "", "close"], [2, 4, 1, "", "done"], [2, 3, 1, "", "finish"], [2, 4, 1, "", "pagecount"], [2, 4, 1, "", "remaining"], [2, 3, 1, "", "step"]], "apsw.Blob": [[5, 3, 1, "", "__enter__"], [5, 3, 1, "", "__exit__"], [5, 3, 1, "", "close"], [5, 3, 1, "", "length"], [5, 3, 1, "", "read"], [5, 3, 1, "", "readinto"], [5, 3, 1, "", "reopen"], [5, 3, 1, "", "seek"], [5, 3, 1, "", "tell"], [5, 3, 1, "", "write"]], "apsw.Connection": [[7, 3, 1, "", "__enter__"], [7, 3, 1, "", "__exit__"], [7, 4, 1, "", "authorizer"], [7, 3, 1, "", "autovacuum_pages"], [7, 3, 1, "", "backup"], [7, 3, 1, "", "blobopen"], [7, 3, 1, "", "cache_stats"], [7, 3, 1, "", "cacheflush"], [7, 3, 1, "", "changes"], [7, 3, 1, "", "close"], [7, 3, 1, "", "collationneeded"], [7, 3, 1, "", "column_metadata"], [7, 3, 1, "", "config"], [7, 3, 1, "", "create_window_function"], [7, 3, 1, "", "createaggregatefunction"], [7, 3, 1, "", "createcollation"], [7, 3, 1, "", "createmodule"], [7, 3, 1, "", "createscalarfunction"], [7, 3, 1, "", "cursor"], [7, 4, 1, "", "cursor_factory"], [7, 3, 1, "", "db_filename"], [7, 3, 1, "", "db_names"], [7, 3, 1, "", "deserialize"], [7, 3, 1, "", "drop_modules"], [7, 3, 1, "", "enableloadextension"], [7, 4, 1, "", "exectrace"], [7, 3, 1, "", "execute"], [7, 3, 1, "", "executemany"], [7, 3, 1, "", "filecontrol"], [7, 4, 1, "", "filename"], [7, 4, 1, "", "filename_journal"], [7, 4, 1, "", "filename_wal"], [7, 3, 1, "", "getautocommit"], [7, 3, 1, "", "getexectrace"], [7, 3, 1, "", "getrowtrace"], [7, 4, 1, "", "in_transaction"], [7, 3, 1, "", "interrupt"], [7, 4, 1, "", "is_interrupted"], [7, 3, 1, "", "last_insert_rowid"], [7, 3, 1, "", "limit"], [7, 3, 1, "", "loadextension"], [7, 4, 1, "", "open_flags"], [7, 4, 1, "", "open_vfs"], [7, 3, 1, "", "overloadfunction"], [7, 3, 1, "", "pragma"], [7, 3, 1, "", "read"], [7, 3, 1, "", "readonly"], [7, 3, 1, "", "release_memory"], [7, 4, 1, "", "rowtrace"], [7, 3, 1, "", "serialize"], [7, 3, 1, "", "set_last_insert_rowid"], [7, 3, 1, "", "setauthorizer"], [7, 3, 1, "", "setbusyhandler"], [7, 3, 1, "", "setbusytimeout"], [7, 3, 1, "", "setcommithook"], [7, 3, 1, "", "setexectrace"], [7, 3, 1, "", "setprofile"], [7, 3, 1, "", "setprogresshandler"], [7, 3, 1, "", "setrollbackhook"], [7, 3, 1, "", "setrowtrace"], [7, 3, 1, "", "setupdatehook"], [7, 3, 1, "", "setwalhook"], [7, 3, 1, "", "sqlite3pointer"], [7, 3, 1, "", "status"], [7, 4, 1, "", "system_errno"], [7, 3, 1, "", "table_exists"], [7, 3, 1, "", "totalchanges"], [7, 3, 1, "", "trace_v2"], [7, 3, 1, "", "txn_state"], [7, 3, 1, "", "vtab_config"], [7, 3, 1, "", "vtab_on_conflict"], [7, 3, 1, "", "wal_autocheckpoint"], [7, 3, 1, "", "wal_checkpoint"]], "apsw.Cursor": [[9, 3, 1, "", "__iter__"], [9, 3, 1, "", "__next__"], [9, 3, 1, "", "close"], [9, 4, 1, "", "connection"], [9, 4, 1, "", "description"], [9, 4, 1, "", "description_full"], [9, 4, 1, "", "exectrace"], [9, 3, 1, "", "execute"], [9, 3, 1, "", "executemany"], [9, 4, 1, "", "expanded_sql"], [9, 3, 1, "", "fetchall"], [9, 3, 1, "", "fetchone"], [9, 4, 1, "", "get"], [9, 3, 1, "", "getconnection"], [9, 3, 1, "", "getdescription"], [9, 3, 1, "", "getexectrace"], [9, 3, 1, "", "getrowtrace"], [9, 4, 1, "", "has_vdbe"], [9, 4, 1, "", "is_explain"], [9, 4, 1, "", "is_readonly"], [9, 4, 1, "", "rowtrace"], [9, 3, 1, "", "setexectrace"], [9, 3, 1, "", "setrowtrace"]], "apsw.Error": [[12, 4, 1, "", "error_offset"], [12, 4, 1, "", "extendedresult"], [12, 4, 1, "", "result"]], "apsw.IndexInfo": [[23, 4, 1, "", "colUsed"], [23, 4, 1, "", "distinct"], [23, 4, 1, "", "estimatedCost"], [23, 4, 1, "", "estimatedRows"], [23, 3, 1, "", "get_aConstraintUsage_argvIndex"], [23, 3, 1, "", "get_aConstraintUsage_in"], [23, 3, 1, "", "get_aConstraintUsage_omit"], [23, 3, 1, "", "get_aConstraint_collation"], [23, 3, 1, "", "get_aConstraint_iColumn"], [23, 3, 1, "", "get_aConstraint_op"], [23, 3, 1, "", "get_aConstraint_rhs"], [23, 3, 1, "", "get_aConstraint_usable"], [23, 3, 1, "", "get_aOrderBy_desc"], [23, 3, 1, "", "get_aOrderBy_iColumn"], [23, 4, 1, "", "idxFlags"], [23, 4, 1, "", "idxNum"], [23, 4, 1, "", "idxStr"], [23, 4, 1, "", "nConstraint"], [23, 4, 1, "", "nOrderBy"], [23, 4, 1, "", "orderByConsumed"], [23, 3, 1, "", "set_aConstraintUsage_argvIndex"], [23, 3, 1, "", "set_aConstraintUsage_in"], [23, 3, 1, "", "set_aConstraintUsage_omit"]], "apsw.URIFilename": [[22, 3, 1, "", "filename"], [22, 3, 1, "", "uri_boolean"], [22, 3, 1, "", "uri_int"], [22, 3, 1, "", "uri_parameter"]], "apsw.VFS": [[22, 3, 1, "", "excepthook"], [22, 3, 1, "", "unregister"], [22, 3, 1, "", "xAccess"], [22, 3, 1, "", "xCurrentTime"], [22, 3, 1, "", "xCurrentTimeInt64"], [22, 3, 1, "", "xDelete"], [22, 3, 1, "", "xDlClose"], [22, 3, 1, "", "xDlError"], [22, 3, 1, "", "xDlOpen"], [22, 3, 1, "", "xDlSym"], [22, 3, 1, "", "xFullPathname"], [22, 3, 1, "", "xGetLastError"], [22, 3, 1, "", "xGetSystemCall"], [22, 3, 1, "", "xNextSystemCall"], [22, 3, 1, "", "xOpen"], [22, 3, 1, "", "xRandomness"], [22, 3, 1, "", "xSetSystemCall"], [22, 3, 1, "", "xSleep"]], "apsw.VFSFcntlPragma": [[22, 4, 1, "", "name"], [22, 4, 1, "", "result"], [22, 4, 1, "", "value"]], "apsw.VFSFile": [[22, 3, 1, "", "excepthook"], [22, 3, 1, "", "xCheckReservedLock"], [22, 3, 1, "", "xClose"], [22, 3, 1, "", "xDeviceCharacteristics"], [22, 3, 1, "", "xFileControl"], [22, 3, 1, "", "xFileSize"], [22, 3, 1, "", "xLock"], [22, 3, 1, "", "xRead"], [22, 3, 1, "", "xSectorSize"], [22, 3, 1, "", "xSync"], [22, 3, 1, "", "xTruncate"], [22, 3, 1, "", "xUnlock"], [22, 3, 1, "", "xWrite"]], "apsw.VTCursor": [[23, 3, 1, "", "Close"], [23, 3, 1, "", "Column"], [23, 3, 1, "", "ColumnNoChange"], [23, 3, 1, "", "Eof"], [23, 3, 1, "", "Filter"], [23, 3, 1, "", "Next"], [23, 3, 1, "", "Rowid"]], "apsw.VTModule": [[23, 3, 1, "", "Connect"], [23, 3, 1, "", "Create"], [23, 3, 1, "", "ShadowName"]], "apsw.VTTable": [[23, 3, 1, "", "Begin"], [23, 3, 1, "", "BestIndex"], [23, 3, 1, "", "BestIndexObject"], [23, 3, 1, "", "Commit"], [23, 3, 1, "", "Destroy"], [23, 3, 1, "", "Disconnect"], [23, 3, 1, "", "FindFunction"], [23, 3, 1, "", "Open"], [23, 3, 1, "", "Release"], [23, 3, 1, "", "Rename"], [23, 3, 1, "", "Rollback"], [23, 3, 1, "", "Savepoint"], [23, 3, 1, "", "Sync"], [23, 3, 1, "", "UpdateChangeRow"], [23, 3, 1, "", "UpdateDeleteRow"], [23, 3, 1, "", "UpdateInsertRow"]], "apsw.bestpractice": [[4, 5, 1, "", "apply"], [4, 5, 1, "", "connection_busy_timeout"], [4, 5, 1, "", "connection_dqs"], [4, 5, 1, "", "connection_enable_foreign_keys"], [4, 5, 1, "", "connection_wal"], [4, 5, 1, "", "library_logging"], [4, 6, 1, "", "recommended"]], "apsw.ext": [[14, 2, 1, "", "DataClassRowFactory"], [14, 2, 1, "", "DatabaseFileInfo"], [14, 2, 1, "", "JournalFileInfo"], [14, 2, 1, "", "QueryAction"], [14, 2, 1, "", "QueryDetails"], [14, 2, 1, "", "QueryPlan"], [14, 2, 1, "", "SQLiteTypeAdapter"], [14, 2, 1, "", "TypesConverterCursorFactory"], [14, 2, 1, "", "VDBEInstruction"], [14, 2, 1, "", "VTColumnAccess"], [14, 2, 1, "", "WALFileInfo"], [14, 5, 1, "", "dbinfo"], [14, 5, 1, "", "format_query_table"], [14, 5, 1, "", "generate_series"], [14, 5, 1, "", "generate_series_sqlite"], [14, 5, 1, "", "get_column_names"], [14, 5, 1, "", "index_info_to_dict"], [14, 5, 1, "", "log_sqlite"], [14, 5, 1, "", "make_virtual_module"], [14, 5, 1, "", "print_augmented_traceback"], [14, 5, 1, "", "query_info"]], "apsw.ext.DataClassRowFactory": [[14, 3, 1, "", "__call__"], [14, 3, 1, "", "get_dataclass"], [14, 3, 1, "", "get_type"]], "apsw.ext.DatabaseFileInfo": [[14, 4, 1, "", "application_id"], [14, 4, 1, "", "autovacuum_top_root"], [14, 4, 1, "", "default_cache_size"], [14, 4, 1, "", "file_change_counter"], [14, 4, 1, "", "filename"], [14, 4, 1, "", "freelist_pages"], [14, 4, 1, "", "header"], [14, 4, 1, "", "incremental_vacuum"], [14, 4, 1, "", "page_count"], [14, 4, 1, "", "page_size"], [14, 4, 1, "", "read_format"], [14, 4, 1, "", "reserved_bytes"], [14, 4, 1, "", "schema_cookie"], [14, 4, 1, "", "schema_format"], [14, 4, 1, "", "sqlite_version"], [14, 4, 1, "", "text_encoding"], [14, 4, 1, "", "user_version"], [14, 4, 1, "", "version_valid_for"], [14, 4, 1, "", "write_format"]], "apsw.ext.JournalFileInfo": [[14, 4, 1, "", "filename"], [14, 4, 1, "", "header"], [14, 4, 1, "", "header_valid"], [14, 4, 1, "", "initial_pages"], [14, 4, 1, "", "page_count"], [14, 4, 1, "", "page_size"], [14, 4, 1, "", "random_nonce"], [14, 4, 1, "", "sector_size"]], "apsw.ext.QueryAction": [[14, 4, 1, "", "action"], [14, 4, 1, "", "action_name"], [14, 4, 1, "", "column_name"], [14, 4, 1, "", "database_name"], [14, 4, 1, "", "file_name"], [14, 4, 1, "", "function_name"], [14, 4, 1, "", "module_name"], [14, 4, 1, "", "operation"], [14, 4, 1, "", "pragma_name"], [14, 4, 1, "", "pragma_value"], [14, 4, 1, "", "table_name"], [14, 4, 1, "", "trigger_name"], [14, 4, 1, "", "trigger_or_view"], [14, 4, 1, "", "view_name"]], "apsw.ext.QueryDetails": [[14, 4, 1, "", "actions"], [14, 4, 1, "", "bindings"], [14, 4, 1, "", "description"], [14, 4, 1, "", "description_full"], [14, 4, 1, "", "expanded_sql"], [14, 4, 1, "", "explain"], [14, 4, 1, "", "first_query"], [14, 4, 1, "", "has_vdbe"], [14, 4, 1, "", "is_explain"], [14, 4, 1, "", "is_readonly"], [14, 4, 1, "", "query"], [14, 4, 1, "", "query_plan"], [14, 4, 1, "", "query_remaining"]], "apsw.ext.QueryPlan": [[14, 4, 1, "", "detail"], [14, 4, 1, "", "sub"]], "apsw.ext.SQLiteTypeAdapter": [[14, 3, 1, "", "to_sqlite_value"]], "apsw.ext.TypesConverterCursorFactory": [[14, 2, 1, "", "DictAdapter"], [14, 2, 1, "", "TypeConverterCursor"], [14, 3, 1, "", "__call__"], [14, 3, 1, "", "adapt_value"], [14, 3, 1, "", "convert_value"], [14, 3, 1, "", "register_adapter"], [14, 3, 1, "", "register_converter"], [14, 3, 1, "", "wrap_bindings"], [14, 3, 1, "", "wrap_sequence_bindings"]], "apsw.ext.TypesConverterCursorFactory.TypeConverterCursor": [[14, 3, 1, "", "execute"], [14, 3, 1, "", "executemany"]], "apsw.ext.VDBEInstruction": [[14, 4, 1, "", "addr"], [14, 4, 1, "", "comment"], [14, 4, 1, "", "opcode"], [14, 4, 1, "", "p1"], [14, 4, 1, "", "p2"], [14, 4, 1, "", "p3"], [14, 4, 1, "", "p4"], [14, 4, 1, "", "p5"]], "apsw.ext.VTColumnAccess": [[14, 4, 1, "", "By_Attr"], [14, 4, 1, "", "By_Index"], [14, 4, 1, "", "By_Name"]], "apsw.ext.WALFileInfo": [[14, 4, 1, "", "checkpoint_sequence_number"], [14, 4, 1, "", "checksum_1"], [14, 4, 1, "", "checksum_2"], [14, 4, 1, "", "filename"], [14, 4, 1, "", "format_version"], [14, 4, 1, "", "magic_number"], [14, 4, 1, "", "page_size"], [14, 4, 1, "", "salt_1"], [14, 4, 1, "", "salt_2"]], "apsw.shell": [[19, 2, 1, "", "Shell"], [19, 5, 1, "", "main"]], "apsw.shell.Shell": [[19, 1, 1, "", "Error"], [19, 2, 1, "", "PositionRow"], [19, 2, 1, "", "Row"], [19, 3, 1, "", "cmdloop"], [19, 3, 1, "", "complete"], [19, 3, 1, "", "complete_command"], [19, 3, 1, "", "complete_sql"], [19, 7, 1, "", "db"], [19, 3, 1, "", "display_timing"], [19, 3, 1, "", "fixup_backslashes"], [19, 3, 1, "", "get_resource_usage"], [19, 3, 1, "", "getcompleteline"], [19, 3, 1, "", "getline"], [19, 3, 1, "", "handle_exception"], [19, 3, 1, "", "handle_interrupt"], [19, 3, 1, "", "log_handler"], [19, 3, 1, "", "pop_input"], [19, 3, 1, "", "pop_output"], [19, 3, 1, "", "process_args"], [19, 3, 1, "", "process_command"], [19, 3, 1, "", "process_complete_line"], [19, 3, 1, "", "process_sql"], [19, 3, 1, "", "process_unknown_args"], [19, 3, 1, "", "push_input"], [19, 3, 1, "", "push_output"], [19, 3, 1, "", "set_encoding"], [19, 3, 1, "", "usage"], [19, 3, 1, "", "write"], [19, 3, 1, "", "write_error"], [19, 3, 1, "", "write_value"]], "apsw.shell.Shell.Row": [[19, 4, 1, "", "columns"], [19, 4, 1, "", "is_first"], [19, 4, 1, "", "is_last"], [19, 4, 1, "", "row"]], "apsw.zeroblob": [[5, 3, 1, "", "length"]]}, "objtypes": {"0": "py:module", "1": "py:exception", "2": "py:class", "3": "py:method", "4": "py:attribute", "5": "py:function", "6": "py:data", "7": "py:property"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "exception", "Python exception"], "2": ["py", "class", "Python class"], "3": ["py", "method", "Python method"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "function", "Python function"], "6": ["py", "data", "Python data"], "7": ["py", "property", "Python property"]}, "titleterms": {"about": 0, "what": [0, 11, 18], "apsw": [0, 1, 11, 12, 13, 16, 18], "doe": [0, 18], "depend": 0, "host": [0, 13], "mail": 0, "list": 0, "contact": 0, "issu": 0, "track": 0, "sqlite": [0, 1, 11, 12, 14, 17, 20], "version": [0, 11, 19], "python": [0, 19], "last": 0, "releas": 0, "modul": [1, 10, 18], "type": [1, 10, 11, 14, 21], "annot": 1, "api": [1, 4, 10, 14], "refer": [1, 14], "constant": 1, "backup": [2, 11, 19], "import": [2, 19], "detail": [2, 11, 14], "class": [2, 5, 7, 9, 12, 19, 22, 23], "benchmark": 3, "speedtest": 3, "best": [4, 11], "practic": [4, 11], "explan": 4, "blob": [5, 11], "input": 5, "output": [5, 19], "zeroblob": 5, "chang": [6, 19], "histori": 6, "3": [6, 16], "43": [6, 16], "1": [6, 16], "0": 6, "42": 6, "41": 6, "2": 6, "40": 6, "39": 6, "4": [6, 15], "38": 6, "5": [6, 15], "r1": 6, "37": 6, "36": 6, "35": 6, "34": 6, "33": 6, "32": 6, "31": 6, "30": 6, "29": 6, "28": 6, "27": 6, "26": 6, "25": 6, "24": 6, "23": 6, "22": 6, "21": 6, "20": 6, "19": 6, "18": 6, "17": 6, "16": 6, "15": 6, "14": 6, "13": 6, "12": 6, "11": 6, "9": 6, "8": 6, "10": 6, "7": 6, "6": 6, "r2": 6, "r3": 6, "connect": [7, 10, 19, 20], "databas": [7, 11, 19, 20], "copyright": 8, "licens": 8, "cursor": [9, 10, 20], "execut": [9, 11, 13], "sql": [9, 11, 20], "some": 9, "exampl": [9, 11], "dbapi": 10, "note": [10, 19], "interfac": 10, "object": 10, "option": [10, 17, 19], "db": [10, 19], "extens": [10, 15], "tour": 11, "check": 11, "log": [11, 14, 19, 20], "open": [11, 19], "why": 11, "you": 11, "us": [11, 14], "bind": [11, 20], "provid": [11, 17], "valu": [11, 19], "sequenc": 11, "dict": 11, "differ": [11, 18, 20], "transact": [11, 20], "executemani": 11, "pragma": 11, "trace": [11, 12, 13], "return": 11, "row": [11, 13, 14], "defin": 11, "your": [11, 17, 20], "own": 11, "function": [11, 14], "aggreg": 11, "window": 11, "collat": 11, "sort": 11, "access": [11, 14], "result": [11, 14], "column": [11, 14], "name": [11, 14, 19], "convers": 11, "out": [11, 14], "queri": [11, 14], "i": [11, 20], "o": 11, "author": 11, "control": 11, "can": 11, "do": 11, "progress": 11, "handler": 11, "file": [11, 19, 22], "commit": 11, "hook": 11, "updat": [11, 20], "virtual": [11, 14, 22, 23], "tabl": [11, 14, 19, 23], "vf": [11, 22], "system": [11, 22], "limit": 11, "an": 11, "shell": [11, 19], "statist": 11, "format": 11, "cleanup": 11, "except": [12, 19, 22], "error": [12, 22], "chain": 12, "unrais": 12, "specif": 12, "gener": 12, "intern": 12, "permiss": 12, "etc": 12, "abort": 12, "busi": [12, 20], "memori": 12, "disk": 12, "augment": 12, "stack": 12, "model": 13, "multi": 13, "thread": 13, "re": 13, "entranc": 13, "64": 13, "bit": [13, 14], "statement": 13, "cach": [13, 20], "tracer": 13, "variou": 14, "interest": 14, "pretti": 14, "print": [14, 19], "traceback": 14, "convert": 14, "inform": 14, "advanc": 14, "fts3": 15, "icu": 15, "json1": 15, "rbu": 15, "rtree": 15, "document": 16, "instal": 17, "custom": [17, 20], "pypi": 17, "recommend": 17, "linux": 17, "bsd": 17, "build": 17, "process": 17, "find": [17, 19], "sourc": 17, "verifi": 17, "download": 17, "command": [17, 19], "fetch": 17, "ext": 17, "test": 17, "sqlite3": 18, "better": 18, "line": 19, "usag": 19, "programmat": 19, "autoimport": 19, "filenam": 19, "bail": 19, "ON": 19, "off": 19, "cd": 19, "dir": 19, "close": 19, "colour": 19, "scheme": 19, "number": 19, "dbconfig": 19, "dbinfo": 19, "dump": 19, "echo": 19, "encod": 19, "exit": 19, "code": 19, "header": 19, "": 19, "help": 19, "indic": 19, "load": 19, "entri": 19, "mode": [19, 20], "nullvalu": 19, "string": 19, "paramet": 19, "cmd": 19, "prompt": 19, "main": 19, "continu": 19, "py": 19, "read": 19, "restor": 19, "schema": [19, 20], "separ": 19, "arg": 19, "show": 19, "pattern": 19, "timeout": 19, "m": 19, "timer": 19, "vfsinfo": 19, "vfslist": 19, "vfsname": 19, "width": 19, "num": 19, "tip": 20, "diagnost": 20, "manag": 20, "pars": 20, "handl": 20, "write": 20, "ahead": 20, "share": 20, "map": 21, "unicod": 21, "vfsfcntlpragma": 22, "vfsfile": 22, "urifilenam": 22, "indexinfo": 23, "vtmodul": 23, "vttabl": 23, "vtcursor": 23, "troubleshoot": 23}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.viewcode": 1, "sphinx": 60}, "alltitles": {"About": [[0, "about"]], "What APSW does": [[0, "what-apsw-does"]], "Dependencies": [[0, "dependencies"]], "Hosting": [[0, "hosting"]], "Mailing lists/contacts": [[0, "mailing-lists-contacts"]], "Issue tracking": [[0, "issue-tracking"]], "APSW and SQLite versions": [[0, "apsw-and-sqlite-versions"]], "Python versions": [[0, "python-versions"]], "Last APSW release": [[0, "id1"]], "APSW Module": [[1, "apsw-module"]], "Type Annotations": [[1, "type-annotations"]], "API Reference": [[1, "api-reference"], [14, "module-apsw.ext"]], "SQLite constants": [[1, "sqlite-constants"]], "Backup": [[2, "backup"]], "Important details": [[2, "important-details"]], "Backup class": [[2, "backup-class"]], "Benchmarking": [[3, "benchmarking"]], "speedtest": [[3, "speedtest"]], "Best Practice": [[4, "best-practice"], [11, "best-practice"]], "Explanation": [[4, "explanation"]], "API": [[4, "module-apsw.bestpractice"]], "Blob Input/Output": [[5, "blob-input-output"]], "zeroblob class": [[5, "zeroblob-class"]], "Blob class": [[5, "blob-class"]], "Change History": [[6, "change-history"]], "3.43.1.1": [[6, "id1"]], "3.43.1.0": [[6, "id2"]], "3.43.0.0": [[6, "id3"]], "3.42.0.1": [[6, "id4"]], "3.42.0.0": [[6, "id5"]], "3.41.2.0": [[6, "id6"]], "3.41.0.0": [[6, "id7"]], "3.40.1.0": [[6, "id8"]], "3.40.0.0": [[6, "id9"]], "3.39.4.0": [[6, "id10"]], "3.39.3.0": [[6, "id11"]], "3.39.2.1": [[6, "id12"]], "3.39.2.0": [[6, "id13"]], "3.38.5-r1": [[6, "r1"]], "3.38.1-r1": [[6, "id14"]], "3.37.0-r1": [[6, "id15"]], "3.36.0-r1": [[6, "id16"]], "3.35.4-r1": [[6, "id17"]], "3.34.0-r1": [[6, "id18"]], "3.33.0-r1": [[6, "id19"]], "3.32.2-r1": [[6, "id20"]], "3.31.1-r1": [[6, "id21"]], "3.30.1-r1": [[6, "id22"]], "3.29.0-r1": [[6, "id23"]], "3.28.0-r1": [[6, "id24"]], "3.27.2-r1": [[6, "id25"]], "3.26.0-r1": [[6, "id26"]], "3.25.2-r1": [[6, "id27"]], "3.24.0-r1": [[6, "id28"]], "3.23.1-r1": [[6, "id29"]], "3.22.0-r1": [[6, "id30"]], "3.21.0-r1": [[6, "id31"]], "3.20.1-r1": [[6, "id32"]], "3.19.3-r1": [[6, "id33"]], "3.18.0-r1": [[6, "id34"]], "3.17.0-r1": [[6, "id35"]], "3.16.2-r1": [[6, "id36"]], "3.15.2-r1": [[6, "id37"]], "3.15.1-r1": [[6, "id38"]], "3.15.0-r1": [[6, "id39"]], "3.14.1-r1": [[6, "id40"]], "3.13.0-r1": [[6, "id41"]], "3.12.2-r1": [[6, "id42"]], "3.11.1-r1": [[6, "id43"]], "3.11.0-r1": [[6, "id44"]], "3.9.2-r1": [[6, "id45"]], "3.8.11.1-r1": [[6, "id46"]], "3.8.10.1-r1": [[6, "id47"]], "3.8.9-r1": [[6, "id48"]], "3.8.8.2-r1": [[6, "id49"]], "3.8.8.1-r1": [[6, "id50"]], "3.8.7.3-r1": [[6, "id51"]], "3.8.7.2-r1": [[6, "id52"]], "3.8.7.1-r1": [[6, "id53"]], "3.8.6-r1": [[6, "id54"]], "3.8.5-r1": [[6, "id55"]], "3.8.4.3-r1": [[6, "id56"]], "3.8.4.2-r1": [[6, "id57"]], "3.8.4.1-r1": [[6, "id58"]], "3.8.3.1-r1": [[6, "id59"]], "3.8.3-r1": [[6, "id60"]], "3.8.2-r1": [[6, "id61"]], "3.8.1-r1": [[6, "id62"]], "3.8.0.2-r1": [[6, "id63"]], "3.8.0.1-r1": [[6, "id64"]], "3.8.0-r2": [[6, "r2"]], "3.8.0-r1": [[6, "id65"]], "3.7.17-r1": [[6, "id66"]], "3.7.16.2-r1": [[6, "id67"]], "3.7.16.1-r1": [[6, "id68"]], "3.7.16-r1": [[6, "id69"]], "3.7.15.2-r1": [[6, "id70"]], "3.7.15.1-r1": [[6, "id71"]], "3.7.15-r1": [[6, "id72"]], "3.7.14.1-r1": [[6, "id73"]], "3.7.14-r2": [[6, "id74"]], "3.7.14-r1": [[6, "id75"]], "3.7.13-r1": [[6, "id76"]], "3.7.12.1-r1": [[6, "id77"]], "3.7.12-r1": [[6, "id78"]], "3.7.11-r1": [[6, "id79"]], "3.7.10-r1": [[6, "id80"]], "3.7.9-r1": [[6, "id81"]], "3.7.8-r1": [[6, "id82"]], "3.7.7.1-r1": [[6, "id83"]], "3.7.6.3-r1": [[6, "id84"]], "3.7.6.2-r1": [[6, "id85"]], "3.7.5-r1": [[6, "id86"]], "3.7.4-r1": [[6, "id87"]], "3.7.3-r1": [[6, "id88"]], "3.7.2-r1": [[6, "id89"]], "3.7.1-r1": [[6, "id90"]], "3.7.0.1-r1": [[6, "id91"]], "3.7.0-r1": [[6, "id92"]], "3.6.23.1-r1": [[6, "id93"]], "3.6.23-r1": [[6, "id94"]], "3.6.22-r1": [[6, "id95"]], "3.6.21-r1": [[6, "id96"]], "3.6.20-r1": [[6, "id97"]], "3.6.19-r1": [[6, "id98"]], "3.6.18-r1": [[6, "id99"]], "3.6.17-r1": [[6, "id100"]], "3.6.16-r1": [[6, "id101"]], "3.6.15-r1": [[6, "id102"]], "3.6.14.2-r1": [[6, "id103"]], "3.6.14.1-r1": [[6, "id104"]], "3.6.13-r1": [[6, "id105"]], "3.6.11-r1": [[6, "id106"]], "3.6.10-r1": [[6, "id107"]], "3.6.6.2-r1": [[6, "id108"]], "3.6.5-r1": [[6, "id109"]], "3.6.3-r1": [[6, "id110"]], "3.5.9-r2": [[6, "id111"]], "3.5.9-r1": [[6, "id112"]], "3.3.13-r1": [[6, "id113"]], "3.3.10-r1": [[6, "id114"]], "3.3.9-r1": [[6, "id115"]], "3.3.8-r1": [[6, "id117"]], "3.3.7-r1": [[6, "id118"]], "3.3.5-r1": [[6, "id119"]], "3.2.7-r1": [[6, "id120"]], "3.2.2-r1": [[6, "id121"]], "3.2.1-r1": [[6, "id122"]], "3.1.3-r1": [[6, "id123"]], "3.0.8-r3": [[6, "r3"]], "3.0.8-r2": [[6, "id124"]], "3.0.8-r1": [[6, "id125"]], "Connections to a database": [[7, "connections-to-a-database"]], "Connection class": [[7, "connection-class"]], "Copyright and License": [[8, "copyright-and-license"]], "Cursors (executing SQL)": [[9, "cursors-executing-sql"]], "Cursor class": [[9, "cursor-class"]], "Some examples": [[9, "id1"]], "DBAPI notes": [[10, "dbapi-notes"]], "Module Interface": [[10, "module-interface"]], "Connection Objects": [[10, "connection-objects"]], "Cursor Objects": [[10, "cursor-objects"]], "Type objects": [[10, "type-objects"]], "Optional DB API Extensions": [[10, "optional-db-api-extensions"]], "Example/Tour": [[11, "example-tour"]], "Checking APSW and SQLite versions": [[11, "checking-apsw-and-sqlite-versions"]], "Logging": [[11, "logging"]], "Opening the database": [[11, "opening-the-database"]], "Executing SQL": [[11, "executing-sql"]], "Why you use bindings to provide values": [[11, "why-you-use-bindings-to-provide-values"]], "Bindings (sequence)": [[11, "bindings-sequence"]], "Bindings (dict)": [[11, "bindings-dict"]], "Using different types": [[11, "using-different-types"]], "Transactions": [[11, "transactions"], [20, "transactions"]], "executemany": [[11, "executemany"]], "Pragmas": [[11, "pragmas"]], "Tracing execution": [[11, "tracing-execution"]], "Tracing returned rows": [[11, "tracing-returned-rows"]], "Defining your own functions": [[11, "defining-your-own-functions"]], "Defining aggregate functions": [[11, "defining-aggregate-functions"]], "Defining window functions": [[11, "defining-window-functions"]], "Defining collations (sorting)": [[11, "defining-collations-sorting"]], "Accessing results by column name": [[11, "accessing-results-by-column-name"]], "Type conversion into/out of database": [[11, "type-conversion-into-out-of-database"]], "Query details": [[11, "query-details"]], "Blob I/O": [[11, "blob-i-o"]], "Authorizer (control what SQL can do)": [[11, "authorizer-control-what-sql-can-do"]], "Progress handler": [[11, "progress-handler"]], "File Control": [[11, "file-control"]], "Commit hook": [[11, "commit-hook"]], "Update hook": [[11, "update-hook"]], "Virtual tables": [[11, "virtual-tables"]], "VFS - Virtual File System": [[11, "vfs-virtual-file-system"]], "Limits": [[11, "limits"]], "Backup an open database": [[11, "backup-an-open-database"]], "Shell": [[11, "shell"], [19, "shell"]], "Statistics": [[11, "statistics"]], "Tracing": [[11, "tracing"], [13, "tracing"]], "Formatting query results table": [[11, "formatting-query-results-table"]], "Cleanup": [[11, "cleanup"]], "Exceptions and Errors": [[12, "exceptions-and-errors"]], "Chaining": [[12, "chaining"]], "Unraisable": [[12, "unraisable"]], "Exception Classes": [[12, "exception-classes"]], "APSW specific exceptions": [[12, "apsw-specific-exceptions"]], "SQLite Exceptions": [[12, "sqlite-exceptions"]], "General Errors": [[12, "general-errors"]], "Internal Errors": [[12, "internal-errors"]], "Permissions Etc": [[12, "permissions-etc"]], "Abort/Busy Etc": [[12, "abort-busy-etc"]], "Memory/Disk": [[12, "memory-disk"]], "Augmented stack traces": [[12, "augmented-stack-traces"]], "Execution and tracing": [[13, "execution-and-tracing"]], "Execution model": [[13, "execution-model"]], "Multi-threading and re-entrancy": [[13, "multi-threading-and-re-entrancy"]], "64 bit hosts": [[13, "bit-hosts"]], "Statement Cache": [[13, "statement-cache"]], "Execution Tracer": [[13, "execution-tracer"]], "Row Tracer": [[13, "row-tracer"]], "APSW Trace": [[13, "apsw-trace"]], "Various interesting and useful bits of functionality": [[14, "various-interesting-and-useful-bits-of-functionality"]], "Pretty printing": [[14, "pretty-printing"]], "Logging and tracebacks": [[14, "logging-and-tracebacks"]], "Virtual Tables": [[14, "virtual-tables"], [23, "virtual-tables"]], "Accessing result rows by column name": [[14, "accessing-result-rows-by-column-name"]], "Converting types into and out of SQLite": [[14, "converting-types-into-and-out-of-sqlite"]], "Detailed Query Information": [[14, "detailed-query-information"]], "Advanced": [[14, "advanced"]], "Extensions": [[15, "extensions"]], "FTS3/4/5": [[15, "fts3-4-5"]], "ICU": [[15, "icu"]], "JSON1": [[15, "json1"]], "RBU": [[15, "rbu"]], "RTree": [[15, "rtree"]], "APSW 3.43.1.1 documentation": [[16, "apsw-version-documentation"]], "Installation and customization": [[17, "installation-and-customization"]], "PyPI (recommended)": [[17, "pypi-recommended"]], "Linux/BSD provided": [[17, "linux-bsd-provided"]], "Building and customization": [[17, "building-and-customization"]], "Build process": [[17, "build-process"]], "SQLite options": [[17, "sqlite-options"]], "Finding SQLite": [[17, "finding-sqlite"]], "Source": [[17, "source"]], "Verifying your download": [[17, "verifying-your-download"]], "Commands and their options": [[17, "commands-and-their-options"]], "build": [[17, "id1"]], "fetch": [[17, "fetch"]], "build_ext": [[17, "build-ext"]], "Testing": [[17, "testing"]], "sqlite3 module differences": [[18, "sqlite3-module-differences"]], "What APSW does better": [[18, "what-apsw-does-better"]], "What sqlite3 does better": [[18, "what-sqlite3-does-better"]], "Notes": [[19, "notes"]], "Command Line Usage": [[19, "command-line-usage"]], "Programmatic Usage": [[19, "programmatic-usage"]], "Commands": [[19, "commands"]], "autoimport FILENAME ?TABLE?": [[19, "autoimport-filename-table"]], "backup ?DB? FILE": [[19, "backup-db-file"]], "bail ON|OFF": [[19, "bail-on-off"]], "cd ?DIR?": [[19, "cd-dir"]], "changes ON|OFF": [[19, "changes-on-off"]], "close": [[19, "close"]], "colour SCHEME": [[19, "colour-scheme"]], "connection ?NUMBER?": [[19, "connection-number"]], "databases": [[19, "databases"]], "dbconfig ?NAME VALUE?": [[19, "dbconfig-name-value"]], "dbinfo ?NAME?": [[19, "dbinfo-name"]], "dump ?TABLE? [TABLE...]": [[19, "dump-table-table"]], "echo ON|OFF": [[19, "echo-on-off"]], "encoding ENCODING": [[19, "encoding-encoding"]], "exceptions ON|OFF": [[19, "exceptions-on-off"]], "exit ?CODE?": [[19, "exit-code"]], "find value ?TABLE?": [[19, "find-value-table"]], "header(s) ON|OFF": [[19, "header-s-on-off"]], "help ?COMMAND?": [[19, "help-command"]], "import FILE TABLE": [[19, "import-file-table"]], "indices TABLE": [[19, "indices-table"]], "load FILE ?ENTRY?": [[19, "load-file-entry"]], "log ON|OFF": [[19, "log-on-off"]], "mode MODE ?OPTIONS?": [[19, "mode-mode-options"]], "nullvalue STRING": [[19, "nullvalue-string"]], "open ?OPTIONS? ?FILE?": [[19, "open-options-file"]], "output FILENAME": [[19, "output-filename"]], "parameter CMD ...": [[19, "parameter-cmd"]], "print STRING": [[19, "print-string"]], "prompt MAIN ?CONTINUE?": [[19, "prompt-main-continue"]], "py ?PYTHON?": [[19, "py-python"]], "read FILENAME": [[19, "read-filename"]], "restore ?DB? FILE": [[19, "restore-db-file"]], "schema ?TABLE? [TABLE...]": [[19, "schema-table-table"]], "separator STRING": [[19, "separator-string"]], "shell CMD ARGS...": [[19, "shell-cmd-args"]], "show": [[19, "show"]], "tables ?PATTERN?": [[19, "tables-pattern"]], "timeout MS": [[19, "timeout-ms"]], "timer ON|OFF": [[19, "timer-on-off"]], "version": [[19, "version"]], "vfsinfo": [[19, "vfsinfo"]], "vfslist": [[19, "vfslist"]], "vfsname": [[19, "vfsname"]], "width NUM NUM ...": [[19, "width-num-num"]], "Shell class": [[19, "shell-class"]], "Tips": [[20, "tips"]], "SQLite is different": [[20, "sqlite-is-different"]], "Cursors": [[20, "cursors"]], "Bindings": [[20, "bindings"]], "Diagnostics": [[20, "diagnostics"]], "Managing and updating your schema": [[20, "managing-and-updating-your-schema"]], "Parsing SQL": [[20, "parsing-sql"]], "Customizing Connections": [[20, "customizing-connections"]], "Customizing Cursors": [[20, "customizing-cursors"]], "Busy handling": [[20, "busy-handling"]], "Database schema": [[20, "database-schema"]], "Write Ahead Logging": [[20, "write-ahead-logging"]], "Shared Cache Mode": [[20, "shared-cache-mode"]], "Types": [[21, "types"]], "Mapping": [[21, "mapping"]], "Unicode": [[21, "unicode"]], "Virtual File System (VFS)": [[22, "virtual-file-system-vfs"]], "Exceptions and errors": [[22, "exceptions-and-errors"]], "VFSFcntlPragma class": [[22, "vfsfcntlpragma-class"]], "VFS class": [[22, "vfs-class"]], "VFSFile class": [[22, "vfsfile-class"]], "URIFilename class": [[22, "urifilename-class"]], "IndexInfo class": [[23, "indexinfo-class"]], "VTModule class": [[23, "vtmodule-class"]], "VTTable class": [[23, "vttable-class"]], "VTCursor class": [[23, "vtcursor-class"]], "Troubleshooting virtual tables": [[23, "troubleshooting-virtual-tables"]]}, "indexentries": {"aggregatefactory (class in apsw)": [[1, "apsw.AggregateFactory"]], "aggregatefinal (class in apsw)": [[1, "apsw.AggregateFinal"]], "aggregatestep (class in apsw)": [[1, "apsw.AggregateStep"]], "aggregatet (class in apsw)": [[1, "apsw.AggregateT"]], "authorizer (class in apsw)": [[1, "apsw.Authorizer"]], "bindings (class in apsw)": [[1, "apsw.Bindings"]], "commithook (class in apsw)": [[1, "apsw.CommitHook"]], "exectracer (class in apsw)": [[1, "apsw.ExecTracer"]], "rowtracer (class in apsw)": [[1, "apsw.RowTracer"]], "sqlite_version_number (in module apsw)": [[1, "apsw.SQLITE_VERSION_NUMBER"]], "sqlitevalue (class in apsw)": [[1, "apsw.SQLiteValue"]], "sqlitevalues (class in apsw)": [[1, "apsw.SQLiteValues"]], "scalarprotocol (class in apsw)": [[1, "apsw.ScalarProtocol"]], "windowfactory (class in apsw)": [[1, "apsw.WindowFactory"]], "windowfinal (class in apsw)": [[1, "apsw.WindowFinal"]], "windowinverse (class in apsw)": [[1, "apsw.WindowInverse"]], "windowstep (class in apsw)": [[1, "apsw.WindowStep"]], "windowt (class in apsw)": [[1, "apsw.WindowT"]], "windowvalue (class in apsw)": [[1, "apsw.WindowValue"]], "allow_missing_dict_bindings() (in module apsw)": [[1, "apsw.allow_missing_dict_bindings"]], "apsw": [[1, "module-apsw"]], "apswversion() (in module apsw)": [[1, "apsw.apswversion"]], "compile_options (in module apsw)": [[1, "apsw.compile_options"]], "complete() (in module apsw)": [[1, "apsw.complete"]], "config() (in module apsw)": [[1, "apsw.config"]], "connection_hooks (in module apsw)": [[1, "apsw.connection_hooks"]], "connections() (in module apsw)": [[1, "apsw.connections"]], "enablesharedcache() (in module apsw)": [[1, "apsw.enablesharedcache"]], "exceptionfor() (in module apsw)": [[1, "apsw.exceptionfor"]], "fork_checker() (in module apsw)": [[1, "apsw.fork_checker"]], "format_sql_value() (in module apsw)": [[1, "apsw.format_sql_value"]], "hard_heap_limit() (in module apsw)": [[1, "apsw.hard_heap_limit"]], "initialize() (in module apsw)": [[1, "apsw.initialize"]], "keywords (in module apsw)": [[1, "apsw.keywords"]], "log() (in module apsw)": [[1, "apsw.log"]], "mapping_access (in module apsw)": [[1, "apsw.mapping_access"]], "mapping_authorizer_function (in module apsw)": [[1, "apsw.mapping_authorizer_function"]], "mapping_authorizer_return_codes (in module apsw)": [[1, "apsw.mapping_authorizer_return_codes"]], "mapping_bestindex_constraints (in module apsw)": [[1, "apsw.mapping_bestindex_constraints"]], "mapping_config (in module apsw)": [[1, "apsw.mapping_config"]], "mapping_conflict_resolution_modes (in module apsw)": [[1, "apsw.mapping_conflict_resolution_modes"]], "mapping_db_config (in module apsw)": [[1, "apsw.mapping_db_config"]], "mapping_db_status (in module apsw)": [[1, "apsw.mapping_db_status"]], "mapping_device_characteristics (in module apsw)": [[1, "apsw.mapping_device_characteristics"]], "mapping_extended_result_codes (in module apsw)": [[1, "apsw.mapping_extended_result_codes"]], "mapping_file_control (in module apsw)": [[1, "apsw.mapping_file_control"]], "mapping_function_flags (in module apsw)": [[1, "apsw.mapping_function_flags"]], "mapping_limits (in module apsw)": [[1, "apsw.mapping_limits"]], "mapping_locking_level (in module apsw)": [[1, "apsw.mapping_locking_level"]], "mapping_open_flags (in module apsw)": [[1, "apsw.mapping_open_flags"]], "mapping_prepare_flags (in module apsw)": [[1, "apsw.mapping_prepare_flags"]], "mapping_result_codes (in module apsw)": [[1, "apsw.mapping_result_codes"]], "mapping_statement_status (in module apsw)": [[1, "apsw.mapping_statement_status"]], "mapping_status (in module apsw)": [[1, "apsw.mapping_status"]], "mapping_sync (in module apsw)": [[1, "apsw.mapping_sync"]], "mapping_trace_codes (in module apsw)": [[1, "apsw.mapping_trace_codes"]], "mapping_txn_state (in module apsw)": [[1, "apsw.mapping_txn_state"]], "mapping_virtual_table_configuration_options (in module apsw)": [[1, "apsw.mapping_virtual_table_configuration_options"]], "mapping_virtual_table_scan_flags (in module apsw)": [[1, "apsw.mapping_virtual_table_scan_flags"]], "mapping_wal_checkpoint (in module apsw)": [[1, "apsw.mapping_wal_checkpoint"]], "mapping_xshmlock_flags (in module apsw)": [[1, "apsw.mapping_xshmlock_flags"]], "memoryhighwater() (in module apsw)": [[1, "apsw.memoryhighwater"]], "memoryused() (in module apsw)": [[1, "apsw.memoryused"]], "module": [[1, "module-apsw"], [4, "module-apsw.bestpractice"], [14, "module-apsw.ext"], [19, "module-apsw.shell"]], "no_change (in module apsw)": [[1, "apsw.no_change"]], "randomness() (in module apsw)": [[1, "apsw.randomness"]], "releasememory() (in module apsw)": [[1, "apsw.releasememory"]], "set_default_vfs() (in module apsw)": [[1, "apsw.set_default_vfs"]], "shutdown() (in module apsw)": [[1, "apsw.shutdown"]], "sleep() (in module apsw)": [[1, "apsw.sleep"]], "softheaplimit() (in module apsw)": [[1, "apsw.softheaplimit"]], "sqlite3_compileoption_get": [[1, "index-0"]], "sqlite3_complete": [[1, "index-1"]], "sqlite3_config": [[1, "index-2"]], "sqlite3_enable_shared_cache": [[1, "index-3"]], "sqlite3_hard_heap_limit64": [[1, "index-4"]], "sqlite3_initialize": [[1, "index-5"]], "sqlite3_keyword_count": [[1, "index-6"]], "sqlite3_keyword_name": [[1, "index-6"]], "sqlite3_libversion": [[1, "index-17"]], "sqlite3_log": [[1, "index-7"]], "sqlite3_memory_highwater": [[1, "index-8"]], "sqlite3_memory_used": [[1, "index-9"]], "sqlite3_randomness": [[1, "index-10"]], "sqlite3_release_memory": [[1, "index-11"]], "sqlite3_shutdown": [[1, "index-13"]], "sqlite3_sleep": [[1, "index-14"]], "sqlite3_soft_heap_limit64": [[1, "index-15"]], "sqlite3_sourceid": [[1, "index-16"]], "sqlite3_sourceid() (in module apsw)": [[1, "apsw.sqlite3_sourceid"]], "sqlite3_status64": [[1, "index-18"]], "sqlite3_strglob": [[1, "index-19"]], "sqlite3_stricmp": [[1, "index-20"]], "sqlite3_strlike": [[1, "index-21"]], "sqlite3_strnicmp": [[1, "index-22"]], "sqlite3_vfs_find": [[1, "index-12"], [1, "index-23"], [1, "index-24"], [1, "index-25"], [22, "index-0"]], "sqlite3_vfs_register": [[1, "index-12"], [22, "index-0"]], "sqlite3_vfs_unregister": [[1, "index-23"], [22, "index-1"]], "sqlitelibversion() (in module apsw)": [[1, "apsw.sqlitelibversion"]], "status() (in module apsw)": [[1, "apsw.status"]], "strglob() (in module apsw)": [[1, "apsw.strglob"]], "stricmp() (in module apsw)": [[1, "apsw.stricmp"]], "strlike() (in module apsw)": [[1, "apsw.strlike"]], "strnicmp() (in module apsw)": [[1, "apsw.strnicmp"]], "unregister_vfs() (in module apsw)": [[1, "apsw.unregister_vfs"]], "using_amalgamation (in module apsw)": [[1, "apsw.using_amalgamation"]], "vfs_details() (in module apsw)": [[1, "apsw.vfs_details"]], "vfsnames() (in module apsw)": [[1, "apsw.vfsnames"]], "backup (class in apsw)": [[2, "apsw.Backup"]], "pep 0343": [[2, "index-0"], [5, "index-0"], [6, "index-1"], [7, "index-1"]], "python enhancement proposals": [[2, "index-0"], [5, "index-0"], [6, "index-0"], [6, "index-1"], [7, "index-1"], [10, "index-0"], [12, "index-0"], [18, "index-0"]], "__enter__() (backup method)": [[2, "apsw.Backup.__enter__"]], "__exit__() (backup method)": [[2, "apsw.Backup.__exit__"]], "close() (backup method)": [[2, "apsw.Backup.close"]], "done (backup attribute)": [[2, "apsw.Backup.done"]], "finish() (backup method)": [[2, "apsw.Backup.finish"]], "pagecount (backup attribute)": [[2, "apsw.Backup.pagecount"]], "remaining (backup attribute)": [[2, "apsw.Backup.remaining"]], "sqlite3_backup_finish": [[2, "index-1"]], "sqlite3_backup_pagecount": [[2, "index-2"]], "sqlite3_backup_remaining": [[2, "index-3"]], "sqlite3_backup_step": [[2, "index-4"]], "step() (backup method)": [[2, "apsw.Backup.step"]], "apply() (in module apsw.bestpractice)": [[4, "apsw.bestpractice.apply"]], "apsw.bestpractice": [[4, "module-apsw.bestpractice"]], "connection_busy_timeout() (in module apsw.bestpractice)": [[4, "apsw.bestpractice.connection_busy_timeout"]], "connection_dqs() (in module apsw.bestpractice)": [[4, "apsw.bestpractice.connection_dqs"]], "connection_enable_foreign_keys() (in module apsw.bestpractice)": [[4, "apsw.bestpractice.connection_enable_foreign_keys"]], "connection_wal() (in module apsw.bestpractice)": [[4, "apsw.bestpractice.connection_wal"]], "library_logging() (in module apsw.bestpractice)": [[4, "apsw.bestpractice.library_logging"]], "recommended (in module apsw.bestpractice)": [[4, "apsw.bestpractice.recommended"]], "blob (class in apsw)": [[5, "apsw.Blob"]], "__enter__() (blob method)": [[5, "apsw.Blob.__enter__"]], "__exit__() (blob method)": [[5, "apsw.Blob.__exit__"]], "close() (blob method)": [[5, "apsw.Blob.close"]], "length() (blob method)": [[5, "apsw.Blob.length"]], "length() (zeroblob method)": [[5, "apsw.zeroblob.length"]], "read() (blob method)": [[5, "apsw.Blob.read"]], "readinto() (blob method)": [[5, "apsw.Blob.readinto"]], "reopen() (blob method)": [[5, "apsw.Blob.reopen"]], "seek() (blob method)": [[5, "apsw.Blob.seek"]], "sqlite3_blob_bytes": [[5, "index-2"]], "sqlite3_blob_close": [[5, "index-1"]], "sqlite3_blob_read": [[5, "index-3"], [5, "index-4"]], "sqlite3_blob_reopen": [[5, "index-5"]], "sqlite3_blob_write": [[5, "index-6"]], "tell() (blob method)": [[5, "apsw.Blob.tell"]], "write() (blob method)": [[5, "apsw.Blob.write"]], "zeroblob (class in apsw)": [[5, "apsw.zeroblob"]], "pep 590": [[6, "index-0"]], "connection (class in apsw)": [[7, "apsw.Connection"]], "__enter__() (connection method)": [[7, "apsw.Connection.__enter__"]], "__exit__() (connection method)": [[7, "apsw.Connection.__exit__"]], "authorizer (connection attribute)": [[7, "apsw.Connection.authorizer"]], "autovacuum_pages() (connection method)": [[7, "apsw.Connection.autovacuum_pages"]], "backup() (connection method)": [[7, "apsw.Connection.backup"]], "blobopen() (connection method)": [[7, "apsw.Connection.blobopen"]], "cache_stats() (connection method)": [[7, "apsw.Connection.cache_stats"]], "cacheflush() (connection method)": [[7, "apsw.Connection.cacheflush"]], "changes() (connection method)": [[7, "apsw.Connection.changes"]], "close() (connection method)": [[7, "apsw.Connection.close"]], "collationneeded() (connection method)": [[7, "apsw.Connection.collationneeded"]], "column_metadata() (connection method)": [[7, "apsw.Connection.column_metadata"]], "config() (connection method)": [[7, "apsw.Connection.config"]], "create_window_function() (connection method)": [[7, "apsw.Connection.create_window_function"]], "createaggregatefunction() (connection method)": [[7, "apsw.Connection.createaggregatefunction"]], "createcollation() (connection method)": [[7, "apsw.Connection.createcollation"]], "createmodule() (connection method)": [[7, "apsw.Connection.createmodule"]], "createscalarfunction() (connection method)": [[7, "apsw.Connection.createscalarfunction"]], "cursor() (connection method)": [[7, "apsw.Connection.cursor"]], "cursor_factory (connection attribute)": [[7, "apsw.Connection.cursor_factory"]], "db_filename() (connection method)": [[7, "apsw.Connection.db_filename"]], "db_names() (connection method)": [[7, "apsw.Connection.db_names"]], "deserialize() (connection method)": [[7, "apsw.Connection.deserialize"]], "drop_modules() (connection method)": [[7, "apsw.Connection.drop_modules"]], "enableloadextension() (connection method)": [[7, "apsw.Connection.enableloadextension"]], "exectrace (connection attribute)": [[7, "apsw.Connection.exectrace"]], "execute() (connection method)": [[7, "apsw.Connection.execute"]], "executemany() (connection method)": [[7, "apsw.Connection.executemany"]], "filecontrol() (connection method)": [[7, "apsw.Connection.filecontrol"]], "filename (connection attribute)": [[7, "apsw.Connection.filename"]], "filename_journal (connection attribute)": [[7, "apsw.Connection.filename_journal"]], "filename_wal (connection attribute)": [[7, "apsw.Connection.filename_wal"]], "getautocommit() (connection method)": [[7, "apsw.Connection.getautocommit"]], "getexectrace() (connection method)": [[7, "apsw.Connection.getexectrace"]], "getrowtrace() (connection method)": [[7, "apsw.Connection.getrowtrace"]], "in_transaction (connection attribute)": [[7, "apsw.Connection.in_transaction"]], "interrupt() (connection method)": [[7, "apsw.Connection.interrupt"]], "is_interrupted (connection attribute)": [[7, "apsw.Connection.is_interrupted"]], "last_insert_rowid() (connection method)": [[7, "apsw.Connection.last_insert_rowid"]], "limit() (connection method)": [[7, "apsw.Connection.limit"]], "loadextension() (connection method)": [[7, "apsw.Connection.loadextension"]], "open_flags (connection attribute)": [[7, "apsw.Connection.open_flags"]], "open_vfs (connection attribute)": [[7, "apsw.Connection.open_vfs"]], "overloadfunction() (connection method)": [[7, "apsw.Connection.overloadfunction"]], "pragma() (connection method)": [[7, "apsw.Connection.pragma"]], "read() (connection method)": [[7, "apsw.Connection.read"]], "readonly() (connection method)": [[7, "apsw.Connection.readonly"]], "release_memory() (connection method)": [[7, "apsw.Connection.release_memory"]], "rowtrace (connection attribute)": [[7, "apsw.Connection.rowtrace"]], "serialize() (connection method)": [[7, "apsw.Connection.serialize"]], "set_last_insert_rowid() (connection method)": [[7, "apsw.Connection.set_last_insert_rowid"]], "setauthorizer() (connection method)": [[7, "apsw.Connection.setauthorizer"]], "setbusyhandler() (connection method)": [[7, "apsw.Connection.setbusyhandler"]], "setbusytimeout() (connection method)": [[7, "apsw.Connection.setbusytimeout"]], "setcommithook() (connection method)": [[7, "apsw.Connection.setcommithook"]], "setexectrace() (connection method)": [[7, "apsw.Connection.setexectrace"]], "setprofile() (connection method)": [[7, "apsw.Connection.setprofile"]], "setprogresshandler() (connection method)": [[7, "apsw.Connection.setprogresshandler"]], "setrollbackhook() (connection method)": [[7, "apsw.Connection.setrollbackhook"]], "setrowtrace() (connection method)": [[7, "apsw.Connection.setrowtrace"]], "setupdatehook() (connection method)": [[7, "apsw.Connection.setupdatehook"]], "setwalhook() (connection method)": [[7, "apsw.Connection.setwalhook"]], "sqlite3_autovacuum_pages": [[7, "index-3"]], "sqlite3_backup_init": [[7, "index-4"]], "sqlite3_blob_open": [[7, "index-5"]], "sqlite3_busy_handler": [[7, "index-38"]], "sqlite3_busy_timeout": [[7, "index-39"]], "sqlite3_changes64": [[7, "index-7"]], "sqlite3_close": [[7, "index-8"]], "sqlite3_collation_needed": [[7, "index-9"]], "sqlite3_commit_hook": [[7, "index-40"]], "sqlite3_create_collation_v2": [[7, "index-14"]], "sqlite3_create_function_v2": [[7, "index-13"], [7, "index-16"]], "sqlite3_create_module_v2": [[7, "index-15"]], "sqlite3_create_window_function": [[7, "index-12"]], "sqlite3_db_cacheflush": [[7, "index-6"]], "sqlite3_db_config": [[7, "index-11"]], "sqlite3_db_filename": [[7, "index-17"], [7, "index-22"]], "sqlite3_db_name": [[7, "index-18"]], "sqlite3_db_readonly": [[7, "index-34"]], "sqlite3_db_release_memory": [[7, "index-35"]], "sqlite3_db_status": [[7, "index-46"]], "sqlite3_deserialize": [[7, "index-19"]], "sqlite3_enable_load_extension": [[7, "index-20"]], "sqlite3_file_control": [[7, "index-21"], [7, "index-33"]], "sqlite3_filename_journal": [[7, "index-23"]], "sqlite3_filename_wal": [[7, "index-24"]], "sqlite3_get_autocommit": [[7, "index-25"], [7, "index-26"]], "sqlite3_interrupt": [[7, "index-27"]], "sqlite3_is_interrupted": [[7, "index-28"]], "sqlite3_last_insert_rowid": [[7, "index-29"]], "sqlite3_limit": [[7, "index-30"]], "sqlite3_load_extension": [[7, "index-31"]], "sqlite3_open_v2": [[7, "index-0"]], "sqlite3_overload_function": [[7, "index-32"]], "sqlite3_progress_handler": [[7, "index-42"]], "sqlite3_rollback_hook": [[7, "index-43"]], "sqlite3_serialize": [[7, "index-36"]], "sqlite3_set_authorizer": [[7, "index-2"]], "sqlite3_set_last_insert_rowid": [[7, "index-37"]], "sqlite3_stmt_status": [[7, "index-50"]], "sqlite3_system_errno": [[7, "index-47"]], "sqlite3_table_column_metadata": [[7, "index-10"], [7, "index-48"]], "sqlite3_total_changes64": [[7, "index-49"]], "sqlite3_trace_v2": [[7, "index-41"], [7, "index-50"]], "sqlite3_txn_state": [[7, "index-51"]], "sqlite3_update_hook": [[7, "index-44"]], "sqlite3_vtab_config": [[7, "index-52"]], "sqlite3_vtab_on_conflict": [[7, "index-53"]], "sqlite3_wal_autocheckpoint": [[7, "index-54"]], "sqlite3_wal_checkpoint_v2": [[7, "index-55"]], "sqlite3_wal_hook": [[7, "index-45"]], "sqlite3pointer() (connection method)": [[7, "apsw.Connection.sqlite3pointer"]], "status() (connection method)": [[7, "apsw.Connection.status"]], "system_errno (connection attribute)": [[7, "apsw.Connection.system_errno"]], "table_exists() (connection method)": [[7, "apsw.Connection.table_exists"]], "totalchanges() (connection method)": [[7, "apsw.Connection.totalchanges"]], "trace_v2() (connection method)": [[7, "apsw.Connection.trace_v2"]], "txn_state() (connection method)": [[7, "apsw.Connection.txn_state"]], "vtab_config() (connection method)": [[7, "apsw.Connection.vtab_config"]], "vtab_on_conflict() (connection method)": [[7, "apsw.Connection.vtab_on_conflict"]], "wal_autocheckpoint() (connection method)": [[7, "apsw.Connection.wal_autocheckpoint"]], "wal_checkpoint() (connection method)": [[7, "apsw.Connection.wal_checkpoint"]], "cursor (class in apsw)": [[9, "apsw.Cursor"]], "__iter__() (cursor method)": [[9, "apsw.Cursor.__iter__"]], "__next__() (cursor method)": [[9, "apsw.Cursor.__next__"]], "close() (cursor method)": [[9, "apsw.Cursor.close"]], "connection (cursor attribute)": [[9, "apsw.Cursor.connection"]], "description (cursor attribute)": [[9, "apsw.Cursor.description"]], "description_full (cursor attribute)": [[9, "apsw.Cursor.description_full"]], "exectrace (cursor attribute)": [[9, "apsw.Cursor.exectrace"]], "execute() (cursor method)": [[9, "apsw.Cursor.execute"]], "executemany() (cursor method)": [[9, "apsw.Cursor.executemany"]], "expanded_sql (cursor attribute)": [[9, "apsw.Cursor.expanded_sql"]], "fetchall() (cursor method)": [[9, "apsw.Cursor.fetchall"]], "fetchone() (cursor method)": [[9, "apsw.Cursor.fetchone"]], "get (cursor attribute)": [[9, "apsw.Cursor.get"]], "getconnection() (cursor method)": [[9, "apsw.Cursor.getconnection"]], "getdescription() (cursor method)": [[9, "apsw.Cursor.getdescription"]], "getexectrace() (cursor method)": [[9, "apsw.Cursor.getexectrace"]], "getrowtrace() (cursor method)": [[9, "apsw.Cursor.getrowtrace"]], "has_vdbe (cursor attribute)": [[9, "apsw.Cursor.has_vdbe"]], "is_explain (cursor attribute)": [[9, "apsw.Cursor.is_explain"]], "is_readonly (cursor attribute)": [[9, "apsw.Cursor.is_readonly"]], "rowtrace (cursor attribute)": [[9, "apsw.Cursor.rowtrace"]], "setexectrace() (cursor method)": [[9, "apsw.Cursor.setexectrace"]], "setrowtrace() (cursor method)": [[9, "apsw.Cursor.setrowtrace"]], "sqlite3_bind_blob64": [[9, "index-1"]], "sqlite3_bind_double": [[9, "index-1"]], "sqlite3_bind_int64": [[9, "index-1"]], "sqlite3_bind_null": [[9, "index-1"]], "sqlite3_bind_text64": [[9, "index-1"]], "sqlite3_bind_zeroblob": [[9, "index-1"]], "sqlite3_column_database_name": [[9, "index-0"]], "sqlite3_column_decltype": [[9, "index-0"], [9, "index-3"]], "sqlite3_column_name": [[9, "index-0"], [9, "index-3"]], "sqlite3_column_origin_name": [[9, "index-0"]], "sqlite3_column_table_name": [[9, "index-0"]], "sqlite3_expanded_sql": [[9, "index-2"]], "sqlite3_prepare_v3": [[9, "index-1"]], "sqlite3_step": [[9, "index-1"]], "sqlite3_stmt_isexplain": [[9, "index-4"]], "sqlite3_stmt_readonly": [[9, "index-5"]], "pep 249": [[10, "index-0"], [18, "index-0"]], "accessing results by column name (example code)": [[11, "index-18"]], "authorizer (control what sql can do) (example code)": [[11, "index-22"]], "backup an open database (example code)": [[11, "index-30"]], "best practice (example code)": [[11, "index-1"]], "bindings (dict) (example code)": [[11, "index-7"]], "bindings (sequence) (example code)": [[11, "index-6"]], "blob i/o (example code)": [[11, "index-21"]], "checking apsw and sqlite versions (example code)": [[11, "index-0"]], "cleanup (example code)": [[11, "index-35"]], "commit hook (example code)": [[11, "index-25"]], "defining aggregate functions (example code)": [[11, "index-15"]], "defining collations (sorting) (example code)": [[11, "index-17"]], "defining window functions (example code)": [[11, "index-16"]], "defining your own functions (example code)": [[11, "index-14"]], "executing sql (example code)": [[11, "index-4"]], "file control (example code)": [[11, "index-24"]], "formatting query results table (example code)": [[11, "index-34"]], "limits (example code)": [[11, "index-29"]], "logging (example code)": [[11, "index-2"]], "opening the database (example code)": [[11, "index-3"]], "pragmas (example code)": [[11, "index-11"]], "progress handler (example code)": [[11, "index-23"]], "query details (example code)": [[11, "index-20"]], "shell (example code)": [[11, "index-31"]], "statistics (example code)": [[11, "index-32"]], "tracing (example code)": [[11, "index-33"]], "tracing execution (example code)": [[11, "index-12"]], "tracing returned rows (example code)": [[11, "index-13"]], "transactions (example code)": [[11, "index-9"]], "type conversion into/out of database (example code)": [[11, "index-19"]], "update hook (example code)": [[11, "index-26"]], "using different types (example code)": [[11, "index-8"]], "vfs - virtual file system (example code)": [[11, "index-28"]], "virtual tables (example code)": [[11, "index-27"]], "why you use bindings to provide values (example code)": [[11, "index-5"]], "executemany (example code)": [[11, "index-10"]], "aborterror": [[12, "apsw.AbortError"]], "autherror": [[12, "apsw.AuthError"]], "bindingserror": [[12, "apsw.BindingsError"]], "busyerror": [[12, "apsw.BusyError"]], "cantopenerror": [[12, "apsw.CantOpenError"]], "connectionclosederror": [[12, "apsw.ConnectionClosedError"]], "connectionnotclosederror": [[12, "apsw.ConnectionNotClosedError"]], "constrainterror": [[12, "apsw.ConstraintError"]], "corrupterror": [[12, "apsw.CorruptError"]], "cursorclosederror": [[12, "apsw.CursorClosedError"]], "emptyerror": [[12, "apsw.EmptyError"]], "error": [[12, "apsw.Error"]], "exectraceabort": [[12, "apsw.ExecTraceAbort"]], "executioncompleteerror": [[12, "apsw.ExecutionCompleteError"]], "extensionloadingerror": [[12, "apsw.ExtensionLoadingError"]], "forkingviolationerror": [[12, "apsw.ForkingViolationError"]], "formaterror": [[12, "apsw.FormatError"]], "fullerror": [[12, "apsw.FullError"]], "ioerror": [[12, "apsw.IOError"]], "incompleteexecutionerror": [[12, "apsw.IncompleteExecutionError"]], "internalerror": [[12, "apsw.InternalError"]], "interrupterror": [[12, "apsw.InterruptError"]], "lockederror": [[12, "apsw.LockedError"]], "mismatcherror": [[12, "apsw.MismatchError"]], "misuseerror": [[12, "apsw.MisuseError"]], "nolfserror": [[12, "apsw.NoLFSError"]], "nomemerror": [[12, "apsw.NoMemError"]], "notadberror": [[12, "apsw.NotADBError"]], "notfounderror": [[12, "apsw.NotFoundError"]], "pep 3134": [[12, "index-0"]], "permissionserror": [[12, "apsw.PermissionsError"]], "protocolerror": [[12, "apsw.ProtocolError"]], "rangeerror": [[12, "apsw.RangeError"]], "readonlyerror": [[12, "apsw.ReadOnlyError"]], "sqlerror": [[12, "apsw.SQLError"]], "schemachangeerror": [[12, "apsw.SchemaChangeError"]], "threadingviolationerror": [[12, "apsw.ThreadingViolationError"]], "toobigerror": [[12, "apsw.TooBigError"]], "vfsfileclosederror": [[12, "apsw.VFSFileClosedError"]], "vfsnotimplementederror": [[12, "apsw.VFSNotImplementedError"]], "error_offset (error attribute)": [[12, "apsw.Error.error_offset"]], "extendedresult (error attribute)": [[12, "apsw.Error.extendedresult"]], "result (error attribute)": [[12, "apsw.Error.result"]], "by_attr (vtcolumnaccess attribute)": [[14, "apsw.ext.VTColumnAccess.By_Attr"]], "by_index (vtcolumnaccess attribute)": [[14, "apsw.ext.VTColumnAccess.By_Index"]], "by_name (vtcolumnaccess attribute)": [[14, "apsw.ext.VTColumnAccess.By_Name"]], "dataclassrowfactory (class in apsw.ext)": [[14, "apsw.ext.DataClassRowFactory"]], "databasefileinfo (class in apsw.ext)": [[14, "apsw.ext.DatabaseFileInfo"]], "journalfileinfo (class in apsw.ext)": [[14, "apsw.ext.JournalFileInfo"]], "queryaction (class in apsw.ext)": [[14, "apsw.ext.QueryAction"]], "querydetails (class in apsw.ext)": [[14, "apsw.ext.QueryDetails"]], "queryplan (class in apsw.ext)": [[14, "apsw.ext.QueryPlan"]], "sqlitetypeadapter (class in apsw.ext)": [[14, "apsw.ext.SQLiteTypeAdapter"]], "typesconvertercursorfactory (class in apsw.ext)": [[14, "apsw.ext.TypesConverterCursorFactory"]], "typesconvertercursorfactory.dictadapter (class in apsw.ext)": [[14, "apsw.ext.TypesConverterCursorFactory.DictAdapter"]], "typesconvertercursorfactory.typeconvertercursor (class in apsw.ext)": [[14, "apsw.ext.TypesConverterCursorFactory.TypeConverterCursor"]], "vdbeinstruction (class in apsw.ext)": [[14, "apsw.ext.VDBEInstruction"]], "vtcolumnaccess (class in apsw.ext)": [[14, "apsw.ext.VTColumnAccess"]], "walfileinfo (class in apsw.ext)": [[14, "apsw.ext.WALFileInfo"]], "__call__() (dataclassrowfactory method)": [[14, "apsw.ext.DataClassRowFactory.__call__"]], "__call__() (typesconvertercursorfactory method)": [[14, "apsw.ext.TypesConverterCursorFactory.__call__"]], "action (queryaction attribute)": [[14, "apsw.ext.QueryAction.action"]], "action_name (queryaction attribute)": [[14, "apsw.ext.QueryAction.action_name"]], "actions (querydetails attribute)": [[14, "apsw.ext.QueryDetails.actions"]], "adapt_value() (typesconvertercursorfactory method)": [[14, "apsw.ext.TypesConverterCursorFactory.adapt_value"]], "addr (vdbeinstruction attribute)": [[14, "apsw.ext.VDBEInstruction.addr"]], "application_id (databasefileinfo attribute)": [[14, "apsw.ext.DatabaseFileInfo.application_id"]], "apsw.ext": [[14, "module-apsw.ext"]], "autovacuum_top_root (databasefileinfo attribute)": [[14, "apsw.ext.DatabaseFileInfo.autovacuum_top_root"]], "bindings (querydetails attribute)": [[14, "apsw.ext.QueryDetails.bindings"]], "checkpoint_sequence_number (walfileinfo attribute)": [[14, "apsw.ext.WALFileInfo.checkpoint_sequence_number"]], "checksum_1 (walfileinfo attribute)": [[14, "apsw.ext.WALFileInfo.checksum_1"]], "checksum_2 (walfileinfo attribute)": [[14, "apsw.ext.WALFileInfo.checksum_2"]], "column_name (queryaction attribute)": [[14, "apsw.ext.QueryAction.column_name"]], "comment (vdbeinstruction attribute)": [[14, "apsw.ext.VDBEInstruction.comment"]], "convert_value() (typesconvertercursorfactory method)": [[14, "apsw.ext.TypesConverterCursorFactory.convert_value"]], "database_name (queryaction attribute)": [[14, "apsw.ext.QueryAction.database_name"]], "dbinfo() (in module apsw.ext)": [[14, "apsw.ext.dbinfo"]], "default_cache_size (databasefileinfo attribute)": [[14, "apsw.ext.DatabaseFileInfo.default_cache_size"]], "description (querydetails attribute)": [[14, "apsw.ext.QueryDetails.description"]], "description_full (querydetails attribute)": [[14, "apsw.ext.QueryDetails.description_full"]], "detail (queryplan attribute)": [[14, "apsw.ext.QueryPlan.detail"]], "execute() (typesconvertercursorfactory.typeconvertercursor method)": [[14, "apsw.ext.TypesConverterCursorFactory.TypeConverterCursor.execute"]], "executemany() (typesconvertercursorfactory.typeconvertercursor method)": [[14, "apsw.ext.TypesConverterCursorFactory.TypeConverterCursor.executemany"]], "expanded_sql (querydetails attribute)": [[14, "apsw.ext.QueryDetails.expanded_sql"]], "explain (querydetails attribute)": [[14, "apsw.ext.QueryDetails.explain"]], "file_change_counter (databasefileinfo attribute)": [[14, "apsw.ext.DatabaseFileInfo.file_change_counter"]], "file_name (queryaction attribute)": [[14, "apsw.ext.QueryAction.file_name"]], "filename (databasefileinfo attribute)": [[14, "apsw.ext.DatabaseFileInfo.filename"]], "filename (journalfileinfo attribute)": [[14, "apsw.ext.JournalFileInfo.filename"]], "filename (walfileinfo attribute)": [[14, "apsw.ext.WALFileInfo.filename"]], "first_query (querydetails attribute)": [[14, "apsw.ext.QueryDetails.first_query"]], "format_query_table() (in module apsw.ext)": [[14, "apsw.ext.format_query_table"]], "format_version (walfileinfo attribute)": [[14, "apsw.ext.WALFileInfo.format_version"]], "freelist_pages (databasefileinfo attribute)": [[14, "apsw.ext.DatabaseFileInfo.freelist_pages"]], "function_name (queryaction attribute)": [[14, "apsw.ext.QueryAction.function_name"]], "generate_series() (in module apsw.ext)": [[14, "apsw.ext.generate_series"]], "generate_series_sqlite() (in module apsw.ext)": [[14, "apsw.ext.generate_series_sqlite"]], "get_column_names() (in module apsw.ext)": [[14, "apsw.ext.get_column_names"]], "get_dataclass() (dataclassrowfactory method)": [[14, "apsw.ext.DataClassRowFactory.get_dataclass"]], "get_type() (dataclassrowfactory method)": [[14, "apsw.ext.DataClassRowFactory.get_type"]], "has_vdbe (querydetails attribute)": [[14, "apsw.ext.QueryDetails.has_vdbe"]], "header (databasefileinfo attribute)": [[14, "apsw.ext.DatabaseFileInfo.header"]], "header (journalfileinfo attribute)": [[14, "apsw.ext.JournalFileInfo.header"]], "header_valid (journalfileinfo attribute)": [[14, "apsw.ext.JournalFileInfo.header_valid"]], "incremental_vacuum (databasefileinfo attribute)": [[14, "apsw.ext.DatabaseFileInfo.incremental_vacuum"]], "index_info_to_dict() (in module apsw.ext)": [[14, "apsw.ext.index_info_to_dict"]], "initial_pages (journalfileinfo attribute)": [[14, "apsw.ext.JournalFileInfo.initial_pages"]], "is_explain (querydetails attribute)": [[14, "apsw.ext.QueryDetails.is_explain"]], "is_readonly (querydetails attribute)": [[14, "apsw.ext.QueryDetails.is_readonly"]], "log_sqlite() (in module apsw.ext)": [[14, "apsw.ext.log_sqlite"]], "magic_number (walfileinfo attribute)": [[14, "apsw.ext.WALFileInfo.magic_number"]], "make_virtual_module() (in module apsw.ext)": [[14, "apsw.ext.make_virtual_module"]], "module_name (queryaction attribute)": [[14, "apsw.ext.QueryAction.module_name"]], "opcode (vdbeinstruction attribute)": [[14, "apsw.ext.VDBEInstruction.opcode"]], "operation (queryaction attribute)": [[14, "apsw.ext.QueryAction.operation"]], "p1 (vdbeinstruction attribute)": [[14, "apsw.ext.VDBEInstruction.p1"]], "p2 (vdbeinstruction attribute)": [[14, "apsw.ext.VDBEInstruction.p2"]], "p3 (vdbeinstruction attribute)": [[14, "apsw.ext.VDBEInstruction.p3"]], "p4 (vdbeinstruction attribute)": [[14, "apsw.ext.VDBEInstruction.p4"]], "p5 (vdbeinstruction attribute)": [[14, "apsw.ext.VDBEInstruction.p5"]], "page_count (databasefileinfo attribute)": [[14, "apsw.ext.DatabaseFileInfo.page_count"]], "page_count (journalfileinfo attribute)": [[14, "apsw.ext.JournalFileInfo.page_count"]], "page_size (databasefileinfo attribute)": [[14, "apsw.ext.DatabaseFileInfo.page_size"]], "page_size (journalfileinfo attribute)": [[14, "apsw.ext.JournalFileInfo.page_size"]], "page_size (walfileinfo attribute)": [[14, "apsw.ext.WALFileInfo.page_size"]], "pragma_name (queryaction attribute)": [[14, "apsw.ext.QueryAction.pragma_name"]], "pragma_value (queryaction attribute)": [[14, "apsw.ext.QueryAction.pragma_value"]], "print_augmented_traceback() (in module apsw.ext)": [[14, "apsw.ext.print_augmented_traceback"]], "query (querydetails attribute)": [[14, "apsw.ext.QueryDetails.query"]], "query_info() (in module apsw.ext)": [[14, "apsw.ext.query_info"]], "query_plan (querydetails attribute)": [[14, "apsw.ext.QueryDetails.query_plan"]], "query_remaining (querydetails attribute)": [[14, "apsw.ext.QueryDetails.query_remaining"]], "random_nonce (journalfileinfo attribute)": [[14, "apsw.ext.JournalFileInfo.random_nonce"]], "read_format (databasefileinfo attribute)": [[14, "apsw.ext.DatabaseFileInfo.read_format"]], "register_adapter() (typesconvertercursorfactory method)": [[14, "apsw.ext.TypesConverterCursorFactory.register_adapter"]], "register_converter() (typesconvertercursorfactory method)": [[14, "apsw.ext.TypesConverterCursorFactory.register_converter"]], "reserved_bytes (databasefileinfo attribute)": [[14, "apsw.ext.DatabaseFileInfo.reserved_bytes"]], "salt_1 (walfileinfo attribute)": [[14, "apsw.ext.WALFileInfo.salt_1"]], "salt_2 (walfileinfo attribute)": [[14, "apsw.ext.WALFileInfo.salt_2"]], "schema_cookie (databasefileinfo attribute)": [[14, "apsw.ext.DatabaseFileInfo.schema_cookie"]], "schema_format (databasefileinfo attribute)": [[14, "apsw.ext.DatabaseFileInfo.schema_format"]], "sector_size (journalfileinfo attribute)": [[14, "apsw.ext.JournalFileInfo.sector_size"]], "sqlite_version (databasefileinfo attribute)": [[14, "apsw.ext.DatabaseFileInfo.sqlite_version"]], "sub (queryplan attribute)": [[14, "apsw.ext.QueryPlan.sub"]], "table_name (queryaction attribute)": [[14, "apsw.ext.QueryAction.table_name"]], "text_encoding (databasefileinfo attribute)": [[14, "apsw.ext.DatabaseFileInfo.text_encoding"]], "to_sqlite_value() (sqlitetypeadapter method)": [[14, "apsw.ext.SQLiteTypeAdapter.to_sqlite_value"]], "trigger_name (queryaction attribute)": [[14, "apsw.ext.QueryAction.trigger_name"]], "trigger_or_view (queryaction attribute)": [[14, "apsw.ext.QueryAction.trigger_or_view"]], "user_version (databasefileinfo attribute)": [[14, "apsw.ext.DatabaseFileInfo.user_version"]], "version_valid_for (databasefileinfo attribute)": [[14, "apsw.ext.DatabaseFileInfo.version_valid_for"]], "view_name (queryaction attribute)": [[14, "apsw.ext.QueryAction.view_name"]], "wrap_bindings() (typesconvertercursorfactory method)": [[14, "apsw.ext.TypesConverterCursorFactory.wrap_bindings"]], "wrap_sequence_bindings() (typesconvertercursorfactory method)": [[14, "apsw.ext.TypesConverterCursorFactory.wrap_sequence_bindings"]], "write_format (databasefileinfo attribute)": [[14, "apsw.ext.DatabaseFileInfo.write_format"]], "shell (class in apsw.shell)": [[19, "apsw.shell.Shell"]], "shell.error": [[19, "apsw.shell.Shell.Error"]], "shell.positionrow (class in apsw.shell)": [[19, "apsw.shell.Shell.PositionRow"]], "shell.row (class in apsw.shell)": [[19, "apsw.shell.Shell.Row"]], "apsw.shell": [[19, "module-apsw.shell"]], "autoimport (shell command)": [[19, "index-0"]], "backup (shell command)": [[19, "index-1"]], "bail (shell command)": [[19, "index-2"]], "cd (shell command)": [[19, "index-3"]], "changes (shell command)": [[19, "index-4"]], "close (shell command)": [[19, "index-5"]], "cmdloop() (shell method)": [[19, "apsw.shell.Shell.cmdloop"]], "colour (shell command)": [[19, "index-6"]], "columns (shell.row attribute)": [[19, "apsw.shell.Shell.Row.columns"]], "complete() (shell method)": [[19, "apsw.shell.Shell.complete"]], "complete_command() (shell method)": [[19, "apsw.shell.Shell.complete_command"]], "complete_sql() (shell method)": [[19, "apsw.shell.Shell.complete_sql"]], "connection (shell command)": [[19, "index-7"]], "databases (shell command)": [[19, "index-8"]], "db (shell property)": [[19, "apsw.shell.Shell.db"]], "dbconfig (shell command)": [[19, "index-9"]], "dbinfo (shell command)": [[19, "index-10"]], "display_timing() (shell method)": [[19, "apsw.shell.Shell.display_timing"]], "dump (shell command)": [[19, "index-11"]], "echo (shell command)": [[19, "index-12"]], "encoding (shell command)": [[19, "index-13"]], "exceptions (shell command)": [[19, "index-14"]], "exit (shell command)": [[19, "index-15"]], "find (shell command)": [[19, "index-16"]], "fixup_backslashes() (shell method)": [[19, "apsw.shell.Shell.fixup_backslashes"]], "get_resource_usage() (shell method)": [[19, "apsw.shell.Shell.get_resource_usage"]], "getcompleteline() (shell method)": [[19, "apsw.shell.Shell.getcompleteline"]], "getline() (shell method)": [[19, "apsw.shell.Shell.getline"]], "handle_exception() (shell method)": [[19, "apsw.shell.Shell.handle_exception"]], "handle_interrupt() (shell method)": [[19, "apsw.shell.Shell.handle_interrupt"]], "header(s) (shell command)": [[19, "index-17"]], "help (shell command)": [[19, "index-18"]], "import (shell command)": [[19, "index-19"]], "indices (shell command)": [[19, "index-20"]], "is_first (shell.row attribute)": [[19, "apsw.shell.Shell.Row.is_first"]], "is_last (shell.row attribute)": [[19, "apsw.shell.Shell.Row.is_last"]], "load (shell command)": [[19, "index-21"]], "log (shell command)": [[19, "index-22"]], "log_handler() (shell method)": [[19, "apsw.shell.Shell.log_handler"]], "main() (in module apsw.shell)": [[19, "apsw.shell.main"]], "mode (shell command)": [[19, "index-23"]], "nullvalue (shell command)": [[19, "index-24"]], "open (shell command)": [[19, "index-25"]], "output (shell command)": [[19, "index-26"]], "parameter (shell command)": [[19, "index-27"]], "pop_input() (shell method)": [[19, "apsw.shell.Shell.pop_input"]], "pop_output() (shell method)": [[19, "apsw.shell.Shell.pop_output"]], "print (shell command)": [[19, "index-28"]], "process_args() (shell method)": [[19, "apsw.shell.Shell.process_args"]], "process_command() (shell method)": [[19, "apsw.shell.Shell.process_command"]], "process_complete_line() (shell method)": [[19, "apsw.shell.Shell.process_complete_line"]], "process_sql() (shell method)": [[19, "apsw.shell.Shell.process_sql"]], "process_unknown_args() (shell method)": [[19, "apsw.shell.Shell.process_unknown_args"]], "prompt (shell command)": [[19, "index-29"]], "push_input() (shell method)": [[19, "apsw.shell.Shell.push_input"]], "push_output() (shell method)": [[19, "apsw.shell.Shell.push_output"]], "py (shell command)": [[19, "index-30"]], "read (shell command)": [[19, "index-31"]], "restore (shell command)": [[19, "index-32"]], "row (shell.row attribute)": [[19, "apsw.shell.Shell.Row.row"]], "schema (shell command)": [[19, "index-33"]], "separator (shell command)": [[19, "index-34"]], "set_encoding() (shell method)": [[19, "apsw.shell.Shell.set_encoding"]], "shell (shell command)": [[19, "index-35"]], "show (shell command)": [[19, "index-36"]], "tables (shell command)": [[19, "index-37"]], "timeout (shell command)": [[19, "index-38"]], "timer (shell command)": [[19, "index-39"]], "usage() (shell method)": [[19, "apsw.shell.Shell.usage"]], "version (shell command)": [[19, "index-40"]], "vfsinfo (shell command)": [[19, "index-41"]], "vfslist (shell command)": [[19, "index-42"]], "vfsname (shell command)": [[19, "index-43"]], "width (shell command)": [[19, "index-44"]], "write() (shell method)": [[19, "apsw.shell.Shell.write"]], "write_error() (shell method)": [[19, "apsw.shell.Shell.write_error"]], "write_value() (shell method)": [[19, "apsw.shell.Shell.write_value"]], "urifilename (class in apsw)": [[22, "apsw.URIFilename"]], "vfs (class in apsw)": [[22, "apsw.VFS"]], "vfsfcntlpragma (class in apsw)": [[22, "apsw.VFSFcntlPragma"]], "vfsfile (class in apsw)": [[22, "apsw.VFSFile"]], "excepthook() (vfs method)": [[22, "apsw.VFS.excepthook"]], "excepthook() (vfsfile method)": [[22, "apsw.VFSFile.excepthook"]], "filename() (urifilename method)": [[22, "apsw.URIFilename.filename"]], "name (vfsfcntlpragma attribute)": [[22, "apsw.VFSFcntlPragma.name"]], "result (vfsfcntlpragma attribute)": [[22, "apsw.VFSFcntlPragma.result"]], "sqlite3_uri_boolean": [[22, "index-2"]], "sqlite3_uri_int64": [[22, "index-3"]], "sqlite3_uri_parameter": [[22, "index-4"]], "unregister() (vfs method)": [[22, "apsw.VFS.unregister"]], "uri_boolean() (urifilename method)": [[22, "apsw.URIFilename.uri_boolean"]], "uri_int() (urifilename method)": [[22, "apsw.URIFilename.uri_int"]], "uri_parameter() (urifilename method)": [[22, "apsw.URIFilename.uri_parameter"]], "value (vfsfcntlpragma attribute)": [[22, "apsw.VFSFcntlPragma.value"]], "xaccess() (vfs method)": [[22, "apsw.VFS.xAccess"]], "xcheckreservedlock() (vfsfile method)": [[22, "apsw.VFSFile.xCheckReservedLock"]], "xclose() (vfsfile method)": [[22, "apsw.VFSFile.xClose"]], "xcurrenttime() (vfs method)": [[22, "apsw.VFS.xCurrentTime"]], "xcurrenttimeint64() (vfs method)": [[22, "apsw.VFS.xCurrentTimeInt64"]], "xdelete() (vfs method)": [[22, "apsw.VFS.xDelete"]], "xdevicecharacteristics() (vfsfile method)": [[22, "apsw.VFSFile.xDeviceCharacteristics"]], "xdlclose() (vfs method)": [[22, "apsw.VFS.xDlClose"]], "xdlerror() (vfs method)": [[22, "apsw.VFS.xDlError"]], "xdlopen() (vfs method)": [[22, "apsw.VFS.xDlOpen"]], "xdlsym() (vfs method)": [[22, "apsw.VFS.xDlSym"]], "xfilecontrol() (vfsfile method)": [[22, "apsw.VFSFile.xFileControl"]], "xfilesize() (vfsfile method)": [[22, "apsw.VFSFile.xFileSize"]], "xfullpathname() (vfs method)": [[22, "apsw.VFS.xFullPathname"]], "xgetlasterror() (vfs method)": [[22, "apsw.VFS.xGetLastError"]], "xgetsystemcall() (vfs method)": [[22, "apsw.VFS.xGetSystemCall"]], "xlock() (vfsfile method)": [[22, "apsw.VFSFile.xLock"]], "xnextsystemcall() (vfs method)": [[22, "apsw.VFS.xNextSystemCall"]], "xopen() (vfs method)": [[22, "apsw.VFS.xOpen"]], "xrandomness() (vfs method)": [[22, "apsw.VFS.xRandomness"]], "xread() (vfsfile method)": [[22, "apsw.VFSFile.xRead"]], "xsectorsize() (vfsfile method)": [[22, "apsw.VFSFile.xSectorSize"]], "xsetsystemcall() (vfs method)": [[22, "apsw.VFS.xSetSystemCall"]], "xsleep() (vfs method)": [[22, "apsw.VFS.xSleep"]], "xsync() (vfsfile method)": [[22, "apsw.VFSFile.xSync"]], "xtruncate() (vfsfile method)": [[22, "apsw.VFSFile.xTruncate"]], "xunlock() (vfsfile method)": [[22, "apsw.VFSFile.xUnlock"]], "xwrite() (vfsfile method)": [[22, "apsw.VFSFile.xWrite"]], "begin() (vttable method)": [[23, "apsw.VTTable.Begin"]], "bestindex() (vttable method)": [[23, "apsw.VTTable.BestIndex"]], "bestindexobject() (vttable method)": [[23, "apsw.VTTable.BestIndexObject"]], "close() (vtcursor method)": [[23, "apsw.VTCursor.Close"]], "column() (vtcursor method)": [[23, "apsw.VTCursor.Column"]], "columnnochange() (vtcursor method)": [[23, "apsw.VTCursor.ColumnNoChange"]], "commit() (vttable method)": [[23, "apsw.VTTable.Commit"]], "connect() (vtmodule method)": [[23, "apsw.VTModule.Connect"]], "create() (vtmodule method)": [[23, "apsw.VTModule.Create"]], "destroy() (vttable method)": [[23, "apsw.VTTable.Destroy"]], "disconnect() (vttable method)": [[23, "apsw.VTTable.Disconnect"]], "eof() (vtcursor method)": [[23, "apsw.VTCursor.Eof"]], "filter() (vtcursor method)": [[23, "apsw.VTCursor.Filter"]], "findfunction() (vttable method)": [[23, "apsw.VTTable.FindFunction"]], "indexinfo (class in apsw)": [[23, "apsw.IndexInfo"]], "next() (vtcursor method)": [[23, "apsw.VTCursor.Next"]], "open() (vttable method)": [[23, "apsw.VTTable.Open"]], "release() (vttable method)": [[23, "apsw.VTTable.Release"]], "rename() (vttable method)": [[23, "apsw.VTTable.Rename"]], "rollback() (vttable method)": [[23, "apsw.VTTable.Rollback"]], "rowid() (vtcursor method)": [[23, "apsw.VTCursor.Rowid"]], "savepoint() (vttable method)": [[23, "apsw.VTTable.Savepoint"]], "shadowname() (vtmodule method)": [[23, "apsw.VTModule.ShadowName"]], "sync() (vttable method)": [[23, "apsw.VTTable.Sync"]], "updatechangerow() (vttable method)": [[23, "apsw.VTTable.UpdateChangeRow"]], "updatedeleterow() (vttable method)": [[23, "apsw.VTTable.UpdateDeleteRow"]], "updateinsertrow() (vttable method)": [[23, "apsw.VTTable.UpdateInsertRow"]], "vtcursor (class in apsw)": [[23, "apsw.VTCursor"]], "vtmodule (class in apsw)": [[23, "apsw.VTModule"]], "vttable (class in apsw)": [[23, "apsw.VTTable"]], "colused (indexinfo attribute)": [[23, "apsw.IndexInfo.colUsed"]], "distinct (indexinfo attribute)": [[23, "apsw.IndexInfo.distinct"]], "estimatedcost (indexinfo attribute)": [[23, "apsw.IndexInfo.estimatedCost"]], "estimatedrows (indexinfo attribute)": [[23, "apsw.IndexInfo.estimatedRows"]], "get_aconstraintusage_argvindex() (indexinfo method)": [[23, "apsw.IndexInfo.get_aConstraintUsage_argvIndex"]], "get_aconstraintusage_in() (indexinfo method)": [[23, "apsw.IndexInfo.get_aConstraintUsage_in"]], "get_aconstraintusage_omit() (indexinfo method)": [[23, "apsw.IndexInfo.get_aConstraintUsage_omit"]], "get_aconstraint_collation() (indexinfo method)": [[23, "apsw.IndexInfo.get_aConstraint_collation"]], "get_aconstraint_icolumn() (indexinfo method)": [[23, "apsw.IndexInfo.get_aConstraint_iColumn"]], "get_aconstraint_op() (indexinfo method)": [[23, "apsw.IndexInfo.get_aConstraint_op"]], "get_aconstraint_rhs() (indexinfo method)": [[23, "apsw.IndexInfo.get_aConstraint_rhs"]], "get_aconstraint_usable() (indexinfo method)": [[23, "apsw.IndexInfo.get_aConstraint_usable"]], "get_aorderby_desc() (indexinfo method)": [[23, "apsw.IndexInfo.get_aOrderBy_desc"]], "get_aorderby_icolumn() (indexinfo method)": [[23, "apsw.IndexInfo.get_aOrderBy_iColumn"]], "idxflags (indexinfo attribute)": [[23, "apsw.IndexInfo.idxFlags"]], "idxnum (indexinfo attribute)": [[23, "apsw.IndexInfo.idxNum"]], "idxstr (indexinfo attribute)": [[23, "apsw.IndexInfo.idxStr"]], "nconstraint (indexinfo attribute)": [[23, "apsw.IndexInfo.nConstraint"]], "norderby (indexinfo attribute)": [[23, "apsw.IndexInfo.nOrderBy"]], "orderbyconsumed (indexinfo attribute)": [[23, "apsw.IndexInfo.orderByConsumed"]], "set_aconstraintusage_argvindex() (indexinfo method)": [[23, "apsw.IndexInfo.set_aConstraintUsage_argvIndex"]], "set_aconstraintusage_in() (indexinfo method)": [[23, "apsw.IndexInfo.set_aConstraintUsage_in"]], "set_aconstraintusage_omit() (indexinfo method)": [[23, "apsw.IndexInfo.set_aConstraintUsage_omit"]], "sqlite3_vtab_collation": [[23, "index-2"]], "sqlite3_vtab_distinct": [[23, "index-0"]], "sqlite3_vtab_in": [[23, "index-1"], [23, "index-4"]], "sqlite3_vtab_in_first": [[23, "index-6"]], "sqlite3_vtab_in_next": [[23, "index-6"]], "sqlite3_vtab_nochange": [[23, "index-5"]], "sqlite3_vtab_rhs_value": [[23, "index-3"]]}}) \ No newline at end of file diff --git a/shell.html b/shell.html index e5bba2a7..0aef10cd 100644 --- a/shell.html +++ b/shell.html @@ -4,7 +4,7 @@ - Shell — APSW 3.43.1.0 documentation + Shell — APSW 3.43.1.1 documentation @@ -14,7 +14,7 @@ - + @@ -39,7 +39,7 @@
      - 3.43.1.0 + 3.43.1.1
      @@ -746,7 +746,7 @@

      Shell class
      -class Shell(stdin: TextIO | None = None, stdout: TextIO | None = None, stderr: TextIO | None = None, encoding: str = 'utf8', args: list[str] | None = None, db: Connection | None = None)[source]
      +class Shell(stdin: TextIO | None = None, stdout: TextIO | None = None, stderr: TextIO | None = None, encoding: str = 'utf8', args: list[str] | None = None, db: Connection | None = None)[source]

      Implements a SQLite shell

      Parameters:
      @@ -806,21 +806,21 @@

      Shell class
      -class Row(is_first: bool, is_last: bool, row: apsw.SQLiteValues, columns: tuple[str, ...])[source]
      +class Row(is_first: bool, is_last: bool, row: apsw.SQLiteValues, columns: tuple[str, ...])[source]

      Returned by Shell.PositionRow

      -columns: tuple[str, ...]
      +columns: tuple[str, ...]
      -is_first: bool
      +is_first: bool
      -is_last: bool
      +is_last: bool
      @@ -1021,7 +1021,7 @@

      Shell class process_command(command)[source]

      Processes a dot command.

      -

      It is split into parts using shlex.split() +

      It is split into parts using shlex.split() which is roughly the same method used by Unix/POSIX shells.

      @@ -1035,7 +1035,7 @@

      Shell class
      -process_sql(sql: str, bindings=None, internal=False, summary=None)[source]
      +process_sql(sql: str, bindings=None, internal=False, summary=None)[source]

      Processes SQL text consisting of one or more statements

      Parameters:
      @@ -1126,7 +1126,7 @@

      Shell class
      -main() None[source]
      +main() None[source]

      Call this to run the interactive shell. It automatically passes in sys.argv[1:] and exits Python when done.

      @@ -1146,7 +1146,7 @@

      Shell class

      © Copyright 2004-2023, Roger Binns <rogerb@rogerbinns.com>. - Last updated on Sep 13, 2023. + Last updated on Oct 06, 2023.

      diff --git a/tips.html b/tips.html index 09e278b9..c407583d 100644 --- a/tips.html +++ b/tips.html @@ -4,7 +4,7 @@ - Tips — APSW 3.43.1.0 documentation + Tips — APSW 3.43.1.1 documentation @@ -14,7 +14,7 @@ - + @@ -39,7 +39,7 @@
      - 3.43.1.0 + 3.43.1.1
      @@ -59,13 +59,12 @@
    • Diagnostics
    • Managing and updating your schema
    • Parsing SQL
    • -
    • Unexpected behaviour
    • Customizing Connections
    • Customizing Cursors
    • Busy handling
    • Database schema
    • -
    • Shared Cache Mode
    • Write Ahead Logging
    • +
    • Shared Cache Mode
    • Example/Tour
    • @@ -129,7 +128,10 @@

      SQLite is differentSQLite website and quirks.

      +
      +

      Tip

      Best practice is recommended.

      +

      Transactions

      @@ -187,16 +189,17 @@

      Cursors from each other. Anything done on one cursor is immediately visible to all other Cursors on the same connection. This still applies if you start transactions. Connections are isolated from each other.

      -

      Cursor objects are obtained by Connection.cursor() and are very -cheap. It is best practise to not re-use them, and instead get a new one -each time. If you don't, code refactoring and nested loops can unintentionally -use the same cursor object which will not crash but will cause hard to -diagnose behaviour in your program.

      +

      Connection.execute() and Connection.executemany() +automatically obtains cursors from Connection.cursor() which +are very cheap. It is best practise to not re-use them, and instead +get a new one each time. If you don't, code refactoring and nested +loops can unintentionally use the same cursor object which will not +crash but will cause hard to diagnose behaviour in your program.

      Read more about Cursors.

      Bindings

      -

      When using a cursor, always use bindings. String interpolation +

      When issuing a query, always use bindings. String interpolation may seem more convenient but you will encounter difficulties. You may feel that you have complete control over all data accessed but if your code is at all useful then you will find it being used more and more @@ -215,7 +218,7 @@

      Bindings APSW/SQLite was operating on.

      SQLite has a warning/error logging facility. You can call apsw.ext.log_sqlite() which installs a handler that forwards -SQLite messages to the logging module.`

      +SQLite messages to the logging module.`

      To do it yourself:

      def handler(errcode, message):
           errstr=apsw.mapping_result_codes[errcode & 255]
      @@ -273,27 +276,6 @@ 

      Parsing SQLapsw.ext.query_info() which will provide as much detail as you need.

      -
      -

      Unexpected behaviour

      -

      Occasionally you may get different results than you expected. Before -littering your code with print, try apswtrace -with all options turned on to see exactly what is going on. You can -also use the SQLite shell to dump the contents of your -database to a text file. For example you could dump it before and -after a run to see what changed.

      -

      One fairly common gotcha is using double quotes instead of single -quotes. (This wouldn't be a problem if you use bindings!) SQL -strings use single quotes. If you use double quotes then it will -mostly appear to work, but they are intended to be used for -identifiers such as column names. For example if you have a column -named a b (a space b) then you would need to use:

      -
      SELECT "a b" from table
      -
      -
      -

      If you use double quotes and happen to use a string whose contents are -the same as a table, alias, column etc then unexpected results will -occur.

      -

      Customizing Connections

      apsw.connection_hooks is a list of callbacks for when @@ -355,25 +337,6 @@

      Database schemanormalization. The page also shows common pitfalls if you don't normalize your schema.

      -
      -

      Shared Cache Mode

      -

      SQLite supports a shared cache mode where multiple connections -to the same database can share a cache instead of having their own. -It is not recommended that you use this mode.

      -

      A big issue is that busy handling is not done -the same way. The timeouts and handlers are ignored and instead -SQLITE_LOCKED_SHAREDCACHE extended error is returned. -Consequently you will have to do your own busy handling. (SQLite -ticket, -APSW issue 59)

      -

      The amount of memory and I/O saved is trivial compared to Python's -overall memory and I/O consumption. You may also need to tune the -shared cache's memory back up to what it would have been with separate -connections to get the same performance.

      -

      The shared cache mode is targeted at embedded systems where every -byte of memory and I/O matters. For example an MP3 player may only -have kilobytes of memory available for SQLite.

      -

      Write Ahead Logging

      SQLite 3.7 introduced write ahead logging which has several benefits, but @@ -382,7 +345,7 @@

      Database schemaconnection_hooks:

      def setwal(db):
      -    db.execute("pragma journal_mode=wal")
      +    db.pragma("journal_mode", "wal")
           # custom auto checkpoint interval (use zero to disable)
           db.wal_autocheckpoint(10)
       
      @@ -399,6 +362,15 @@ 

      Database schema +

      Shared Cache Mode

      +

      SQLite supports a shared cache mode where multiple connections to +the same database can share a cache instead of having their own. +SQLite recommend that you do not use this mode.

      +

      If you do use it, be aware that busy handling is +very different, and that you are unlikely to save any memory or I/O +compared to what Python programs usually do.

      +

      @@ -413,7 +385,7 @@

      Database schema

      © Copyright 2004-2023, Roger Binns <rogerb@rogerbinns.com>. - Last updated on Sep 13, 2023. + Last updated on Oct 06, 2023.

      diff --git a/types.html b/types.html index 70a5cc22..4a0ed22a 100644 --- a/types.html +++ b/types.html @@ -4,7 +4,7 @@ - Types — APSW 3.43.1.0 documentation + Types — APSW 3.43.1.1 documentation @@ -14,7 +14,7 @@ - + @@ -39,7 +39,7 @@
      - 3.43.1.0 + 3.43.1.1
      @@ -158,7 +158,7 @@

      Mapping specific thing ICU. A default SQLite compilation only deals with the 26 letter Roman alphabet. If you enable ICU with SQLite then you get good stuff. -See the Building C and C++ Extensions section on how to enable ICU for SQLite with +See the Building C and C++ Extensions section on how to enable ICU for SQLite with APSW. Note that Python does not currently include ICU support and hence sorting, upper/lower casing etc are limited and do not take locales into account.

      @@ -184,7 +184,7 @@

      Mapping

      © Copyright 2004-2023, Roger Binns <rogerb@rogerbinns.com>. - Last updated on Sep 13, 2023. + Last updated on Oct 06, 2023.

      diff --git a/vfs.html b/vfs.html index 16e7c978..29bc70f0 100644 --- a/vfs.html +++ b/vfs.html @@ -4,7 +4,7 @@ - Virtual File System (VFS) — APSW 3.43.1.0 documentation + Virtual File System (VFS) — APSW 3.43.1.1 documentation @@ -14,7 +14,7 @@ - + @@ -39,7 +39,7 @@
      - 3.43.1.0 + 3.43.1.1
      @@ -195,13 +195,12 @@ example demonstrates obfuscating the database file contents.

      -

      Exceptions and errors

      +

      Exceptions and errors

      To return an error from any routine you should raise an exception. The -exception will be translated into the appropriate SQLite error code -for SQLite. To return a specific SQLite error code use -exceptionfor(). If the exception does not map to any specific -error code then SQLITE_ERROR which corresponds to -SQLError is returned to SQLite.

      +exception will be translated into the corresponding SQLite error code. +To return a specific SQLite error code use exceptionfor(). If +the exception does not map to any specific error code then +SQLITE_ERROR which corresponds to SQLError is returned to SQLite.

      The SQLite code that deals with VFS errors behaves in varying ways. Some routines have no way to return an error (eg xDlOpen just returns zero/NULL on being unable to load a library, xSleep has no error return @@ -213,86 +212,17 @@ database can result in many different VFS function calls such as hot journals being detected, locking, and read/writes for playback/rollback.

      -

      To avoid confusion with exceptions being raised in the VFS and -exceptions from normal code to open Connections or execute SQL -queries, VFS exceptions are not raised in the normal way. (If they -were, only one could be raised and it would obscure whatever -exceptions the Connection open or SQL query execute wanted to -raise.) Instead the VFS.excepthook() or -VFSFile.excepthook() method is called with a tuple of exception -type, exception value and exception traceback. The default -implementation of excepthook calls sys.unraisablehook(), -or if that fails sys.excepthook().

      -

      In normal VFS usage there will be no exceptions raised, or specific -expected ones which APSW clears after noting them and returning the -appropriate value back to SQLite. The exception hooking behaviour -helps you find issues in your code or unexpected behaviour of the -external environment. Remember that augmented stack traces are available which significantly increase -detail about the exceptions.

      -

      As an example, lets say you have a divide by zero error in your xWrite -routine. The table below shows what happens with time going down and -across.

      -

      --use-system-sqlite-config

      Uses ctypes to determine the system wide SQLite library +

      Uses ctypes to determine the system wide SQLite library compilation options

      --definevalues

      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

      Python Query Code

      SQLite and APSW C code

      Python VFS code

      cursor.execute("update table set foo=3")

      SQLite starts executing query

      Your VFS routines are called

      Your xWrite divides by zero

      VFSFile.excepthook() is called with -ZeroDivision exception

      SQLITE_ERROR (closest -matching SQLite error code) is -returned to SQLite by APSW

      SQLite error handling and -recovery operates which calls -more VFS routines.

      More VFS routines are called. Any -exceptions in these routines will result in -VFSFile.excepthook() being called with -them.

      SQLite returns -SQLITE_FULL to APSW

      APSW returns apsw.FullError

      +

      If multiple exceptions occur during the same SQLite control flow, then +they will be chained together. Remember that +augmented stack traces are available +which significantly increase detail about the exceptions and help with +debugging.

      VFSFcntlPragma class

      -class VFSFcntlPragma(pointer: int)
      +class VFSFcntlPragma(pointer: int)

      A helper class to work with SQLITE_FCNTL_PRAGMA @@ -303,19 +233,19 @@

      VFSFcntlPragma classThe pointer must be what your xFileControl method received.

      -VFSFcntlPragma.name: str
      +VFSFcntlPragma.name: str

      The name of the pragma

      -VFSFcntlPragma.result: str | None
      +VFSFcntlPragma.result: str | None

      The first element which becomes the result or error message

      -VFSFcntlPragma.value: str | None
      +VFSFcntlPragma.value: str | None

      The value for the pragma, if provided else None,

      @@ -324,7 +254,7 @@

      VFSFcntlPragma classVFS class

      -class VFS(name: str, base: str | None = None, makedefault: bool = False, maxpathname: int = 1024, *, iVersion: int = 3, exclude: set[str] | None = None)
      +class VFS(name: str, base: str | None = None, makedefault: bool = False, maxpathname: int = 1024, *, iVersion: int = 3, exclude: set[str] | None = None)

      Provides operating system access. You can get an overview in the SQLite documentation. To create a VFS your Python class must inherit from VFS.

      @@ -362,17 +292,18 @@

      VFS class
      -VFS.excepthook(etype: type[BaseException], evalue: BaseException, etraceback: types.TracebackType | None) Any
      -

      Called when there has been an exception in a VFS routine. -The default implementation passes the exception information +VFS.excepthook(etype: type[BaseException], evalue: BaseException, etraceback: types.TracebackType | None) Any +

      Called when there has been an exception in a VFS routine, +and it can't be reported to the caller as usual.

      +

      The default implementation passes the exception information to sqlite3_log, and the first non-error of -sys.unraisablehook() and sys.excepthook(), falling back to +sys.unraisablehook() and sys.excepthook(), falling back to PyErr_Display.

      -VFS.unregister() None
      +VFS.unregister() None

      Unregisters the VFS making it unavailable to future database opens. You do not need to call this as the VFS is automatically unregistered by when the VFS has no more references or open @@ -384,7 +315,7 @@

      VFS class
      -VFS.xAccess(pathname: str, flags: int) bool
      +VFS.xAccess(pathname: str, flags: int) bool

      SQLite wants to check access permissions. Return True or False accordingly.

      @@ -399,7 +330,7 @@

      VFS class
      -VFS.xCurrentTime() float
      +VFS.xCurrentTime() float

      Return the Julian Day Number as a floating point number where the integer portion is the day and the fractional part is the time. Do not adjust for timezone (ie use UTC).

      @@ -407,14 +338,14 @@

      VFS class
      -VFS.xCurrentTimeInt64() int
      +VFS.xCurrentTimeInt64() int

      Returns as an integer the Julian Day Number multiplied by 86400000 (the number of milliseconds in a 24-hour day).

      -VFS.xDelete(filename: str, syncdir: bool) None
      +VFS.xDelete(filename: str, syncdir: bool) None

      Delete the named file. If the file is missing then raise an IOError exception with extendedresult SQLITE_IOERR_DELETE_NOENT

      @@ -433,7 +364,7 @@

      VFS class
      -VFS.xDlClose(handle: int) None
      +VFS.xDlClose(handle: int) None

      Close and unload the library corresponding to the handle you returned from xDlOpen(). You can use ctypes to do this:

      @@ -447,7 +378,7 @@

      VFS class
      -VFS.xDlError() str
      +VFS.xDlError() str

      Return an error string describing the last error of xDlOpen() or xDlSym() (ie they returned zero/NULL). If you do not supply this routine then SQLite provides @@ -460,7 +391,7 @@

      VFS class
      -VFS.xDlOpen(filename: str) int
      +VFS.xDlOpen(filename: str) int

      Load the shared library. You should return a number which will be treated as a void pointer at the C level. On error you should return 0 (NULL). The number is passed as is to @@ -475,7 +406,7 @@

      VFS class
      -VFS.xDlSym(handle: int, symbol: str) int
      +VFS.xDlSym(handle: int, symbol: str) int

      Returns the address of the named symbol which will be called by SQLite. On error you should return 0 (NULL). You can use ctypes:

      def xDlSym(ptr, name):
      @@ -495,27 +426,27 @@ 

      VFS class
      -VFS.xFullPathname(name: str) str
      +VFS.xFullPathname(name: str) str

      Return the absolute pathname for name. You can use os.path.abspath to do this.

      -VFS.xGetLastError() tuple[int, str]
      +VFS.xGetLastError() tuple[int, str]

      This method is to return an integer error code and (optional) text describing the last error that happened in this thread.

      -VFS.xGetSystemCall(name: str) int | None
      +VFS.xGetSystemCall(name: str) int | None

      Returns a pointer for the current method implementing the named system call. Return None if the call does not exist.

      -VFS.xNextSystemCall(name: str | None) str | None
      +VFS.xNextSystemCall(name: str | None) str | None

      This method is repeatedly called to iterate over all of the system calls in the vfs. When called with None you should return the name of the first system call. In subsequent calls return the @@ -525,7 +456,7 @@

      VFS class
      -VFS.xOpen(name: str | URIFilename | None, flags: list[int, int]) VFSFile
      +VFS.xOpen(name: str | URIFilename | None, flags: list[int, int]) VFSFile

      This method should return a new file object based on name. You can return a VFSFile from a completely different VFS.

      @@ -549,7 +480,7 @@

      VFS class
      -VFS.xRandomness(numbytes: int) bytes
      +VFS.xRandomness(numbytes: int) bytes

      This method is called once when SQLite needs to seed the random number generator. It is called on the default VFS only. It is not called again, even across apsw.shutdown() calls. You can @@ -559,7 +490,7 @@

      VFS class
      -VFS.xSetSystemCall(name: str | None, pointer: int) bool
      +VFS.xSetSystemCall(name: str | None, pointer: int) bool

      Change a system call used by the VFS. This is useful for testing and some other scenarios such as sandboxing.

      @@ -587,7 +518,7 @@

      VFS class
      -VFS.xSleep(microseconds: int) int
      +VFS.xSleep(microseconds: int) int

      Pause execution of the thread for at least the specified number of microseconds (millionths of a second). This routine is typically called from the busy handler.

      @@ -606,7 +537,7 @@

      VFS class

      -class VFSFile(vfs: str, filename: str | URIFilename, flags: list[int])
      +class VFSFile(vfs: str, filename: str | URIFilename, flags: list[int])

      Wraps access to a file. You only need to derive from this class if you want the file object returned from VFS.xOpen() to inherit from an existing VFS implementation.

      @@ -625,7 +556,7 @@

      VFSFile classRaises: -

      ValueError -- If the named VFS is not registered.

      +

      ValueError -- If the named VFS is not registered.

      @@ -642,34 +573,25 @@

      VFSFile class
      -VFSFile.excepthook(etype: type[BaseException], evalue: BaseException, etraceback: types.TracebackType | None) None
      +VFSFile.excepthook(etype: type[BaseException], evalue: BaseException, etraceback: types.TracebackType | None) None

      Called when there has been an exception in a VFSFile -routine. The default implementation passes the exception information +routine, and it can't be reported to the caller as usual.

      +

      The default implementation passes the exception information to sqlite3_log, and the first non-error of -sys.unraisablehook() and sys.excepthook(), falling back to +sys.unraisablehook() and sys.excepthook(), falling back to PyErr_Display.

      -
      -
      Parameters:
      -
        -
      • etype -- The exception type

      • -
      • evalue -- The exception value

      • -
      • etraceback -- The exception traceback. Note this -includes all frames all the way up to the thread being started.

      • -
      -
      -

      -VFSFile.xCheckReservedLock() bool
      +VFSFile.xCheckReservedLock() bool

      Returns True if any database connection (in this or another process) has a lock other than SQLITE_LOCK_NONE or SQLITE_LOCK_SHARED.

      -VFSFile.xClose() None
      +VFSFile.xClose() None

      Close the database. Note that even if you return an error you should still close the file. It is safe to call this method multiple times.

      @@ -677,7 +599,7 @@

      VFSFile class
      -VFSFile.xDeviceCharacteristics() int
      +VFSFile.xDeviceCharacteristics() int

      Return I/O capabilities (bitwise or of appropriate values). If you do not implement the function or have an error then 0 (the SQLite default) is returned.

      @@ -685,7 +607,7 @@

      VFSFile class
      -VFSFile.xFileControl(op: int, ptr: int) bool
      +VFSFile.xFileControl(op: int, ptr: int) bool

      Receives file control request typically issued by Connection.filecontrol(). See Connection.filecontrol() for an example of how to pass a @@ -721,14 +643,14 @@

      VFSFile class
      -VFSFile.xFileSize() int
      +VFSFile.xFileSize() int

      Return the size of the file in bytes. Remember that file sizes are 64 bit quantities even on 32 bit operating systems.

      -VFSFile.xLock(level: int) None
      +VFSFile.xLock(level: int) None

      Increase the lock to the level specified which is one of the SQLITE_LOCK family of constants. If you can't increase the lock level because @@ -737,7 +659,7 @@

      VFSFile class
      -VFSFile.xRead(amount: int, offset: int) bytes
      +VFSFile.xRead(amount: int, offset: int) bytes

      Read the specified amount of data starting at offset. You should make every effort to read all the data requested, or return an error. If you have the file open for non-blocking I/O or if @@ -757,7 +679,7 @@

      VFSFile class
      -VFSFile.xSectorSize() int
      +VFSFile.xSectorSize() int

      Return the native underlying sector size. SQLite uses the value returned in determining the default database page size. If you do not implement the function or have an error then 4096 (the SQLite @@ -766,7 +688,7 @@

      VFSFile class
      -VFSFile.xSync(flags: int) None
      +VFSFile.xSync(flags: int) None

      Ensure data is on the disk platters (ie could survive a power failure immediately after the call returns) with the sync flags detailing what needs to be synced. You can sync more than what is requested.

      @@ -774,14 +696,14 @@

      VFSFile class
      -VFSFile.xTruncate(newsize: int) None
      +VFSFile.xTruncate(newsize: int) None

      Set the file length to newsize (which may be more or less than the current length).

      -VFSFile.xUnlock(level: int) None
      +VFSFile.xUnlock(level: int) None

      Decrease the lock to the level specified which is one of the SQLITE_LOCK family of constants.

      @@ -789,7 +711,7 @@

      VFSFile class
      -VFSFile.xWrite(data: bytes, offset: int) None
      +VFSFile.xWrite(data: bytes, offset: int) None

      Write the data starting at absolute offset. You must write all the data requested, or return an error. If you have the file open for non-blocking I/O or if signals happen then it is possible for the @@ -821,13 +743,13 @@

      URIFilename class
      -URIFilename.filename() str
      +URIFilename.filename() str

      Returns the filename.

      -URIFilename.uri_boolean(name: str, default: bool) bool
      +URIFilename.uri_boolean(name: str, default: bool) bool

      Returns the boolean value for parameter name or default if not present.

      Calls: sqlite3_uri_boolean

      @@ -835,7 +757,7 @@

      URIFilename class
      -URIFilename.uri_int(name: str, default: int) int
      +URIFilename.uri_int(name: str, default: int) int

      Returns the integer value for parameter name or default if not present.

      Calls: sqlite3_uri_int64

      @@ -843,7 +765,7 @@

      URIFilename class
      -URIFilename.uri_parameter(name: str) str | None
      +URIFilename.uri_parameter(name: str) str | None

      Returns the value of parameter name or None.

      Calls: sqlite3_uri_parameter

      @@ -863,7 +785,7 @@

      URIFilename class

      © Copyright 2004-2023, Roger Binns <rogerb@rogerbinns.com>. - Last updated on Sep 13, 2023. + Last updated on Oct 06, 2023.

      diff --git a/vtable.html b/vtable.html index 22d2cecb..ef061003 100644 --- a/vtable.html +++ b/vtable.html @@ -4,7 +4,7 @@ - Virtual Tables — APSW 3.43.1.0 documentation + Virtual Tables — APSW 3.43.1.1 documentation @@ -14,7 +14,7 @@ - + @@ -39,7 +39,7 @@
      - 3.43.1.0 + 3.43.1.1
      @@ -225,146 +225,146 @@

      IndexInfo classValueError if you use the object outside of an +

      You will get ValueError if you use the object outside of an BestIndex method.

      apsw.ext.index_info_to_dict() provides a convenient -representation of this object as a dict.

      +representation of this object as a dict.

    -IndexInfo.colUsed: set[int]
    +IndexInfo.colUsed: set[int]

    (Read-only) Columns used by the statement. Note that a set is returned, not the underlying integer.

    -IndexInfo.distinct: int
    +IndexInfo.distinct: int

    (Read-only) How the query planner would like output ordered

    Calls: sqlite3_vtab_distinct

    -IndexInfo.estimatedCost: float
    +IndexInfo.estimatedCost: float

    Estimated cost of using this index

    -IndexInfo.estimatedRows: int
    +IndexInfo.estimatedRows: int

    Estimated number of rows returned

    -IndexInfo.get_aConstraintUsage_argvIndex(which: int) int
    +IndexInfo.get_aConstraintUsage_argvIndex(which: int) int

    Returns argvIndex for aConstraintUsage[which]

    -IndexInfo.get_aConstraintUsage_in(which: int) bool
    +IndexInfo.get_aConstraintUsage_in(which: int) bool

    Returns True if the constraint is in - eg column in (3, 7, 9)

    Calls: sqlite3_vtab_in

    -IndexInfo.get_aConstraintUsage_omit(which: int) bool
    +IndexInfo.get_aConstraintUsage_omit(which: int) bool

    Returns omit for aConstraintUsage[which]

    -IndexInfo.get_aConstraint_collation(which: int) str
    +IndexInfo.get_aConstraint_collation(which: int) str

    Returns collation name for aConstraint[which]

    Calls: sqlite3_vtab_collation

    -IndexInfo.get_aConstraint_iColumn(which: int) int
    +IndexInfo.get_aConstraint_iColumn(which: int) int

    Returns iColumn for aConstraint[which]

    -IndexInfo.get_aConstraint_op(which: int) int
    +IndexInfo.get_aConstraint_op(which: int) int

    Returns op for aConstraint[which]

    -IndexInfo.get_aConstraint_rhs(which: int) SQLiteValue
    +IndexInfo.get_aConstraint_rhs(which: int) SQLiteValue

    Returns right hand side value if known, else None.

    Calls: sqlite3_vtab_rhs_value

    -IndexInfo.get_aConstraint_usable(which: int) bool
    +IndexInfo.get_aConstraint_usable(which: int) bool

    Returns usable for aConstraint[which]

    -IndexInfo.get_aOrderBy_desc(which: int) bool
    +IndexInfo.get_aOrderBy_desc(which: int) bool

    Returns desc for aOrderBy[which]

    -IndexInfo.get_aOrderBy_iColumn(which: int) int
    +IndexInfo.get_aOrderBy_iColumn(which: int) int

    Returns iColumn for aOrderBy[which]

    -IndexInfo.idxFlags: int
    +IndexInfo.idxFlags: int

    Mask of SQLITE_INDEX_SCAN flags

    -IndexInfo.idxNum: int
    +IndexInfo.idxNum: int

    Number used to identify the index

    -IndexInfo.idxStr: str | None
    +IndexInfo.idxStr: str | None

    Name used to identify the index

    -IndexInfo.nConstraint: int
    +IndexInfo.nConstraint: int

    (Read-only) Number of constraint entries

    -IndexInfo.nOrderBy: int
    +IndexInfo.nOrderBy: int

    (Read-only) Number of order by entries

    -IndexInfo.orderByConsumed: bool
    +IndexInfo.orderByConsumed: bool

    True if index output is already ordered

    -IndexInfo.set_aConstraintUsage_argvIndex(which: int, argvIndex: int) None
    +IndexInfo.set_aConstraintUsage_argvIndex(which: int, argvIndex: int) None

    Sets argvIndex for aConstraintUsage[which]

    -IndexInfo.set_aConstraintUsage_in(which: int, filter_all: bool) None
    +IndexInfo.set_aConstraintUsage_in(which: int, filter_all: bool) None

    If which is an in constraint, and filter_all is True then your VTCursor.Filter() method will have all of the values at once.

    Calls: sqlite3_vtab_in

    @@ -372,7 +372,7 @@

    IndexInfo class
    -IndexInfo.set_aConstraintUsage_omit(which: int, omit: bool) None
    +IndexInfo.set_aConstraintUsage_omit(which: int, omit: bool) None

    Sets omit for aConstraintUsage[which]

    @@ -408,7 +408,7 @@

    VTModule class
    -VTModule.Connect(connection: Connection, modulename: str, databasename: str, tablename: str, *args: tuple[SQLiteValue, ...]) tuple[str, VTTable]
    +VTModule.Connect(connection: Connection, modulename: str, databasename: str, tablename: str, *args: tuple[SQLiteValue, ...]) tuple[str, VTTable]

    The parameters and return are identical to Create(). This method is called when there are additional references to the table. Create() will be called the first time and @@ -431,7 +431,7 @@

    VTModule class
    -VTModule.Create(connection: Connection, modulename: str, databasename: str, tablename: str, *args: tuple[SQLiteValue, ...]) tuple[str, VTTable]
    +VTModule.Create(connection: Connection, modulename: str, databasename: str, tablename: str, *args: tuple[SQLiteValue, ...]) tuple[str, VTTable]

    Called when a table is first created on a connection.

    Parameters:
    @@ -455,7 +455,7 @@

    VTModule class
    -VTModule.ShadowName(table_suffix: str) bool
    +VTModule.ShadowName(table_suffix: str) bool

    This method is called to check if table_suffix is a shadow name

    The default implementation always returns False.

    @@ -492,14 +492,14 @@

    VTTable class
    -VTTable.Begin() None
    +VTTable.Begin() None

    This function is used as part of transactions. You do not have to provide the method.

    -VTTable.BestIndex(constraints: Sequence[tuple[int, int]], orderbys: Sequence[tuple[int, int]]) Any
    +VTTable.BestIndex(constraints: Sequence[tuple[int, int]], orderbys: Sequence[tuple[int, int]]) Any

    This is a complex method. To get going initially, just return None and you will be fine. You should also consider using BestIndexObject() instead.

    @@ -671,7 +671,7 @@

    VTTable class
    -VTTable.BestIndexObject(index_info: IndexInfo) bool
    +VTTable.BestIndexObject(index_info: IndexInfo) bool

    This method is called instead of BestIndex() if use_bestindex_object was True in the call to Connection.createmodule().

    @@ -684,14 +684,14 @@

    VTTable class
    -VTTable.Commit() None
    +VTTable.Commit() None

    This function is used as part of transactions. You do not have to provide the method.

    -VTTable.Destroy() None
    +VTTable.Destroy() None

    The opposite of VTModule.Create(). This method is called when the table is no longer used. Note that you must always release resources even if you intend to return an error, as it will not be @@ -701,7 +701,7 @@

    VTTable class
    -VTTable.Disconnect() None
    +VTTable.Disconnect() None

    The opposite of VTModule.Connect(). This method is called when a reference to a virtual table is no longer used, but VTTable.Destroy() will be called when the table is no longer used.

    @@ -709,7 +709,7 @@

    VTTable class
    -VTTable.FindFunction(name: str, nargs: int) None | Callable | tuple[int, Callable]
    +VTTable.FindFunction(name: str, nargs: int) None | Callable | tuple[int, Callable]

    Called to find if the virtual table has its own implementation of a particular scalar function. You do not have to provide this method.

    @@ -743,7 +743,7 @@

    VTTable class
    -VTTable.Release(level: int) None
    +VTTable.Release(level: int) None

    Release nested transactions back to level.

    If you do not provide this method then the call succeeds (matching SQLite behaviour when no callback is provided).

    @@ -751,7 +751,7 @@

    VTTable class
    -VTTable.Rename(newname: str) None
    +VTTable.Rename(newname: str) None

    Notification that the table will be given a new name. If you return without raising an exception, then SQLite renames the table (you don't have to do anything). If you raise an exception then the @@ -760,14 +760,14 @@

    VTTable class
    -VTTable.Rollback() None
    +VTTable.Rollback() None

    This function is used as part of transactions. You do not have to provide the method.

    -VTTable.Savepoint(level: int) None
    +VTTable.Savepoint(level: int) None

    Set nested transaction to level.

    If you do not provide this method then the call succeeds (matching SQLite behaviour when no callback is provided).

    @@ -775,14 +775,14 @@

    VTTable class
    -VTTable.Sync() None
    +VTTable.Sync() None

    This function is used as part of transactions. You do not have to provide the method.

    -VTTable.UpdateChangeRow(row: int, newrowid: int, fields: tuple[SQLiteValue, ...]) None
    +VTTable.UpdateChangeRow(row: int, newrowid: int, fields: tuple[SQLiteValue, ...]) None

    Change an existing row. You may also need to change the rowid - for example if the query was UPDATE table SET rowid=rowid+100 WHERE ...

    @@ -798,7 +798,7 @@

    VTTable class
    -VTTable.UpdateDeleteRow(rowid: int) None
    +VTTable.UpdateDeleteRow(rowid: int) None

    Delete the row with the specified rowid.

    Parameters:
    @@ -809,7 +809,7 @@

    VTTable class
    -VTTable.UpdateInsertRow(rowid: int | None, fields: tuple[SQLiteValue, ...]) int | None
    +VTTable.UpdateInsertRow(rowid: int | None, fields: tuple[SQLiteValue, ...]) int | None

    Insert a row with the specified rowid.

    Parameters:
    @@ -851,7 +851,7 @@

    VTCursor class
    -VTCursor.Close() None
    +VTCursor.Close() None

    This is the destructor for the cursor. Note that you must cleanup. The method will not be called again if you raise an exception.

    @@ -859,7 +859,7 @@

    VTCursor class
    -VTCursor.Column(number: int) SQLiteValue
    +VTCursor.Column(number: int) SQLiteValue

    Requests the value of the specified column number of the current row. If number is -1 then return the rowid.

    @@ -872,7 +872,7 @@

    VTCursor class
    -VTCursor.ColumnNoChange(number: int) SQLiteValue
    +VTCursor.ColumnNoChange(number: int) SQLiteValue

    VTTable.UpdateChangeRow() is going to be called which includes values for all columns. However this column is not going to be changed in that update.

    @@ -887,7 +887,7 @@

    VTCursor class
    -VTCursor.Eof() bool
    +VTCursor.Eof() bool

    Called to ask if we are at the end of the table. It is called after each call to Filter and Next.

    Returns:
    @@ -904,7 +904,7 @@

    VTCursor class
    -VTCursor.Filter(indexnum: int, indexname: str, constraintargs: tuple | None) None
    +VTCursor.Filter(indexnum: int, indexname: str, constraintargs: tuple | None) None

    This method is always called first to initialize an iteration to the first row of the table. The arguments come from the BestIndex() or BestIndexObject() @@ -912,7 +912,7 @@

    VTCursor classIndexInfo.set_aConstraintUsage_in() -then that value will be a set.

    +then that value will be a set.

    Calls:
    @@ -973,7 +973,7 @@

    Troubleshooting virtual tables

    © Copyright 2004-2023, Roger Binns <rogerb@rogerbinns.com>. - Last updated on Sep 13, 2023. + Last updated on Oct 06, 2023.