Yeah SQL 2003 standard says no comma between window specification details generally, and postgresql, oracle at least aren't expecting it. (ansi 2003 draft:)
7.11 <window clause> ... <window specification details> ::= [ <existing window name> ] [ <window partition clause> ] [ <window order clause> ] [ <window frame clause> ] <window partition clause> ::= PARTITION BY <window partition column reference list> ... <window partition column reference> ::= <column reference> [ <collate clause> ] <window order clause> ::= ORDER BY <sort specification list> etc. On Apr 14, 10:14 pm, botz <randa...@gmail.com> wrote: > Great, thanks for the quick fix. > > Found another minor bug with the window functions, > syntax should be > ( partition by x order by y) > not > ( partition by x, order by y) > ... at least for postgresql. > > On Apr 14, 8:51 pm, botz <randa...@gmail.com> wrote: > > > > > > > > > Here's a quick example: > > > the query form i'm aiming for is: > > > select x - lag(x) over ( order by x ) from a; > > > meta=MetaData() > > a = Table('a', meta, Column('x',Integer)) > > print select([ a.c.x , over( func.lag(a.c.x), order_by = > > a.c.x ) ] ) # no problem > > print select([ a.c.x - over( func.lag(a.c.x), order_by = > > a.c.x ) ] ) # this one fails to compile > > > Here's the error: > > > print select([ a.c.x - over( func.lag(a.c.x), order_by = > > a.c.x ) ] ) > > File "/usr/local/lib/python2.7/site-packages/SQLAlchemy-0.7b4dev- > > py2.7-linux-x86_64.egg/sqlalchemy/sql/expression.py", line 276, in > > select > > **kwargs) > > File "/usr/local/lib/python2.7/site-packages/SQLAlchemy-0.7b4dev- > > py2.7-linux-x86_64.egg/sqlalchemy/sql/expression.py", line 4317, in > > __init__ > > self._froms.update(_from_objects(*self._raw_columns)) > > File "/usr/local/lib/python2.7/site-packages/SQLAlchemy-0.7b4dev- > > py2.7-linux-x86_64.egg/sqlalchemy/sql/expression.py", line 1165, in > > _from_objects > > return itertools.chain(*[element._from_objects for element in > > elements]) > > File "/usr/local/lib/python2.7/site-packages/SQLAlchemy-0.7b4dev- > > py2.7-linux-x86_64.egg/sqlalchemy/sql/expression.py", line 3265, in > > _from_objects > > return self.left._from_objects + self.right._from_objects > > TypeError: can only concatenate list (not "itertools.chain") to list -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalchemy@googlegroups.com. To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en.