I see you already looked into it. Thanks!

W dniu środa, 28 września 2016 20:55:05 UTC+2 użytkownik Mike Bayer napisał:
>
> this is likely use cases that have been untested, if you can file this 
> w/ a complete test case as a bug report on bitbucket we can start 
> looking into it. 
>
>
> On 09/28/2016 12:05 PM, Paweł Szynkiewicz wrote: 
> > Hello all 
> > 
> > SA: 1.1.0b3 
> > db: postgresql 9.5 
> > 
> > I have a problem with method on_conflict_do_update for pg specific 
> insert. 
> > Precisely with the where argument. It looks like wrong SQL statement is 
> > generated. 
> > 
> > example: 
> > 
> > class Foo(Base): 
> >   ... 
> >   bar = Column(Integer) 
> > 
> > insert_stmt = insert(Foo) 
> > 
> > on_update_stmt = insert_stmt.on_conflict_do_update( 
> >             set_=dict( 
> >                 bar=insert_stmt.excluded.bar, 
> >             ), 
> >             where=(Foo.bar < insert_stmt.excluded.bar) 
> > ) 
> > 
> > session.execute(on_update_stmt, data) 
> > 
> > it gives error and rightly so: 
> >> column reference "bar" is ambiguous 
> > 
> > SQL looks like that: 
> > 
> > SQL: 'INSERT INTO foo (...) VALUES (...) ON CONFLICT (...) DO UPDATE SET 
> > bar = excluded.bar WHERE bar < bar' 
> > 
> > WHERE clause is not expanded properly, the alias EXCLUDED is omitted. Is 
> > this a bug or I'm doing sht wrong? 
> > 
> > the workaround I use is: 
> > 
> > ... 
> >     where=(text('foo.bar < EXCLUDED.bar')) 
> > ... 
> > 
> > Cheers 
> > 
> > 
> > 
> > -- 
> > 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+...@googlegroups.com <javascript:> 
> > <mailto:sqlalchemy+unsubscr...@googlegroups.com <javascript:>>. 
> > To post to this group, send email to sqlal...@googlegroups.com 
> <javascript:> 
> > <mailto:sqlal...@googlegroups.com <javascript:>>. 
> > Visit this group at https://groups.google.com/group/sqlalchemy. 
> > For more options, visit https://groups.google.com/d/optout. 
>

-- 
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.

Reply via email to