On Jan 13, 2010, at 11:08 AM, Joshua D. Drake wrote:
> My argument would be now, what is the benefit of the James Pye version
> over our version. James can you illustrate succinctly why we should be
> supporting a new version?
Doing so, succinctly, is unfortunately difficult.
It is primarily a matter of comparing features, AFAICT. And, furthermore, some features may not be useful to some
users.
It exposes additional functionality that should *not* be incrementally developed in plpython as it would break
applications.This was the point of trying to move forward with it for Python 3.
Function Modules:- Does away with the need for GD/SD (more natural Python environment).- Allows tracebacks (tracebacks
areuseful, right?) to implemented easily.- Does *not* expose a bastardized variant of the language by pretending that
"modules/scriptfiles" can return and yield.- Helps to promote the Python tenet of being explicit.
Native Typing:- Provides PG type introspection not available in any other PL, AFAIK.- Improves efficiency in some cases
(conversionmust be _explicitly_ called for) - MD Array support.- Composites are a sequence and a mapping.
Other features: http://wiki.postgresql.org/wiki/WIP:plpython3
Aside from function modules and native typing, many of plpython3's features could be implemented incrementally.
However,I had a chance to sprint and they are available now in a new implementation. I did so, rather than improving
plpython,because I believe that native typing and function modules are very useful.
I'm not sure this fulfills your request, but, hopefully, it's a start.