From: | Hannu Krosing <hannu(at)2ndQuadrant(dot)com> |
---|---|
To: | Jan Urbański <wulczer(at)wulczer(dot)org> |
Cc: | Alex Hunsaker <badalex(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Andrew Dunstan <andrew(at)dunslane(dot)net>, Postgres - Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: why does plperl cache functions using just a bool for is_trigger |
Date: | 2010-11-04 09:54:45 |
Message-ID: | 1288864485.2686.21.camel@hvost |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Thu, 2010-11-04 at 11:46 +0200, Hannu Krosing wrote:
> On Wed, 2010-11-03 at 21:43 +0100, Jan Urbański wrote:
> > The validator is ready, once I'm done with the hash tables I'll try to
> > fix up the error checking (get rid of the global error state) and
> > finally do what started it all, that is make plpythonu use
> > subtransactions for SPI and be able to do:
> >
> > try:
> > plpy.execute("insert into foo values(1)")
> > except plpy.UniqueViolation, e:
> > plpy.notice("Ooops, you got yourself a SQLSTATE %d", e.sqlstate)
>
> Are you sure that having each try/except use a subtransaction is the
> right way to do it ?
Another objection
> I'd like to make it more explicit and use
>
> with plpy.subtransaction():
> do your stuff
Possibly better syntax would be
with plpy.subtransaction() as subtrx:
try:
plpy.execute("insert into foo values(1)")
except plpy.UniqueViolation, e:
subtrx.rollback()
plpy.notice("Ooops, you got yourself a SQLSTATE %d", e.sqlstate)
-------
Hannu Krosing
PostgreSQL Infinite Scalability and Preformance Consultant
PG Admin Book: http://www.2ndQuadrant.com/books/
From | Date | Subject | |
---|---|---|---|
Next Message | Dean Rasheed | 2010-11-04 10:00:40 | Re: Hash support for arrays |
Previous Message | Hannu Krosing | 2010-11-04 09:46:10 | Re: why does plperl cache functions using just a bool for is_trigger |