Releases: mkleehammer/pyodbc
Update for Teradata
Recently a change was made to use SQLDescribeColW so that Unicode column names could be retrieved properly. Unfortunately this uncovered some weirdness with some drivers, this time Teradata.
I'm not sure if the issue is iODBC (which Apple doesn't ship anymore) is using a 4-byte
SQLWCHAR or if Teradata is returning UCS4/UTF-32LE for column names in SQLDescribeColW. Either
way I've added a hack that assumes 4-byte chars if the decoding for SQL_WMETADATA (a pyodbc
specific constant) is set to any of the UTF-32 encodings. The encoding is then actually used.
cnxn.setdecoding(pyodbc.SQL_WMETADATA, encoding='utf-32le')
Fixes #194
Decode non-ASCII column names. Rollback in with clause
Fix decoding of Cursor.description column names. Fixes #190 - The issue was a column alias with an i with acute which caused an error. pyodbc now (1) uses the Unicode version of SQLDescribeColumn and (2) uses the configured SQL_C_WCHAR encoding. I've added SQL Server test decode_meta for this.
When a connection is used in a with clause (as a context manager), the connection has always been committed if successful. However, when an exception is raised it now issues a specific rollback. In the past neither was performed if an exception was raised.
4.0.2 - Important bug fixes
Important fixes for reading decimal/numeric columns, gettypeinfo, an error when reading an empty string.
4.0.1 - Replacement for 4.0.0 which can't be downloaded from PyPI
This is a doc-only update to replace 4.0.0 which I removed from PyPI (pip). This should be 100% compatible with 4.0.0.
I was attempting to replace the source tarball for 4.0.0 but that is apparently not allowed. It would have been nice to know that before it let me delete it ;)
You should upgrade to 4.0.2, however, for some important bug fixes.
4.0 - Unicode Handling Update
Unicode handling has been rewritten for correctness. Make sure you read the Unicode documentation if you have any issues.
MySQL and PostgreSQL users: You will probably need to add a couple of lines of configuration. See the Unicode documentation!
WARNING: The source code for this version is not available on PyPI. Please upgrade to 4.0.2.