mirror of https://github.com/citusdata/citus.git
Remove check-multi-fdw tests, nobody uses Citus with fdws
parent
2758af8f83
commit
640bb8863b
|
@ -18,5 +18,5 @@ install:
|
||||||
- install_uncrustify
|
- install_uncrustify
|
||||||
- install_pg
|
- install_pg
|
||||||
before_script: citus_indent --quiet --check
|
before_script: citus_indent --quiet --check
|
||||||
script: CFLAGS=-Werror pg_travis_multi_test check-multi check-worker check-multi-fdw
|
script: CFLAGS=-Werror pg_travis_multi_test check-multi check-worker
|
||||||
after_success: sync_to_enterprise
|
after_success: sync_to_enterprise
|
||||||
|
|
|
@ -37,7 +37,7 @@ output_files := $(patsubst $(citus_abs_srcdir)/output/%.source,expected/%.out, $
|
||||||
# intermediate, for muscle memory backward compatibility.
|
# intermediate, for muscle memory backward compatibility.
|
||||||
check: check-full
|
check: check-full
|
||||||
# check-full triggers all tests that ought to be run routinely
|
# check-full triggers all tests that ought to be run routinely
|
||||||
check-full: check-multi check-multi-task-tracker-extra check-multi-binary check-worker check-multi-fdw
|
check-full: check-multi check-multi-task-tracker-extra check-multi-binary check-worker
|
||||||
|
|
||||||
# using pg_regress_multi_check unnecessarily starts up multiple nodes, which isn't needed
|
# using pg_regress_multi_check unnecessarily starts up multiple nodes, which isn't needed
|
||||||
# for check-worker. But that's harmless besides a few cycles.
|
# for check-worker. But that's harmless besides a few cycles.
|
||||||
|
@ -49,10 +49,6 @@ check-multi: all tempinstall-main
|
||||||
$(pg_regress_multi_check) --load-extension=citus \
|
$(pg_regress_multi_check) --load-extension=citus \
|
||||||
-- $(MULTI_REGRESS_OPTS) --schedule=$(citus_abs_srcdir)/multi_schedule $(EXTRA_TESTS)
|
-- $(MULTI_REGRESS_OPTS) --schedule=$(citus_abs_srcdir)/multi_schedule $(EXTRA_TESTS)
|
||||||
|
|
||||||
check-multi-fdw: all tempinstall-main
|
|
||||||
$(pg_regress_multi_check) --load-extension=citus --load-extension=file_fdw -- \
|
|
||||||
$(MULTI_REGRESS_OPTS) --schedule=$(citus_abs_srcdir)/multi_fdw_schedule $(EXTRA_TESTS)
|
|
||||||
|
|
||||||
check-multi-hll: all tempinstall-main
|
check-multi-hll: all tempinstall-main
|
||||||
$(pg_regress_multi_check) --load-extension=citus --load-extension=hll -- \
|
$(pg_regress_multi_check) --load-extension=citus --load-extension=hll -- \
|
||||||
$(MULTI_REGRESS_OPTS) $(EXTRA_TESTS) multi_create_table multi_master_protocol multi_stage_data multi_agg_approximate_distinct
|
$(MULTI_REGRESS_OPTS) $(EXTRA_TESTS) multi_create_table multi_master_protocol multi_stage_data multi_agg_approximate_distinct
|
||||||
|
|
|
@ -5,8 +5,6 @@
|
||||||
/multi_append_table_to_shard.out
|
/multi_append_table_to_shard.out
|
||||||
/multi_copy.out
|
/multi_copy.out
|
||||||
/multi_create_schema.out
|
/multi_create_schema.out
|
||||||
/multi_fdw_large_shardid.out
|
|
||||||
/multi_fdw_stage_data.out
|
|
||||||
/multi_large_shardid.out
|
/multi_large_shardid.out
|
||||||
/multi_master_delete_protocol.out
|
/multi_master_delete_protocol.out
|
||||||
/multi_outer_join.out
|
/multi_outer_join.out
|
||||||
|
|
|
@ -1,105 +0,0 @@
|
||||||
--
|
|
||||||
-- MULTI_FDW_CREATE_TABLE
|
|
||||||
--
|
|
||||||
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 590000;
|
|
||||||
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 590000;
|
|
||||||
-- Create new table definitions for use in testing in distributed foreign data
|
|
||||||
-- wrapper functionality.
|
|
||||||
SELECT fdwname FROM pg_foreign_data_wrapper;
|
|
||||||
fdwname
|
|
||||||
----------
|
|
||||||
file_fdw
|
|
||||||
(1 row)
|
|
||||||
|
|
||||||
CREATE SERVER file_server FOREIGN DATA WRAPPER file_fdw;
|
|
||||||
CREATE FOREIGN TABLE lineitem (
|
|
||||||
l_orderkey bigint not null,
|
|
||||||
l_partkey integer not null,
|
|
||||||
l_suppkey integer not null,
|
|
||||||
l_linenumber integer not null,
|
|
||||||
l_quantity decimal(15, 2) not null,
|
|
||||||
l_extendedprice decimal(15, 2) not null,
|
|
||||||
l_discount decimal(15, 2) not null,
|
|
||||||
l_tax decimal(15, 2) not null,
|
|
||||||
l_returnflag char(1) not null,
|
|
||||||
l_linestatus char(1) not null,
|
|
||||||
l_shipdate date not null,
|
|
||||||
l_commitdate date not null,
|
|
||||||
l_receiptdate date not null,
|
|
||||||
l_shipinstruct char(25) not null,
|
|
||||||
l_shipmode char(10) not null,
|
|
||||||
l_comment varchar(44) not null)
|
|
||||||
SERVER file_server
|
|
||||||
OPTIONS (format 'text', filename '', delimiter '|', null '');
|
|
||||||
SELECT master_create_distributed_table('lineitem', 'l_orderkey', 'append');
|
|
||||||
master_create_distributed_table
|
|
||||||
---------------------------------
|
|
||||||
|
|
||||||
(1 row)
|
|
||||||
|
|
||||||
CREATE FOREIGN TABLE orders (
|
|
||||||
o_orderkey bigint not null,
|
|
||||||
o_custkey integer not null,
|
|
||||||
o_orderstatus char(1) not null,
|
|
||||||
o_totalprice decimal(15,2) not null,
|
|
||||||
o_orderdate date not null,
|
|
||||||
o_orderpriority char(15) not null,
|
|
||||||
o_clerk char(15) not null,
|
|
||||||
o_shippriority integer not null,
|
|
||||||
o_comment varchar(79) not null)
|
|
||||||
SERVER file_server
|
|
||||||
OPTIONS (format 'text', filename '', delimiter '|', null '');
|
|
||||||
SELECT master_create_distributed_table('orders', 'o_orderkey', 'append');
|
|
||||||
master_create_distributed_table
|
|
||||||
---------------------------------
|
|
||||||
|
|
||||||
(1 row)
|
|
||||||
|
|
||||||
CREATE FOREIGN TABLE customer (
|
|
||||||
c_custkey integer not null,
|
|
||||||
c_name varchar(25) not null,
|
|
||||||
c_address varchar(40) not null,
|
|
||||||
c_nationkey integer not null,
|
|
||||||
c_phone char(15) not null,
|
|
||||||
c_acctbal decimal(15,2) not null,
|
|
||||||
c_mktsegment char(10) not null,
|
|
||||||
c_comment varchar(117) not null)
|
|
||||||
SERVER file_server
|
|
||||||
OPTIONS (format 'text', filename '', delimiter '|', null '');
|
|
||||||
SELECT master_create_distributed_table('customer', 'c_custkey', 'append');
|
|
||||||
master_create_distributed_table
|
|
||||||
---------------------------------
|
|
||||||
|
|
||||||
(1 row)
|
|
||||||
|
|
||||||
CREATE FOREIGN TABLE nation (
|
|
||||||
n_nationkey integer not null,
|
|
||||||
n_name char(25) not null,
|
|
||||||
n_regionkey integer not null,
|
|
||||||
n_comment varchar(152))
|
|
||||||
SERVER file_server
|
|
||||||
OPTIONS (format 'text', filename '', delimiter '|', null '');
|
|
||||||
SELECT master_create_distributed_table('nation', 'n_nationkey', 'append');
|
|
||||||
master_create_distributed_table
|
|
||||||
---------------------------------
|
|
||||||
|
|
||||||
(1 row)
|
|
||||||
|
|
||||||
CREATE FOREIGN TABLE part (
|
|
||||||
p_partkey integer not null,
|
|
||||||
p_name varchar(55) not null,
|
|
||||||
p_mfgr char(25) not null,
|
|
||||||
p_brand char(10) not null,
|
|
||||||
p_type varchar(25) not null,
|
|
||||||
p_size integer not null,
|
|
||||||
p_container char(10) not null,
|
|
||||||
p_retailprice decimal(15,2) not null,
|
|
||||||
p_comment varchar(23) not null)
|
|
||||||
SERVER file_server
|
|
||||||
OPTIONS (format 'text', filename '', delimiter '|', null '');
|
|
||||||
SELECT master_create_distributed_table('part', 'p_partkey', 'append');
|
|
||||||
master_create_distributed_table
|
|
||||||
---------------------------------
|
|
||||||
|
|
||||||
(1 row)
|
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
--
|
|
||||||
-- MULTI_FDW_MASTER_PROTOCOL
|
|
||||||
--
|
|
||||||
-- Tests that check the metadata returned by the master node.
|
|
||||||
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 600000;
|
|
||||||
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 600000;
|
|
||||||
SELECT part_storage_type, part_key, part_replica_count, part_max_size,
|
|
||||||
part_placement_policy FROM master_get_table_metadata('lineitem');
|
|
||||||
part_storage_type | part_key | part_replica_count | part_max_size | part_placement_policy
|
|
||||||
-------------------+------------+--------------------+---------------+-----------------------
|
|
||||||
f | l_orderkey | 2 | 307200 | 2
|
|
||||||
(1 row)
|
|
||||||
|
|
||||||
SELECT * FROM master_get_table_ddl_events('lineitem');
|
|
||||||
master_get_table_ddl_events
|
|
||||||
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
||||||
CREATE EXTENSION IF NOT EXISTS file_fdw WITH SCHEMA public
|
|
||||||
CREATE SERVER file_server FOREIGN DATA WRAPPER file_fdw
|
|
||||||
CREATE FOREIGN TABLE public.lineitem (l_orderkey bigint NOT NULL, l_partkey integer NOT NULL, l_suppkey integer NOT NULL, l_linenumber integer NOT NULL, l_quantity numeric(15,2) NOT NULL, l_extendedprice numeric(15,2) NOT NULL, l_discount numeric(15,2) NOT NULL, l_tax numeric(15,2) NOT NULL, l_returnflag character(1) NOT NULL, l_linestatus character(1) NOT NULL, l_shipdate date NOT NULL, l_commitdate date NOT NULL, l_receiptdate date NOT NULL, l_shipinstruct character(25) NOT NULL, l_shipmode character(10) NOT NULL, l_comment character varying(44) NOT NULL) SERVER file_server OPTIONS (format 'text', filename '', delimiter '|', "null" '')
|
|
||||||
(3 rows)
|
|
||||||
|
|
||||||
SELECT * FROM master_get_new_shardid();
|
|
||||||
master_get_new_shardid
|
|
||||||
------------------------
|
|
||||||
600000
|
|
||||||
(1 row)
|
|
||||||
|
|
|
@ -1,63 +0,0 @@
|
||||||
--
|
|
||||||
-- MULTI_FDW_STORAGE_TYPE
|
|
||||||
--
|
|
||||||
-- Create two tables one regular and one foreign, then check whether
|
|
||||||
-- shardstorage is correct
|
|
||||||
-- explicitly set shard id
|
|
||||||
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 400000;
|
|
||||||
-- create regular table
|
|
||||||
CREATE TABLE people (
|
|
||||||
id bigint not null,
|
|
||||||
firstname char(10) not null,
|
|
||||||
lastname char(10) not null,
|
|
||||||
age integer not null);
|
|
||||||
-- create distributed table
|
|
||||||
SELECT master_create_distributed_table('people', 'id', 'append');
|
|
||||||
master_create_distributed_table
|
|
||||||
---------------------------------
|
|
||||||
|
|
||||||
(1 row)
|
|
||||||
|
|
||||||
-- create worker shards
|
|
||||||
SELECT master_create_empty_shard('people');
|
|
||||||
master_create_empty_shard
|
|
||||||
---------------------------
|
|
||||||
400000
|
|
||||||
(1 row)
|
|
||||||
|
|
||||||
-- check shardstorage
|
|
||||||
SELECT shardstorage FROM pg_dist_shard WHERE shardid = 400000;
|
|
||||||
shardstorage
|
|
||||||
--------------
|
|
||||||
t
|
|
||||||
(1 row)
|
|
||||||
|
|
||||||
-- create foreign table
|
|
||||||
CREATE FOREIGN TABLE people_foreign (
|
|
||||||
id bigint not null,
|
|
||||||
firstname char(10) not null,
|
|
||||||
lastname char(10) not null,
|
|
||||||
age integer not null)
|
|
||||||
SERVER file_server
|
|
||||||
OPTIONS (format 'text', filename '', delimiter '|', null '');
|
|
||||||
-- create distributed table
|
|
||||||
SELECT master_create_distributed_table('people_foreign', 'id', 'append');
|
|
||||||
master_create_distributed_table
|
|
||||||
---------------------------------
|
|
||||||
|
|
||||||
(1 row)
|
|
||||||
|
|
||||||
-- create worker shards
|
|
||||||
SELECT master_create_empty_shard('people_foreign');
|
|
||||||
master_create_empty_shard
|
|
||||||
---------------------------
|
|
||||||
400001
|
|
||||||
(1 row)
|
|
||||||
|
|
||||||
-- check shardstorage
|
|
||||||
SELECT shardstorage FROM pg_dist_shard WHERE shardid = 400001;
|
|
||||||
shardstorage
|
|
||||||
--------------
|
|
||||||
f
|
|
||||||
(1 row)
|
|
||||||
|
|
|
@ -1,53 +0,0 @@
|
||||||
--
|
|
||||||
-- MULTI_FDW_LARGE_SHARDID
|
|
||||||
--
|
|
||||||
|
|
||||||
-- Stage data to distributed tables, and run TPC-H query #1 and #6. This test
|
|
||||||
-- differs from previous tests in that it modifies the *internal* shardId
|
|
||||||
-- generator, forcing the distributed database to use 64-bit shard identifiers.
|
|
||||||
|
|
||||||
|
|
||||||
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 100200300400500;
|
|
||||||
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 9000000;
|
|
||||||
|
|
||||||
|
|
||||||
-- Stage additional data to start using large shard identifiers.
|
|
||||||
|
|
||||||
\STAGE lineitem FROM '@abs_srcdir@/data/lineitem.1.data'
|
|
||||||
\STAGE lineitem FROM '@abs_srcdir@/data/lineitem.2.data'
|
|
||||||
|
|
||||||
-- Query #1 from the TPC-H decision support benchmark.
|
|
||||||
|
|
||||||
SELECT
|
|
||||||
l_returnflag,
|
|
||||||
l_linestatus,
|
|
||||||
sum(l_quantity) as sum_qty,
|
|
||||||
sum(l_extendedprice) as sum_base_price,
|
|
||||||
sum(l_extendedprice * (1 - l_discount)) as sum_disc_price,
|
|
||||||
sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)) as sum_charge,
|
|
||||||
avg(l_quantity) as avg_qty,
|
|
||||||
avg(l_extendedprice) as avg_price,
|
|
||||||
avg(l_discount) as avg_disc,
|
|
||||||
count(*) as count_order
|
|
||||||
FROM
|
|
||||||
lineitem
|
|
||||||
WHERE
|
|
||||||
l_shipdate <= date '1998-12-01' - interval '90 days'
|
|
||||||
GROUP BY
|
|
||||||
l_returnflag,
|
|
||||||
l_linestatus
|
|
||||||
ORDER BY
|
|
||||||
l_returnflag,
|
|
||||||
l_linestatus;
|
|
||||||
|
|
||||||
-- Query #6 from the TPC-H decision support benchmark.
|
|
||||||
|
|
||||||
SELECT
|
|
||||||
sum(l_extendedprice * l_discount) as revenue
|
|
||||||
FROM
|
|
||||||
lineitem
|
|
||||||
WHERE
|
|
||||||
l_shipdate >= date '1994-01-01'
|
|
||||||
and l_shipdate < date '1994-01-01' + interval '1 year'
|
|
||||||
and l_discount between 0.06 - 0.01 and 0.06 + 0.01
|
|
||||||
and l_quantity < 24;
|
|
|
@ -1,22 +0,0 @@
|
||||||
--
|
|
||||||
-- MULTI_FDW_STAGE_DATA
|
|
||||||
--
|
|
||||||
|
|
||||||
|
|
||||||
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 330000;
|
|
||||||
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 330000;
|
|
||||||
|
|
||||||
|
|
||||||
-- Tests for staging foreign data in a distributed cluster.
|
|
||||||
|
|
||||||
\STAGE lineitem FROM '@abs_srcdir@/data/lineitem.1.data'
|
|
||||||
\STAGE lineitem FROM '@abs_srcdir@/data/lineitem.2.data'
|
|
||||||
|
|
||||||
\STAGE orders FROM '@abs_srcdir@/data/orders.1.data'
|
|
||||||
\STAGE orders FROM '@abs_srcdir@/data/orders.2.data'
|
|
||||||
|
|
||||||
SELECT set_config('citus.shard_replication_factor', '1', false);
|
|
||||||
|
|
||||||
\STAGE customer FROM '@abs_srcdir@/data/customer.1.data'
|
|
||||||
\STAGE nation FROM '@abs_srcdir@/data/nation.data'
|
|
||||||
\STAGE part FROM '@abs_srcdir@/data/part.data'
|
|
|
@ -1,26 +0,0 @@
|
||||||
# ----------
|
|
||||||
# $Id$
|
|
||||||
#
|
|
||||||
# Regression tests that exercise distributed foreign data wrappers functionality.
|
|
||||||
# ----------
|
|
||||||
|
|
||||||
# ----------
|
|
||||||
# All distributed tests depend on creating a distributed foreign table and uploading
|
|
||||||
# data to it.
|
|
||||||
# ----------
|
|
||||||
test: multi_fdw_create_table
|
|
||||||
test: multi_fdw_master_protocol
|
|
||||||
test: multi_fdw_stage_data
|
|
||||||
test: multi_fdw_storage_type
|
|
||||||
|
|
||||||
# ----------
|
|
||||||
# Parallel TPC-H tests to check our distributed execution behavior
|
|
||||||
# ----------
|
|
||||||
test: multi_tpch_query1 multi_tpch_query3 multi_tpch_query6 multi_tpch_query10
|
|
||||||
test: multi_tpch_query12 multi_tpch_query14 multi_tpch_query19
|
|
||||||
|
|
||||||
# ----------
|
|
||||||
# multi_fdw_large_shardid loads more lineitem data using high shard identifiers, and must
|
|
||||||
# come last
|
|
||||||
# ----------
|
|
||||||
test: multi_fdw_large_shardid
|
|
|
@ -1,60 +0,0 @@
|
||||||
--
|
|
||||||
-- MULTI_FDW_LARGE_SHARDID
|
|
||||||
--
|
|
||||||
-- Stage data to distributed tables, and run TPC-H query #1 and #6. This test
|
|
||||||
-- differs from previous tests in that it modifies the *internal* shardId
|
|
||||||
-- generator, forcing the distributed database to use 64-bit shard identifiers.
|
|
||||||
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 100200300400500;
|
|
||||||
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 9000000;
|
|
||||||
-- Stage additional data to start using large shard identifiers.
|
|
||||||
\STAGE lineitem FROM '@abs_srcdir@/data/lineitem.1.data'
|
|
||||||
NOTICE: extension "file_fdw" already exists, skipping
|
|
||||||
NOTICE: extension "file_fdw" already exists, skipping
|
|
||||||
\STAGE lineitem FROM '@abs_srcdir@/data/lineitem.2.data'
|
|
||||||
NOTICE: extension "file_fdw" already exists, skipping
|
|
||||||
NOTICE: extension "file_fdw" already exists, skipping
|
|
||||||
-- Query #1 from the TPC-H decision support benchmark.
|
|
||||||
SELECT
|
|
||||||
l_returnflag,
|
|
||||||
l_linestatus,
|
|
||||||
sum(l_quantity) as sum_qty,
|
|
||||||
sum(l_extendedprice) as sum_base_price,
|
|
||||||
sum(l_extendedprice * (1 - l_discount)) as sum_disc_price,
|
|
||||||
sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)) as sum_charge,
|
|
||||||
avg(l_quantity) as avg_qty,
|
|
||||||
avg(l_extendedprice) as avg_price,
|
|
||||||
avg(l_discount) as avg_disc,
|
|
||||||
count(*) as count_order
|
|
||||||
FROM
|
|
||||||
lineitem
|
|
||||||
WHERE
|
|
||||||
l_shipdate <= date '1998-12-01' - interval '90 days'
|
|
||||||
GROUP BY
|
|
||||||
l_returnflag,
|
|
||||||
l_linestatus
|
|
||||||
ORDER BY
|
|
||||||
l_returnflag,
|
|
||||||
l_linestatus;
|
|
||||||
l_returnflag | l_linestatus | sum_qty | sum_base_price | sum_disc_price | sum_charge | avg_qty | avg_price | avg_disc | count_order
|
|
||||||
--------------+--------------+-----------+----------------+----------------+------------------+---------------------+--------------------+------------------------+-------------
|
|
||||||
A | F | 150930.00 | 227239747.26 | 215682574.1456 | 224342306.491846 | 25.6334918478260870 | 38593.707075407609 | 0.05055027173913043478 | 5888
|
|
||||||
N | F | 4044.00 | 6205102.90 | 5905081.4236 | 6145285.541304 | 26.6052631578947368 | 40823.045394736842 | 0.05263157894736842105 | 152
|
|
||||||
N | O | 299556.00 | 449413896.32 | 427269715.3708 | 444268143.859602 | 25.4594594594594595 | 38195.979629440762 | 0.04939486656467788543 | 11766
|
|
||||||
R | F | 146312.00 | 217875959.46 | 207033247.3396 | 215487067.568656 | 25.2175112030334367 | 37551.871675284385 | 0.04983798690106859704 | 5802
|
|
||||||
(4 rows)
|
|
||||||
|
|
||||||
-- Query #6 from the TPC-H decision support benchmark.
|
|
||||||
SELECT
|
|
||||||
sum(l_extendedprice * l_discount) as revenue
|
|
||||||
FROM
|
|
||||||
lineitem
|
|
||||||
WHERE
|
|
||||||
l_shipdate >= date '1994-01-01'
|
|
||||||
and l_shipdate < date '1994-01-01' + interval '1 year'
|
|
||||||
and l_discount between 0.06 - 0.01 and 0.06 + 0.01
|
|
||||||
and l_quantity < 24;
|
|
||||||
revenue
|
|
||||||
-------------
|
|
||||||
486555.5716
|
|
||||||
(1 row)
|
|
||||||
|
|
|
@ -1,30 +0,0 @@
|
||||||
--
|
|
||||||
-- MULTI_FDW_STAGE_DATA
|
|
||||||
--
|
|
||||||
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 330000;
|
|
||||||
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 330000;
|
|
||||||
-- Tests for staging foreign data in a distributed cluster.
|
|
||||||
\STAGE lineitem FROM '@abs_srcdir@/data/lineitem.1.data'
|
|
||||||
NOTICE: extension "file_fdw" already exists, skipping
|
|
||||||
NOTICE: extension "file_fdw" already exists, skipping
|
|
||||||
\STAGE lineitem FROM '@abs_srcdir@/data/lineitem.2.data'
|
|
||||||
NOTICE: extension "file_fdw" already exists, skipping
|
|
||||||
NOTICE: extension "file_fdw" already exists, skipping
|
|
||||||
\STAGE orders FROM '@abs_srcdir@/data/orders.1.data'
|
|
||||||
NOTICE: extension "file_fdw" already exists, skipping
|
|
||||||
NOTICE: extension "file_fdw" already exists, skipping
|
|
||||||
\STAGE orders FROM '@abs_srcdir@/data/orders.2.data'
|
|
||||||
NOTICE: extension "file_fdw" already exists, skipping
|
|
||||||
NOTICE: extension "file_fdw" already exists, skipping
|
|
||||||
SELECT set_config('citus.shard_replication_factor', '1', false);
|
|
||||||
set_config
|
|
||||||
------------
|
|
||||||
1
|
|
||||||
(1 row)
|
|
||||||
|
|
||||||
\STAGE customer FROM '@abs_srcdir@/data/customer.1.data'
|
|
||||||
NOTICE: extension "file_fdw" already exists, skipping
|
|
||||||
\STAGE nation FROM '@abs_srcdir@/data/nation.data'
|
|
||||||
NOTICE: extension "file_fdw" already exists, skipping
|
|
||||||
\STAGE part FROM '@abs_srcdir@/data/part.data'
|
|
||||||
NOTICE: extension "file_fdw" already exists, skipping
|
|
|
@ -135,14 +135,13 @@ for my $port (@workerPorts)
|
||||||
system("rm", ('-rf', "tmp_check/worker.$port")) == 0 or die "Could not remove worker directory";
|
system("rm", ('-rf', "tmp_check/worker.$port")) == 0 or die "Could not remove worker directory";
|
||||||
}
|
}
|
||||||
|
|
||||||
# Prepare directory in which 'psql' is a wrapper around 'csql', which
|
# Prepare directory in which 'psql' has some helpful variables for locating the workers
|
||||||
# also adds some variables to csql.
|
|
||||||
system("mkdir", ('-p', "tmp_check/tmp-bin")) == 0
|
system("mkdir", ('-p', "tmp_check/tmp-bin")) == 0
|
||||||
or die "Could not create tmp-bin directory";
|
or die "Could not create tmp-bin directory";
|
||||||
sysopen my $fh, "tmp_check/tmp-bin/psql", O_CREAT|O_TRUNC|O_RDWR, 0700
|
sysopen my $fh, "tmp_check/tmp-bin/psql", O_CREAT|O_TRUNC|O_RDWR, 0700
|
||||||
or die "Could not create psql wrapper";
|
or die "Could not create psql wrapper";
|
||||||
print $fh "#!/bin/bash\n";
|
print $fh "#!/bin/bash\n";
|
||||||
print $fh "exec $bindir/csql ";
|
print $fh "exec $bindir/psql ";
|
||||||
print $fh "--variable=master_port=$masterPort ";
|
print $fh "--variable=master_port=$masterPort ";
|
||||||
for my $workeroff (0 .. $#workerPorts)
|
for my $workeroff (0 .. $#workerPorts)
|
||||||
{
|
{
|
||||||
|
|
|
@ -4,8 +4,6 @@
|
||||||
/multi_append_table_to_shard.sql
|
/multi_append_table_to_shard.sql
|
||||||
/multi_copy.sql
|
/multi_copy.sql
|
||||||
/multi_create_schema.sql
|
/multi_create_schema.sql
|
||||||
/multi_fdw_large_shardid.sql
|
|
||||||
/multi_fdw_stage_data.sql
|
|
||||||
/multi_large_shardid.sql
|
/multi_large_shardid.sql
|
||||||
/multi_master_delete_protocol.sql
|
/multi_master_delete_protocol.sql
|
||||||
/multi_outer_join.sql
|
/multi_outer_join.sql
|
||||||
|
|
|
@ -1,86 +0,0 @@
|
||||||
--
|
|
||||||
-- MULTI_FDW_CREATE_TABLE
|
|
||||||
--
|
|
||||||
|
|
||||||
|
|
||||||
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 590000;
|
|
||||||
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 590000;
|
|
||||||
|
|
||||||
|
|
||||||
-- Create new table definitions for use in testing in distributed foreign data
|
|
||||||
-- wrapper functionality.
|
|
||||||
|
|
||||||
SELECT fdwname FROM pg_foreign_data_wrapper;
|
|
||||||
|
|
||||||
CREATE SERVER file_server FOREIGN DATA WRAPPER file_fdw;
|
|
||||||
|
|
||||||
CREATE FOREIGN TABLE lineitem (
|
|
||||||
l_orderkey bigint not null,
|
|
||||||
l_partkey integer not null,
|
|
||||||
l_suppkey integer not null,
|
|
||||||
l_linenumber integer not null,
|
|
||||||
l_quantity decimal(15, 2) not null,
|
|
||||||
l_extendedprice decimal(15, 2) not null,
|
|
||||||
l_discount decimal(15, 2) not null,
|
|
||||||
l_tax decimal(15, 2) not null,
|
|
||||||
l_returnflag char(1) not null,
|
|
||||||
l_linestatus char(1) not null,
|
|
||||||
l_shipdate date not null,
|
|
||||||
l_commitdate date not null,
|
|
||||||
l_receiptdate date not null,
|
|
||||||
l_shipinstruct char(25) not null,
|
|
||||||
l_shipmode char(10) not null,
|
|
||||||
l_comment varchar(44) not null)
|
|
||||||
SERVER file_server
|
|
||||||
OPTIONS (format 'text', filename '', delimiter '|', null '');
|
|
||||||
SELECT master_create_distributed_table('lineitem', 'l_orderkey', 'append');
|
|
||||||
|
|
||||||
CREATE FOREIGN TABLE orders (
|
|
||||||
o_orderkey bigint not null,
|
|
||||||
o_custkey integer not null,
|
|
||||||
o_orderstatus char(1) not null,
|
|
||||||
o_totalprice decimal(15,2) not null,
|
|
||||||
o_orderdate date not null,
|
|
||||||
o_orderpriority char(15) not null,
|
|
||||||
o_clerk char(15) not null,
|
|
||||||
o_shippriority integer not null,
|
|
||||||
o_comment varchar(79) not null)
|
|
||||||
SERVER file_server
|
|
||||||
OPTIONS (format 'text', filename '', delimiter '|', null '');
|
|
||||||
SELECT master_create_distributed_table('orders', 'o_orderkey', 'append');
|
|
||||||
|
|
||||||
CREATE FOREIGN TABLE customer (
|
|
||||||
c_custkey integer not null,
|
|
||||||
c_name varchar(25) not null,
|
|
||||||
c_address varchar(40) not null,
|
|
||||||
c_nationkey integer not null,
|
|
||||||
c_phone char(15) not null,
|
|
||||||
c_acctbal decimal(15,2) not null,
|
|
||||||
c_mktsegment char(10) not null,
|
|
||||||
c_comment varchar(117) not null)
|
|
||||||
SERVER file_server
|
|
||||||
OPTIONS (format 'text', filename '', delimiter '|', null '');
|
|
||||||
SELECT master_create_distributed_table('customer', 'c_custkey', 'append');
|
|
||||||
|
|
||||||
CREATE FOREIGN TABLE nation (
|
|
||||||
n_nationkey integer not null,
|
|
||||||
n_name char(25) not null,
|
|
||||||
n_regionkey integer not null,
|
|
||||||
n_comment varchar(152))
|
|
||||||
SERVER file_server
|
|
||||||
OPTIONS (format 'text', filename '', delimiter '|', null '');
|
|
||||||
SELECT master_create_distributed_table('nation', 'n_nationkey', 'append');
|
|
||||||
|
|
||||||
CREATE FOREIGN TABLE part (
|
|
||||||
p_partkey integer not null,
|
|
||||||
p_name varchar(55) not null,
|
|
||||||
p_mfgr char(25) not null,
|
|
||||||
p_brand char(10) not null,
|
|
||||||
p_type varchar(25) not null,
|
|
||||||
p_size integer not null,
|
|
||||||
p_container char(10) not null,
|
|
||||||
p_retailprice decimal(15,2) not null,
|
|
||||||
p_comment varchar(23) not null)
|
|
||||||
SERVER file_server
|
|
||||||
OPTIONS (format 'text', filename '', delimiter '|', null '');
|
|
||||||
SELECT master_create_distributed_table('part', 'p_partkey', 'append');
|
|
|
@ -1,17 +0,0 @@
|
||||||
--
|
|
||||||
-- MULTI_FDW_MASTER_PROTOCOL
|
|
||||||
--
|
|
||||||
|
|
||||||
-- Tests that check the metadata returned by the master node.
|
|
||||||
|
|
||||||
|
|
||||||
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 600000;
|
|
||||||
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 600000;
|
|
||||||
|
|
||||||
|
|
||||||
SELECT part_storage_type, part_key, part_replica_count, part_max_size,
|
|
||||||
part_placement_policy FROM master_get_table_metadata('lineitem');
|
|
||||||
|
|
||||||
SELECT * FROM master_get_table_ddl_events('lineitem');
|
|
||||||
|
|
||||||
SELECT * FROM master_get_new_shardid();
|
|
|
@ -1,43 +0,0 @@
|
||||||
--
|
|
||||||
-- MULTI_FDW_STORAGE_TYPE
|
|
||||||
--
|
|
||||||
|
|
||||||
-- Create two tables one regular and one foreign, then check whether
|
|
||||||
-- shardstorage is correct
|
|
||||||
|
|
||||||
-- explicitly set shard id
|
|
||||||
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 400000;
|
|
||||||
|
|
||||||
-- create regular table
|
|
||||||
CREATE TABLE people (
|
|
||||||
id bigint not null,
|
|
||||||
firstname char(10) not null,
|
|
||||||
lastname char(10) not null,
|
|
||||||
age integer not null);
|
|
||||||
|
|
||||||
-- create distributed table
|
|
||||||
SELECT master_create_distributed_table('people', 'id', 'append');
|
|
||||||
|
|
||||||
-- create worker shards
|
|
||||||
SELECT master_create_empty_shard('people');
|
|
||||||
|
|
||||||
-- check shardstorage
|
|
||||||
SELECT shardstorage FROM pg_dist_shard WHERE shardid = 400000;
|
|
||||||
|
|
||||||
-- create foreign table
|
|
||||||
CREATE FOREIGN TABLE people_foreign (
|
|
||||||
id bigint not null,
|
|
||||||
firstname char(10) not null,
|
|
||||||
lastname char(10) not null,
|
|
||||||
age integer not null)
|
|
||||||
SERVER file_server
|
|
||||||
OPTIONS (format 'text', filename '', delimiter '|', null '');
|
|
||||||
|
|
||||||
-- create distributed table
|
|
||||||
SELECT master_create_distributed_table('people_foreign', 'id', 'append');
|
|
||||||
|
|
||||||
-- create worker shards
|
|
||||||
SELECT master_create_empty_shard('people_foreign');
|
|
||||||
|
|
||||||
-- check shardstorage
|
|
||||||
SELECT shardstorage FROM pg_dist_shard WHERE shardid = 400001;
|
|
Loading…
Reference in New Issue