Re: quoting - bug ?
"Billy G. Allie" <[email protected]> Thu, 26 Jun 2003 21:53:25 -0400
| Newsgroups | gmane.comp.python.db.pypgsql.user |
|---|---|
| Organization | michigan!/usr/group |
| Message-ID | <[email protected]> |
Karsten Hilbert wrote:
>Dear all,
>
>suppose I want to find occurrences of "test" in a column
>"data" in a table "testtable". SQL would be:
>
>select * from testtable where data='test';
>
>Rewriting that for use with pyPgSQL:
>
>query = "select * from testtable where data=%s;"
>arg = "test"
>curs.execute(query, arg)
>
>Right ?
>
>However, this will produce the query:
>
> select * from testtable where data='test;'
>
>which is wrong.
>
>Is this a bug or am I not using pyPgSQL properly (if so it
>needs to be in the docs) ?
>
>Thanks,
>Karsten
>PS: I do know how to rewrite the query so it works. I am just
>wondering about the above behaviour.
>
>
I can't seem to re-create the problem you seem to be having:
$ python
Python 2.2.2 (#7, Nov 27 2002, 17:10:05) [C] on openunix8
Type "help", "copyright", "credits" or "license" for more information.
>>> from pyPgSQL import PgSQL
>>> cx = PgSQL.connect(password='********')
>>> cx.conn.toggleShowQuery
'On'
>>> cu = cx.cursor()
QUERY: BEGIN WORK
>>> arg = '424022'
>>> cu.execute('select * from a where s = %s;', arg)
QUERY: DECLARE "PgSQL_0819742C" CURSOR FOR *select * from a where s =
'424022';*
QUERY: FETCH 1 FROM "PgSQL_0819742C"
QUERY: SELECT typname, -1 , typelem FROM pg_type WHERE oid = 23
QUERY: SELECT typname, -1 , typelem FROM pg_type WHERE oid = 25
>>> cu.close()
QUERY: CLOSE "PgSQL_0819742C"
>>> query = "select * from a where s = %s;"
>>> cu = cx.cursor()
>>> cu.execute(query, arg)
QUERY: DECLARE "PgSQL_081921B4" CURSOR FOR select * from a where s =
'424022';
QUERY: FETCH 1 FROM "PgSQL_081921B4"
>>> cu.fetchone()
[152, 3, '424022']
>>>
Can you provide more detail of what you were doing when the problem occured?
You can show the query being sent to the backend by entering the
following command:
cx.conn.toggleShowQuery
Where cx is the connection object. If you can send the output of a
python session that shows the error, I will be able to provide more help.
--
___________________________________________________________________________
____ | Billy G. Allie | Domain....: [email protected]
| /| | 7436 Hartwell | MSN.......: [email protected]
|-/-|----- | Dearborn, MI 48126|
|/ |LLIE | (313) 582-1540 |