Re: PostgreSQL: Autocommit through windows odbc driver doesnt work!!!

Поиск
Список
Период
Сортировка
От Inoue, Hiroshi
Тема Re: PostgreSQL: Autocommit through windows odbc driver doesnt work!!!
Дата
Msg-id 56C5B925.6060608@dream.email.ne.jp
обсуждение исходный текст
Ответ на Re: PostgreSQL: Autocommit through windows odbc driver doesnt work!!!  ("Venkatesan, Sekhar" <sekhar.venkatesan@emc.com>)
Список 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 по дате отправления:

Предыдущее
От: "Venkatesan, Sekhar"
Дата:
Сообщение: Re: PostgreSQL: Autocommit through windows odbc driver doesnt work!!!
Следующее
От: Ray Stell
Дата:
Сообщение: newbie tries to get oracle db to select from postgresql