[ANN] PySQLite 1.1

Gerhard Haering gh at ghaering.de
Sat Oct 23 01:31:47 CEST 2004


============
PySQLite 1.1
============


About this release:
===================

To let existing PySQLite users move to the SQLite3 engine, a created PySQLite
1.1. It supports all of the PySQLite 1.0 API, but uses the SQLite3 database
instead. The testsuite runs ok, and I did a few others checks, but now it needs
real-life exposure to find any remaining bugs that crawled in.


Different branches:
===================

- PySQLite 1.0 (SQLite 2.x) and PySQLite 1.1 (SQLite 3.x) will not gain
  additional features, but they will both be maintained as branches in the
  Subversion repository (http://initd.org/svn/initd/pysqlite/) and get
  bugfixes.

- I will now resume development of PySQLite 2.0, with the new API and created
  with SQLite3 in mind in the first place.


Changelog:
==========

- Hacked _sqlite.c to use the SQLite 3 API instead of the SQLite 2 one.

- The connection object now has a method insert_id() for better MySQLdb
  compatibility. If you want portable code that also works with current
  MySQLdb, however, then just use the .lastrowid attribute.


Place of development
====================

The development will move to initd.org step by step. For now, I only switched
from the Sourceforge CVS to initd.org Subversion. So file releases and bug
tracker can still be found on Sourceforge:

http://sf.net/projects/pysqlite


Known incompatibilites with PySQLite 1.0/SQLite 2
=================================================

- expressions/aggregates/functions will now always be of type TEXT, and thus
  strings, unless you use the "-- types" facility.

- The lowlevel method "sqlite_busy_timeout" is not supported any longer. The
  code that was in SQLite 2.x proper, had to be reimplemented in PySQLite, and
  the simple timeout case was implemented in the Python layer. This shouldn't
  bother you, unless you used the _sqlite module and used
  ""sqlite_busy_timeout" method. In this case, look into the PySQLite source
  code, and adapt my timeout code from busy_handler(), hidden in
  Connection.__init__.

- SQLite3 doesn't return a column name at all for columns, that don't come from
  database tables. Only adapted the test for now, later we can probably make it
  a little more intelligent using sqlite3_column_type().
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 196 bytes
Desc: Digital signature
URL: <http://mail.python.org/pipermail/python-list/attachments/20041023/dd458a8f/attachment.pgp>


More information about the Python-list mailing list