Re: Using TEMP ON COMMIT DROP, but need logging too.

From: Michael Moore <michaeljmoore(at)gmail(dot)com>
To: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
Cc: postgres list <pgsql-sql(at)postgresql(dot)org>
Subject: Re: Using TEMP ON COMMIT DROP, but need logging too.
Date: 2016-10-14 17:23:38
Message-ID: CACpWLjM6LWgk9H+-Vm2jsBL4ojdmbP2AWbqgPWdSGqvAAUipMw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

This is VERY different than Oracle, but I think I know how it works now. My
pgplsql function is going to be called via JDBC. This function is a
replacement for an Oracle TABLE function. In Oracle PL/SQL, all commits and
rollbacks are handled within the TABLE function. This means that the JDBC
layer never has to deal with the transaction; only the session. Our Java
coders never do Commit or Rollback. Since, from the Java code, we are only
changing the JDBC Driver (in order to migrate to Postgres), my new
understanding is that the Java code will have to be responsible for
try/catch(ing) any errors raised from pgplsql. The Java code must then
decide weather a rollback or a commit is required. This will require a
slight bit more coordination between the Java and pgplsql developer.

Have I got this right?

Mike

On Thu, Oct 13, 2016 at 2:53 PM, Michael Moore <michaeljmoore(at)gmail(dot)com>
wrote:

> Thanks David. I didn't know that as I have only written retrieval
> functions as of now. I'm going back to do some due diligence.
>
> On Thu, Oct 13, 2016 at 2:48 PM, David G. Johnston <
> david(dot)g(dot)johnston(at)gmail(dot)com> wrote:
>
>> On Thu, Oct 13, 2016 at 2:24 PM, Michael Moore <michaeljmoore(at)gmail(dot)com>
>> wrote:
>>
>>> I've written a function that uses several temporary tables with the ON
>>> COMMIT DROP option. This function does no updates to the database. Now I
>>> would like to put in some logging. In otherwords:
>>>
>>> insert into my_logging_table values (...);
>>> commit;
>>>
>>> Obviously I can't do the commit without dropping my temp tables.
>>>
>>> What is a good way to implement my intended functionality?
>>>
>>>
>> ​You can't put "commit" inside a function so I feel like you are failing
>> to share some important details by not providing code.
>>
>> David J.
>> ​
>>
>>
>
>

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message David G. Johnston 2016-10-14 17:32:34 Re: Using TEMP ON COMMIT DROP, but need logging too.
Previous Message Benjamin Dietrich 2016-10-14 07:24:17 Re: Using TEMP ON COMMIT DROP, but need logging too.