diff options
author | Michael P | 2012-01-30 23:45:17 +0000 |
---|---|---|
committer | Michael P | 2012-01-30 23:45:17 +0000 |
commit | eb7b4894c0547f7218759e44ce3894ad7d40f051 (patch) | |
tree | dd28291006989f49bb92e2f3f476f4f7c5b3fdca | |
parent | de1a2df8d43f48dcffbe7968559c4a5514a5d87e (diff) |
Regression test for node DDL
This checks grammar and error messages when using node DDL.
This test cannot be run in parallel as it changes the cluster configuration.
-rw-r--r-- | src/test/regress/expected/xc_node.out | 58 | ||||
-rw-r--r-- | src/test/regress/parallel_schedule | 3 | ||||
-rw-r--r-- | src/test/regress/serial_schedule | 1 | ||||
-rw-r--r-- | src/test/regress/sql/xc_node.sql | 38 |
4 files changed, 100 insertions, 0 deletions
diff --git a/src/test/regress/expected/xc_node.out b/src/test/regress/expected/xc_node.out new file mode 100644 index 0000000000..a239cf7f24 --- /dev/null +++ b/src/test/regress/expected/xc_node.out @@ -0,0 +1,58 @@ +-- +-- XC_NODE +-- +-- Tests involving node DDLs related to Postgres-XC settings +-- Default values +CREATE NODE dummy_node_coordinator WITH (TYPE = 'coordinator'); +CREATE NODE dummy_node_datanode WITH (TYPE = 'datanode'); +SELECT node_name, node_type, node_port, node_host FROM pgxc_node +WHERE node_name IN ('dummy_node_coordinator', 'dummy_node_datanode') +ORDER BY 1; + node_name | node_type | node_port | node_host +------------------------+-----------+-----------+----------- + dummy_node_coordinator | C | 5432 | localhost + dummy_node_datanode | D | 5432 | localhost +(2 rows) + +-- Some modifications +ALTER NODE dummy_node_coordinator WITH (PORT = 5466, HOST = 'target_host_1'); +ALTER NODE dummy_node_datanode WITH (PORT = 5689, HOST = 'target_host_2', PREFERRED); +SELECT node_name, node_type, node_port, node_host, nodeis_preferred FROM pgxc_node +WHERE node_name IN ('dummy_node_coordinator', 'dummy_node_datanode') +ORDER BY 1; + node_name | node_type | node_port | node_host | nodeis_preferred +------------------------+-----------+-----------+---------------+------------------ + dummy_node_coordinator | C | 5466 | target_host_1 | f + dummy_node_datanode | D | 5689 | target_host_2 | t +(2 rows) + +DROP NODE dummy_node_coordinator; +DROP NODE dummy_node_datanode; +-- Check for error messages +CREATE NODE dummy_node WITH (TYPE = 'dummy'); -- fail +ERROR: type value is incorrect, specify 'coordinator or 'datanode' +CREATE NODE dummy_node WITH (PORT = 6543, HOST = 'dummyhost'); -- type not specified +ERROR: PGXC node dummy_node: Node type not specified +CREATE NODE dummy_node WITH (PORT = 99999, TYPE = 'datanode'); -- port value error +ERROR: port value is out of range +CREATE NODE dummy_node WITH (PORT = -1, TYPE = 'datanode'); -- port value error +ERROR: port value is out of range +CREATE NODE dummy_node WITH (TYPE = 'coordinator', PREFERRED = true); -- fail +ERROR: PGXC node dummy_node: cannot be a preferred node, it has to be a Datanode +ALTER NODE dummy_node WITH (PREFERRED = false); -- does not exist +ERROR: PGXC Node dummy_node: object not defined +DROP NODE dummy_node; -- does not exist +ERROR: PGXC Node dummy_node: object not defined +-- Additinal checks on type and properties +CREATE NODE dummy_node WITH (TYPE = 'datanode'); +ALTER NODE dummy_node WITH (TYPE = 'coordinator'); +ERROR: PGXC node dummy_node: cannot alter Datanode to Coordinator +DROP NODE dummy_node; +CREATE NODE dummy_node WITH (TYPE = 'coordinator'); +ALTER NODE dummy_node WITH (PREFERRED); +ERROR: PGXC node dummy_node: cannot be a preferred node, it has to be a Datanode +ALTER NODE dummy_node WITH (PRIMARY); +ERROR: PGXC node dummy_node: cannot be a primary node, it has to be a Datanode +ALTER NODE dummy_node WITH (TYPE = 'datanode'); +ERROR: PGXC node dummy_node: cannot alter Coordinator to Datanode +DROP NODE dummy_node; diff --git a/src/test/regress/parallel_schedule b/src/test/regress/parallel_schedule index dc642a3640..8f2216e887 100644 --- a/src/test/regress/parallel_schedule +++ b/src/test/regress/parallel_schedule @@ -105,3 +105,6 @@ test: stats #Postgres-XC additional tests, they can be run in parallel test: xc_groupby xc_distkey xc_having xc_temp xc_remote + +#Cluster setting related test is independant +test: xc_node diff --git a/src/test/regress/serial_schedule b/src/test/regress/serial_schedule index 77c3cfc1e5..9c60290239 100644 --- a/src/test/regress/serial_schedule +++ b/src/test/regress/serial_schedule @@ -134,3 +134,4 @@ test: xc_distkey test: xc_having test: xc_temp test: xc_remote +test: xc_node diff --git a/src/test/regress/sql/xc_node.sql b/src/test/regress/sql/xc_node.sql new file mode 100644 index 0000000000..c51a7e9753 --- /dev/null +++ b/src/test/regress/sql/xc_node.sql @@ -0,0 +1,38 @@ +-- +-- XC_NODE +-- + +-- Tests involving node DDLs related to Postgres-XC settings + +-- Default values +CREATE NODE dummy_node_coordinator WITH (TYPE = 'coordinator'); +CREATE NODE dummy_node_datanode WITH (TYPE = 'datanode'); +SELECT node_name, node_type, node_port, node_host FROM pgxc_node +WHERE node_name IN ('dummy_node_coordinator', 'dummy_node_datanode') +ORDER BY 1; +-- Some modifications +ALTER NODE dummy_node_coordinator WITH (PORT = 5466, HOST = 'target_host_1'); +ALTER NODE dummy_node_datanode WITH (PORT = 5689, HOST = 'target_host_2', PREFERRED); +SELECT node_name, node_type, node_port, node_host, nodeis_preferred FROM pgxc_node +WHERE node_name IN ('dummy_node_coordinator', 'dummy_node_datanode') +ORDER BY 1; +DROP NODE dummy_node_coordinator; +DROP NODE dummy_node_datanode; + +-- Check for error messages +CREATE NODE dummy_node WITH (TYPE = 'dummy'); -- fail +CREATE NODE dummy_node WITH (PORT = 6543, HOST = 'dummyhost'); -- type not specified +CREATE NODE dummy_node WITH (PORT = 99999, TYPE = 'datanode'); -- port value error +CREATE NODE dummy_node WITH (PORT = -1, TYPE = 'datanode'); -- port value error +CREATE NODE dummy_node WITH (TYPE = 'coordinator', PREFERRED = true); -- fail +ALTER NODE dummy_node WITH (PREFERRED = false); -- does not exist +DROP NODE dummy_node; -- does not exist +-- Additinal checks on type and properties +CREATE NODE dummy_node WITH (TYPE = 'datanode'); +ALTER NODE dummy_node WITH (TYPE = 'coordinator'); +DROP NODE dummy_node; +CREATE NODE dummy_node WITH (TYPE = 'coordinator'); +ALTER NODE dummy_node WITH (PREFERRED); +ALTER NODE dummy_node WITH (PRIMARY); +ALTER NODE dummy_node WITH (TYPE = 'datanode'); +DROP NODE dummy_node; |