Thread: PL/Py 0.1 Development Release

PL/Py 0.1 Development Release

From
James William Pye
Date:
After much hacking, and many liters of caffeinated beverages, it is my
pleasure
to announce the first development release of PL/Py, the PostgresPy
Project[1]'s
Backend elements for the PostgreSQL ORDBMS.

The project news item can be found here[2].

PL/Py, PostgresPy's Backend Project, is a procedural language extension
for
PostgreSQL, and a Python extension module providing Python interfaces to
PostgreSQL internals. It provides a PostgreSQL DBA with the necessary
functionality to create and execute functions written in Python within
the
backend.

It has been designed with the principle of separating the embedding
instance
from the extension module(internal interfaces), so as to provide a very
clean
implementation.

The PL features the following:
 * Set Returning Functions.
 * State keeping (think generators, etc, yes even for SRFs!).
 * Type system interface (Single dimensional arrays and Composites).
 * Direct Database Function Calls.
 * Objectified Queries.
 * Exception management and interfaces.
 * Encoding Choreography (Works with the Database's encoding).
 * HeapTuple/TupleDesc interface types.
 * Transaction Dictionary.
 * Direct Portal interface.
 * Internal Subtransactions.
 * file like Large Object interface.
 * Full tracebacks and exception information in uncaught exceptions.
 * Procedure validation (Syntax check on CREATE and Code storage).
 * Direct Relation interface (coming soon).
 * Boogs. Yes, there are bugs.

For the quickest way to get started, see the Quick Start page[3].

The documentation for this project has yet to be completed. Some
doc-strings
exist, so using the sandbox mentioned in the Quick Start is the best way
to
discover the features of the PL.

[1] http://python.projects.postgresql.org
[2] http://pgfoundry.org/forum/forum.php?forum_id=449
[3] http://python.projects.postgresql.org/quick.html