Re: Functions, savepoints, autocommit = I am confused !

From: Tim Smith <randomdev4+postgres(at)gmail(dot)com>
To: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
Cc: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: Functions, savepoints, autocommit = I am confused !
Date: 2015-06-26 16:08:46
Message-ID: CA+HuS5GufJcgPdJHPQJP2LzCEf4DWrTbkHC-EwB38ZRDqoPRWg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Adrian,

"what I want" is quite simple, I want the function to work as intended. ;-)

Let's step through the function :

(1) perform app_security.cleanSessionTable(p_forcedTimeout,p_sessionTimeout);

Function calls cleanSessionTable. cleanSessionTable is simple. It
calls DELETE on the session table using epochs as filters. That's
fine, it works, I've tested that function.

The reason I want cleanSessionTable called here is because this is the
back-end to a web app. This function is called "validateSession",
hence it needs to do what it says on the tin and make sure expired
sessions are not validated.

The problem happens next ....

(2) select * into strict v_row .etc

IF cleanSessionTable deleted the row, then this select will fail.
Which is fine ... EXCEPT for the fact that Postgresql will then
roll-back the good work it did on the previous statement
(cleanSessionTable).

I want the deleted session rows to remain deleted. I don't want them back.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Filip Rembiałkowski 2015-06-26 16:09:31 Foreign data wrappers and indexes on remote side
Previous Message David G. Johnston 2015-06-26 16:06:12 Re: Functions, savepoints, autocommit = I am confused !