]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
merged r6416 of 0.5 branch, fix the "numeric" paramstyle and add tests
authorMike Bayer <mike_mp@zzzcomputing.com>
Tue, 20 Oct 2009 16:19:54 +0000 (16:19 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Tue, 20 Oct 2009 16:19:54 +0000 (16:19 +0000)
CHANGES
lib/sqlalchemy/sql/compiler.py
test/sql/test_select.py

diff --git a/CHANGES b/CHANGES
index 4de7b2e22f873fbc8b7a81e0e62c7795dcc34c55..850dcf8dbdf02f02a4eff72a6f8bcba725d04359 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -580,6 +580,16 @@ CHANGES
       by contains_eager() out of individual instance states.
       [ticket:1553]
 
+- sql
+    - Fixed the "numeric" paramstyle, which apparently is the
+      default paramstyle used by Informixdb.
+      
+- postgresql
+    - Added support for reflecting the DOUBLE PRECISION type,
+      via a new postgres.PGDoublePrecision object.  
+      This is postgresql.DOUBLE_PRECISION in 0.6.
+      [ticket:1085]
+
 - mssql
     - Changed the name of TrustedConnection to
       Trusted_Connection when constructing pyodbc connect
index 59034ca22768814b8730f4dd3ef06ffc572e7bce..f07e6aca8cb8a558ca7049c1ec2acb76412b0db2 100644 (file)
@@ -56,7 +56,7 @@ BIND_TEMPLATES = {
     'pyformat':"%%(%(name)s)s",
     'qmark':"?",
     'format':"%%s",
-    'numeric':"%(position)s",
+    'numeric':":%(position)s",
     'named':":%(name)s"
 }
 
index 554938dc85e0d2a2775142bce841e21b65d3d22d..757dc521367b66b0dbeaba3a06c687c93b9641f0 100644 (file)
@@ -152,6 +152,36 @@ sq.myothertable_othername AS sq_myothertable_othername FROM (" + sqstring + ") A
             select([cast("data", Integer)], use_labels=True),      # this will work with plain Integer in 0.6
             "SELECT CAST(:param_1 AS INTEGER) AS anon_1"
         )
+    
+    def test_paramstyles(self):
+        stmt = text("select :foo, :bar, :bat from sometable")
+        
+        self.assert_compile(
+            stmt,
+            "select ?, ?, ? from sometable"
+            , dialect=default.DefaultDialect(paramstyle='qmark')
+        )
+        self.assert_compile(
+            stmt,
+            "select :foo, :bar, :bat from sometable"
+            , dialect=default.DefaultDialect(paramstyle='named')
+        )
+        self.assert_compile(
+            stmt,
+            "select %s, %s, %s from sometable"
+            , dialect=default.DefaultDialect(paramstyle='format')
+        )
+        self.assert_compile(
+            stmt,
+            "select :1, :2, :3 from sometable"
+            , dialect=default.DefaultDialect(paramstyle='numeric')
+        )
+        self.assert_compile(
+            stmt,
+            "select %(foo)s, %(bar)s, %(bat)s from sometable"
+            , dialect=default.DefaultDialect(paramstyle='pyformat')
+        )
+        
         
     def test_nested_uselabels(self):
         """test nested anonymous label generation.  this