Re: PostgreSQL: Autocommit through windows odbc driver doesnt work!!! - Mailing list pgsql-odbc

From Inoue, Hiroshi
Subject Re: PostgreSQL: Autocommit through windows odbc driver doesnt work!!!
Date
Msg-id 56C5B925.6060608@dream.email.ne.jp
Whole thread Raw
In response to Re: PostgreSQL: Autocommit through windows odbc driver doesnt work!!!  ("Venkatesan, Sekhar" <sekhar.venkatesan@emc.com>)
List pgsql-odbc
Hi,

It's not the difference between Windows and Linux.
There is an option *Level of rollback on errors* to specify either nop, transaction or statement.

regards,
Hiroshi Inoue

On 2016/02/18 15:45, Venkatesan, Sekhar wrote:

Hi Takayuki,

 

One thing I wanted to point out is that I didn’t see this issue in Linux OS. The application code is the same for both windows and Linux. In both the cases, we are in a transaction and an error occurred.

In linux, inserts are getting committed. In Windows, inserts are not getting committed. I will fix the application code to resolve the error. But just want to know the reason for different behavior.

When I enabled tracing in both, I see this difference:

 

Windows (After insert statements in tables):

2016-02-17 16:47:10 GMT ERROR:  relation "dm_job_request_s" does not exist at character 24

2016-02-17 16:47:10 GMT STATEMENT:  SELECT 1 AS total FROM dm_job_request_s S, dm_job_request_r R WHERE S.r_object_id = R.r_object_id AND arguments_keys = 'OldUserName' and arguments_values = $1   AND request_completed = 0 AND job_name = 'dm_UserRename'

2016-02-17 16:47:10 GMT LOG:  statement: ROLLBACK

2016-02-17 16:47:10 GMT LOG:  statement: BEGIN



 

Linux (After insert statements in tables):

< 2016-02-18 01:17:53.173 EST >ERROR:  relation "dm_job_request_s" does not exist at character 24

< 2016-02-18 01:17:53.173 EST >STATEMENT:  SELECT 1 AS total FROM dm_job_request_s S, dm_job_request_r R WHERE S.r_object_id = R.r_object_id AND arguments_keys = 'OldUserName' and arguments_values = $1   AND request_completed = 0 AND job_name = 'dm_UserRename'

< 2016-02-18 01:17:53.173 EST >LOG:  statement: ROLLBACK to _EXEC_SVP_0x35fa4b0

< 2016-02-18 01:17:53.173 EST >LOG:  statement: RELEASE _EXEC_SVP_0x35fa4b0

 

In linux, there is one extra call to release the savepoint which is not the case in windows.

Is this causing the behavior change in windows when compared to linux?

What is the expected behavior when “Release” savepoint is called?

 

Note: In linux, we are talking to linux PostgreSQL server. In Windows, We are talking to windows PostgreSQL server.

 

Thanks,
Sekhar


pgsql-odbc by date:

Previous
From: "Venkatesan, Sekhar"
Date:
Subject: Re: PostgreSQL: Autocommit through windows odbc driver doesnt work!!!
Next
From: Ray Stell
Date:
Subject: newbie tries to get oracle db to select from postgresql