You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hawq.apache.org by ml...@apache.org on 2016/08/02 02:49:27 UTC

incubator-hawq git commit: Revert "HAWQ-934. Populate canSetTag of PlannedStmt from Query object"

Repository: incubator-hawq
Updated Branches:
  refs/heads/master 83adc06ab -> 8906240f4


Revert "HAWQ-934. Populate canSetTag of PlannedStmt from Query object"

This reverts commit eae0585f6109534c7ead553604c44b1dd483d8a3.


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

Branch: refs/heads/master
Commit: 8906240f47aa0bec895e716a41e08930ce8bc2a0
Parents: 83adc06
Author: Ming LI <ml...@pivotal.io>
Authored: Tue Aug 2 10:48:45 2016 +0800
Committer: Ming LI <ml...@pivotal.io>
Committed: Tue Aug 2 10:48:45 2016 +0800

----------------------------------------------------------------------
 .../gpopt/translate/CTranslatorDXLToPlStmt.cpp  |  5 +-
 src/backend/gpopt/utils/COptTasks.cpp           |  9 ++--
 .../gpopt/translate/CTranslatorDXLToPlStmt.h    |  2 +-
 src/include/gpopt/utils/COptTasks.h             |  2 +-
 src/test/regress/expected/gp_optimizer.out      | 52 --------------------
 src/test/regress/sql/gp_optimizer.sql           | 40 ---------------
 6 files changed, 8 insertions(+), 102 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/8906240f/src/backend/gpopt/translate/CTranslatorDXLToPlStmt.cpp
