citus/src/test/regress/sql/worker_merge_hash_files.sql

39 lines
1.5 KiB
SQL

--
-- WORKER_MERGE_HASH_FILES
--
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1140000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1140000;
\set JobId 201010
\set TaskId 101103
\set Task_Table_Name public.task_101103
\set Select_All 'SELECT *'
-- TaskId determines our dependency on hash partitioned files. We take these
-- files, and merge them in a task table. We also pass the column names and
-- column types that are used to create the task table.
SELECT worker_merge_files_into_table(:JobId, :TaskId,
ARRAY['orderkey', 'partkey', 'suppkey', 'linenumber', 'quantity', 'extendedprice',
'discount', 'tax', 'returnflag', 'linestatus', 'shipdate', 'commitdate',
'receiptdate', 'shipinstruct', 'shipmode', 'comment']::_text,
ARRAY['bigint', 'integer', 'integer', 'integer', 'decimal(15, 2)', 'decimal(15, 2)',
'decimal(15, 2)', 'decimal(15, 2)', 'char(1)', 'char(1)', 'date', 'date',
'date', 'char(25)', 'char(10)', 'varchar(44)']::_text);
-- We first count elements from the merged table and the original table we hash
-- partitioned. We then compute the difference of these two tables.
SELECT COUNT(*) FROM :Task_Table_Name;
SELECT COUNT(*) FROM lineitem;
SELECT COUNT(*) AS diff_lhs FROM ( :Select_All FROM :Task_Table_Name EXCEPT ALL
:Select_All FROM lineitem ) diff;
SELECT COUNT(*) AS diff_rhs FROM ( :Select_All FROM lineitem EXCEPT ALL
:Select_All FROM :Task_Table_Name ) diff;