Apsw-sqlite3mc

Latest version: v3.47.2.0

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

Scan your dependencies

Page 23 of 24

3.3.7r1

========

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
that allowed removing a chunk of duplicate code. Also added were
`Virtual Tables <https://www.sqlite.org/vtab.html>`_
and loading of external modules (shared libraries).

APSW had the following changes:

* Even more test cases added (you can't have too many tests :-)
* When exceptions occur, dummy frames are added to the traceback in the
C code. This makes it a lot easier to tell why code was called if you
encounter an exception. See :ref:`augmented stack traces
<augmentedstacktraces>` for details.
* String values (traditional and Unicode) work correctly if they have
embedded NULL characters (ie not truncated at the NULL).
* You can load SQLite shared library extensions.

3.3.5r1

========

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
the step function. (:c:func:`PyErr_WriteUnraisable(NULL)
<PyErr_WriteUnraisable>` crashed on some versions of Python but not
others.)

SQLite added several functions for returning metadata about result
column sets. You have to compile SQLite with
*SQLITE_ENABLE_COLUMN_METADATA* to get them. This is not the
default for SQLite. I don't believe these are generally useful except
in some corner cases and so they aren't wrapped. However please shout
if you do need them. Note that :meth:`Cursor.get_description` will
already give you generally useful information. (Also see the `pragmas
<https://sqlite.org/pragma.html>`_)

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

Updated code to work correctly with new :c:type:`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
all functions defined on the :class:`Connection` object or :mod:`apsw`
module:

* `sqlite3_update_hook <https://sqlite.org/c3ref/update_hook.html>`_
* `sqlite3_rollback_hook <https://sqlite.org/c3ref/commit_hook.html>`_
* `sqlite3_enable_shared_cache <https://sqlite.org/c3ref/enable_shared_cache.html>`_
* `sqlite3_get_autocommit <https://sqlite.org/c3ref/get_autocommit.html>`_
* `sqlite3_profile <https://sqlite.org/c3ref/profile.html>`_ This
callback is run at the end of each statement execution telling you how
long it took.

3.2.7r1

========

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
yet.

The author of pysqlite has improved it considerably since APSW was
originally written. The differences section has been updated to
reflect those improvements in pysqlite.

*SQLITE_INTERNAL* and *SQLITE_NOTFOUND* error codes are
not used according to 3.2.7 header file. They are still present in
APSW for backwards compatibility.

Changed the build instructions so configure is run on non-Windows
platforms.

Fixed a bug caused by an overly helpful error message trying to tell
you how many bindings you supplied that crashed if you didn't supply
any.

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

3.2.2r1

========

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.1r1

========

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)

SQLite 3.2.1 had one addition in the stable C API, which was a new
function named *sqlite3_global_recover*. That function is not
applicable for wrapping in APSW.

3.1.3r1

========

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
purely cosmetic and helps make clear what the class is. (The old
string was what the original class name was in an earlier version of
the code.)

Added *SQLITE_ALTER_TABLE* and *SQLITE_REINDEX*
constants for the authorizer function. (These constants were
introduced in SQLite 3.1.3).

Changed various C++-isms into standard C (eg // comments and the
placing of some *CHECK_THREAD* macro calls).

Added module level function :meth:`~apsw.apsw_version` which returns
the version of APSW.

SQLite 3.1.3 had no changes in the stable C API other than what is
mentioned above. There were some new experimental functions added
which are not currently documented on the SQLite website, which are
not wrapped by APSW. Please contact me if you believe they will
remain in SQLite and you would like them wrapped:

* *sqlite3_sleep* An alternative function which sleeps for a
specified number of milliseconds can be provided. By default SQLite
just uses the standard operating system call.
* *sqlite3_expired* This function is internal to statement
execution. It would apply to the implementation of
:meth:`Cursor.executemany` and could in theory provide a marginal
improvement in performance.
* A global variable *sqlite3_temp_directory* can be used before
any databases are opened to set where temporary files are created. By
default SQLite just uses the standard operating system mechanisms.

Page 23 of 24

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.