From: | Alex Hunsaker <badalex(at)gmail(dot)com> |
---|---|
To: | Hannu Krosing <hannu(at)2ndquadrant(dot)com> |
Cc: | Jan Urbański <wulczer(at)wulczer(dot)org>, 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 17:07:58 |
Message-ID: | AANLkTik+yXynyH2=R+Dthu8ptNhRZ_Roh+u8cDrMXLed@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Thu, Nov 4, 2010 at 03:54, Hannu Krosing <hannu(at)2ndquadrant(dot)com> wrote:
>> > 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 ?
I assumed the try was purely so you could 'catch' things. And did not
mean run it in a subtransaction (without the try block it still runs
in one).
Personally, I was looking more at:
>> > except plpy.UniqueViolation, e:
>> > plpy.notice("Ooops, you got yourself a SQLSTATE %d", e.sqlstate)
Which to me says if SPI has an error we get a nice error object back,
that also lets you do the normal exception catching dance (if thats
what you are in to...) and translates IMO better to how plpgsql works
("exception when unique_violation").
> Another objection
>
>> I'd like to make it more explicit and use
>>
>> with plpy.subtransaction():
>> do your stuff
Sounds more like a savepoint?
From | Date | Subject | |
---|---|---|---|
Next Message | Dimitri Fontaine | 2010-11-04 19:39:31 | Re: ALTER OBJECT any_name SET SCHEMA name |
Previous Message | Daniele Varrazzo | 2010-11-04 16:46:28 | Re: psycopg and two phase commit |