from sqlalchemy.sql import column, tuple_ a, b = column('a'), column('b')
print tuple_(a, b).op("OVERLAPS")(tuple_(1, 2)) "(a, b) OVERLAPS (:param_1, :param_2)" On May 8, 2013, at 6:39 AM, gio <giovanni.lagr...@auditq.com> wrote: > Hi all > > Searching how to solve the > > (start,end).op('OVERLAPS')(,start1,end1) > Problem with postgres and salqalchemy 0.8 > > Some hints ? > > > Note: > _CompareMixin > is not presen in SQLalchem 0.8 > > > Am Freitag, 21. August 2009 09:50:10 UTC+2 schrieb David Bolen: > Has anyone generated ORM queries using the OVERLAPS SQL operator that > reference columns in the tables in the query? I've been experimenting > with various approaches and can't seem to cleanly get the column names > (with their appropriate alias based on the rest of the query) into the > overlaps clause. > I'm basically issuing an ORM query and want to check that the date > range given by two columns in one of the objects being queried is > overlaps with a computed date range. In some cases the object whose > columns I am checking is the primary target of the query whereas in > others it's a joined class. > > I found an older post from March where Michael suggested the form > > <somexpression>.op('OVERLAPS', <someotherexpression>) > > but I can't figure out how to apply that, and in particular what sort > of expression will produce a tuple at the SQL layer, yet still support > the "op" method? Namely the output needs to be of the form: > > (start, stop) OVERLAPS (start, stop) > > So I figured I'd try straight text, and was attempting something like: > > query(MappedClass). > filter('(:c_start, :c_end) overlaps (:start, :end)'). > params(c_start=MappedClass.start_col, c_end=MappedClass.end_col, > start=<datetimevalue>, end=<datetimevalue>) > > but I'm having trouble identifying an appropriate value for the > c_start/c_end params to generate the column names in the resulting > SQL. The above gives can't adapt the InstrumentedAttribute references > in the params. > > In the meantime I can fall back to a pure textual filter which will > have to assume how the mapped class will be aliased, but that feels > fragile and it'd be nice if I could let SQLAlchemy generate the column > names somehow. I get the feeling though that OVERLAPS is a bit > unusual in terms of the necessary support since it has non-scalar left > and right values for the operator. > > Thanks for any help. > > -- David > > > > > > > > > > > > > > > -- > 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 http://groups.google.com/group/sqlalchemy?hl=en. > For more options, visit https://groups.google.com/groups/opt_out. > > -- 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 http://groups.google.com/group/sqlalchemy?hl=en. For more options, visit https://groups.google.com/groups/opt_out.