Removed deprecated Row_slice. The sequence structure changed this from an actual function pointer to a void pointer. GCC 4.6.2 would not allow the assignment of Row_slice to void*. This may not build under 2.5. Also eliminated a bunch of casts to see if newer GCC would uncover other issues.
The provided fix suggestion looks correct and I can see how it would crash, but was unable to reproduce with the unit test. Probably related to Microsoft vs. FreeTDS differences.
Fixed issue 91 - handling of decimals was incorrect (off by 1). Added lots of SQL Server unit tests. To properly fix this, reworked and simplified parameter binding. Instead of separating the memory requirement and the actual memory preparation, it is now performed in 1 step and stored in the new ParamInfo structures. I added a lot of optional malloc calls (not usually used), so I added a PYODBC_LEAK_CHECK parameter which causes pyodbc_malloc and pyodbc_free to track allocations. This is not thread safe and is intended only for troubleshooting.
Fixes found with UCS4 Python and UCS2 SQLWCHAR (Fedora 13 64-bit). Connection code now uses common SQLWChar class too. Added pyodbc.UNICODE_SIZE and pyodbc.SQLWCHAR_SIZE to help troubleshoot problems. Fixed some printfs 64-bit problems.
Reworked Unicode support, properly differentiating between SQLWCHAR on the different platforms. This should fix a lot of the OS/X problems and perhaps Linux UCS4 build problems. Version format now includes the branch name if not 'master' or v<version>, allowing custom builds to be identified, such as v2unicode-2.1.8-beta03. Also tested with 64-bit Windows builds, so more Py_ssize_t warnings were found and corrected. Created TRACE macro to replace the #ifdefs sprinkled through the code.
18: Added keywords to connect to be DB API compliant. 14: Fixed decimal bug when not using a locale with a period as a decimal point. 11: Released GIL everywhere 16: Added Cursor.skip 17: Big performance improvement by eliminating SQLDescribeParam calls when not needed. More to do here.
…tion info. The connection info is in preparation for querying even more info per connection to implement Cursor.call Fixed the setup.py file so it doesn't build a debug library all the time. You can add --assert and --trace to turn those on instead of modifying pyodbc.h. Also added a license file (feature request).