Thread

  1. patch for preventing the specification of conflicting transaction read/write options

    Chetan Suttraway <chetan.suttraway@enterprisedb.com> — 2012-02-07T13:02:18Z

    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 :
    
    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
    
     Website: www.enterprisedb.com
    EnterpriseDB Blog : http://blogs.enterprisedb.com
    Follow us on Twitter : http://www.twitter.com/enterprisedb
    
  2. Re: patch for preventing the specification of conflicting transaction read/write options

    Kevin Grittner <kevin.grittner@wicourts.gov> — 2012-02-07T15:14:02Z

    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
    
    
  3. Re: patch for preventing the specification of conflicting transaction read/write options

    Chetan Suttraway <chetan.suttraway@enterprisedb.com> — 2012-02-08T06:39:34Z

    On Tue, Feb 7, 2012 at 8:44 PM, Kevin Grittner
    <Kevin.Grittner@wicourts.gov>wrote:
    
    > 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
    >
    
    Sure.
    
    Thanks!
    
    -Chetan
    
    -- 
    EnterpriseDB Corporation
    The Enterprise PostgreSQL Company
    
     Website: www.enterprisedb.com
    EnterpriseDB Blog : http://blogs.enterprisedb.com
    Follow us on Twitter : http://www.twitter.com/enterprisedb