From: SourceForge.net <no...@so...> - 2007-04-04 17:31:06
|
Bugs item #1694437, was opened at 2007-04-04 10:30 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=116528&aid=1694437&group_id=16528 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: PgSQL Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: longj (longj) Assigned to: Nobody/Anonymous (nobody) Summary: execute multiple selects as one statement Initial Comment: If your sql string contains multiple selects and using Cursor.execute to execute them, only the last statement was executed. But you can fool Cursor.execute by adding some comments at the beginning. How to reproduce and get around: ----------In database--------- create table x (id serial); create function f() returns void as $$ insert into x default values; $$language sql; ---------In python----------- from pyPgSQL import PgSQL db = PgSQL.connect() c = db.cursor() sql1 = """select f(); select f();""" sql2 = """--create table foo(bar int); select f(); select f();""" c.execute(sql1) db.commit() --------In database--------- select * from x; id ---- 1 (1 row) -------In python-------------- c.execute(sql2) db.commit() -------In database------------ select * from x; id ---- 1 2 3 (3 rows) ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=116528&aid=1694437&group_id=16528 |