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

Re: Nested xacts: looking for testers and review

From: Bob(dot)Henkel(at)hartfordlife(dot)com
To: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
Cc: Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl>,pgsql-hackers(at)postgresql(dot)org, pgsql-hackers-owner(at)postgresql(dot)org,Tatsuo Ishii <t-ishii(at)sra(dot)co(dot)jp>
Subject: Re: Nested xacts: looking for testers and review
Date: 2004-06-01 12:56:05
Message-ID: OFFA2328BD.53705181-ON86256EA6.0046F2F9-86256EA6.00470961@hartfordlife.com (view raw or flat)
Thread:
Lists: pgsql-hackers




This may be out of scope but I'm goign to mention it. Would error trapping
help any of these issues. In Oracle PL/SQL you have an exception section to
handle any known or unknown errors.  Is this for the future or does the
nested xacts code include this at all?


|---------+---------------------------------->
|         |           Bruce Momjian          |
|         |           <pgman(at)candle(dot)pha(dot)pa(dot)us|
|         |           >                      |
|         |           Sent by:               |
|         |           pgsql-hackers-owner(at)pos|
|         |           tgresql.org            |
|         |                                  |
|         |                                  |
|         |           05/28/2004 03:05 PM    |
|         |                                  |
|---------+---------------------------------->
  >------------------------------------------------------------------------------------------------------------------------------|
  |                                                                                                                              |
  |       To:       Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl>                                                                      |
  |       cc:       Tatsuo Ishii <t-ishii(at)sra(dot)co(dot)jp>, pgsql-hackers(at)postgresql(dot)org                                               |
  |       Subject:  Re: [HACKERS] Nested xacts: looking for testers and review                                                   |
  >------------------------------------------------------------------------------------------------------------------------------|




Alvaro Herrera wrote:
> On Fri, May 28, 2004 at 01:43:16PM -0400, Bruce Momjian wrote:
>
> > In this case, I want to try all of the inserts, but any of them can
> > fail, then I want the bottom part done.
>
> I wonder where everyone eas when I asked this question a lot of time
> ago.  I said I thought the behavior should be like I described, and no
> one objected.

Sorry, I didn't understand the question at the time, or wasn't paying
attention.

> Personally I think it would be a mistake to allow the COMMIT for the
> subtransaction to ignore the fact that the subxact was aborted.  However
> I realize what you are proposing, and maybe this can be implemented
> using a parameter to COMMIT (indicating to not propagate the error if
> it's in aborted state, but commit normally otherwise).
>
> However if everyone disagrees, I can take that part out, and the code
> would be simpler.  IMHO however, it would be less reliable.

Imagine this case used in a script:

             BEGIN;
             DROP TABLE test;
             CREATE TABLE test(x int);
             COMMIT;

This will not work because the drop might fail.  However you could use
this:

             BEGIN;
             BEGIN;
             DROP TABLE test;
             COMMIT;
             CREATE TABLE test(x int);
             COMMIT;

It is done in a transaction so the table replace is an atomic operation.

One interesting idea would be for COMMIT to affect the outer
transaction, and END not affect the outer transaction.  Of course that
kills the logic that COMMIT and END are the same, but it is an
interesting idea, and doesn't affect backward compatibility because
END/COMMIT behave the same in non-nested transactions.

If this is the type of issue we are dealing with for the patch, I feel
very good.  Good job Alvaro.

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman(at)candle(dot)pha(dot)pa(dot)us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania
19073

---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

               http://archives.postgresql.org






*************************************************************************
PRIVILEGED AND CONFIDENTIAL: This communication, including attachments, is for the exclusive use of addressee and may contain proprietary, confidential and/or privileged information.  If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited.  If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.
*************************************************************************


pgsql-hackers by date

Next:From: Zeugswetter Andreas SB SDDate: 2004-06-01 12:59:54
Subject: Re: Fast index build vs. PITR
Previous:From: Alvaro HerreraDate: 2004-06-01 12:53:50
Subject: Re: SELECT * FROM <table> LIMIT 1; is really slow

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group