Re: [RFC] ideas for a new Python DBAPI driver (was Re: libpq test suite)

From: Peter Eisentraut <peter_e(at)gmx(dot)net>
To: Manlio Perillo <manlio(dot)perillo(at)gmail(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: [RFC] ideas for a new Python DBAPI driver (was Re: libpq test suite)
Date: 2013-02-14 19:01:53
Message-ID: 511D34A1.9030901@gmx.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2/14/13 9:23 AM, Manlio Perillo wrote:
> 1) always use PQsendQueryParams functions.
>
> This will avoid having to escape parameters, as it is done in
> psycopg2
> (IMHO it still use simple query protocol for compatibility purpose)

I think the reason this doesn't work is that in order to prepare a query
you need to know the parameter types, but you don't know that in Python,
or at least with the way the DB-API works. For example, if you write

cur.execute("SELECT * FROM tbl WHERE a = %s AND b = %s", (val1, val2))

what types will you pass to PQsendQueryParams?

You can make some obvious heuristics, but this sort of thing can get
complicated pretty quickly.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2013-02-14 19:23:58 Re: PATCH: Split stats file per database WAS: autovacuum stress-testing our system
Previous Message Fujii Masao 2013-02-14 18:18:57 Re: Too frequent checkpoints ?