[python-sybase] Sybase module 0.36 released

Dave Cole djc at object-craft.com.au
27 Apr 2003 22:14:09 +1000


WHAT IS IT:

The Sybase module provides a Python interface to the Sybase relational
database system.  It supports all of the Python Database API, version
2.0 with extensions.

NOTES:

This is another incremental improvement to FreeTDS support.

You can build for FreeTDS like this:

     python setup.py build_ext -D HAVE_FREETDS -U WANT_BULKCOPY
     python setup.py install

If you are using FreeTDS 0.60 or 0.61 change the compile command to:

     python setup.py build_ext -D HAVE_FREETDS=60 -U WANT_BULKCOPY

or
     python setup.py build_ext -D HAVE_FREETDS=61 -U WANT_BULKCOPY


The module is available here:

    http://www.object-craft.com.au/projects/sybase/download/sybase-0.36.tar.gz

The module home page is here:

    http://www.object-craft.com.au/projects/sybase/

CHANGES SINCE 0.36pre6:

* Output parameters from stored procedures are supported via the
  OUTPUT() function.  The parameter to OUTPUT() determines the type
  and size of the buffer which will be allocated to receive the output
  value.

    c.callproc('test_proc', {'@type': 'business',
                             '@tot_sales': 5,
                             '@num_books': Sybase.OUTPUT(1)})

* Added Time() and TimeFromTicks() DB API functions.

* Fixed fmx.maxlength typo.

* Reorganised result fetching to use "fetcher" classes; _FetchNow,
  _FetchNowParams, and _FetchLazy.  This was in response to testing
  against the Python DB API 2.0 Anal Compliance Unit Test.

CHANGES SINCE 0.35:

* Fixed bug in ctx.c:ct_con_drop() which caused SEGFAULT with
  FreeTDS.

* Export version of FreeTDS used in sybasect.__have_freetds__

* Set Sybase._ctx as the global context soon as in Sybase.py to
  avoid problems with undefined global ctx.

* Look for SYBASE_OCS on all platforms.

* Fixed spelling error in ctx.c:global_ctx().

* Fixed cursor locking bug with .nextset() method.

* Added .debug_msg() method to context type which writes to the debug
  log when debugging is enabled for the context object.

* Merged AIX build changes from Dietmar Rothkamp.

* Now compiles with FreeTDS 0.61.

* Limit size of TEXT fields to 65536.

* Removed references to CS_PENDING and CS_BUSY in Sybase.py.

* Bind CS_VARBINARY_TYPE as CS_BINARY_TYPE.

* Do not attempt to ct_cancel() when handling an exception if have not
  connected to the server.  Bug fix in Sybase.py.

* Seems like FreeTDS reports the wrong maxlength in ct_describe() for
  CS_NUMERIC_TYPE and CS_DECIMAL_TYPE.  Ignore FreeTDS and assume a
  maxlength of sizeof(CS_NUMERIC).  Bugfix in databuf.c.

* Use correct T_STRING_INPLACE type in structure member descriptions.
  The code does not use Python API for these members.

* Debug output for DataFmt now includes scale and precision.

* More definitions added to freetds.h; CS_SRC_VALUE, CS_CLEAR.

-- 
http://www.object-craft.com.au