Re: Win32, PITR, nested transactions, tablespaces

From: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Win32, PITR, nested transactions, tablespaces
Date: 2004-06-01 19:53:50
Message-ID: Pine.OSF.4.58.0406012222130.93296@kosh.hut.fi
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, 27 May 2004, Christopher Browne wrote:

> pgman(at)candle(dot)pha(dot)pa(dot)us (Bruce Momjian) wrote:
> > Win32 has 98% of its code in CVS, so it will make it
> > Tablespaces - Christopher says it is ready, and has run tests
> > PITR - some functionality might be in 7.5, but we aren't sure
> > Nested transactions - Alvaro thinks it is close, but we don't know
>
> Does this mean that 2PC is likely to be deferred? I believe that
> integration work on that was awaiting having nested transactions in
> the codebase...

I'm not waiting for the nested transactions to land anymore. I have simply
been too busy to finish up 2PC. :(

When I said I'd wait for nested transactions, some weeks ago, I thought
that Alvaros patch was going to be checked in within a couple of days or a
week. That impression was wrong. Anyway, I don't believe the patches
conflict very badly, so there's not really a need for either one to wait.

Pushing the freeze date to 1. July just might be enough for me to finish
the 2PC patch, but don't get your hopes up. I don't know how much time I
can spend on it in June.

The issue that I'm currently pondering is what to do with SET SESSION
variables on 2PC. This far my thinking has been that the PREPARE
TRANSACTION command (1st phase) detaches the transaction from the backend
You can do whatever you want with the backend, run other transaction,
drop the connection etc. The prepared transaction acts just like a
running transaction in another backend. You can also use a different
backend to commit the transaction. The question is, what happens to
session variables when the first transaction commits? The original
backend could be in the middle of another transaction, surely you can't
just modify the variables. But you can't really ignore them either.

There is also a lot of other functionality that throws "not implemented"
errors if you try to use 2PC with them. For example, DDL and
notifications. I believe they are quite straightforward, I just
haven't had the time to tackle them yet.

You can always check the latest version of the patch at
http://www.hut.fi/~hlinnaka/pgsql/, I try to update it whenever there is
progress.

- Heikki

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Simon Riggs 2004-06-01 20:08:11 Re: Official Freeze Date for 7.5: July 1st, 2004
Previous Message Matthew T. O'Connor 2004-06-01 19:30:08 Re: Official Freeze Date for 7.5: July 1st, 2004