On 2020-05-26 3:08 PM, Rory Campbell-Lange wrote:
On 26/05/20, Frank Millman (fr...@chagford.com) wrote:
On 2020-05-26 2:11 PM, Daniele Varrazzo wrote:
No, we don't want to add any intelligence in trying to figure out what
is into a query. If you are comfortable that you will be using always
the same pattern for comments you can easily clean the string yourself
before passing it to psycopg.

A better approach for you I guess would be to use named placeholders,
so that an a missing placeholder wouldn't require you to change the
arguments to execute.

Ok, thanks.

Frank

I must be missing something, because this works for me:

     In [28]: d.query("""
         ...: select
         ...:     1 as a
         ...:     /*
         ...:     ,2 as b
         ...:     */
         ...:     -- ,'hi' as c
         ...:     ,%s as d
         ...: """, ("a string", )).results
     Out[28]: [Record(a=1, d='a string')]

(d.query is a wrapper around cursor_create, execute and fetchall).

Does using %s instead of {}.format help solve the issue?


To reproduce my situation, you should place the '--' at the beginning of the following line (',%s as d').

As no parameters are now being substituted, I would expect to supply an empty tuple. In fact, the parameter is still required.

Frank


Reply via email to