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

Re: Transactions and SavePoints

From: Cleber Nardelli <clebernardelli(at)gmail(dot)com>
To: Marko Ristola <marko(dot)ristola(at)kolumbus(dot)fi>
Cc: pgsql-odbc(at)postgresql(dot)org
Subject: Re: Transactions and SavePoints
Date: 2005-08-31 17:04:41
Message-ID: f90442ed05083110045de23831@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-odbc
Marko, debtor for the aid that you have given me.  

My problem in the truth nor is SAVEPOINT and ROLLBACK You the SAVEPOINT.  

My problem is that when an error is generated during the execution of
commands inside of a transaction driver automatically it makes a
ROLLBACK of all the executed commands until then and ai I do not
obtain to execute the ROLLBACK You the SAVEPOINT therefore the block
of the transaction already does not exist more.

Yours truly Cleber

2005/8/31, Marko Ristola <marko(dot)ristola(at)kolumbus(dot)fi>:
> 
> Hi
> 
> I tried to write SAVEPOINT SQL support into PsqlODBC in Summer.
> 
> I was able to implement some suport for savepoint creation, savepoint
> rollback and savepoint RELEASE.
> 
> I didn't understand, how the query results should behave at savepoint
> rollbacks.
> 
> You can find more information about my thoughts about savepoint
> implementation on this list ealier this year, or with Google.
> 
> Main design issue was, that SAVEPOINT tracking must be implemented
> into PSQLODBC.
> 
> That's what I implemented:
> - Linked list of all defined savepoints.
> - Maintain the list during SAVEPOINT maintenance functions.
> 
> Savepoint command parsing speed was 600000 commands per second,
> that I wrote (UTF-8). With UCS-4 , without a state machine, it was
> 300000 commands per second. The subsystem's speed was okay.
> 
> I implemented a full PostgreSQL SQL SAVEPOINT support with
> the Bison/Flex parser, because it is easy, but that part is
> not at all easy to integrate into an existing PsqlODBC driver.
> 
> Are you interested in a patch for the mergeable part of the savepoint
> support?
> 
> Regards,
> Marko Ristola
> 
> Carlos Henrique Reimer wrote:
> 
> > Is there a ODBC flavor than can implement ROLLBACK TO SAVEPOINT?
> >
> > Marko Ristola wrote:
> > > Unfortunately SAVEPOINTs are not implemented in PsqlODBC yet.
> > >
> > >
> > >ROLLBACK TO SAVEPOINT -case is easy to fix, but the full
> > >implementation is hard to make correctly for psqlodbc, at least for me.
> > >
> > >Marko Ristola
> > >
> > >>Cleber Nardelli wrote:
> > >>
> > >>
> > >>Hello.
> > >>I am using the Driver odbc for access to postgresql. I have a
> > referring problem to the cancellation of the transaction when
> > >>some error
> > >>is found at the moment of the execution of the same one. I try to
> > execute this sql command:
> > >>
> > >>
> > >>BEGIN TRANSACTION;
> > >> DELETE FROM TABL1 WHERE ID = 1;
> > >> INSERT INTO TABL1 VALUES (1,1);
> > >> SAVEPOINT SVPT;
> > >> INSERT INTO TABL1 VALUES (1,1);
> > >> ROLLBACK TO SAVEPOINT SPVT;
> > >>COMMIT;
> > >>
> > >>When I try to insert as register it accuses to error with key
> > duplicate. Ok. But I do not want to cancel the transaction I I need to
> > only continue
> > >>with the same one skirting this error. For this reason I am using
> > >>SavePoints but it generates the error:
> > >>"ERROR: ROLLBACK TO SAVEPOINT may only be used in transaction blocks"
> > >>
> > >>Necessary of the your help. I thank
> > >>
> > >>Yours truly
> > >>
> >
> > ------------------------------------------------------------------------
> > Yahoo! Acesso Grátis
> > <%20http://us.rd.yahoo.com/mail/br/taglines/*http://br.acesso.yahoo.com/>:
> > Internet rápida e grátis. Instale o discador agora!
> > <%20http://us.rd.yahoo.com/mail/br/taglines/*http://br.acesso.yahoo.com/>
> 
> 
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 3: Have you checked our extensive FAQ?
> 
>               http://www.postgresql.org/docs/faq
> 


-- 
Cleber Nardelli
IPM Automação e Consultoria
9998-8670

In response to

Responses

pgsql-odbc by date

Next:From: Joel FradkinDate: 2005-08-31 17:41:20
Subject: Urgent! RE: E_Failed issue (also problem reading the record to edit it).
Previous:From: Marko RistolaDate: 2005-08-31 16:30:09
Subject: Re: Transactions and SavePoints

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