[Python-modules-commits] [pymssql] 02/06: Import pymssql_2.1.1+dfsg.orig.tar.gz
Geoffrey Thomas
geofft-guest at moszumanska.debian.org
Wed Nov 18 18:18:14 UTC 2015
This is an automated email from the git hooks/post-receive script.
geofft-guest pushed a commit to branch 2.1.1
in repository pymssql.
commit 8e0065e4d92a88a538ed07f488cb3b37448aefb9
Author: Geoffrey Thomas <geofft at hudson-trading.com>
Date: Wed Nov 18 10:56:08 2015 -0500
Import pymssql_2.1.1+dfsg.orig.tar.gz
---
.bzrignore | 4 +
.gitignore | 13 +
.hgeol | 28 +
.hgignore | 19 +
.pyrex/Pyrex/Distutils/__init__.py | 1 +
.pyrex/Pyrex/Distutils/build_ext.py | 1 +
.pyrex/Pyrex/__init__.py | 1 +
.travis.yml | 30 +
ChangeLog | 1062 +++++++++++-----
ChangeLog_highlights.rst | 299 +++++
lgpl.txt => LICENSE | 1008 +++++++--------
MANIFEST | 17 -
PKG-INFO | 395 +++++-
README | 15 -
README.rst | 46 +
README_building_and_developing.rst | 165 +++
TODO | 14 -
_mssql.pxd | 63 +
_mssql.pyx | 1948 +++++++++++++++++++++++++++++
bin/build_freetds.sh | 48 +
bin/hudson.sh | 87 ++
bin/travis_env.sh | 26 +
cpp_helpers.h | 40 +
docs/Makefile | 177 +++
docs/_mssql_examples.rst | 141 +++
docs/building_and_developing.rst | 4 +
docs/changelog.rst | 8 +
docs/conf.py | 289 +++++
docs/faq.rst | 336 +++++
docs/freetds.rst | 66 +
docs/freetds_and_dates.rst | 56 +
docs/history.rst | 54 +
docs/index.rst | 115 ++
docs/intro.rst | 65 +
docs/make.bat | 242 ++++
docs/migrate_1_x_to_2_x.rst | 167 +++
docs/pymssql_examples.rst | 204 +++
docs/ref/_mssql.rst | 391 ++++++
docs/ref/pymssql.rst | 323 +++++
docs/release_notes.rst | 99 ++
docs/todo.rst | 8 +
ez_setup.py | 276 +++++
mssqldbmodule.c | 2335 -----------------------------------
nagios-plugin/check_mssql | 0
print_versions.py | 11 +
pymssql.egg-info/PKG-INFO | 395 +++++-
pymssql.egg-info/SOURCES.txt | 102 +-
pymssql.py | 620 ----------
pymssql.pyx | 692 +++++++++++
pymssql_version.h | 1 +
pytest.ini | 12 +
scripts/memmonitor.py | 34 +
scripts/memtest.py | 13 +
scripts/memtest.sh | 4 +
setup.cfg | 5 +
setup.py | 580 +++++++--
sqlfront.pxd | 656 ++++++++++
tests/__init__.py | 1 +
tests/conftest.py | 66 +
tests/helpers.py | 453 +++++++
tests/run_sqlalchemy_tests.py | 63 +
tests/test_config.py | 104 ++
tests/test_connection_as_dict.py | 42 +
tests/test_connections.py | 148 +++
tests/test_context_managers.py | 44 +
tests/test_debug_queries.py | 42 +
tests/test_err_handle.py | 83 ++
tests/test_green.py | 136 ++
tests/test_pymssql.py | 216 ++++
tests/test_queries.py | 114 ++
tests/test_sprocs.py | 492 ++++++++
tests/test_sqlalchemy.py | 59 +
tests/test_threaded.py | 111 ++
tests/test_types.py | 278 +++++
tests/test_unicode.py | 24 +
tests/test_user_msghandler.py | 142 +++
tests/test_utils.py | 180 +++
tests/tests.cfg.tpl | 25 +
tox.ini | 26 +
79 files changed, 12696 insertions(+), 3964 deletions(-)
diff --git a/.bzrignore b/.bzrignore
new file mode 100644
index 0000000..26834b7
--- /dev/null
+++ b/.bzrignore
@@ -0,0 +1,4 @@
+build
+_mssql.c
+pymssql.c
+tests/tests.cfg
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..36cba85
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,13 @@
+build
+*.c
+*.so
+a.out
+tmp/
+tests/tests.cfg
+*.venv
+*.pyc
+.tox
+dist
+*.egg
+*.egg-info
+docs/_build
diff --git a/.hgeol b/.hgeol
new file mode 100644
index 0000000..9255643
--- /dev/null
+++ b/.hgeol
@@ -0,0 +1,28 @@
+[patterns]
+**.html_tmpl = native
+**.css = native
+**.js = native
+**.py = native
+**.txt = native
+**.html = native
+**.py_tmpl = native
+**.cfg = native
+**.in_tmpl = native
+**.tpl = native
+MANIFEST.in = native
+**.sql = native
+**.php = native
+**.xml = native
+**.yaml = native
+**.bat = native
+**.ini = native
+**.c = native
+**.mako = native
+**.rst = native
+**.dtd = native
+**.xsl = native
+**.log = native
+
+
+[eol]
+only-consistent = False
diff --git a/.hgignore b/.hgignore
new file mode 100644
index 0000000..a6473a7
--- /dev/null
+++ b/.hgignore
@@ -0,0 +1,19 @@
+syntax: glob
+build/*
+*.pyc
+*komodo*
+*.c
+dist/*
+*.egg-info*
+tests/tmp
+tests/tests.cfg
+*.o
+a.out
+*.so
+dist
+*.pyd
+*.swp
+*.egg
+.tox
+SQLAlchemy-*/
+SQLAlchemy-*.tar.gz
diff --git a/.pyrex/Pyrex/Distutils/__init__.py b/.pyrex/Pyrex/Distutils/__init__.py
new file mode 100644
index 0000000..51c8e16
--- /dev/null
+++ b/.pyrex/Pyrex/Distutils/__init__.py
@@ -0,0 +1 @@
+# work around broken setuptools monkey patching
diff --git a/.pyrex/Pyrex/Distutils/build_ext.py b/.pyrex/Pyrex/Distutils/build_ext.py
new file mode 100644
index 0000000..4f846f6
--- /dev/null
+++ b/.pyrex/Pyrex/Distutils/build_ext.py
@@ -0,0 +1 @@
+build_ext = "yes, it's there!"
diff --git a/.pyrex/Pyrex/__init__.py b/.pyrex/Pyrex/__init__.py
new file mode 100644
index 0000000..51c8e16
--- /dev/null
+++ b/.pyrex/Pyrex/__init__.py
@@ -0,0 +1 @@
+# work around broken setuptools monkey patching
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..f5836a2
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,30 @@
+language: python
+python:
+- 2.6
+- 2.7
+- 3.3
+- 3.4
+before_install:
+- sudo apt-get install freetds-dev
+- pip install --use-mirrors pytest SQLAlchemy
+- pip install --upgrade pip setuptools # Upgrade pip and setuptools to get ones with `wheel` support
+- pip install Sphinx sphinx-rtd-theme
+- pip --version
+- pip install --use-wheel Cython
+- "if [[ $TRAVIS_PYTHON_VERSION == '2.6' ]]; then pip install unittest2; fi"
+install:
+- python setup.py install
+script:
+- . bin/travis_env.sh
+- echo "\$PYMSSQL_TEST_DATABASE = \"$PYMSSQL_TEST_DATABASE\""
+- py.test -v
+- cd docs && test -z "$(make SPHINXOPTS='-q' html 2>&1 | egrep -w 'SEVERE:|ERROR:')"
+branches:
+ except:
+ - 1.0
+env:
+ global:
+ - secure: KQ7dawxyyp+skShD+iIT+D6qVaeKZVeZXDM+kpA5hvZNdDMI9iVSAUbVlg7Al26l18cSPCxkYNAsi1N4vsD7x0wGjsEAhC6mpytkc1Igwv0OppmjZI5BhxJWsGPEogzk78HM8JALG4SNhW3xGB0IQtqcV1GogbYmRqw+IDriGm0=
+ - secure: bjCYROweKNsg7iZG4hyte7EkulP7ubENHQvOvZ6a4ojtj4AtorcP2G5ltq6wfVFbFCnsVc04ePujZx4PgDGxHnexTZkVhhwI66O/N482mytdCytje2flhXgQe8A9yw9FBYITm/BNjmTvTq9+ZKQYomLgxeYaJk5DcB5LFSB2Qns=
+ - secure: P62aB5u8xOCZP5qX3lHZuQJNMrkMJCqwboRhtsxJz0m5LY77KO26xIb4DygnUJplx9wlWveZZ5u6bfzrDVkMECZ6jd195xWIwrbDokg8zGCVjcOEOCOGLdCUXChoD8wqYMuVMlefJxeR+w8gFPFbCyJjGeq1sKxsowUxH5HueNE=
+ - secure: bMxRxhLnzxHyouQeQE6Ap8e6m70j5J2WKxcjRITKXEPN6UFWL+h+/EJbGKTG33g7ETKiCez8zyAtXQy8oGeHVbjCuvUhSIolI+wm/H7Rlo7FeoBH/wtbLutOsWyfYLqThc4MQZB/GDN/szzlN+H7SI4ciXSpaE5qWMXQIHrvYzg=
diff --git a/ChangeLog b/ChangeLog
index 3c8b23a..b7be7b7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,275 +1,787 @@
-Tue Apr 23 23:00:00 2009 Andrzej Kukula <akukula at gmail.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
- <dwmaillist at gmail.com>
- * nagios-plugin update - thanks Josselin Mouette <joss at debian.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 <akukula at gmail.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.nazarenko at gmail.com>
- + bugfix in get_result(): if a query batch contained DECLARE or
- possibly other T-SQL statements, no results were returned
- thanks Kay Schluehr <schluehrk at users.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_zam at users.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.bertram at monitoredsecurity.com>,
- Wes McKinney <wesmckinn at gmail.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 <dwmaillist at gmail.com>
-
-Thu Jan 30 18:36:00 2009 Andrzej Kukula <akukula at gmail.com>
- * mssqldbmodule.c:
- + Pyssize_t error on x64 - thanks Josselin Mouette <joss at debian.org>
- + critical charset updates, thanks Josselin Mouette <joss at debian.org>
- + more Py_ssize_t updates, further code cleanups
- + fixed some compiler warnings
- * pymssql.py:
- + execute() failed, thanks Josselin Mouette <joss at debian.org>
- + critical charset updates, thanks Josselin Mouette <joss at debian.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 <akukula at gmail.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 <akukula at gmail.com>
- * setup.py: fix for Fink (http://Fink.SF.Net) under OS X (thanks
- Terrence Brannon <metaperl at gmail.com>)
-
-Sun Sep 24 10:44:00 2006 Andrzej Kukula <akukula at gmail.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 <akukula at gmail.com>
- * mssqldbmodule.c:
- + corrected misspellings in docstrings
- + fixed segfault on connection close with Python 2.5; thanks
- Justin Francis <jfrancis at pivotalpayments.com>
- * pymssql.py:
- + fixed two minor DB-API incompatibilities (thanks Matthew Good
- <matt at matt-good.net>)
- + fixed datetime quoting (thanks Jan Finell <jfinell at regionline.fi>)
- * pymssql should be able to build on cygwin (thanks
- rob at robnet.com)
- * docstring fixes, webpage doc updates
-
-Tue May 15 03:18:00 2006 Jooncheol Park <exman at users.sourceforge.net>
- * setup.py, PKG-INFO, README: license change to LGPL
-
-Wed Mar 15 08:18:00 2006 Andrzej Kukula <akukula at users.sourceforge.net>
- * pymssql.py: fixed datetime issue (thanks Jan Finell
- <jfinell at regionline.fi>)
-
-Fri Feb 24 16:11:00 2006 Andrzej Kukula <akukula at users.sourceforge.net>
- * mssqldbmodule.c: fixed typos in docstrings (thanks Konstantin
- Veretennicov)
-
-Tue Dec 27 15:14:00 2005 Andrzej Kukula <akukula at users.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 <akukula at users.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 <akukula at users.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 <akukula at users.sourceforge.net>
- * version 0.7.2
-
-Sun Sep 4 23:12:00 2005 Andrzej Kukula <akukula at users.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 <akukula at users.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 <akukula at users.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 <akukula at users.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 <akukula at users.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 <akukula at users.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
- * 0.7.1 packages re-released
-
-Fri Jul 22 03:19:00 2005 Andrzej Kukula <akukula at users.sourceforge.net>
-
- * mssqldbmodule.c: major change; module revamped to support some
- more builtin Python features; some redundant code removed; memset()
- removed as there were no benefits but performance decrease
- * mssqldbmodule.c: help(_mssql) works; help for conn object works too
- * pymssql.py: _quote: removed escaping backslash -- with MSSQL it is
- only needed to escape single quotes by duplicating them
- * pymssql.py: pymssqlCnx class: added a few checks to properly support
- DB-API 2.0 (see .close() in PEP 249)
- * version 0.7.1
-
-Wed Jul 20 22:12:00 2005 Andrzej Kukula <akukula at users.sourceforge.net>
-
- * mssqldbmodule.c: removed the workaround for date issue; there were
- more problems than benefits
- * mssqldbmodule_tds.c: removed
- * some more cleanups and corrections
-
-Tue Jul 19 14:23:00 2005 Andrzej Kukula <akukula at users.sourceforge.net>
-
- * mssqldbmodule.c: major change; many portability problems fixed
- * mssqldbmodule.c: eliminated port setting; this is job for freetds.conf
- * mssqldbmodule_tds.c: module to get FreeTDS compile-time settings
- * build fixes; now it builds cleanly on FreeBSD, Linux and Windows
- * version 0.7.0
-
-Mon Jul 18 15:21:00 2005 Andrzej Kukula <akukula at users.sourceforge.net>
-
- * mssqldbmodule.c: fix build on Windows: changed MS_WIN32 to MS_WINDOWS
- reported by Mirek Rusin <mirek.rusin at onet.pl>
- * mssqldbmodule.c: many small fixes and cleanups; janitorial fixes;
- indentation using indent(1L)
- * ChangeLog fix! 'mysql' was mentioned instead of 'mssql'...
-
-Fri Feb 25 02:15:01 2005 Andrzej Kukula <akukula at users.sourceforge.net>
-
- * Fix build on Windows with Visual Studio .NET 2003
- and MS SQL Server 2000 SP3a
- * mssqldbmodule.c: Fix compile error with Visual Studio .NET 2003
- * mssqldbmodule.c: Add detection/workaround for date issue caused by
- different dbdatecrack() prototypes
- * README.freetds: describe dbdatecrack()-related issue
-
-Thu Feb 24 02:03:14 2005 Alejandro Dubrovsky <alito at organicrobot.com>
-
- * Export column type names
- * mssqldbmodule.c: Return column type information for headers
- * Use type information to make cursor.description conform to API 2
-
-2005-02-17 Alejandro Dubrovsky <alito at organicrobot.com>
-
- * Apply patch by Rob Nichols to get cursor.description closer to API 2 compliance
-
-2005-02-08 Alejandro Dubrovsky <alito at organicrobot.com>
-
- * Message changes in mssqldbmodule.c (typos, grammar, etc)
-
-2005-02-07 Alejandro Dubrovsky <alito at organicrobot.com>
-
- * Added ChangeLog
- * API Change: add 6th parameter 'port' to connect
- * Don't close connection on cursor close (noted by Alberto Pastore on the sourceforge project page)
- * Make cursor.fetchone comply with DB-SIG return a tuple, not a list of tuples (report and patch by Chris Curvey)
+Change Log
+==========
+
+Version 2.1.1 - 2014-11-25 - Ramiro Morales
+===========================================
+
+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.
+
+Version 2.1.0 - 2014-02-25 - `Marc Abramowitz <http://marc-abramowitz.com/>`_
+=============================================================================
+
+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
+
+Version 2.0.1 - 2013-10-27 - `Marc Abramowitz <http://marc-abramowitz.com/>`_
+-----------------------------------------------------------------------------
+
+* MANIFEST.in: Add "\*.rst" to prevent install error: "IOError: [Errno 2] No
+ such file or directory: 'ChangeLog_highlights.rst'"
+
+Version 2.0.0 - 2013-10-25 - `Marc Abramowitz <http://marc-abramowitz.com/>`_
+-----------------------------------------------------------------------------
+
+* First official release of pymssql 2.X (`Cython`_-based code) to `PyPI`_!
+* Compared to pymssql 1.X, this version offers:
+
+ * Better performance
+ * Thread safety
+ * Fuller test suite
+ * Support for Python 3
+ * Continuous integration via `Travis CI`_
+ * Easier to understand code, due to `Cython`_
+
+.. _PyPI: https://pypi.python.org/pypi/pymssql/2.0.0
+.. _Travis CI: https://travis-ci.org/pymssql/pymssql
+.. _Cython: http://cython.org/
+.. _ChangeLog: https://github.com/pymssql/pymssql/blob/master/ChangeLog
+
+Version 2.0.0b1-dev-20130403 - 2013-04-03 - Marc Abramowitz <msabramo at gmail.com>
+--------------------------------------------------------------------------------
+ * 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
+
+Version 2.0.0b1-dev-20130108 - 2013-01-08 - Marc Abramowitz <msabramo at gmail.com>
+--------------------------------------------------------------------------------
+ * 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 <damoxc at gmail.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 <damoxc at gmail.com>
+ * MANIFEST.in:
+ + bugfix: fix recursive-include for .pyrex
+ * version 1.9.908
+
+Wed Apr 21 16:02:00 2010 Damien Churchill <damoxc at gmail.com>
+ * MANIFEST.in:
+ + bugfix: include missing .pyrex folder
+ * version 1.9.907
+
+Fri Apr 09 13:16:00 2010 Damien Churchill <damoxc at gmail.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 <damoxc at gmail.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:
... 16228 lines suppressed ...
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/pymssql.git
More information about the Python-modules-commits
mailing list