- changed status to resolved
kwargs don't propagate to column-level expressions
Issue #2593
resolved
hit this myself the other day and someone else is also.
from sqlalchemy import *
from sqlalchemy.sql import column
from sqlalchemy.engine import default
s = select([== 5, 7)](case([(column('x')))])
compiler = s._compiler(default.DefaultDialect())
print compiler.process(s, literal_binds=True)
#!diff
diff -r 2484ef34c27f3342e62bd6285bb3668e2c913090 lib/sqlalchemy/sql/compiler.py
--- a/lib/sqlalchemy/sql/compiler.py Mon Oct 15 20:07:13 2012 -0400
+++ b/lib/sqlalchemy/sql/compiler.py Tue Oct 16 00:32:46 2012 -0400
@@ -1044,9 +1044,12 @@
else:
result_expr = col_expr
+ column_clause_args.update(
+ within_columns_clause=within_columns_clause,
+ add_to_result_map=add_to_result_map
+ )
return result_expr._compiler_dispatch(
- self, within_columns_clause=within_columns_clause,
- add_to_result_map=add_to_result_map,
+ self,
**column_clause_args
)
@@ -1093,7 +1096,8 @@
self.stack.append({'from': correlate_froms,
'iswrapper': iswrapper})
- column_clause_args = {'positional_names': positional_names}
+ column_clause_args = kwargs.copy()
+ column_clause_args.update({'positional_names': positional_names})
# the actual list of columns to print in the SELECT column list.
inner_columns = [
Comments (2)
-
reporter -
reporter - removed milestone
Removing milestone: 0.8.0b1 (automated comment)
- Log in to comment
07d7c4905d65b7f28c1ffcbd33f81ee52c9fd847