On Mon, Dec 13, 2010 at 2:50 AM, Jan Urbański <wulczer@wulczer.org> wrote:
> It would be cool to be able to transparently use hstores as Python
> dictionaries and vice versa. It would be easy enough with hstore as a
> core type, but with hstore as an addon it's not that easy.
>
> There was talk about including hstore in core, is there still chance for
> that to happen in 9.1? I'd like to include hstore<->dict handling, but
> with hstore out-of-core the only half-sane way I see is:
> * hack PL/Python's makefile to add -Icontrib/hstore (yuck!)
> * create an extension module for Python that knows how to handle
> hstores that would live next to plpython.so
> * install it in $libdir on make install
> * when PL/Python receives or is asked to create an hstore, load the
> extension module and use it to parse the value (ugly, probably slow)
> * the module would also have to make sure hstore.so is loaded in the
> database, which in itself is not pretty, as it would refer to
> hstore_in/out symbols
>
> I wrote a module that can be used with current PL/Python to simplify
> hstore handling (https://github.com/wulczer/pyhstore), but it suffers
> from most of the aforementioned problems, and on top of that you get
> hstore->text->dict instead of just hstore->dict, which sucks.
Can we arrange to pg_dlopen() the hstore module instead of linking
against it directly? Seems like that might let you use it when
available without making it a hard requirement.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company