Sybase module 0.26 released
19 Jun 2001 13:28:54 +1000
What is it:
The Sybase module provides a Python interface to the Sybase relational
database system. The Sybase package supports almost all of the Python
Database API, version 2.0 with extensions.
The module works with Python versions 1.5.2 and later and Sybase
versions 11.0.3 and later. It is based on the Sybase Client Library
(ct_* API), and the Bulk-Library Client (blk_* API) interfaces.
The 0.20 and later releases are a reimplementation of the module using
a thin C wrapper on the Sybase-CT API, and a Python module to provide
the DB-API functionality. It is still a work in progress, but should
be good enough for most purposes.
Changes for this release:
- A collection of Sybase example programs was found and converted to
use the sybasect module. This highlighted some bugs and many
omissions. For the curious the example programs have been included
in the release.
array_bind.py diag_example.py mult_text.py
bulkcopy.py dynamic_cur.py params.py
cursor_sel.py dynamic_ins.py rpc.py
cursor_upd.py example.py timeout.py
On the whole I have avoided relying on using Sybase CT library
callback functions. The timeout.py example program requires the use
of a callback.
Since callbacks cause the Python interpreter to be reentered, you
cannot compile the module with multi-thread support. This is
controlled via the WANT_THREADS #define in sybasect.h
- The ntsetup.py distutils program was merged into the setup.py
- The Buffer type was renamed to DataBuf to avoid type name clashes
with the Python BufferType.
- Bug was fixed in blk_bind() which was passing Python type object by
value instead of by reference - oops.
- All of the extension types in the sybasect module are now exported.
- More work has been done on the documentation.
There is very little outstanding programming work for the module.
Most future work will be concentrated on the documentation.
Where can you get it: