Apsw

Latest version: v3.47.2.0

Safety actively analyzes 687959 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 19 of 24

3.6.23.1r1

===========

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 :attr:`database <shell.Shell.db>` from the
API.

Added a shell :ref:`example <example_shell>`.

3.6.23r1

=========

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.

Added :attr:`compile_options` which tells you what compilation defines
SQLite was compiled with.

Added :meth:`log` to call the SQLite logging interface, and updated
:meth:`config` so you can set log destination function.

3.6.22r1

=========

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
include the HTML help as distutils has no way of including content in
a reparented location. :issue:`89`

Various settings are output as pragma statements when making a dump
such as page size, encoding, auto_vacuum etc. The pragmas are
commented out. :issue:`90`

3.6.21r1

=========

Source and binary files are now digitally signed which means you can
verify they have not been tampered with. See :ref:`verifydownload`
for instructions.

The pragmas generated for a shell dump are emitted outside the
transaction as they have no effect inside the transaction.

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

3.6.20r1

=========

Support for Python 3.0 has been dropped as it has been `end of lifed
<https://www.python.org/download/releases/3.0.1/>`__. Use Python 3.1
onwards.

Changes to how some statements are `prepared
<https://sqlite.org/c3ref/prepare.html>`__ to allow the new RANGE and
LIKE optimisations with bound variables introduced in SQLite 3.6.20 to
be used. See :issue:`85` for the long and gory details.

You can now access `CouchDB <https://couchdb.apache.org>`__ using a
virtual table. This lets you easily bidirectionally transfer data
between SQLite and CouchDB as well as work on data in both sources at
the same time. Other example uses are in the documentation.

:ref:`Shell <shell>` changes:

* .dump command now outputs views in the order they were created
rather than alphabetical as views could reference each
other. :issue:`82`

* .dump command now outputs the `user_version
<https://sqlite.org/pragma.html#pragma_user_version>`__ as a comment. It is
used by some programs (such as Firefox) to keep track of the schema
version.

* Can now output in `JSON <https://json.org>`__.

* Fixed :issue:`83` - exception if history file didn't exist

* You can right justify output in column mode by specifying negative
widths. :issue:`84`

* You no longer get a traceback doing completions if there is a
virtual table in the database but the module is not loaded.
:issue:`86`

* You can now get detailed tracebacks including local variables using
the ".exception ON" command. This is useful when developing
virtual tables and similar functionality.

* You can now terminate a SQL statement with "go" or "/" on a line
by itself.

3.6.19r1

=========

**Backwards incompatible change** Fixed :issue:`72` where APSW wasn't
zero basing virtual table :meth:`~VTTable.BestIndex` constraints
returned as documented. If you have working BestIndex code then you
need to update it for this release. Thanks to Lefteris for finding
this issue.

**Backwards incompatible change** The :meth:`~apsw.complete` method
has moved from :class:`Connection` to :mod:`apsw` where it should have
been all along. You should now call :meth:`apsw.complete` instead. (It
even had an example showing it to be part of the module and not a
specific connection!)

There is now an :class:`interactive shell <shell.Shell>` very similar to
that `provided by SQLite <https://sqlite.org/sqlite.html>`__. You
can embed it in your own program, inherit from it to provide more
commands and output modes, or just run it like this::

$ python -c "import apsw ; apsw.main()"

Added the `SQLITE_LIMIT_TRIGGER_DEPTH
<https://sqlite.org/c3ref/c_limit_attached.html>`__,
`SQLITE_OPEN_PRIVATECACHE
<https://sqlite.org/c3ref/c_open_autoproxy.html>`__ and
`SQLITE_OPEN_SHAREDCACHE
<https://sqlite.org/c3ref/c_open_autoproxy.html>`__ constants.

The :file:`setup.py` file now has the various options available made
applicable to appropriate commands only. Read the :ref:`updated
documentation <setup_py_flags>`.

You can now specify `build --enable=stat2` to :file:`setup.py`
to enable `advanced statistics gathering
<https://sqlite.org/compile.html#enable_stat2>`__ for query
planning.

:file:`setup.py` can automatically fetch the asyncvfs
extension for you. If the source is present when APSW is built then
it will be automatically included and *async_initialize* called.

A :meth:`fork_checker` is available which turns on detection when you
have used SQLite objects across a fork (a **very** bad thing). This
is possible on Unix like operating systems, especially if you use the
:mod:`multiprocessing module <multiprocessing>`.

Extension loading is now compiled in by default when using the
amalgamation and compiled out when using existing libraries. This is
more likely to match your machine. You can use
`--omit=load_extension` or `--enable=load_extension`
to the build/build_ext commands to explicitly disable/enable extension
loading. :issue:`67`

:file:`setup.py` will now abort on a download that has no
checksum. See :ref:`more information <fetch_checksums>` on checksums.

:ref:`setup.py <setup_py_flags>` can also fetch the version of SQLite
currently under development before a release. Use
`--version=fossil`.

Updated which code uses `experimental SQLite APIs
<https://sqlite.org/c3ref/experimental.html>`__ based on changes in
SQLite. The test suite will also work correctly with experimental on
or off. (It is on by default.)

Page 19 of 24

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.