Commits on Jan 20, 2017
  1. Fix double-free when row allocation fails.

    Bug found by running the fantastic scan-build and the Python wrapper:
    committed Jan 20, 2017
Commits on Jan 19, 2017
  1. Minor cleanup.

    We no longer use UNICODE_WIDTH in the code so I've removed the macro.
    Update the fallback version from 3.x to 4.x
    committed Jan 16, 2017
  2. Fix decimal read bug. Fix SQLGetTypeInfo param. Better guess of Curso…

    …r.description types.
    Fixes #126.
    Because drivers are so bad about binary decimals pyodbc reads them as text.  I forgot to apply
    the configured encodings to these.
    This seems like a lot of minor changes at once.  I fixed the gettypeinfo bug and found the
    decimal crash during testing.  Unfortunately it took forever to actually find the cause and I
    touched a lot of files.
    Tweaked the warnings in the VC builds.
    Removed Python 2.4 support code in CnxnInfo.
    Watch for errors during initialization of CnxnInfo.
    Fix typo SQL_CHAR to SQL_C_CHAR when connecting via ANSI.
    Reorganized encoding conditionals while reviewing code.  A little duplication between 2.7 and
    3.x seems better than condensed but complicated code.
    committed Jan 14, 2017
Commits on Jan 13, 2017
  1. Fix memcpy bug #174 in add_output_converter.

    When allocating a new add_output_converter array, I copied sizeof(int) elements into a
    sizeof(SQLSMALLINT) array.  Fixes #174.
    Also corrected the docstring for add_output_converter.
    committed Jan 13, 2017
Commits on Dec 30, 2016
  1. Set theme jekyll-theme-slate

    committed Dec 30, 2016
  2. Fix setup version command

    committed Dec 30, 2016
  3. More unicode documentation.

    committed Dec 30, 2016
  4. WIP: Working on docsf

    committed Dec 30, 2016
  5. Default text read is now utf-16le (no utf8). Fix query lengths. XML a…

    …lways read as Unicode.
    When reading text, we now always ask for WCHAR data and convert it using UTF-16.  Otherwise
    extended characters fail when trying to convert from UTF-8.
    Byte lengths were being passed to SQLExecDirectW instead of character lengths.
    Microsoft doesn't convert XML, but *we* do when writing it since we don't know it's Unicode.
    committed Dec 30, 2016
Commits on Dec 21, 2016
  1. Fix HSTMT leak.

    For each new connection string (so usually once per app for most apps), pyodbc caches driver
    configuration information.  During this an HSTMT was not freed.  Note that this should not have
    had any affect since the call to SQLDisconnect later should free all handles.  (I may have even
    not freed on purpose earlier, but I don't remember which is a good sign that closing it
    explicitly would be better.)
    committed Dec 21, 2016
Commits on Dec 10, 2016
  1. Convert /docs to Markdown

    I want the docs to be easier to maintain making it more likely I'll keep them up to date and
    others will send updates.  (Or should I just use the wiki?)
    committed Dec 10, 2016
Commits on Dec 9, 2016
  1. Add Cursor.fetchval(). While testing, fixed incorrect statement encod…

    I had not converted all SQL statements properly.
    committed Dec 9, 2016
Commits on Dec 5, 2016
  1. Rewrite Unicode handling for correctness and flexibility.

    Reading and writing text now uses Python codecs which can be configured via the
    new cnxn.setencoding and cnxn.setdecoding.  This is more complicated than simply
    setting `cnxn.encoding = 'utf-16le'` but I've seen lots of weird combinations
    that need to be handled more precisely.
    This adds:
    * connect(..., encoding=None)
    * Connection.setencoding
    * Connection.setdecoding
    I'm not terribly happy with the API and would love some suggestions.  Perhaps we
    should configure a "factory" with all of the settings that should be applied to
    new connections?
    I've also copied the docs from a separate branch into /docs which GitHub can
    publish now.  I'm not sure how I want to handle documentation - there is a lot
    of good information in the Wiki and I'm tempted to have minimal docs and cleanup
    the Wiki.
    committed Dec 1, 2016
Commits on Nov 29, 2016
  1. Merge pull request #123 from roskakori/patch-1

    Cleaned up typo.
    committed on GitHub Nov 29, 2016
Commits on Nov 28, 2016
  1. Fix PyInt_AsInt --> As Long

    Closes #152
    committed Nov 28, 2016
Commits on Jun 13, 2016
  1. Cleaned up typo.

    While there is a package setuputils on PyPI, it was last updated in 2013.
    roskakori committed on GitHub Jun 13, 2016
Commits on May 30, 2016
Commits on Apr 7, 2016
  1. Merge pull request #108 from gmljosea/decimal-sep

    Added functions for setting the decimal separator character.
    committed Apr 7, 2016
Commits on Oct 26, 2015
Commits on Oct 1, 2015
  1. Add Connection.set_attr

    committed Oct 1, 2015
Commits on Sep 7, 2015
  1. SQLFreeHandle(stmt) can now raise an error if necessary. Closes #74

    In the past I ignored these since close is usually called during stack
    unwinding and "real" errors shouldn't occur in free handle.  (That is,
    the user of pyodbc can't cause errors here.)
    Perhaps it is not true for this driver, however.  I still think it could
    be something else, but it is better to raise errors when we can.  I do
    ignore errors if we already have one, however.  I really don't want to
    "eat" more important errors.
    committed Sep 7, 2015
Commits on Sep 4, 2015
Commits on Aug 8, 2015
  1. Merge pull request #67 from uber/mb-fix-git-version

    Fix git version when not on a branch
    committed Aug 8, 2015
Commits on Jul 15, 2015
  1. Fix git version when not on a branch

    * Use short commit hash instead
    * Use less fragile way of determining current branch
    Maxwell Bernstein committed Jun 29, 2015
Commits on May 3, 2015
  1. Package README in source. Remove unused items.

    Fixes #46.  I had changed from README.rst to during the move
    to GitHub and did not update the file.
    committed May 3, 2015
Commits on Apr 30, 2015
  1. Merge pull request #23 from geota/master

    Fixes #22 - Increase number of loop iterations to fully pull in data
    committed Apr 30, 2015
  2. Create error before freeing HSTMT.

    The previous fix from Tim Golden needed to be applied in another area.
    Thanks Tim.
    committed Apr 30, 2015