Re: plpython - Mailing list pgsql-general

From Jorge Godoy
Subject Re: plpython
Date
Msg-id 87iri5n9pl.fsf@gmail.com
Whole thread Raw
In response to plpython  (km <km@mrna.tn.nic.in>)
Responses Re: plpython  (km <km@mrna.tn.nic.in>)
List pgsql-general
km <km@mrna.tn.nic.in> writes:

> Can someone hint on resources for using plpython for writing stored
> procedures ?

Sure.  But it depends a lot on what you're willing to do.  The docs have the
details.  This one I did just to learn it:

CREATE FUNCTION f_v_fechamento(p_cliente_id integer, p_data date, p_pago boolean, OUT retorno record) RETURNS record
    AS $$
p_cliente_id = args[0]
p_data = args[1]
p_pago = args[2]

w_total = 0
w_amostra = 0
w_final_do_mes = plpy.execute("SELECT f_v_final_do_mes(%s::date)" % p_data)
w_inicio_do_mes = plpy.execute("SELECT f_v_inicio_mes(%s::date)" % p_data)

retorno = dict()
retorno['w_inicio_do_mes'] = w_inicio_do_mes
retorno['w_final_do_mes'] = w_final_do_mes

return retorno
$$
    LANGUAGE plpythonu STABLE;


It can be rewritten in a better way but was the handier example I had here
that had queries and used a bit more of PostgreSQL 8.1 :-)

> I have gone thru official docs for  8.1.5 for plpythonu but its not in
> detail/with examples.

It's just pure Python.  And you use plpy for querying the database.

> When is plpython going to be considered safe ? any targeted version ?

I hope never, otherwise we loose some facilities.  You understood the concept
of 'safe' and 'unsafe' in PostgreSQL's docs, right?  It might not be what
you're thinking.


Be seeing you,
--
Jorge Godoy      <jgodoy@gmail.com>

pgsql-general by date:

Previous
From: Alexander Staubo
Date:
Subject: Re: skip duplicate key error during inserts
Next
From: Alban Hertroys
Date:
Subject: Replicating changes