Merge branch 'master' into disallow_master_appy_delete_on_hash

pull/1246/head
Burak Velioglu 2017-02-24 10:40:23 +02:00 committed by GitHub
commit e158c7ae67
3 changed files with 18 additions and 6 deletions

View File

@ -76,6 +76,7 @@ start_metadata_sync_to_node(PG_FUNCTION_ARGS)
int32 nodePort = PG_GETARG_INT32(1); int32 nodePort = PG_GETARG_INT32(1);
char *nodeNameString = text_to_cstring(nodeName); char *nodeNameString = text_to_cstring(nodeName);
char *extensionOwner = CitusExtensionOwnerName(); char *extensionOwner = CitusExtensionOwnerName();
char *escapedNodeName = quote_literal_cstr(nodeNameString);
WorkerNode *workerNode = NULL; WorkerNode *workerNode = NULL;
char *localGroupIdUpdateCommand = NULL; char *localGroupIdUpdateCommand = NULL;
@ -94,8 +95,8 @@ start_metadata_sync_to_node(PG_FUNCTION_ARGS)
{ {
ereport(ERROR, (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), ereport(ERROR, (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("you cannot sync metadata to a non-existent node"), errmsg("you cannot sync metadata to a non-existent node"),
errhint("First, add the node with SELECT master_add_node(%s,%d)", errhint("First, add the node with SELECT master_add_node"
nodeNameString, nodePort))); "(%s,%d)", escapedNodeName, nodePort)));
} }
MarkNodeHasMetadata(nodeNameString, nodePort, true); MarkNodeHasMetadata(nodeNameString, nodePort, true);

View File

@ -196,6 +196,11 @@ BuildAggregatePlan(Query *masterQuery, Plan *subPlan)
groupColumnOpArray, NIL, rowEstimate, subPlan); groupColumnOpArray, NIL, rowEstimate, subPlan);
#endif #endif
/* just for reproducible costs between different PostgreSQL versions */
aggregatePlan->plan.startup_cost = 0;
aggregatePlan->plan.total_cost = 0;
aggregatePlan->plan.plan_rows = 0;
return aggregatePlan; return aggregatePlan;
} }
@ -265,6 +270,12 @@ BuildSelectStatement(Query *masterQuery, char *masterTableName,
#else #else
Sort *sortPlan = make_sort_from_sortclauses(NULL, sortClauseList, topLevelPlan); Sort *sortPlan = make_sort_from_sortclauses(NULL, sortClauseList, topLevelPlan);
#endif #endif
/* just for reproducible costs between different PostgreSQL versions */
sortPlan->plan.startup_cost = 0;
sortPlan->plan.total_cost = 0;
sortPlan->plan.plan_rows = 0;
topLevelPlan = (Plan *) sortPlan; topLevelPlan = (Plan *) sortPlan;
} }

View File

@ -786,7 +786,7 @@ FROM
-> Seq Scan on events_270009 events (cost=0.00..11.79 rows=3 width=556) -> Seq Scan on events_270009 events (cost=0.00..11.79 rows=3 width=556)
Filter: ((event_type)::text = ANY ('{click,submit,pay}'::text[])) Filter: ((event_type)::text = ANY ('{click,submit,pay}'::text[]))
Master Query Master Query
-> Aggregate (cost=0.01..0.02 rows=1 width=0) -> Aggregate (cost=0.00..0.00 rows=0 width=0)
-> Seq Scan on pg_merge_job_270014 (cost=0.00..0.00 rows=0 width=0) -> Seq Scan on pg_merge_job_270014 (cost=0.00..0.00 rows=0 width=0)
(22 rows) (22 rows)
@ -892,7 +892,7 @@ GROUP BY
-> Seq Scan on events_270009 events_2 (cost=0.00..12.28 rows=1 width=32) -> Seq Scan on events_270009 events_2 (cost=0.00..12.28 rows=1 width=32)
Filter: ((composite_id >= '(1,-9223372036854775808)'::user_composite_type) AND (composite_id <= '(1,9223372036854775807)'::user_composite_type) AND ((event_type)::text = 'pay'::text)) Filter: ((composite_id >= '(1,-9223372036854775808)'::user_composite_type) AND (composite_id <= '(1,9223372036854775807)'::user_composite_type) AND ((event_type)::text = 'pay'::text))
Master Query Master Query
-> HashAggregate (cost=0.00..0.18 rows=10 width=0) -> HashAggregate (cost=0.00..0.00 rows=0 width=0)
Group Key: intermediate_column_270015_2 Group Key: intermediate_column_270015_2
-> Seq Scan on pg_merge_job_270015 (cost=0.00..0.00 rows=0 width=0) -> Seq Scan on pg_merge_job_270015 (cost=0.00..0.00 rows=0 width=0)
(40 rows) (40 rows)
@ -1046,8 +1046,8 @@ LIMIT
-> Seq Scan on events_270009 events (cost=0.00..11.95 rows=1 width=524) -> Seq Scan on events_270009 events (cost=0.00..11.95 rows=1 width=524)
Filter: (((composite_id).tenant_id = ((users.composite_id).tenant_id)) AND ((composite_id).user_id = ((users.composite_id).user_id))) Filter: (((composite_id).tenant_id = ((users.composite_id).tenant_id)) AND ((composite_id).user_id = ((users.composite_id).user_id)))
Master Query Master Query
-> Limit (cost=0.01..0.02 rows=0 width=0) -> Limit (cost=0.00..0.00 rows=0 width=0)
-> Sort (cost=0.01..0.02 rows=0 width=0) -> Sort (cost=0.00..0.00 rows=0 width=0)
Sort Key: intermediate_column_270017_2 DESC Sort Key: intermediate_column_270017_2 DESC
-> Seq Scan on pg_merge_job_270017 (cost=0.00..0.00 rows=0 width=0) -> Seq Scan on pg_merge_job_270017 (cost=0.00..0.00 rows=0 width=0)
(29 rows) (29 rows)