Pymssql-linux

Latest version: v2.1.6

Safety actively analyzes 685670 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 3

2.1.1

===========================================

Features
--------

- Custom message handlers (GH-139)

The DB-Library API includes a callback mechanism so applications can provide
functions known as *message handlers* that get passed informative messages
sent by the server which then can be logged, shown to the user, etc.

``_mssql`` now allows you to install your own *message handlers* written in
Python. See the ``_msssql`` examples and reference sections of the
documentation for more details.

Thanks Marc Abramowitz.

- Compatibility with Azure

It is now possible to transparently connect to `SQL Server instances`_
accessible as part of the Azure_ cloud services.

.. note:: If you need to connect to Azure make sure you use FreeTDS 0.91 or
newer.

- Customizable per-connection initialization SQL clauses (both in ``pymssql``
and ``_mssql``) (GH-97)

It is now possible to customize the SQL statements sent right after the
connection is established (e.g. ``'SET ANSI_NULLS ON;'``). Previously
it was a hard-coded list of queries. See the ``_mssql.MSSQLConnection``
documentation for more details.

Thanks Marc Abramowitz.

- Added ability to handle instances of ``uuid.UUID`` passed as parameters for
SQL queries both in ``pymssql`` and ``_mssql``. (GH-209)

Thanks Marat Mavlyutov.

- Allow using `SQL Server autocommit mode`_ from ``pymssql`` at connection
opening time. This allows e.g. DDL statements like ``DROP DATABASE`` to be
executed. (GH-210)

Thanks Marat Mavlyutov.

- Documentation: Explicitly mention minimum versions supported of Python (2.6)
and SQL Server (2005).

- Incremental enhancements to the documentation.

.. _SQL Server instances: http://www.windowsazure.com/en-us/services/sql-database/
.. _Azure: https://www.windowsazure.com/
.. _SQL Server autocommit mode: http://msdn.microsoft.com/en-us/library/ms187878%28v=sql.105%29.aspx

Bug fixes
---------

- Handle errors when calling Stored Procedures via the ``.callproc()`` pymssql
cursor method. Now it will raise a DB-API ``DatabaseException``; previously
it allowed a ``_mssql.MSSQLDatabaseException`` exception to surface.

- Fixes in ``tds_version`` ``_mssql`` connections property value

Made it work with TDS protocol version 7.2. (GH-211)

The value returned for TDS version 7.1 is still 8.0 for backward
compatibility (this is because such feature got added in times when
Microsoft documentation labeled the two protocol versions that followed 7.0
as 8.0 and 9.0; later it changed them to 7.1 and 7.2 respectively) and will
be corrected in a future release (2.2).

- PEP 249 compliance (GH-251)

Added type constructors to increase compatibility with other libraries.

Thanks Aymeric Augustin.

- pymssql: Made handling of integer SP params more robust (GH-237)

- Check lower bound value when convering integer values from to Python to SQL
(GH-238)

Internals
---------

- Completed migration of the test suite from nose to py.test.

- Added a few more test cases to our suite.

- Tests: Modified a couple of test cases so the full suite can be run against
SQL Server 2005.

- Added testing of successful build of documentation to Travis CI script.

- Build process: Cleanup intermediate and ad-hoc anciliary files (GH-231,
GH-273)

- setup.py: Fixed handling of release tarballs contents so no extraneous files
are shipped and the documentation tree is actually included. Also, removed
unused code.

2.1.0

=============================================================================

Features
--------

- Sphinx-based documentation (GH-149)

Read it online at http://pymssql.org/

Thanks, Ramiro Morales!

See:

* https://github.com/pymssql/pymssql/pull/149
* https://github.com/pymssql/pymssql/pull/162
* https://github.com/pymssql/pymssql/pull/164
* https://github.com/pymssql/pymssql/pull/165
* https://github.com/pymssql/pymssql/pull/166
* https://github.com/pymssql/pymssql/pull/167
* https://github.com/pymssql/pymssql/pull/169
* https://github.com/pymssql/pymssql/pull/174
* https://github.com/pymssql/pymssql/pull/175

- "Green" support (GH-135)

