-
由 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