[pysqlite] APSW 3.6.3-r1 released

Roger Binns <[email protected]> Fri, 10 Oct 2008 00:23:28 -0700
Newsgroups gmane.comp.python.db.pysqlite.user
Message-ID <[email protected]>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

APSW 3.6.3-r1 is now available.  Full documentation including change
history is available at http://apsw.googlecode.com/files/apsw-3.6.3-r1.html

APSW focuses on being a minimal layer over SQLite attempting just to
translate the complete SQLite API into Python. The documentation has a
section on the differences between APSW and pysqlite.

The major enhancement in this release is that you can write your own VFS
in Python.  In just a few lines you can obfuscate your database as the
example shows, or enhance your testing by synthesizing disk errors.

Detailed changes:

   You can now write your own [1]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
   [2]example where database files are obfuscated by XORing their
   contents.

   setup.py now takes an optional --fetch-sqlite[=ver] argument to
   automatically download and use the latest SQLite amalgamation (or
   a specified version). On non-Windows platforms it will also work
   out what compile flags SQLite needs (for example HAVE_USLEEP,
   HAVE_LOCALTIME_R). Several other options to setup.py are also
   available to control enabling/omitting certain features and
   functionality. See [3]building for further details.

   APSW checks that SQLite was compiled to be [4]threadsafe.

   Added new constants:

     * SQLITE_IOERR_ACCESS, SQLITE_IOERR_CHECKRESERVEDLOCK and
       SQLITE_IOERR_LOCK extended result codes
     * SQLITE_OPEN_NOMUTEX and SQLITE_OPEN_FULLMUTEX open flags
     * Several new SQLITE_CONFIG and SQLITE_STATUS codes

   Wrapped several new SQLite apis:

     * [5]sqlite3_config
     * [6]sqlite3_initialize/sqlite3_shutdown
     * [7]sqlite3_memory_used/sqlite3_memory_highwater
     * [8]sqlite3_status
     * [9]sqlite3_soft_heap_limit
     * [10]sqlite3_release_memory
     * [11]sqlite3_randomness

   The following experimental apis are not wrapped as there is
   nothing useful you can do with them (yet):

     * [12]sqlite3_db_config
     * [13]sqlite3_db_status

   Restored prior behaviour regarding Python ints and longs returning
   int for numbers fitting in signed 32 bit. This only affects Python
   2 as Python 3 uses long exclusively. Thanks to Joe Pham for
   reporting this as [14]issue 24.

   Added Connection.sqlite3pointer method to help with [15]issue 26.

References

   Visible links
   1. See "VFS" in documentation
   2. See example VFS near the end of the example in the documentation
   3. See "Building" in the documentation
   4. http://sqlite.org/c3ref/threadsafe.html
   5. http://sqlite.org/c3ref/config.html
   6. http://sqlite.org/c3ref/initialize.html
   7. http://sqlite.org/c3ref/memory_highwater.html
   8. http://sqlite.org/c3ref/status.html
   9. http://sqlite.org/c3ref/soft_heap_limit.html
  10. http://sqlite.org/c3ref/release_memory.html
  11. http://sqlite.org/c3ref/randomness.html
  12. http://www.sqlite.org/c3ref/db_config.html
  13. http://www.sqlite.org/c3ref/db_status.html
  14. http://code.google.com/p/apsw/issues/detail?id=24
  15. http://code.google.com/p/apsw/issues/detail?id=26

Roger
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFI7wLwmOOfHg372QQRAri4AJ4rnAr6dJeZ8RQ1c7iOIQeIBpHdSACfc8qQ
xwes/yg6Yjva1Ky7hOC/6nc=
=8XSy
-----END PGP SIGNATURE-----