Lets you use pymssql with cooperative multi-tasking systems like
gevent and have pymssql call a callback when it is waiting for a
response from the server. You can set this callback to yield to
another greenlet, coroutine, etc. For example, for gevent, you could
do::

def wait_callback(read_fileno):
gevent.socket.wait_read(read_fileno)

pymssql.set_wait_callback(wait_callback)

The above is useful if you're say, running a gunicorn server with the
gevent worker. With this callback in place, when you send a query to
SQL server and are waiting for a response, you can yield to other
greenlets and process other requests. This is super useful when you
have high concurrency and/or slow database queries and lets you use
less gunicorn worker processes and still handle high concurrency.

See https://github.com/pymssql/pymssql/pull/135

- Better error messages.

E.g.: For a connection failure, instead of:

pymssql.OperationalError: (20009, 'Net-Lib error during Connection
refused')

the dberrstr is also included, resulting in:

pymssql.OperationalError: (20009, 'DB-Lib error message 20009,
severity 9:\nUnable to connect: Adaptive Server is unavailable or
does not exist\nNet-Lib error during Connection refused\n')

See:
* https://github.com/pymssql/pymssql/pull/151

In the area of error messages, we also made this change:

execute: Raise ColumnsWithoutNamesError when as_dict=True and missing
column names (GH-160)

because the previous behavior was very confusing; instead of raising
an exception, we would just return row dicts with those columns
missing. This prompted at least one question on the mailing list
(https://groups.google.com/forum/?fromgroups!topic/pymssql/JoZpmNZFtxM),
so we thought it was better to handle this explicitly by raising an
exception, so the user would understand what went wrong.

See:
* https://github.com/pymssql/pymssql/pull/160
* https://github.com/pymssql/pymssql/pull/168

- Performance improvements

You are most likely to notice a difference from these when you are
fetching a large number of rows.

* Reworked row fetching (GH-159)

There was a rather large amount of type conversion occuring when
fetching a row from pymssql. The number of conversions required have
been cut down significantly with these changes.
Thanks Damien, Churchill!

See:
* https://github.com/pymssql/pymssql/pull/158
* https://github.com/pymssql/pymssql/pull/159

* Modify get_row() to use the CPython tuple API (GH-178)

This drops the previous method of building up a row tuple and switches
to using the CPython API, which allows you to create a correctly sized
tuple at the beginning and simply fill it in. This appears to offer
around a 10% boost when fetching rows from a table where the data is
already in memory.
Thanks Damien, Churchill!

See:
* https://github.com/pymssql/pymssql/pull/178

- MSSQLConnection: Add `with` (context manager) support (GH-171)

This adds `with` statement support for MSSQLConnection in the `_mssql`
module -- e.g.::

with mssqlconn() as conn:
conn.execute_query("SELECT version AS version")

We already have `with` statement support for the `pymssql` module.
See:

* https://github.com/pymssql/pymssql/pull/171

- Allow passing in binary data (GH-179)

Use the bytesarray type added in Python 2.6 to signify that this is
binary data and to quote it accordingly. Also modify the handling of
str/bytes types checking the first 2 characters for b'0x' and insert
that as binary data.
See:

* https://github.com/pymssql/pymssql/pull/179

- Add support for binding uuid.UUID instances to stored procedures input
params (GH-143)
Thanks, Ramiro Morales!

See:
* https://github.com/pymssql/pymssql/pull/143
* https://github.com/pymssql/pymssql/commit/1689c83878304f735eb38b1c63c31e210b028ea7

- The version number is now stored in one place, in pymssql_version.h
This makes it easier to update the version number and not forget any
places, like I did with pymssql 2.0.1

* See https://github.com/pymssql/pymssql/commit/fd317df65fa62691c2af377e4661defb721b2699

- Improved support for using py.test as test runner (GH-183)

* See: https://github.com/pymssql/pymssql/pull/183

- Improved PEP-8 and pylint compliance

Bug Fixes
---------

- GH-142 ("Change how ``*.pyx`` files are included in package") - this
should prevent pymssql.pyx and _mssql.pyx from getting copied into the
root of your virtualenv. Thanks, Arfrever!

* See: https://github.com/pymssql/pymssql/issues/142

- GH-145 ("Prevent error string growing with repeated failed connection
attempts.")

See:

* https://github.com/pymssql/pymssql/issues/145
* https://github.com/pymssql/pymssql/pull/146

- GH-151 ("err_handler: Don't clobber dberrstr with oserrstr")

* https://github.com/pymssql/pymssql/pull/151

- GH-152 ("_mssql.pyx: Zero init global last_msg_* vars")
See: https://github.com/pymssql/pymssql/pull/152

- GH-177 ("binary columns sometimes are processed as varchar")
Better mechanism for pymssql to detect that user is passing binary
data.

See: https://github.com/pymssql/pymssql/issues/177

- buffer overflow fix (GH-182)

* See: https://github.com/pymssql/pymssql/pull/181
* See: https://github.com/pymssql/pymssql/pull/182

- Return uniqueidentifer columns as uuid.UUID objects on Python 3

2.0.1

-----------------------------------------------------------------------------

* MANIFEST.in: Add "\*.rst" to prevent install error: "IOError: [Errno 2] No
such file or directory: 'ChangeLog_highlights.rst'"

2.0.0

.. _Travis CI: https://travis-ci.org/pymssql/pymssql
.. _Cython: http://cython.org/
.. _ChangeLog: https://github.com/pymssql/pymssql/blob/master/ChangeLog

2.0.0b1dev20130403

--------------------------------------------------------------------------------
* Added tag 2.0.0b1-dev-20130403 for changeset 5d0c980ef8b8
(b2b2748f7f88)
* Fix issue 118 ("datetime conversion to sql is not converting
sub-seconds correctly") - Pad microseconds to 3 digits so it gets
converted correctly. Thanks, Ken Robbins (kenneth.robbins at gmail)!
(5d0c980ef8b8)
* Make tests/test_queries.py actually run tests. It looked like it was
half-finished and not working. This fills it out and makes it work and
actually test a few things. (5373541eb899)
* setup.py: Make it possible to use `python setup.py test`
(3c32acb41251)
* Bunch of fixes to eliminate build/install warnings (adb0fc75bfd0,
fe6cb9aa5120, 446f0005e638, e8d4b19d87b1, 90b2aa2ea01f, 7bb29af4b22c)
* Add `pymssql.get_dbversion` function that wraps the dbversion
function in FreeTDS. (1158a5d2be9c)
* Add a `get_freetds_version` function (a4286224dcf2)
* Fix issue 109 ("Failure to pass Unicode characters to callproc;
failing test:
tests.test_sprocs.TestCallProcFancy.testCallProcWithUnicodeStringWithRussianCharacters"):
Skip test because it fails with some versions of FreeTDS but passes
with others. (d05341273673)
* Fix issue 116 ("A few tests fail if running on a system that has SQL
Server available on port 1433") (0fc4086447fe)
* Modify tests/test_config.py to use server='dontnameyourserverthis'
when doing various tests so it doesn't try to connect to a SQL
Server listening on localhost:1433 (0fc4086447fe)
* tox.ini: Add {posargs:-w tests -v} to nosetests invocation so that
we can pass arguments to tox -- e.g.: to run only specific tests
(a105878d500d)
* tox.ini: Add "ipdb" to deps, because the IPython debugger is very
nice for debugging why tests are failing (be9ee40156cb)
* Fix issue 114 ("Fix SP name handling in threaded test so we can
actually run it.") (6ac2b75747ad)
* Fix issue 100 (Error when executing setup.py {build,develop} on a
system with no setuptools: "name 'STDevelopCmd' is not defined")
(5222ee37b2ab)
* Issue 45 ("Make SQLAlchemy tests part of our testing process"): Add
tests/run_sqlalchemy_tests.py for running the SQLAlchemy test suite
with pymssql using the server configured in tests/tests.cfg
(999d9dbe791b)
* Fix issue 92 ("Cursor fetch* methods return redundant keys for
column names and column numbers.") (08ae783880dd)
* tests/test_connection_as_dict.py:
bug 18 ("FetchAll fails to return rows when running against a
connection instantiated with as_dict=True."): Add a test which
illustrates that the issue is resolved. (058d761cc761)
* Fix issue 60 ("cursor.execute raise UnicodeDecodeError if query and
params in unicode"): Add patch from tonal.promsoft and add tests.
(49210c03a6cf)
* Add *.c to MANIFEST.in so they get included in sdist and end-users
don't need to run Cython. (25c1a84aac0c)
* Fix issue 56 ("callproc do not accept None and unicode string in
parameters"): Add patch from tonal.promsoft and add tests
(939eb7939136)
* version 2.0.0b1-dev-20130403

2.0.0b1dev20130108

--------------------------------------------------------------------------------
* change: put compiled FreeTDS for Windows in pymmsql source, add build
instructions to README, better Visual Studio support (61)
+ feature: support hostname, port, tds_version connect params without freetds.config
+ feature: make pymssql.Cursor.rownumber give accurate results for executemany()
+ feature: bundle FreeTDS libraries & use static libary includes to avoid
most end-user-developers needing to mess with FreeTDS
* change: speed up handling of tuples/lists when quoting (dieterv77)
- bug 46: better handling for byte strings that don't represent ascii data
- bug: custom param handling avoids bugs when '%' is used in the SQL (modulus operator)
- bug: fix pymssql.DBAPIType so that comparisons work as expected
- bug: fetch*() functions would erroneously raise OperationalError when rows exhausted
- bug 47: fix threaded tests crashing
- bug 79: fix prevision problem with floats (dieterv77)
- bug 14: Add setup.py voodoo that undoes setuptools monkeypatching
that causes `pip install` to not work with setuptools unless pyrex
is installed. (86a73a19d5bd)
- bug 106 (OS X: "Symbol not found: _dbadata" error when importing
pymssql): Fix OS X build by modifying setup.py so that on OS X we
don't attempt to link with the bundled FreeTDS *Linux* library.
(88d15d125586)
+ feature: Add support for running tox (http://tox.testrun.org/) to
test across multiple Python versions. (5fa7a6548b31)
- bug 44: Remove test_long_identifiers from test_sqlalchemy.py
because SQLAlchemy removed the 30 character limit on identifiers.
(6585d44eea33)
- feature: Add setup.py voodoo so that Cython can automatially be
downloaded if it's not installed instead of an ImportError
(bb459dd7fd7e)
- bug 105: Link with librt on Unix platforms that have it (like
Linux, but not FreeBSD or OS X) to prevent 'undefined symbol:
clock_gettime' error when importing pymssql. (2b255b1c035f)

Tue Nov 02 09:33:00 2010 Damien Churchill <damoxcgmail.com>
* _mssql.pyx:
+ feature: add support for nullable ints and nullable bits in
stored procedure parameters.
+ feature: add support for positional parameters in stored
procedures.
+ bugfix: add support for using type subclasses as parameters
+ bugfix: correctly report incorrect logins.
+ feature: add support for setting the application name
+ bugfix: accept more than just the decimal.Decimal type for
money and decimal parameters.
+ bugfix: fix raising exceptions from convert_python_value()
+ bugfix: fix binding parameters of int type when larger than
2^31 - 1 (raise exception).
+ bugfix: use sprintf rather than python strings in the msg_handler
+ bugfix: use sprintf rather than python strings in the err_handler
+ bugfix: make compatible with Cython 0.13
+ feature: remove the trusted parameter to connect()
+ bugfix: fix issue 15, not setting implicit_transactions on connect
+ bugfix: fix issue 32, setting the wrong hostname on login
* pymssql.pyx:
+ feature: add initial support for callproc()
+ feature: add support for setting the application name
+ bugfix: fix issue 7, thanks has.temp3
+ bugfix: fix issue 10, rowcount property being incorrect
+ bugfix: make compatible with Cython 0.13
+ feature: remove the trusted parameter to connect()
+ feature: add returnvalue property with the result of a callproc()
call.
+ feature: fix raising exceptions when args[0] is not a string
* MANIFEST.in:
+ feature: include the tests
+ bugfix: include ez_setup.py
* setup.py:
+ bugfix: fix issue 8, ZipFile don't has the attribute
'extractall' error for python2.5
* version 1.9.909

Wed Apr 28 11:10:00 2010 Damien Churchill <damoxcgmail.com>
* MANIFEST.in:
+ bugfix: fix recursive-include for .pyrex
* version 1.9.908

Wed Apr 21 16:02:00 2010 Damien Churchill <damoxcgmail.com>
* MANIFEST.in:
+ bugfix: include missing .pyrex folder
* version 1.9.907

Fri Apr 09 13:16:00 2010 Damien Churchill <damoxcgmail.com>
* setup.py:
+ bugfix: include hack faking that pyrex is installed to workaround
a bug in setuptools.
* _mssql.pyx:
+ bugfix: add support for connecting using "." and "(local)"
* pymssql.pyx:
+ feature: add the output type to be used with callproc()
+ depreciate: the dsn keyword param to pymssql.connect()
+ feature: add the get/set_max_connections to pymssql
* sqlfront.pxd:
+ feature: tidy up and remove all unused methods.
* version 1.9.906

Mon Nov 23 13:37:00 2009 Damien Churchill <damoxcgmail.com>
* _mssql.pyx:
+ feature: add support for varbinary types
+ feature: add support for passing in charset to _quote_data
+ bugfix: rename MSSQLConnection.next_result to
MSSQLConnection.nextresult as before
+ bugfix: set the charset upon login
+ feature: rewrite _remove_locale using C types instead, 20x faster
+ feature: add a charset param to quote_data and relating funcs that
allows the charset to be specified for unicode encodes.
* pymssql.pyx:
+ feature: add DSN support that was missing
+ bugfix: fix rowcount property
* sqlfront.pxd:
add DBSETLCHARSET
* tests:
+ feature: add test for multiple results
* setup.py:
+ feature: fix building on windows
+ feature: clean generated C files in the clean command
+ feature: automatically extract freetds.zip on windows when
building
* version 1.9.903

Fri Nov 20 13:03:00 2009 Damien Churchill <damoxcgmail.com>
* mssqldbmodule.c: deprecated in favour of _mssql.pyx
* pymssql.py: deprecated in favour of pymssql.py
+ feature: added support for uniqueidentifier types
+ feature: added support for calling remote procedures programmatically
* version 1.9.901

Tue May 12 15:43:00 2009 Andrzej Kukula <akukulagmail.com>
* mssqldbmodule.c:
+ bugfix: pymssql didn't return second, third etc. result set
in case of multi-result statements, e.g. 'SELECT 1; SELECT 2',
thanks Damien Churchill <damoxcusers.sourceforge.net>

Wed Apr 29 19:31:00 2009 Andrzej Kukula <akukulagmail.com>
* mssqldbmodule.c:
+ fixed possible memory leak, thanks Evgeny Cherkashin
<eugene.admgmail.com>

Tue Apr 23 23:00:00 2009 Andrzej Kukula <akukulagmail.com>
+ bugfix: fixed rare quoting bug in select_db()
+ feature: added 'max_conn' parameter to pymssql.connect() and
_mssql.connect() which defaults to 25, thanks Daniel Watrous
<dwmaillistgmail.com>
* nagios-plugin update - thanks Josselin Mouette <jossdebian.org>:
+ Include a -P port option, to avoid having to passing it with the
host name
+ Fix the encoding of the comments; utf-8 is the declared encoding
of the file and must be followed
+ Fix a typo in the SQL syntax
+ Connect explicitly to the "master" database (required since 1.0.0)
+ Improve perfdata output.
* version 1.0.2

Tue Apr 21 22:56:00 2009 Andrzej Kukula <akukulagmail.com>
* mssqldbmodule.c:
+ bugfix in format_and_run_query(): query strings were sometimes
overwritten with garbage due to DECREF in wrong place; thanks
Igor Nazarenko <igor.n.nazarenkogmail.com>
+ bugfix in get_result(): if a query batch contained DECLARE or
possibly other T-SQL statements, no results were returned
thanks Kay Schluehr <schluehrkusers.sourceforge.net>
+ bugfix in execute_scalar(): check if there are any columns in result
+ bugfix: check for FAIL after each dbnextrow()
+ feature: Add support for bigint - 2660972; thanks Alexandr
Zamaraev <shura_zamusers.sourceforge.net>
* pymssql.c:
+ bugfix in execute(): if execute is called without second argument,
don't treat '%' in query string as formatting character; restored
compatibility with common sense and with pymssql < 1.0.0; thanks
Corey Bertram <corey.bertrammonitoredsecurity.com>,
Wes McKinney <wesmckinngmail.com>
+ feature: it is possible to specify 'as_dict' to pymssql.connect
and rows will be returned as dictionaries instead of tuples;
thanks Daniel Watrous <dwmaillistgmail.com>

Thu Jan 30 18:36:00 2009 Andrzej Kukula <akukulagmail.com>
* mssqldbmodule.c:
+ Pyssize_t error on x64 - thanks Josselin Mouette <jossdebian.org>
+ critical charset updates, thanks Josselin Mouette <jossdebian.org>
+ more Py_ssize_t updates, further code cleanups
+ fixed some compiler warnings
* pymssql.py:
+ execute() failed, thanks Josselin Mouette <jossdebian.org>
+ critical charset updates, thanks Josselin Mouette <jossdebian.org>
+ removed warnings, users don't want them and they are not 'MUST'
priority in DB-API spec
* nagios-plugin: introducted Nagios plugin, thanks Julien Blache
and Josselin Mouette
* version 1.0.1

Thu Jan 29 19:23:00 2009 Andrzej Kukula <akukulagmail.com>
* version 1.0.0
* so many changes I'll not put them here, I'll document
changes from now on.

Mon Sep 25 20:18:00 2006 Andrzej Kukula <akukulagmail.com>
* setup.py: fix for Fink (http://Fink.SF.Net) under OS X (thanks
Terrence Brannon <metaperlgmail.com>)

Sun Sep 24 10:44:00 2006 Andrzej Kukula <akukulagmail.com>
* setup.py:
+ it can now dynamically determine the path to SQL 2000 Developer
Tools, if win32api and win32con modules are available
+ simple Python version check to prevent most frequently asked
question
+ version 0.8.0

Wed Sep 13 01:20:00 2006 Andrzej Kukula <akukulagmail.com>
* mssqldbmodule.c:
+ corrected misspellings in docstrings
+ fixed segfault on connection close with Python 2.5; thanks
Justin Francis <jfrancispivotalpayments.com>
* pymssql.py:
+ fixed two minor DB-API incompatibilities (thanks Matthew Good
<mattmatt-good.net>)
+ fixed datetime quoting (thanks Jan Finell <jfinellregionline.fi>)
* pymssql should be able to build on cygwin (thanks
robrobnet.com)
* docstring fixes, webpage doc updates

Tue May 15 03:18:00 2006 Jooncheol Park <exmanusers.sourceforge.net>
* setup.py, PKG-INFO, README: license change to LGPL

Wed Mar 15 08:18:00 2006 Andrzej Kukula <akukulausers.sourceforge.net>
* pymssql.py: fixed datetime issue (thanks Jan Finell
<jfinellregionline.fi>)

Fri Feb 24 16:11:00 2006 Andrzej Kukula <akukulausers.sourceforge.net>
* mssqldbmodule.c: fixed typos in docstrings (thanks Konstantin
Veretennicov)

Tue Dec 27 15:14:00 2005 Andrzej Kukula <akukulausers.sourceforge.net>
* mssqldbmodule.c: bug fixes, improvements and cleanups:
+ implemented set_login_timeout() and set_query_timeout() functions;
+ eliminated unnecessary ODBC code
+ cleaned up exception code and improved exception handling,
SF bug 1335560
+ web page now correctly mentions FreeTDS 0.63 as the minimal
required version
+ stdmsg() method is now deprecated; all errors are concatenated
in errmsg()
+ implemented min_error_severity: all errors at or above that
level will raise the exception; if the severity is lower, they
will just accumulate in errmsg()
+ added setting coltype to NUMBER for float types (found by
Jakub Labath)
* setup.py:
+ reincarnated ntwdblib.dll which turned out to be redistributable
after all; pymssql includes the latest version that allows
connecting to SQL 2005; eliminated some stupid notes from the
web page and will ease set up process for users
* apitest_mssql.py: new file
+ provided by Jakub Labath, this file performs some basic DB-API
compliance tests; it immediately triggered the unicode bug
* version 0.7.4

Sat Oct 22 19:41:00 2005 Andrzej Kukula <akukulausers.sourceforge.net>
* mssqldbmodule.c: multithreading improvements - from now on pymssql
is thread-safe, it releases GIL in proper places; idea and initial
patch by John-Peter Lee (thanks very much!)

Mon Sep 5 23:29:00 2005 Andrzej Kukula <akukulausers.sourceforge.net>
* setup.py: fixed an installation issue regarding importing pymssql
that imports _mssql which isn't installed, and blows up with
AttributeError... (thanks Vsevolod Stakhov)
* version 0.7.3

Mon Sep 5 00:32:00 2005 Andrzej Kukula <akukulausers.sourceforge.net>
* version 0.7.2

Sun Sep 4 23:12:00 2005 Andrzej Kukula <akukulausers.sourceforge.net>

* mssqldbmodule.c: improvements and cleanups:
+ improved error handling: if the db function fails, the exception
is thrown automatically and immediately; no need to check
return value of conn.query(), just catch _mssql.error
+ improved error handling: it is possible that MS SQL calls message
handler twice; now _mssql catches and reports both of them at once
+ improved error handling: in some cases _mssql.query() returns
success but the results are invalid; now it is handled properly
(example "SELECT CAST(1234.5678 AS NUMERIC(4,2))")
+ added proper connection initialization: a number of SET statements
are executed upon connection setup to set sensible SQL behaviour;
see source for details; one needs to unset them if needed
+ implemented min_{message|error}_severity as it is in php_mssql
to ignore unimportant errors; it's work in progress
+ new function rmv_lcl() initially by Mark Pettit, to strip locale
crap from MONEY values converted to SQLCHAR while generating
Decimal object
+ other small fixes, improvements and janitorial work

Tue Aug 30 00:16:00 2005 Andrzej Kukula <akukulausers.sourceforge.net>

* mssqldbmodule.c: new features:
+ large numbers (DECIMAL, NUMERIC, MONEY, SMALLMONEY) are returned
as Decimal object -- this helps maintain accuracy; thanks to
Mark Pettit for help
+ COMPUTE clauses are supported (it wouldn't fetch data for those
columns before)
+ ROWID type has been removed from _mssql module
+ new type DECIMAL to denote Decimal objects in result set

Mon Aug 29 21:59:00 2005 Andrzej Kukula <akukulausers.sourceforge.net>

* mssqldbmodule.c: some improvements:
+ BIT values are returned as Python bool objects, suggested by
Mark Pettit
+ close() method returns None on success (not to be used at all)
and throws exception on error
+ fixed use of uninitialized value when parsing SMALLDATETIME
+ another round of performance improvements in GetRow() - eliminated
unnecessary data conversions and unneeded DB-Lib calls
+ janitorial fixes

Mon Aug 22 04:35:00 2005 Andrzej Kukula <akukulausers.sourceforge.net>

* mssqldbmodule.c: massive diff:
+ fixed bug with fetching query results of some data types;
found by Mark Pettit
+ fixed IndexError when query returns no rows; patch by Jakub Labath
+ rewritten function GetRow() that fetches query results: performance
improvements, better handling of result data types; datetime
is returned as datetime object instead of string (it's more
consistent with other values -- and more pythonic :)
+ eliminated DetermineRowSize()
+ cleanups: _mssql_init() further improvements w.r.t. Python API
+ janitorial fixes
+ added licensing information
* pymssql.py: docstring changed to look nicer with help()
* version 0.7.2

Thu Aug 11 02:12:00 2005 Andrzej Kukula <akukulausers.sourceforge.net>

* mssqldbmodule.c: improved module init function: added doc string,
made compliant with Python 2.0+ module interface (there are no more
coredumps on help())
* mssqldbmodule.c: documented that _mssql.connect() is not portable
between FreeTDS-dependent platforms and Windows platforms; documented
host:port usage

Sat Jul 23 14:20:00 2005 Andrzej Kukula <akukulausers.sourceforge.net>

* mssqldbmodule.c: eliminated problems with Python exiting upon
invalid login credentials with FreeTDS - the culprit was INT_EXIT
and FreeTDS setting DBDEAD
* mssqldbmodule.c: added better error messages (esp. on Windows)
* mssqldbmodule.c: added msg_handler and err_handler debugging

Page 2 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.