diff options
author | Abbas | 2012-05-20 03:55:31 +0000 |
---|---|---|
committer | Abbas | 2012-05-20 03:57:59 +0000 |
commit | a3842e1f11615ca2bca9a841fe5f0fb161e93776 (patch) | |
tree | 178efb316a6e82289e050a0149ddefc17ad26e72 /src/include/postgres.h | |
parent | e13fdd2b362c764713a765e447d15bcc7b0d8dbe (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