----------------------------------------------------------------------
diff --git a/src/backend/gpopt/translate/CTranslatorDXLToPlStmt.cpp b/src/backend/gpopt/translate/CTranslatorDXLToPlStmt.cpp
index e1daa1c..fe68cbd 100644
--- a/src/backend/gpopt/translate/CTranslatorDXLToPlStmt.cpp
+++ b/src/backend/gpopt/translate/CTranslatorDXLToPlStmt.cpp
@@ -227,8 +227,7 @@ CTranslatorDXLToPlStmt::InitTranslators()
 PlannedStmt *
 CTranslatorDXLToPlStmt::PplstmtFromDXL
 	(
-	const CDXLNode *pdxln,
-	const Query *pquery
+	const CDXLNode *pdxln
 	)
 {
 	GPOS_ASSERT(NULL != pdxln);
@@ -265,7 +264,7 @@ CTranslatorDXLToPlStmt::PplstmtFromDXL
 
 	// store partitioned table indexes in planned stmt
 	pplstmt->queryPartOids = m_pctxdxltoplstmt->PlPartitionedTables();
-	pplstmt->canSetTag = pquery->canSetTag;
+	pplstmt->canSetTag = true;
 	pplstmt->relationOids = plOids;
 	pplstmt->numSelectorsPerScanId = m_pctxdxltoplstmt->PlNumPartitionSelectors();
 

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/8906240f/src/backend/gpopt/utils/COptTasks.cpp
----------------------------------------------------------------------
diff --git a/src/backend/gpopt/utils/COptTasks.cpp b/src/backend/gpopt/utils/COptTasks.cpp
index 03de99e..5be6431 100644
--- a/src/backend/gpopt/utils/COptTasks.cpp
+++ b/src/backend/gpopt/utils/COptTasks.cpp
@@ -661,8 +661,7 @@ COptTasks::Pplstmt
 	(
 	IMemoryPool *pmp,
 	CMDAccessor *pmda,
-	const CDXLNode *pdxln,
-	const Query *pquery
+	const CDXLNode *pdxln
 	)
 {
 
@@ -688,7 +687,7 @@ COptTasks::Pplstmt
 	
 	// translate DXL -> PlannedStmt
 	CTranslatorDXLToPlStmt trdxltoplstmt(pmp, pmda, &ctxdxltoplstmt, gpdb::UlSegmentCountGP());
-	return trdxltoplstmt.PplstmtFromDXL(pdxln, pquery);
+	return trdxltoplstmt.PplstmtFromDXL(pdxln);
 }
 
 
@@ -1044,7 +1043,7 @@ COptTasks::PvOptimizeTask
 			// translate DXL->PlStmt only when needed
 			if (poctx->m_fGeneratePlStmt)
 			{
-				poctx->m_pplstmt = (PlannedStmt *) gpdb::PvCopyObject(Pplstmt(pmp, &mda, pdxlnPlan, ptrquerytodxl->Pquery()));
+				poctx->m_pplstmt = (PlannedStmt *) gpdb::PvCopyObject(Pplstmt(pmp, &mda, pdxlnPlan));
 			}
 
 			CStatisticsConfig *pstatsconf = pocconf->Pstatsconf();
@@ -1293,7 +1292,7 @@ COptTasks::PvPlstmtFromDXLTask
 
 		// translate DXL -> PlannedStmt
 		CTranslatorDXLToPlStmt trdxltoplstmt(pmp, amda.Pmda(), &ctxdxlplstmt, gpdb::UlSegmentCountGP());
-		PlannedStmt *pplstmt = trdxltoplstmt.PplstmtFromDXL(pdxlnOriginal, poctx->m_pquery);
+		PlannedStmt *pplstmt = trdxltoplstmt.PplstmtFromDXL(pdxlnOriginal);
 		if (optimizer_print_plan)
 		{
 			elog(NOTICE, "Plstmt: %s", gpdb::SzNodeToString(pplstmt));

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/8906240f/src/include/gpopt/translate/CTranslatorDXLToPlStmt.h
----------------------------------------------------------------------
diff --git a/src/include/gpopt/translate/CTranslatorDXLToPlStmt.h b/src/include/gpopt/translate/CTranslatorDXLToPlStmt.h
index dda7c9d..acc84bf 100644
--- a/src/include/gpopt/translate/CTranslatorDXLToPlStmt.h
+++ b/src/include/gpopt/translate/CTranslatorDXLToPlStmt.h
@@ -275,7 +275,7 @@ namespace gpdxl
 				);
 
 			// main translation routine for DXL tree -> PlannedStmt
-			PlannedStmt *PplstmtFromDXL(const CDXLNode *pdxln, const Query *pquery);
+			PlannedStmt *PplstmtFromDXL(const CDXLNode *pdxln);
 
 			// translate the join types from its DXL representation to the GPDB one
 			static JoinType JtFromEdxljt(EdxlJoinType edxljt);

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/8906240f/src/include/gpopt/utils/COptTasks.h
----------------------------------------------------------------------
diff --git a/src/include/gpopt/utils/COptTasks.h b/src/include/gpopt/utils/COptTasks.h
index abd478b..8916814 100644
--- a/src/include/gpopt/utils/COptTasks.h
+++ b/src/include/gpopt/utils/COptTasks.h
@@ -221,7 +221,7 @@ class COptTasks
 
 		// translate a DXL tree into a planned statement
 		static
-		PlannedStmt *Pplstmt(IMemoryPool *pmp, CMDAccessor *pmda, const CDXLNode *pdxln, const Query *pquery);
+		PlannedStmt *Pplstmt(IMemoryPool *pmp, CMDAccessor *pmda, const CDXLNode *pdxln);
 
 		// load search strategy from given path
 		static

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/8906240f/src/test/regress/expected/gp_optimizer.out
----------------------------------------------------------------------
diff --git a/src/test/regress/expected/gp_optimizer.out b/src/test/regress/expected/gp_optimizer.out
index fd3a686..23b1e5a 100644
--- a/src/test/regress/expected/gp_optimizer.out
+++ b/src/test/regress/expected/gp_optimizer.out
@@ -8678,58 +8678,6 @@ SELECT  cc, sum(nn) over() FROM v1_mpp_20470;
 
 drop view v1_mpp_20470;
 drop table t_mpp_20470;
-
--- Checking if ORCA correctly populates canSetTag in PlannedStmt for multiple statements because of rules
-drop table if exists can_set_tag_target;
-NOTICE:  table "can_set_tag_target" does not exist, skipping
-create table can_set_tag_target
-(
-	x int,
-	y int,
-	z char
-);
-NOTICE:  Table doesn't have 'DISTRIBUTED BY' clause -- Using column named 'x' as the Greenplum Database data distribution key for this table.
-HINT:  The 'DISTRIBUTED BY' clause determines the distribution of data. Make sure column(s) chosen are the optimal data distribution key to minimize skew.
-drop table if exists can_set_tag_audit;
-NOTICE:  table "can_set_tag_audit" does not exist, skipping
-create table can_set_tag_audit
-(
-	t timestamp without time zone,
-	x int,
-	y int,
-	z char
-);
-NOTICE:  Table doesn't have 'DISTRIBUTED BY' clause -- Using column named 't' as the Greenplum Database data distribution key for this table.
-HINT:  The 'DISTRIBUTED BY' clause determines the distribution of data. Make sure column(s) chosen are the optimal data distribution key to minimize skew.
-create rule can_set_tag_audit_update AS
-    ON UPDATE TO can_set_tag_target DO  INSERT INTO can_set_tag_audit (t, x, y, z)
-  VALUES (now(), old.x, old.y, old.z);
-insert into can_set_tag_target select i, i + 1, i + 2 from generate_series(1,2) as i;
-create role unpriv;
-NOTICE:  resource queue required -- using default resource queue "pg_default"
-grant all on can_set_tag_target to unpriv;
-grant all on can_set_tag_audit to unpriv;
-set role unpriv;
-show optimizer;
- optimizer 
------------
- on
-(1 row)
-
-update can_set_tag_target set y = y + 1;
-select count(1) from can_set_tag_audit;
- count 
--------
-     2
-(1 row)
-
-reset role;
-revoke all on can_set_tag_target from unpriv;
-revoke all on can_set_tag_audit from unpriv;
-drop role unpriv;
-drop table can_set_tag_target;
-drop table can_set_tag_audit;
-
 -- clean up
 drop schema orca cascade;
 NOTICE:  drop cascades to table orca.bm_dyn_test_onepart_1_prt_part5

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/8906240f/src/test/regress/sql/gp_optimizer.sql
----------------------------------------------------------------------
diff --git a/src/test/regress/sql/gp_optimizer.sql b/src/test/regress/sql/gp_optimizer.sql
index c1ab7a1..9d02ae5 100644
--- a/src/test/regress/sql/gp_optimizer.sql
+++ b/src/test/regress/sql/gp_optimizer.sql
@@ -776,45 +776,5 @@ SELECT  cc, sum(nn) over() FROM v1_mpp_20470;
 
 drop view v1_mpp_20470;
 drop table t_mpp_20470;
-
--- Checking if ORCA correctly populates canSetTag in PlannedStmt for multiple statements because of rules
-drop table if exists can_set_tag_target;
-create table can_set_tag_target
-(
-	x int,
-	y int,
-	z char
-);
-
-drop table if exists can_set_tag_audit;
-create table can_set_tag_audit
-(
-	t timestamp without time zone,
-	x int,
-	y int,
-	z char
-);
-
-create rule can_set_tag_audit_update AS
-    ON UPDATE TO can_set_tag_target DO  INSERT INTO can_set_tag_audit (t, x, y, z)
-  VALUES (now(), old.x, old.y, old.z);
-
-insert into can_set_tag_target select i, i + 1, i + 2 from generate_series(1,2) as i;
-
-create role unpriv;
-grant all on can_set_tag_target to unpriv;
-grant all on can_set_tag_audit to unpriv;
-set role unpriv;
-show optimizer;
-update can_set_tag_target set y = y + 1;
-select count(1) from can_set_tag_audit;
-reset role;
-
-revoke all on can_set_tag_target from unpriv;
-revoke all on can_set_tag_audit from unpriv;
-drop role unpriv;
-drop table can_set_tag_target;
-drop table can_set_tag_audit;
-
 -- clean up
 drop schema orca cascade;