]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
- Fixed bug when calling select([literal('foo')])
authorMike Bayer <mike_mp@zzzcomputing.com>
Tue, 15 Jul 2008 15:04:43 +0000 (15:04 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Tue, 15 Jul 2008 15:04:43 +0000 (15:04 +0000)
or select([bindparam('foo')]).

CHANGES
lib/sqlalchemy/sql/compiler.py
test/sql/select.py

diff --git a/CHANGES b/CHANGES
index ead13a530904c7f64a85f2b9c60b231e4770a9d0..d35f2243a750fa04e1b32d5e441114e6ba162c42 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -5,6 +5,9 @@ CHANGES
 =======
 0.5beta3
 ========
+    - 0.5beta3 includes all bugfixes listed under release
+      "0.4.7".
+      
 - orm
     - Added a new SessionExtension hook called after_attach().
       This is called at the point of attachment for objects
@@ -12,8 +15,8 @@ CHANGES
       
 0.5beta2
 ========
-    - 0.5beta2 includes all bugfixes listed under release 
-      "0.4.7".
+    - 0.5beta2 includes some of the bugfixes listed under 
+      release "0.4.7".
 
 - orm
     - In addition to expired attributes, deferred attributes
@@ -193,6 +196,10 @@ CHANGES
       flag is always True with a "transactional" 
       (in 0.5 a non-"autocommit") Session.
 
+- sql
+    - Fixed bug when calling select([literal('foo')])
+      or select([bindparam('foo')]).
+      
 - schema
     - create_all(), drop_all(), create(), drop() all raise
       an error if the table name or schema name contains
index 05b3f550dbfaeb126ab3769b4911435d90162559..1edf04ee1e2b0948e58b3fe6702d1ecdbc50e865 100644 (file)
@@ -459,7 +459,7 @@ class DefaultCompiler(engine.Compiled):
             column.table is not None and \
             not isinstance(column.table, sql.Select):
             return column.label(column.name)
-        elif not isinstance(column, (sql._UnaryExpression, sql._TextClause)) and (not hasattr(column, 'name') or isinstance(column, sql._Function)):
+        elif not isinstance(column, (sql._UnaryExpression, sql._TextClause, sql._BindParamClause)) and (not hasattr(column, 'name') or isinstance(column, sql._Function)):
             return column.label(column.anon_label)
         else:
             return column
index b6a1f7ccc6cee298ab3225cd9d45cd6686a4bebe..ddd8ede42fd309e3f88ba41d01848c492e56f35e 100644 (file)
@@ -739,6 +739,9 @@ FROM mytable, myothertable WHERE foo.id = foofoo(lala) AND datetime(foo) = Today
         
 
     def test_literal(self):
+        
+        self.assert_compile(select([literal('foo')]), "SELECT :param_1")
+        
         self.assert_compile(select([literal("foo") + literal("bar")], from_obj=[table1]),
             "SELECT :param_1 || :param_2 AS anon_1 FROM mytable")