On 09/01/2014 05:24 PM, Andres Freund wrote: > Look at the *disaster* the few minor changes in python3 were. It's now, > years after, only starting to get used again.
While that's valid, I'd like to point out that Python2 and Python3 don't share a runtime and can't easily use each others' modules and functions. The difference with any "plpgsql2" is that it'd live within the same runtime - PostgreSQL - as plpgsql and the other languages, and would share the same interfaces. Python2 -> Python3 would've been a lot less painful if you could mark, on a module-by-module basis, whether a module was python2 or python3 code. It wasn't very practical for Python because python code can reach deep into the guts of unrelated objects discovered at runtime - it can add/replace member functions, even hot-patch bytecode. That's not something we allow in PL/PgSQL, though; from the outside a PL/PgSQL function is pretty opaque to callers. That's not to say I'm keen on a "plpgsql2" unless there's no other way; I'd be rather happier with language version pragmas or similar. But I don't think it's analogous to Python2 vs Python3. -- Craig Ringer http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, 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