diff options
| author | Michael P | 2011-10-27 01:57:30 +0000 |
|---|---|---|
| committer | Michael P | 2011-10-27 01:57:30 +0000 |
| commit | 56a90674444df1464c8e7012c6113efd7f9bc7db (patch) | |
| tree | 67b151ad250bad909d2cbf7e6a33b4d36632e2c3 /src/backend/optimizer | |
| parent | ef4717fab54d11cbc4cf8b6607bee346fc99d85a (diff) | |
Support for Node and Node Group DDL
Node information is not anymore supported by node number using
GUC parameters but node names.
Node connection information is taken from a new catalog table
called pgxc_node. Node group information can be found in pgxc_group.
Node connection information is taken from catalog when user session
begins and sticks with it for the duration of the session. This brings
more flexibility to the cluster settings. Cluster node information can
now be set when node is initialized with initdb using cluster_nodes.sql
located in share directory.
This commits adds support for the following new DDL:
- CREATE NODE
- ALTER NODE
- DROP NODE
- CREATE NODE GROUP
- DROP NODE GROUP
The following parameters are deleted from postgresql.conf:
- num_data_nodes
- preferred_data_nodes
- data_node_hosts
- data_node_ports
- primary_data_node
- num_coordinators
- coordinator_hosts
- coordinator_ports
pgxc_node_id is replaced by pgxc_node_name to identify the node-self.
Documentation is added for the new queries. Functionalities such as
EXECUTE DIRECT, CLEAN CONNECTION use node names instead of node numbers now.
Diffstat (limited to 'src/backend/optimizer')
| -rw-r--r-- | src/backend/optimizer/plan/createplan.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/backend/optimizer/plan/createplan.c b/src/backend/optimizer/plan/createplan.c index 3abcd6cfe5..ba9f6c0af7 100644 --- a/src/backend/optimizer/plan/createplan.c +++ b/src/backend/optimizer/plan/createplan.c @@ -2648,6 +2648,7 @@ create_remotequery_plan(PlannerInfo *root, Path *best_path, scan_plan->exec_nodes->baselocatortype = rel_loc_info->locatorType; else scan_plan->exec_nodes->baselocatortype = '\0'; + scan_plan->exec_nodes = GetRelationNodes(rel_loc_info, 0, UNKNOWNOID, RELATION_ACCESS_READ); copy_path_costsize(&scan_plan->scan.plan, best_path); @@ -5567,7 +5568,7 @@ create_remotedelete_plan(PlannerInfo *root, Plan *topplan) xstep->exec_nodes->baselocatortype = rel_loc_info->locatorType; xstep->exec_nodes->tableusagetype = TABLE_USAGE_TYPE_USER; xstep->exec_nodes->primarynodelist = NULL; - xstep->exec_nodes->nodelist = NULL; + xstep->exec_nodes->nodeList = NULL; xstep->exec_nodes->en_relid = ttab->relid; xstep->exec_nodes->accesstype = RELATION_ACCESS_READ; @@ -5597,7 +5598,7 @@ create_remotedelete_plan(PlannerInfo *root, Plan *topplan) fstep->exec_nodes->baselocatortype = rel_loc_info->locatorType; fstep->exec_nodes->tableusagetype = TABLE_USAGE_TYPE_USER; fstep->exec_nodes->primarynodelist = NULL; - fstep->exec_nodes->nodelist = NULL; + fstep->exec_nodes->nodeList = NULL; fstep->exec_nodes->en_relid = ttab->relid; fstep->exec_nodes->accesstype = RELATION_ACCESS_UPDATE; |
