• A
    Make use of transaction options dispatched by QD on QE · a6eea210
    Asim R P 提交于
    To enforce consistent isolation level within a distributed transaction, local
    transactions on QEs should assume the same isolation level as the transaction
    on QD.  This was previously achieved by dispatching isolation level and
    read-only property from QD to QE as command line options.  In case of explicit
    BEGIN, the isolation level was dispatched as flags in DtxContextInfo.  This
    patch makes it consistent such that QEs (readers as well as writers) read the
    transaction options from DtxContextInfo.
    
    The poblem with setting transaction isolation level as command line opiton is
    command line options are processed during process initialization, when a
    transaction is already open and a snapshot is taken.  Changing isolation level
    after taking a snapshot is not correct.
    
    This patch allows merging with the check for transaction_isolation GUC as it
    stands in 9.1, without any Greenplum-specific changes.
    Co-authored-by: NJacob Champion <pchampion@pivotal.io>
    a6eea210
cdbtm.c 91.2 KB