km <[EMAIL PROTECTED]> 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      <[EMAIL PROTECTED]>

---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
       choose an index scan if your joining column's datatypes do not
       match

Reply via email to