Thread: plpython function with dictionary as function argument?

plpython function with dictionary as function argument?

From
gherzig@fmed.uba.ar
Date:
Hi all. I need to know if it is possible to call a plpython stored funcion
with an dictionary as single argument:

Suppose this python structure:

someDict = {
            'field1': 'Foo',
            'creepyfield': 'Bar'
            }

The data base connection
CONN = pg.connect()....

I want some pypgslq function

CREATE myfunction ( __dictionary__) returns void
AS
.... (process)
LANGUAGE pythonu

and (the desired goal) be able to execute
CONN.execute("select * from myfunction (someDict)")

It this possible?

Thanks!!
--
Gerardo Herzig
Direccion General de Organizacion y Sistemas
Facultad de Medicina
U.B.A.

Re: plpython function with dictionary as function argument?

From
Peter Fein
Date:
gherzig@fmed.uba.ar wrote:
> Hi all. I need to know if it is possible to call a plpython stored funcion
> with an dictionary as single argument:
>
> Suppose this python structure:
>
> someDict = {
>             'field1': 'Foo',
>             'creepyfield': 'Bar'
>             }
>
> The data base connection
> CONN = pg.connect()....
>
> I want some pypgslq function
>
> CREATE myfunction ( __dictionary__) returns void
> AS
> .... (process)
> LANGUAGE pythonu
>
> and (the desired goal) be able to execute
> CONN.execute("select * from myfunction (someDict)")

Marshal someDict and unmarshal it in your function.  Marshal is *very* fast.

--
Peter Fein                 pfein@pobox.com                 773-575-0694

Basically, if you're not a utopianist, you're a schmuck. -J. Feldman