Transactions and savepoints

From: Marko Ristola <marko(dot)ristola(at)kolumbus(dot)fi>
To: "'pgsql-odbc(at)postgresql(dot)org'" <pgsql-odbc(at)postgresql(dot)org>
Subject: Transactions and savepoints
Date: 2005-03-26 09:54:43
Message-ID: 42453163.6060508@kolumbus.fi
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-odbc

Hello.

I have been thinking about savepoints.

What do you think about the following:

Create transaction.h and transaction.c.

They would keep the knoledge about the following things:
- Current transaction state (is in autocommit mode, in transaction,
and the savepoint stack structure.
- Each transaction stack point would maintain a list of open cursors.

The stack would contain the following things:
- At the bottom of the stack is the autocommit mode (tr[0]).
- tr[1] contains the transaction's BEGIN block state.
- tr[2] contains the information about the first savepoint.

This would make the savepoint rollback work with cursors:

ODBC side manages the open cursors during savepoint rollback.
Rolling back a savepoint destroys that savepoint's and the later savepoint's
cursors. ODBC must not try to close the cursor after rollback,
or a database error occurs.

What do you think? Is this transaction state tracking necessary in the
ODBC side? Or does or will the database backend handle this some day
some way?

Marko Ristola

Responses

Browse pgsql-odbc by date

  From Date Subject
Next Message Lothar Behrens 2005-03-28 14:53:51 SQL_CHAR, SQL_INTEGER or SQL_BIT datatype problem
Previous Message Michael Goei 2005-03-24 23:54:00 psqlODBC 'ERROR: invalid input syntax for integer: "A"'