Обсуждение: patch for preventing the specification of conflicting transaction read/write options
patch for preventing the specification of conflicting transaction read/write options
От
Chetan Suttraway
Дата:
Hi,
This is regarding the TODO item:
"Prevent the specification of conflicting transaction read/write options"
listed at:
http://wiki.postgresql.org/wiki/Todo
The issue is :
The patch is based on suggestions mentioned in message:
http://archives.postgresql.org/pgsql-hackers/2009-01/msg00692.php
As per this, the patch does not throw any error for the first test case mentioned above.
It throws error only in case of conflicting modes.
For ex:
postgres=# SET TRANSACTION read only read only;
SET
postgres=# SET TRANSACTION read only read write;
ERROR: conflicting options
LINE 1: SET TRANSACTION read only read write;
^
Below are basic unit test logs:
postgres=# SET TRANSACTION ISOLATION LEVEL serializable ISOLATION LEVEL serializable;
SET
postgres=# SET TRANSACTION ISOLATION LEVEL serializable ISOLATION LEVEL repeatable read;
ERROR: conflicting options
LINE 1: SET TRANSACTION ISOLATION LEVEL serializable ISOLATION LEVEL...
postgres=# SET TRANSACTION DEFERRABLE DEFERRABLE;
SET
postgres=# SET TRANSACTION DEFERRABLE NOT DEFERRABLE;
ERROR: conflicting options
LINE 1: SET TRANSACTION DEFERRABLE NOT DEFERRABLE;
^
postgres=# START TRANSACTION read only, read only;
START TRANSACTION
postgres=# rollback;
ROLLBACK
postgres=# START TRANSACTION read only, read write;
ERROR: conflicting options
LINE 1: START TRANSACTION read only, read write;
postgres=# rollback;
ROLLBACK ^
postgres=# BEGIN TRANSACTION ISOLATION LEVEL serializable, ISOLATION LEVEL serializable;
BEGIN
postgres=# rollback;
ROLLBACK
postgres=# BEGIN TRANSACTION ISOLATION LEVEL serializable, ISOLATION LEVEL repeatable read;
ERROR: conflicting options
LINE 1: BEGIN TRANSACTION ISOLATION LEVEL serializable, ISOLATION LE...
^
Please pass on any inputs on the patch.
Regards,
Chetan
--
This is regarding the TODO item:
"Prevent the specification of conflicting transaction read/write options"
listed at:
http://wiki.postgresql.org/wiki/Todo
The issue is :
SET TRANSACTION read only read write read only;The fix involved iteration over transaction_mode_list and checking for duplicate entries.
The patch is based on suggestions mentioned in message:
http://archives.postgresql.org/pgsql-hackers/2009-01/msg00692.php
As per this, the patch does not throw any error for the first test case mentioned above.
It throws error only in case of conflicting modes.
For ex:
postgres=# SET TRANSACTION read only read only;
SET
postgres=# SET TRANSACTION read only read write;
ERROR: conflicting options
LINE 1: SET TRANSACTION read only read write;
^
Below are basic unit test logs:
postgres=# SET TRANSACTION ISOLATION LEVEL serializable ISOLATION LEVEL serializable;
SET
postgres=# SET TRANSACTION ISOLATION LEVEL serializable ISOLATION LEVEL repeatable read;
ERROR: conflicting options
LINE 1: SET TRANSACTION ISOLATION LEVEL serializable ISOLATION LEVEL...
postgres=# SET TRANSACTION DEFERRABLE DEFERRABLE;
SET
postgres=# SET TRANSACTION DEFERRABLE NOT DEFERRABLE;
ERROR: conflicting options
LINE 1: SET TRANSACTION DEFERRABLE NOT DEFERRABLE;
^
postgres=# START TRANSACTION read only, read only;
START TRANSACTION
postgres=# rollback;
ROLLBACK
postgres=# START TRANSACTION read only, read write;
ERROR: conflicting options
LINE 1: START TRANSACTION read only, read write;
postgres=# rollback;
ROLLBACK ^
postgres=# BEGIN TRANSACTION ISOLATION LEVEL serializable, ISOLATION LEVEL serializable;
BEGIN
postgres=# rollback;
ROLLBACK
postgres=# BEGIN TRANSACTION ISOLATION LEVEL serializable, ISOLATION LEVEL repeatable read;
ERROR: conflicting options
LINE 1: BEGIN TRANSACTION ISOLATION LEVEL serializable, ISOLATION LE...
^
Please pass on any inputs on the patch.
Regards,
Chetan
--
EnterpriseDB Corporation
The Enterprise PostgreSQL Company
The Enterprise PostgreSQL Company
Website: www.enterprisedb.com
EnterpriseDB Blog : http://blogs.enterprisedb.com
Follow us on Twitter : http://www.twitter.com/enterprisedb
Вложения
Re: patch for preventing the specification of conflicting transaction read/write options
От
"Kevin Grittner"
Дата:
Chetan Suttraway <chetan.suttraway@enterprisedb.com> wrote: > This is regarding the TODO item: > "Prevent the specification of conflicting transaction read/write > options" > > listed at: > http://wiki.postgresql.org/wiki/Todo Thanks for chipping away at items on the list. > Please pass on any inputs on the patch. Right now we want people focusing on fixing bugs and reviewing patches submitted by the start of the current CommitFest. Please add this to the open CF so we don't lose track of it. -Kevin
Re: patch for preventing the specification of conflicting transaction read/write options
От
Chetan Suttraway
Дата:
On Tue, Feb 7, 2012 at 8:44 PM, Kevin Grittner <Kevin.Grittner@wicourts.gov> wrote:
Chetan Suttraway <chetan.suttraway@enterprisedb.com> wrote:Thanks for chipping away at items on the list.
> This is regarding the TODO item:
> "Prevent the specification of conflicting transaction read/write
> options"
>
> listed at:
> http://wiki.postgresql.org/wiki/TodoRight now we want people focusing on fixing bugs and reviewing
> Please pass on any inputs on the patch.
patches submitted by the start of the current CommitFest. Please
add this to the open CF so we don't lose track of it.
-Kevin
Sure.
Thanks!
-Chetan
--
EnterpriseDB Corporation
The Enterprise PostgreSQL Company
The Enterprise PostgreSQL Company
Website: www.enterprisedb.com
EnterpriseDB Blog : http://blogs.enterprisedb.com
Follow us on Twitter : http://www.twitter.com/enterprisedb