Re: Problem with prepareStatement and Statement.RETURN_GENERATED_KEYS in PostgreSQL JDBC driver 8.4
От | David G Johnston |
---|---|
Тема | Re: Problem with prepareStatement and Statement.RETURN_GENERATED_KEYS in PostgreSQL JDBC driver 8.4 |
Дата | |
Msg-id | 1402584674602-5807018.post@n5.nabble.com обсуждение исходный текст |
Ответ на | Re: Problem with prepareStatement and Statement.RETURN_GENERATED_KEYS in PostgreSQL JDBC driver 8.4 (Alvaro Herrera <alvherre@2ndquadrant.com>) |
Список | pgsql-jdbc |
Alvaro Herrera-9 wrote > Heikki Linnakangas wrote: > >> But that's not very bullet-proof, and will fail to detect the statement >> as an INSERT if it e.g begins with a comment. We could add a mini-parser >> to detect comments too, but it's not a very robust approach. > > It will also fail to work with WITH clauses, > > alvherre=# create table r (f int); > CREATE TABLE > alvherre=# insert into r values (42), (142857); > INSERT 0 2 > alvherre=# with t as (select 1) update r set f = f + t."?column?" from t > returning r.*; > f > -------- > 43 > 142858 > (2 filas) > > UPDATE 2 Check for insert/update/delete (IUD) at query start (ignoring whitespace) or immediately following a close parenthesis, and for added measure check for into/set/from appropriately subsequent to (i.e, need to account for relation name in the set case)? Can anchor off of */ for block comment detection and ignoring anything following a -- should be straight forward. Nested block comments will be a problem though...does the parser even effectively allow them? Given the end result of a bad guess is a parser error getting it 98% accurate is acceptable. Even if it is somewhat expensive I'm less inclined to worry about punishing those who blindly set the option. I imagine a typical IUD statement should be able to quickly match any regex we use so the typical use case should still be performant. David J. -- View this message in context: http://postgresql.1045698.n5.nabble.com/Problem-with-prepareStatement-and-Statement-RETURN-GENERATED-KEYS-in-PostgreSQL-JDBC-driver-8-4-tp2172722p5807018.html Sent from the PostgreSQL - jdbc mailing list archive at Nabble.com.
В списке pgsql-jdbc по дате отправления: