plpython implementation - Mailing list pgsql-hackers

From Szymon Guz
Subject plpython implementation
Date
Msg-id CAFjNrYsy6y1pObJpQB8AH+jiYXkFWTorqHac2DwBtUJNECYHBA@mail.gmail.com
Whole thread Raw
Responses Re: plpython implementation  (Martijn van Oosterhout <kleptog@svana.org>)
Re: plpython implementation  (Andrew Dunstan <andrew@dunslane.net>)
List pgsql-hackers
I'm reading through plperl and plpython implementations and I don't understand the way they work.

Comments for plperl say that there are two interpreters (trusted and untrusted) for each user session, and they are stored in a hash.

Plpython version looks quite different, there is no such global hash with interpreters, there is just a pointer to an interpreter and one global function _PG_init, which runs once (but per session, user, or what?).

I'm just wondering how a plpython implementation should look like. We need another interpreter, but PG_init function is run once, should it then create two interpreters on init, or should we let this function do nothing and create a proper interpreter in the first call of plpython(u) function for current session?

thanks,
Szymon

pgsql-hackers by date:

Previous
From: Heikki Linnakangas
Date:
Subject: Re: GIN improvements part 3: ordering in index
Next
From: Martijn van Oosterhout
Date:
Subject: Re: plpython implementation