Op vrijdag 20 oktober 2017 19:11:56 UTC+2 schreef Mike Bayer: > > On Thu, Oct 19, 2017 at 4:25 AM, Gijs Molenaar <gijsmo...@gmail.com > <javascript:>> wrote: > > > > > > Op donderdag 19 oktober 2017 03:10:21 UTC+2 schreef Mike Bayer: > >> > >> On Wed, Oct 18, 2017 at 7:38 AM, Gijs Molenaar <gijsmo...@gmail.com> > >> wrote: > >> > hi! > >> > > >> > > >> > Not sure if this a bug or something I should in my SQLAlchemy > dialect, > >> > but > >> > currently > >> > > >> > > >> > expr = (table.c.x + table.c.y).label('lx') > >> > select([func.count(table.c.id), expr]).group_by(expr).order_by(expr) > >> > > >> > compiles to: > >> > > >> > SELECT count(some_table.id) AS count_1, some_table.x + some_table.y > AS > >> > lx > >> > \nFROM some_table GROUP BY some_table.x + some_table.y ORDER BY lx; > >> > > >> > > >> > which works fine for for example sqlite, but MonetDB requires the use > of > >> > the > >> > lx label in the GROUP BY, which I think makes sense? Should this be > >> > addressed on the SQLalchemy side or on the MonetDB dialect side? > >> > >> so this was overhauled in > >> > >> > http://docs.sqlalchemy.org/en/latest/changelog/migration_09.html#label-constructs-can-now-render-as-their-name-alone-in-an-order-by > > >> where we changed ORDER BY to use the label name when the expression is > >> passed. > >> > >> so the immediate answer would be to not actually order by the label(). > > > > > > I think i didn't formulate my e-mail correctly. The ORDER BY is not the > > problem, it is the GROUP BY that requires a label. If the GROUP BY > doesn't > > use a label (just like ORDER BY), MonetDB doesn't want to eat the query. > > this is my fault because I read/reply to these emails very fast and > focus mainly on the code I see. If you want it the other way > around, there is the feature described at: > > > https://docs.sqlalchemy.org/en/latest/changelog/migration_10.html#order-by-and-group-by-are-special-cases > > > that is, say group_by("somelabel"). > > If you need this to be more automatic for this backend, we can look > into seeing how the "ORDER BY" version of the feature can be more > generalized on a backend-specific basis but this would be longer-term. > > Hi Mike,
My main concern is to get the test suite pass for now :) What you propose doesn't make the dialect work with the current test suite right? greetings, - Gijs -- SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper http://www.sqlalchemy.org/ To post example code, please provide an MCVE: Minimal, Complete, and Verifiable Example. See http://stackoverflow.com/help/mcve for a full description. --- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To post to this group, send email to sqlalchemy@googlegroups.com. Visit this group at https://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/d/optout.