On 03/21/2017 06:27 PM, Andrew Dunstan wrote: > On 03/16/2017 05:32 PM, David Steele wrote: >> On 2/25/17 1:27 PM, Peter Eisentraut wrote: >>> Something that has been bothering me in PL/Python for a long time is the >>> non-object-oriented way in which plans are prepared and executed: >>> >>> plan = plpy.prepare(...) >>> res = plpy.execute(plan, ...) >>> >>> where plpy.execute() takes either a plan or a query string. >>> >>> I think a better style would be >>> >>> plan = plpy.prepare(...) >>> res = plan.execute(...) >>> >>> so that the "plan" is more like a statement handle that one finds in >>> other APIs. >>> >>> This ended up being very easy to implement, so I'm proposing to allow >>> this new syntax as an alternative. >>> >>> I came across this again as I was developing the background sessions API >>> for PL/Python. So I'm also wondering here which style people prefer so >>> I can implement it there. >> This patch applies cleanly at cccbdde. >> >> Any Python folks out there who would like to take a crack at reviewing this? >> >> > I'm not particularly a Python folk, but I've done enough over the years > with PLs, including PLPython, that I think I can review this :-) >
This is a very simple patch that does what it advertises. It applies cleanly and provides tests for both the new methods (plan.cursor and plan.execute). Marking Ready For Committer. cheers andrew -- Andrew Dunstan https://www.2ndQuadrant.com PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers