summaryrefslogtreecommitdiff
path: root/src/include/postgres.h
diff options
context:
space:
mode:
authorAbbas2012-05-20 03:55:31 +0000
committerAbbas2012-05-20 03:57:59 +0000
commita3842e1f11615ca2bca9a841fe5f0fb161e93776 (patch)
tree178efb316a6e82289e050a0149ddefc17ad26e72 /src/include/postgres.h
parente13fdd2b362c764713a765e447d15bcc7b0d8dbe (diff)
Fix a problem in explicitly PREPARED TRANSACTIONS.
Problem: If a transaction contains a SELECT FOR UPDATE/SHARE, it has to be prepared on the data nodes, otherwise the tables are not locked on the data nodes. Solution: We have added another member in RemoteQuery called has_row_marks. This member has the same value as hasForUpdate of the Query structure. This member is used to make sure that although a SELECT FOR UPDATE/SHARE is treated as a write still describe message needs to be sent to data nodes because this command would result in rows. The meaning of the read_only member of RemoteQuery is also changed to mean SELECTS without row marks. Test cases are added to make sure the prepared transactions are working as expected.
Diffstat (limited to 'src/include/postgres.h')
0 files changed, 0 insertions, 0 deletions