Re: PL/Python: Add cursor and execute methods to plan object

From: David Steele <david(at)pgmasters(dot)net>
To: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Cc: Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>
Subject: Re: PL/Python: Add cursor and execute methods to plan object
Date: 2017-03-16 21:32:48
Message-ID: 6a9b4e5b-59ea-7975-8829-9433e3f7e647@pgmasters.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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?

--
-David
david(at)pgmasters(dot)net

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2017-03-16 21:39:55 Re: Size vs size_t
Previous Message David Steele 2017-03-16 21:25:43 Re: [BUGS] Problem in using pgbench's --connect(-C) and --rate=rate(-R rate) options together.