Skip site navigation (1) Skip section navigation (2)

Re: transforms

From: Peter Eisentraut <peter_e(at)gmx(dot)net>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: transforms
Date: 2013-01-16 03:01:56
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-hackers
Here is an updated patch for the transforms feature.  The previous
discussion was here:

Old news: At the surface, this contains:

- New catalog pg_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

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):

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 or, 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.

Attachment: pg-transforms-20130115.patch.gz
Description: application/x-gzip (26.8 KB)

In response to

  • transforms at 2012-06-14 22:42:12 from Peter Eisentraut


pgsql-hackers by date

Next:From: Stephen FrostDate: 2013-01-16 03:13:33
Subject: Re: Parallel query execution
Previous:From: Claudio FreireDate: 2013-01-16 02:44:45

Privacy Policy | About PostgreSQL
Copyright © 1996-2018 The PostgreSQL Global Development Group