Here is an updated patch for the transforms feature. The previous
discussion was here:
http://www.postgresql.org/message-id/1339713732(dot)11971(dot)79(dot)camel(at)vanquo(dot)pezone(dot)net
Old news: At the surface, this contains:
- New catalog pg_transform
- CREATE/DROP TRANSFORM
As proofs of concept and useful applications, I have included transforms for
- PL/Perl - hstore
- PL/Python - hstore
- PL/Python - ltree
New news: I have tried to address all issues raised during previous
reviews.
The regression tests for hstore_plpython and ltree_plpython don't pass
with Python 3. This needs to be fixed, obviously, but it's an issue
unrelated to the core functionality.
As a demo that this can be used externally as well, I have written a
proof-of-concept transform between plpython and the mpz type in the pgmp
extension (multi-precision arithmetic extension):
https://github.com/petere/pgmp/tree/transforms/plpython
Note: There was a lot of churn lately in src/backend/commands/, and I
had to fix merge conflicts several times, so you need source as of about
right now to apply this patch cleanly.
Side issue/peculiarity: I had to change some shared library linking
flags for OS X. Ordinarily, when linking a dynamically loadable module
on OS X, if there are unresolved symbols, it's an error. But for
example, when we link hstore_plpython, we expect some symbols to be
resolved in hstore.so or plpythonu.so, so we need to ignore unresolved
symbols. This change basically just makes OS X behave like other
platforms in this regard. There might be other portability issues on
other platforms.
In response to
- transforms at 2012-06-14 22:42:12 from Peter Eisentraut
Responses
pgsql-hackers by date
| Next: | From: Stephen Frost | Date: 2013-01-16 03:13:33 |
| Subject: Re: Parallel query execution |
| Previous: | From: Claudio Freire | Date: 2013-01-16 02:44:45 |
| Subject: Re: [PATCH] COPY .. COMPRESSED |