diff options
author | Michael P | 2011-02-22 07:03:39 +0000 |
---|---|---|
committer | Pavan Deolasee | 2011-05-19 17:49:38 +0000 |
commit | 77e5b2631ecc27ef2eac0cf05bfdaccf653c8aa9 (patch) | |
tree | bb75335f8865858eef303b1689a8a5b976fb7ce5 /src/backend/executor/nodeModifyTable.c | |
parent | 5c135f714bf0f9f781abe91111b6c33ad5f36f93 (diff) |
Fix for bug 3136262: PREPARE information not correctly got
This caused errors for the following series of queries
if repeated 2 times in a row:
BEGIN;
CREATE TABLE pxtest2 (a int);
INSERT INTO pxtest2 VALUES (1);
INSERT INTO pxtest2 VALUES (2);
PREPARE TRANSACTION 'regress-one';
COMMIT PREPARED 'regress-one';
SELECT * FROM pxtest2;
---
create table test(a int);
BEGIN;
DROP TABLE test;
PREPARE TRANSACTION 'prepare_test';
COMMIT PREPARED 'prepare_test';
An \0 was forgotten when saving the gid in transaction handle of GTM,
what had as consequence not to be able to find the handle for a given transaction ID
the second time the same GID was used.
The first time memory was used was OK because memeory is clean, but it gets dirty
after finishing the first series.
At second time, the dirty memory area let by first transaction is still there,
causing uses when trying to find transaction handles on GTM for given GID
Diffstat (limited to 'src/backend/executor/nodeModifyTable.c')
0 files changed, 0 insertions, 0 deletions