HAWQ-835. Fix snapshot during transaction processing for cannot retrieve tuple 
from temp table created in function


Project: http://git-wip-us.apache.org/repos/asf/incubator-hawq/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-hawq/commit/09dba2e1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-hawq/tree/09dba2e1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-hawq/diff/09dba2e1

Branch: refs/heads/HAWQ-543
Commit: 09dba2e178070bf82f0e90cc1d57e0af5dfffcb4
Parents: 5d4c8d0
Author: Ruilong Huo <r...@pivotal.io>
Authored: Tue Jun 28 10:53:35 2016 +0800
Committer: Ruilong Huo <r...@pivotal.io>
Committed: Tue Jun 28 15:11:33 2016 +0800

----------------------------------------------------------------------
 src/backend/cdb/cdbdatalocality.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/09dba2e1/src/backend/cdb/cdbdatalocality.c
----------------------------------------------------------------------
diff --git a/src/backend/cdb/cdbdatalocality.c 
b/src/backend/cdb/cdbdatalocality.c
index adcc3b8..c56232c 100644
--- a/src/backend/cdb/cdbdatalocality.c
+++ b/src/backend/cdb/cdbdatalocality.c
@@ -854,7 +854,10 @@ int64 
get_block_locations_and_claculte_table_size(split_to_segment_mapping_conte
 
        MemoryContextSwitchTo(context->datalocality_memorycontext);
 
-       ActiveSnapshot = GetTransactionSnapshot();
+       if (ActiveSnapshot == NULL)
+       {
+               ActiveSnapshot = GetTransactionSnapshot();
+       }
        ActiveSnapshot = CopySnapshot(ActiveSnapshot);
        ActiveSnapshot->curcid = GetCurrentCommandId();
 

Reply via email to