[Sqlalchemy-tickets] [sqlalchemy] #2593: kwargs don't propagate to column-level expressions
Brought to you by:
zzzeek
From: sqlalchemy <mi...@zz...> - 2012-10-16 04:33:44
|
#2593: kwargs don't propagate to column-level expressions --------------------+--------------------------------------- Reporter: zzzeek | Owner: zzzeek Type: defect | Status: new Priority: high | Milestone: 0.8.0 Component: sql | Severity: minor - half an hour Keywords: | Progress State: in progress --------------------+--------------------------------------- hit this myself the other day and someone else is also. {{{ #!python from sqlalchemy import * from sqlalchemy.sql import column from sqlalchemy.engine import default s = select([case([(column('x') == 5, 7)])]) compiler = s._compiler(default.DefaultDialect()) print compiler.process(s, literal_binds=True) }}} {{{ #!diff diff -r 5b68b393755b 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 = [ }}} -- Ticket URL: <http://www.sqlalchemy.org/trac/ticket/2593> sqlalchemy <http://www.sqlalchemy.org/> The Database Toolkit for Python |