APSW 3.6.19-r1 released (Another Python SQLite Wrapper)

Roger Binns rogerb at rogerbinns.com
Sat Oct 17 06:53:19 CEST 2009


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

APSW 3.6.19-r1 is now available. The home page is at
http://code.google.com/p/apsw/ which includes full documentation, source
and binary distributions for Windows (Python 2.3 onwards including 3.0 &
3.1).

APSW is a wrapper around SQLite that provides all SQLite API
functionality in Python.  It is not DBAPI compliant as it provides
SQLite semantics.  pysqlite provides DBAPI semantics.  You can see the
two approaches contrasted at
http://apsw.googlecode.com/svn/publish/pysqlite.html

Changelist is below and a clickable version at
http://apsw.googlecode.com/svn/publish/changes.html

Backwards incompatible change: Fixed issue 72 where APSW wasn’t zero basing
virtual table 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 complete() method has moved from
Connection to apsw where it should have been all along. You should now call
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 interactive shell very similar to that provided by SQLite.
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, SQLITE_OPEN_PRIVATECACHE and
SQLITE_OPEN_SHAREDCACHE constants.

The setup.py file now has the various options available made applicable to
appropriate commands only. Read the updated documentation.

You can now specify build --enable=stat2 to setup.py to enable advanced
statistics gathering for query planning.

setup.py can automatically fetch the Asynchronous VFS extension for you. If
the source is present when APSW is built then it will be automatically
included and the API provided.

A 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 multiprocessing module.

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

setup.py will now abort on a download that has no checksum. See more
information on checksums in the documentation.

setup.py can also fetch the version of SQLite currently under development
before a release. Use --version=fossil.

Updated which code uses experimental SQLite APIs based on changes in SQLite.
The test suite will also work correctly with experimental on or off. (It is
on by default.)

Roger
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkrZTboACgkQmOOfHg372QRxXwCg0rv8o1c2rSY3Fbz8FGJv9iVo
YNYAoJEvcBW4hENyoD5zeTqD7sBgby9M
=QtKv
-----END PGP SIGNATURE-----


More information about the Python-announce-list mailing list