]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
refactor of default_paramstyle, use paramstyle argument on Dialect to change
authorMatt Harrison <matthewharrison@gmail.com>
Mon, 7 Apr 2008 22:42:28 +0000 (22:42 +0000)
committerMatt Harrison <matthewharrison@gmail.com>
Mon, 7 Apr 2008 22:42:28 +0000 (22:42 +0000)
lib/sqlalchemy/databases/__init__.py
lib/sqlalchemy/databases/informix.py
lib/sqlalchemy/databases/mysql.py
lib/sqlalchemy/databases/oracle.py
lib/sqlalchemy/databases/postgres.py
lib/sqlalchemy/databases/sqlite.py
lib/sqlalchemy/engine/default.py
test/sql/query.py

index 57a8321d7993b22f7ba444a793176515ce8d21ae..9d91ed66c618f62ddcea900ada0b9db42d949dba 100644 (file)
@@ -7,5 +7,5 @@
 
 __all__ = [
     'sqlite', 'postgres', 'mysql', 'oracle', 'mssql', 'firebird',
-    'sybase', 'access', 'maxdb',
+    'sybase', 'access', 'maxdb', 'monetdb'
     ]
index d91b1b9b8f1a1b7a0523d66fee1f8fa662c7550d..2e1f19de96c98473104ce68f90cb4a8cd07bb7cc 100644 (file)
@@ -206,13 +206,13 @@ class InfoExecutionContext(default.DefaultExecutionContext):
         return informix_cursor( self.connection.connection )
 
 class InfoDialect(default.DefaultDialect):
+    default_paramstyle = 'qmark'
     # for informix 7.31
     max_identifier_length = 18
 
     def __init__(self, use_ansi=True,**kwargs):
         self.use_ansi = use_ansi
         default.DefaultDialect.__init__(self, **kwargs)
-        self.paramstyle = 'qmark'
 
     def dbapi(cls):
         import informixdb
index c4b8af68489afa5ee35a48c925759e30aab6e6a3..a86035be50754d0c0feda4c9a0c687fd9b03b895 100644 (file)
@@ -1420,10 +1420,10 @@ class MySQLDialect(default.DefaultDialect):
     # identifiers are 64, however aliases can be 255...
     max_identifier_length = 255
     supports_sane_rowcount = True
+    default_paramstyle = 'format'
 
     def __init__(self, use_ansiquotes=None, **kwargs):
         self.use_ansiquotes = use_ansiquotes
-        kwargs.setdefault('default_paramstyle', 'format')
         default.DefaultDialect.__init__(self, **kwargs)
 
     def dbapi(cls):
index 5ce94a9928eea8d6fea0ede17b761919c20567f6..734ad58d108993b69a7829f8c5a8bb0e800edbfe 100644 (file)
@@ -240,9 +240,10 @@ class OracleDialect(default.DefaultDialect):
     supports_sane_multi_rowcount = False
     preexecute_pk_sequences = True
     supports_pk_autoincrement = False
+    default_paramstyle = 'named'
 
     def __init__(self, use_ansi=True, auto_setinputsizes=True, auto_convert_lobs=True, threaded=True, allow_twophase=True, **kwargs):
-        default.DefaultDialect.__init__(self, default_paramstyle='named', **kwargs)
+        default.DefaultDialect.__init__(self, **kwargs)
         self.use_ansi = use_ansi
         self.threaded = threaded
         self.allow_twophase = allow_twophase
index 326dd6b7d56729d258994e5d29edc76f7c94e94c..605ce7272b08788b44ec44d69c1e8736c3cfcd9c 100644 (file)
@@ -309,12 +309,12 @@ class PGDialect(default.DefaultDialect):
     supports_sane_multi_rowcount = False
     preexecute_pk_sequences = True
     supports_pk_autoincrement = False
+    default_paramstyle = 'pyformat'
 
     def __init__(self, use_oids=False, server_side_cursors=False, **kwargs):
-        default.DefaultDialect.__init__(self, default_paramstyle='pyformat', **kwargs)
+        default.DefaultDialect.__init__(self, **kwargs)
         self.use_oids = use_oids
         self.server_side_cursors = server_side_cursors
-        self.paramstyle = 'pyformat'
 
     def dbapi(cls):
         import psycopg2 as psycopg
index 88e4f74cf078330207d94c081d1988b656b467aa..f8bea90ebcf90d81639babd48436423713833c24 100644 (file)
@@ -195,9 +195,10 @@ class SQLiteExecutionContext(default.DefaultExecutionContext):
 class SQLiteDialect(default.DefaultDialect):
     supports_alter = False
     supports_unicode_statements = True
+    default_paramstyle = 'qmark'
 
     def __init__(self, **kwargs):
-        default.DefaultDialect.__init__(self, default_paramstyle='qmark', **kwargs)
+        default.DefaultDialect.__init__(self, **kwargs)
         def vers(num):
             return tuple([int(x) for x in num.split('.')])
         if self.dbapi is not None:
index dfeefa337c9375661670222652c751cb06ace125..65867d4138f5d139a4c603a6a866e119b8cf7d0b 100644 (file)
@@ -39,8 +39,9 @@ class DefaultDialect(base.Dialect):
     preexecute_pk_sequences = False
     supports_pk_autoincrement = True
     dbapi_type_map = {}
+    default_paramstyle = 'named'
 
-    def __init__(self, convert_unicode=False, assert_unicode=False, encoding='utf-8', default_paramstyle='named', paramstyle=None, dbapi=None, **kwargs):
+    def __init__(self, convert_unicode=False, assert_unicode=False, encoding='utf-8', paramstyle=None, dbapi=None, **kwargs):
         self.convert_unicode = convert_unicode
         self.assert_unicode = assert_unicode
         self.encoding = encoding
@@ -52,7 +53,7 @@ class DefaultDialect(base.Dialect):
         elif self.dbapi is not None:
             self.paramstyle = self.dbapi.paramstyle
         else:
-            self.paramstyle = default_paramstyle
+            self.paramstyle = self.default_paramstyle
         self.positional = self.paramstyle in ('qmark', 'format', 'numeric')
         self.identifier_preparer = self.preparer(self)
 
index 2cc4ab0d02601200631ba5e85c98f1e69c4e9077..e6d6714c2cf960f99ad5579a1b56498dbfd2435b 100644 (file)
@@ -244,7 +244,7 @@ class QueryTest(TestBase):
         assert len(r) == 1
 
     def test_bindparam_detection(self):
-        dialect = default.DefaultDialect(default_paramstyle='qmark')
+       dialect = default.DefaultDialect(paramstyle='qmark')
         prep = lambda q: str(sql.text(q).compile(dialect=dialect))
 
         def a_eq(got, wanted):