[SQL-CVS] r3977 - in SQLObject/trunk: docs sqlobject/mssql
SQLObject is a Python ORM.
Brought to you by:
ianbicking,
phd
|
From: <sub...@co...> - 2009-09-14 16:07:45
|
Author: phd Date: 2009-09-14 10:07:38 -0600 (Mon, 14 Sep 2009) New Revision: 3977 Modified: SQLObject/trunk/docs/News.txt SQLObject/trunk/docs/SQLObject.txt SQLObject/trunk/sqlobject/mssql/mssqlconnection.py Log: The user can choose a DB API driver for MSSQL by using a "backend" parameter in DB URI or MSSQLConnection. Possible backends are: "adodb" (alias "adodbapi") and "pymssql". Default is to test adodbapi and pymssql in that order. Modified: SQLObject/trunk/docs/News.txt =================================================================== --- SQLObject/trunk/docs/News.txt 2009-09-09 19:54:43 UTC (rev 3976) +++ SQLObject/trunk/docs/News.txt 2009-09-14 16:07:38 UTC (rev 3977) @@ -28,6 +28,11 @@ WARNING: API change! PostgresConnection's parameter "usePygresql" is now replaced with "backend=pygresql". +* The user can choose a DB API driver for MSSQL by using a "backend" + parameter in DB URI or MSSQLConnection. Possible backends are: "adodb" + (alias "adodbapi") and "pymssql". Default is to test adodbapi and pymssql + in that order. + * alternateMethodName is defined for all unique fields, not only alternateID; this makes SQLObject create .by*() methods for all unique fields. Modified: SQLObject/trunk/docs/SQLObject.txt =================================================================== --- SQLObject/trunk/docs/SQLObject.txt 2009-09-09 19:54:43 UTC (rev 3976) +++ SQLObject/trunk/docs/SQLObject.txt 2009-09-14 16:07:38 UTC (rev 3977) @@ -1845,6 +1845,11 @@ .. _pymssql: http://pymssql.sourceforge.net/ .. _adodbapi: http://adodbapi.sourceforge.net/ +The user can choose a DB API driver for MSSQL by using a "backend" +parameter in DB URI or MSSQLConnection. Possible backends are: "adodb" +(alias "adodbapi") and "pymssql". Default is to test adodbapi and pymssql +in that order. + Events (signals) ================ Modified: SQLObject/trunk/sqlobject/mssql/mssqlconnection.py =================================================================== --- SQLObject/trunk/sqlobject/mssql/mssqlconnection.py 2009-09-09 19:54:43 UTC (rev 3976) +++ SQLObject/trunk/sqlobject/mssql/mssqlconnection.py 2009-09-14 16:07:38 UTC (rev 3977) @@ -10,10 +10,19 @@ def __init__(self, db, user, password='', host='localhost', autoCommit=0, **kw): - try: + backend = kw.pop('backend', None) + if backend is None: + try: + import adodbapi as sqlmodule + except ImportError: + import pymssql as sqlmodule + elif backend in ('adodb', 'adodbapi'): import adodbapi as sqlmodule - except ImportError: + elif backend == 'pymssql ': import pymssql as sqlmodule + else: + raise ValueError('Unknown MSSQL backend "%s", expected adodb or pymssql' % backend) + self.module = sqlmodule if sqlmodule.__name__ == 'adodbapi': self.dbconnection = sqlmodule.connect @@ -54,7 +63,6 @@ self.password = password self.limit_re = re.compile('^\s*(select )(.*)', re.IGNORECASE) self.password = password - self.module = sqlmodule self._can_use_max_types = None DBAPI.__init__(self, **kw) |