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

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

Re: plpython



km <km(at)mrna(dot)tn(dot)nic(dot)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(at)gmail(dot)com>



Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group