]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
squeezing out py3k fixes....sooo slowwww
authorMike Bayer <mike_mp@zzzcomputing.com>
Fri, 29 May 2009 23:27:16 +0000 (23:27 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Fri, 29 May 2009 23:27:16 +0000 (23:27 +0000)
lib/sqlalchemy/dialects/mssql/base.py
lib/sqlalchemy/engine/base.py
lib/sqlalchemy/engine/reflection.py
lib/sqlalchemy/engine/strategies.py
lib/sqlalchemy/engine/url.py
lib/sqlalchemy/schema.py
test/dialect/mssql.py
test/engine/parseconnect.py

index 1ce0209bf30a72b4870286e7c895f2b757226df8..11ef0725de63cbcf41a210775d8241677b5a8b8d 100644 (file)
@@ -235,7 +235,7 @@ from sqlalchemy.engine import default, base, reflection
 from sqlalchemy import types as sqltypes
 from decimal import Decimal as _python_Decimal
 
-import information_schema as ischema
+from sqlalchemy.dialects.mssql import information_schema as ischema
 
 MS_2008_VERSION = (10,)
 MS_2005_VERSION = (9,)
index 032843361819b5ddf65147badf80729cd69e681f..a2984c88ce63d3e69e7436bba17fbbf65545b7eb 100644 (file)
@@ -1067,7 +1067,12 @@ class Connection(Connectable):
                 self._autorollback()
                 if self.__close_with_result:
                     self.close()
+            # Py3K
+            #raise exc.DBAPIError.instance(statement, parameters, e, connection_invalidated=is_disconnect).with_traceback(sys.exc_info()[2])
+            # Py2K
             raise exc.DBAPIError.instance(statement, parameters, e, connection_invalidated=is_disconnect), None, sys.exc_info()[2]
+            # end Py2K
+            
         finally:
             del self._reentrant_error
 
index 66062e2e007ec4267b6090d12b51cec3f3bbfa9a..e7c4f800246d5a5b2dabb6a88e093c35d2f68ca8 100644 (file)
@@ -235,9 +235,6 @@ class Inspector(object):
 
         dialect = self.conn.dialect
 
-        # for some work arounds
-        from sqlalchemy.dialects.mysql.mysqldb import MySQLDialect
-
         # MySQL dialect does this.  Applicable with other dialects?
         if hasattr(dialect, '_connection_charset') \
                                         and hasattr(dialect, '_adjust_casing'):
@@ -263,7 +260,7 @@ class Inspector(object):
             del tblkw[k]
             tblkw[str(k)] = v
 
-        ### Py2K
+        # Py2K
         if isinstance(schema, str):
             schema = schema.decode(dialect.encoding)
         if isinstance(table_name, str):
index 173a138409313fa777598762f7b3de1ef1cf2e3a..efe67e75308203c9e96e57eedd437868ea73c3ea 100644 (file)
@@ -76,7 +76,13 @@ class DefaultEngineStrategy(EngineStrategy):
                     return dialect.connect(*cargs, **cparams)
                 except Exception, e:
                     import sys
+
+                    # Py3K
+                    #raise exc.DBAPIError.instance(None, None, e).with_traceback(sys.exc_info()[2])
+                    # Py2K
                     raise exc.DBAPIError.instance(None, None, e), None, sys.exc_info()[2]
+                    # end Py2K
+                    
             creator = kwargs.pop('creator', connect)
 
             poolclass = (kwargs.pop('poolclass', None) or
index 157f914db87ec507dce55e7c429548fb52bf1bec..68913dbdb694d3a0a8b57af94cae78c917e335d5 100644 (file)
@@ -170,8 +170,10 @@ def _parse_rfc1738_args(name):
             tokens = components['database'].split('?', 2)
             components['database'] = tokens[0]
             query = (len(tokens) > 1 and dict(cgi.parse_qsl(tokens[1]))) or None
+            # Py2K
             if query is not None:
                 query = dict((k.encode('ascii'), query[k]) for k in query)
+            # end Py2K
         else:
             query = None
         components['query'] = query
index 5849c5998d37477a966dc23d55fe4bc04927e739..d3cdeee002321de43a7a191dbee8241a119defda 100644 (file)
@@ -1020,7 +1020,9 @@ class ColumnDefault(DefaultGenerator):
             return lambda ctx: fn()
 
         positionals = len(argspec[0])
-        if inspect.ismethod(inspectable):
+        
+        # Py3K compat - no unbound methods
+        if inspect.ismethod(inspectable) or inspect.isclass(fn):
             positionals -= 1
 
         if positionals == 0:
index e62582ddc41d1b97d516590e3103be270074b816..f721d5a9e5e98e427296d33fcac68801ba2a493c 100755 (executable)
@@ -7,7 +7,7 @@ from sqlalchemy.orm import *
 from sqlalchemy.sql import table, column
 from sqlalchemy.databases import mssql
 from sqlalchemy.dialects.mssql import pyodbc
-import sqlalchemy.engine.url as url
+from sqlalchemy.engine import url
 from testlib import *
 from testlib.testing import eq_
 
index a540985de32daed76032a05a2d9b87264eea9645..99c72f13a8df8f560f9e56773f5bb5562bc701ec 100644 (file)
@@ -1,5 +1,6 @@
 import testenv; testenv.configure_for_tests()
-import ConfigParser, StringIO
+import ConfigParser
+import StringIO
 import sqlalchemy.engine.url as url
 from sqlalchemy import create_engine, engine_from_config
 import testlib.sa as tsa