Set Explicit ShardId/JobId In Regression Tests

Fixes #271

This change sets ShardIds and JobIds for each test case. Before this change,
when a new test that somehow increments Job or Shard IDs is added, then
the tests after the new test should be updated.

ShardID and JobID sequences are set at the beginning of each file with the
following commands:

```
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 290000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 290000;
```

ShardIds and JobIds are multiples of 10000. Exceptions are:
- multi_large_shardid: shardid and jobid sequences are set to much larger values
- multi_fdw_large_shardid: same as above
- multi_join_pruning: Causes a race condition with multi_hash_pruning since
they are run in parallel.
pull/575/head
Eren 2016-06-02 12:07:59 +03:00
parent 46fcbd1ff9
commit 5512bb359a
190 changed files with 1221 additions and 595 deletions

View File

@ -1,6 +1,8 @@
-- --
-- MULTI_ARRAY_AGG -- MULTI_ARRAY_AGG
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 520000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 520000;
-- Check multi_cat_agg() aggregate which is used to implement array_agg() -- Check multi_cat_agg() aggregate which is used to implement array_agg()
SELECT array_cat_agg(i) FROM (VALUES (ARRAY[1,2]), (NULL), (ARRAY[3,4])) AS t(i); SELECT array_cat_agg(i) FROM (VALUES (ARRAY[1,2]), (NULL), (ARRAY[3,4])) AS t(i);
array_cat_agg array_cat_agg
@ -96,10 +98,10 @@ SELECT l_quantity, count(*), avg(l_extendedprice), array_agg(l_orderkey) FROM li
GROUP BY l_quantity ORDER BY l_quantity; GROUP BY l_quantity ORDER BY l_quantity;
l_quantity | count | avg | array_agg l_quantity | count | avg | array_agg
------------+-------+-----------------------+-------------------------------------------------------------------------------------------------- ------------+-------+-----------------------+--------------------------------------------------------------------------------------------------
1.00 | 17 | 1477.1258823529411765 | {8997,9026,9158,9184,9220,9222,9348,9383,9476,5543,5633,5634,5698,5766,5856,5857,5986} 1.00 | 17 | 1477.1258823529411765 | {5543,5633,5634,5698,5766,5856,5857,5986,8997,9026,9158,9184,9220,9222,9348,9383,9476}
2.00 | 19 | 3078.4242105263157895 | {9030,9058,9123,9124,9188,9344,9441,9476,5506,5540,5573,5669,5703,5730,5798,5831,5893,5920,5923} 2.00 | 19 | 3078.4242105263157895 | {5506,5540,5573,5669,5703,5730,5798,5831,5893,5920,5923,9030,9058,9123,9124,9188,9344,9441,9476}
3.00 | 14 | 4714.0392857142857143 | {9124,9157,9184,9223,9254,9349,9414,9475,9477,5509,5543,5605,5606,5827} 3.00 | 14 | 4714.0392857142857143 | {5509,5543,5605,5606,5827,9124,9157,9184,9223,9254,9349,9414,9475,9477}
4.00 | 19 | 5929.7136842105263158 | {9091,9120,9281,9347,9382,9440,9473,5504,5507,5508,5511,5538,5764,5766,5826,5829,5862,5959,5985} 4.00 | 19 | 5929.7136842105263158 | {5504,5507,5508,5511,5538,5764,5766,5826,5829,5862,5959,5985,9091,9120,9281,9347,9382,9440,9473}
(4 rows) (4 rows)
SELECT l_quantity, array_agg(extract (month FROM o_orderdate)) AS my_month SELECT l_quantity, array_agg(extract (month FROM o_orderdate)) AS my_month
@ -107,10 +109,10 @@ SELECT l_quantity, array_agg(extract (month FROM o_orderdate)) AS my_month
AND l_orderkey > 5500 AND l_orderkey < 9500 GROUP BY l_quantity ORDER BY l_quantity; AND l_orderkey > 5500 AND l_orderkey < 9500 GROUP BY l_quantity ORDER BY l_quantity;
l_quantity | my_month l_quantity | my_month
------------+------------------------------------------------ ------------+------------------------------------------------
1.00 | {7,7,4,7,4,2,6,3,5,9,5,7,5,9,11,11,4} 1.00 | {9,5,7,5,9,11,11,4,7,7,4,7,4,2,6,3,5}
2.00 | {7,6,6,10,1,12,6,5,11,10,8,5,5,12,3,11,7,11,5} 2.00 | {11,10,8,5,5,12,3,11,7,11,5,7,6,6,10,1,12,6,5}
3.00 | {10,6,7,8,5,8,9,11,3,4,9,8,11,7} 3.00 | {4,9,8,11,7,10,6,7,8,5,8,9,11,3}
4.00 | {11,6,2,8,2,6,10,1,5,6,11,12,10,9,6,1,2,5,1} 4.00 | {1,5,6,11,12,10,9,6,1,2,5,1,11,6,2,8,2,6,10}
(4 rows) (4 rows)
SELECT l_quantity, array_agg(l_orderkey * 2 + 1) FROM lineitem WHERE l_quantity < 5 SELECT l_quantity, array_agg(l_orderkey * 2 + 1) FROM lineitem WHERE l_quantity < 5
@ -118,10 +120,10 @@ SELECT l_quantity, array_agg(l_orderkey * 2 + 1) FROM lineitem WHERE l_quantity
AND l_orderkey > 5500 AND l_orderkey < 9500 GROUP BY l_quantity ORDER BY l_quantity; AND l_orderkey > 5500 AND l_orderkey < 9500 GROUP BY l_quantity ORDER BY l_quantity;
l_quantity | array_agg l_quantity | array_agg
------------+--------------------------------------------- ------------+---------------------------------------------
1.00 | {18317,18445,11269,11397,11713,11715,11973} 1.00 | {11269,11397,11713,11715,11973,18317,18445}
2.00 | {18061,18247,18953,11847} 2.00 | {11847,18061,18247,18953}
3.00 | {18249,18315,18699,18951,18955} 3.00 | {18249,18315,18699,18951,18955}
4.00 | {18241,18765,11653,11659} 4.00 | {11653,11659,18241,18765}
(4 rows) (4 rows)
-- Check that we can execute array_agg() with an expression containing NULL values -- Check that we can execute array_agg() with an expression containing NULL values

View File

@ -4,6 +4,8 @@
-- This test checks that the group-by columns don't need to be above an average -- This test checks that the group-by columns don't need to be above an average
-- expression, and can be anywhere in the projection order. This is in response -- expression, and can be anywhere in the projection order. This is in response
-- to a bug we had due to the average expression introducing new columns. -- to a bug we had due to the average expression introducing new columns.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 450000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 450000;
SELECT SELECT
sum(l_quantity) as sum_qty, sum(l_quantity) as sum_qty,
sum(l_extendedprice) as sum_base_price, sum(l_extendedprice) as sum_base_price,

View File

@ -1,6 +1,8 @@
-- --
-- MULTI_BASIC_QUERIES -- MULTI_BASIC_QUERIES
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 440000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 440000;
-- Execute simple sum, average, and count queries on data recently uploaded to -- Execute simple sum, average, and count queries on data recently uploaded to
-- our partitioned table. -- our partitioned table.
SELECT count(*) FROM lineitem; SELECT count(*) FROM lineitem;

View File

@ -1,6 +1,8 @@
-- --
-- MULTI_BINARY_MASTER_COPY -- MULTI_BINARY_MASTER_COPY
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 430000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 430000;
-- Try binary master copy for different executors -- Try binary master copy for different executors
SET citus.binary_master_copy_format TO 'on'; SET citus.binary_master_copy_format TO 'on';
SET citus.task_executor_type TO 'task-tracker'; SET citus.task_executor_type TO 'task-tracker';

View File

@ -1,6 +1,8 @@
-- --
-- MULTI_COMPLEX_EXPRESSIONS -- MULTI_COMPLEX_EXPRESSIONS
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 420000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 420000;
-- Check that we can correctly handle complex expressions and aggregates. -- Check that we can correctly handle complex expressions and aggregates.
SELECT sum(l_quantity) / avg(l_quantity) FROM lineitem; SELECT sum(l_quantity) / avg(l_quantity) FROM lineitem;
?column? ?column?

View File

@ -1,3 +1,5 @@
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 410000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 410000;
-- =================================================================== -- ===================================================================
-- create test functions -- create test functions
-- =================================================================== -- ===================================================================

View File

@ -1,6 +1,8 @@
-- --
-- MULTI_COUNT_TYPE_CONVERSION -- MULTI_COUNT_TYPE_CONVERSION
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 400000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 400000;
-- Verify that we can sort count(*) results correctly. We perform this check as -- Verify that we can sort count(*) results correctly. We perform this check as
-- our count() operations execute in two steps: worker nodes report their -- our count() operations execute in two steps: worker nodes report their
-- count() results, and the master node sums these counts up. During this sum(), -- count() results, and the master node sums these counts up. During this sum(),

View File

@ -1,3 +1,5 @@
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 390000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 390000;
-- =================================================================== -- ===================================================================
-- get ready for the foreign data wrapper tests -- get ready for the foreign data wrapper tests
-- =================================================================== -- ===================================================================

View File

@ -1,3 +1,5 @@
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 380000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 380000;
-- =================================================================== -- ===================================================================
-- test INSERT proxy creation functionality -- test INSERT proxy creation functionality
-- =================================================================== -- ===================================================================

View File

@ -1,3 +1,5 @@
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 370000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 370000;
-- =================================================================== -- ===================================================================
-- create test functions and types needed for tests -- create test functions and types needed for tests
-- =================================================================== -- ===================================================================

View File

@ -1,6 +1,8 @@
-- --
-- MULTI_CREATE_TABLE -- MULTI_CREATE_TABLE
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 360000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 360000;
-- Create new table definitions for use in testing in distributed planning and -- Create new table definitions for use in testing in distributed planning and
-- execution functionality. Also create indexes to boost performance. -- execution functionality. Also create indexes to boost performance.
CREATE TABLE lineitem ( CREATE TABLE lineitem (

View File

@ -2,6 +2,8 @@
-- test composite type, varchar and enum types -- test composite type, varchar and enum types
-- create, distribute, INSERT, SELECT and UPDATE -- create, distribute, INSERT, SELECT and UPDATE
-- =================================================================== -- ===================================================================
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 530000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 530000;
-- create a custom type... -- create a custom type...
CREATE TYPE test_composite_type AS ( CREATE TYPE test_composite_type AS (
i integer, i integer,

View File

@ -1,6 +1,8 @@
-- =================================================================== -- ===================================================================
-- create test functions -- create test functions
-- =================================================================== -- ===================================================================
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 540000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 540000;
CREATE FUNCTION load_shard_id_array(regclass) CREATE FUNCTION load_shard_id_array(regclass)
RETURNS bigint[] RETURNS bigint[]
AS 'citus' AS 'citus'
@ -75,16 +77,16 @@ SELECT master_create_worker_shards('events_hash', 4, 2);
(1 row) (1 row)
-- set shardstate of one replication from each shard to 0 (invalid value) -- set shardstate of one replication from each shard to 0 (invalid value)
UPDATE pg_dist_shard_placement SET shardstate = 0 WHERE nodeport = 57638 AND shardid BETWEEN 103025 AND 103028; UPDATE pg_dist_shard_placement SET shardstate = 0 WHERE nodeport = 57638 AND shardid BETWEEN 540000 AND 540003;
-- should see above shard identifiers -- should see above shard identifiers
SELECT load_shard_id_array('events_hash'); SELECT load_shard_id_array('events_hash');
load_shard_id_array load_shard_id_array
------------------------------- -------------------------------
{103025,103026,103027,103028} {540000,540001,540002,540003}
(1 row) (1 row)
-- should see array with first shard range -- should see array with first shard range
SELECT load_shard_interval_array(103025, 0); SELECT load_shard_interval_array(540000, 0);
load_shard_interval_array load_shard_interval_array
--------------------------- ---------------------------
{-2147483648,-1073741825} {-2147483648,-1073741825}
@ -106,42 +108,41 @@ SELECT master_create_distributed_table('events_range', 'name', 'range');
SELECT master_create_empty_shard('events_range'); SELECT master_create_empty_shard('events_range');
master_create_empty_shard master_create_empty_shard
--------------------------- ---------------------------
103029 540004
(1 row) (1 row)
UPDATE pg_dist_shard SET UPDATE pg_dist_shard SET
shardminvalue = 'Aardvark', shardminvalue = 'Aardvark',
shardmaxvalue = 'Zebra' shardmaxvalue = 'Zebra'
WHERE shardid = 103029; WHERE shardid = 540004;
SELECT load_shard_interval_array(103029, ''::text); SELECT load_shard_interval_array(540004, ''::text);
load_shard_interval_array load_shard_interval_array
--------------------------- ---------------------------
{Aardvark,Zebra} {Aardvark,Zebra}
(1 row) (1 row)
-- should see error for non-existent shard -- should see error for non-existent shard
SELECT load_shard_interval_array(103030, 0); SELECT load_shard_interval_array(540005, 0);
ERROR: could not find valid entry for shard 103030 ERROR: could not find valid entry for shard 540005
-- should see two placements -- should see two placements
SELECT load_shard_placement_array(103026, false); SELECT load_shard_placement_array(540001, false);
load_shard_placement_array load_shard_placement_array
----------------------------------- -----------------------------------
{localhost:57637,localhost:57638} {localhost:57637,localhost:57638}
(1 row) (1 row)
-- only one of which is finalized -- only one of which is finalized
SELECT load_shard_placement_array(103026, true); SELECT load_shard_placement_array(540001, true);
load_shard_placement_array load_shard_placement_array
---------------------------- ----------------------------
{localhost:57637} {localhost:57637}
(1 row) (1 row)
-- should see error for non-existent shard -- should see error for non-existent shard
SELECT load_shard_placement_array(103031, false); SELECT load_shard_placement_array(540001, false);
WARNING: could not find any shard placements for shardId 103031 load_shard_placement_array
load_shard_placement_array -----------------------------------
---------------------------- {localhost:57637,localhost:57638}
{}
(1 row) (1 row)
-- should see column id of 'name' -- should see column id of 'name'
@ -192,7 +193,7 @@ SELECT column_name_to_column_id('events_hash', 'non_existent');
ERROR: column "non_existent" of relation "events_hash" does not exist ERROR: column "non_existent" of relation "events_hash" does not exist
-- drop shard rows (must drop placements first) -- drop shard rows (must drop placements first)
DELETE FROM pg_dist_shard_placement DELETE FROM pg_dist_shard_placement
WHERE shardid BETWEEN 103025 AND 103029; WHERE shardid BETWEEN 540000 AND 540004;
DELETE FROM pg_dist_shard DELETE FROM pg_dist_shard
WHERE logicalrelid = 'events_hash'::regclass; WHERE logicalrelid = 'events_hash'::regclass;
DELETE FROM pg_dist_shard DELETE FROM pg_dist_shard
@ -275,9 +276,9 @@ WHERE shardid = :new_shard_id AND nodename = 'localhost' and nodeport = 5432;
-- deleting or updating a non-existent row should fail -- deleting or updating a non-existent row should fail
SELECT delete_shard_placement_row(:new_shard_id, 'wrong_localhost', 5432); SELECT delete_shard_placement_row(:new_shard_id, 'wrong_localhost', 5432);
ERROR: could not find valid entry for shard placement 103030 on node "wrong_localhost:5432" ERROR: could not find valid entry for shard placement 540005 on node "wrong_localhost:5432"
SELECT update_shard_placement_row_state(:new_shard_id, 'localhost', 5432, 3); SELECT update_shard_placement_row_state(:new_shard_id, 'localhost', 5432, 3);
ERROR: could not find valid entry for shard placement 103030 on node "localhost:5432" ERROR: could not find valid entry for shard placement 540005 on node "localhost:5432"
-- now we'll even test our lock methods... -- now we'll even test our lock methods...
-- use transaction to bound how long we hold the lock -- use transaction to bound how long we hold the lock
BEGIN; BEGIN;

View File

@ -2,6 +2,8 @@
-- MULTI_DROP_EXTENSION -- MULTI_DROP_EXTENSION
-- --
-- Tests around dropping and recreating the extension -- Tests around dropping and recreating the extension
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 550000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 550000;
CREATE TABLE testtableddl(somecol int, distributecol text NOT NULL); CREATE TABLE testtableddl(somecol int, distributecol text NOT NULL);
SELECT master_create_distributed_table('testtableddl', 'distributecol', 'append'); SELECT master_create_distributed_table('testtableddl', 'distributecol', 'append');
master_create_distributed_table master_create_distributed_table

View File

@ -1,5 +1,7 @@
-- Tests that check that our query functionality behaves as expected when the -- Tests that check that our query functionality behaves as expected when the
-- table schema is modified via ALTER statements. -- table schema is modified via ALTER statements.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 620000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 620000;
SELECT count(*) FROM customer; SELECT count(*) FROM customer;
count count
------- -------

View File

@ -1,6 +1,8 @@
-- --
-- MULTI_EXPLAIN -- MULTI_EXPLAIN
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 570000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 570000;
\a\t \a\t
SET citus.task_executor_type TO 'real-time'; SET citus.task_executor_type TO 'real-time';
SET citus.explain_distributed_queries TO on; SET citus.explain_distributed_queries TO on;
@ -30,7 +32,7 @@ $BODY$ LANGUAGE plpgsql;
EXPLAIN (COSTS FALSE, FORMAT TEXT) EXPLAIN (COSTS FALSE, FORMAT TEXT)
SELECT l_quantity, count(*) count_quantity FROM lineitem SELECT l_quantity, count(*) count_quantity FROM lineitem
GROUP BY l_quantity ORDER BY count_quantity, l_quantity; GROUP BY l_quantity ORDER BY count_quantity, l_quantity;
Distributed Query into pg_merge_job_0040 Distributed Query into pg_merge_job_570000
Executor: Real-Time Executor: Real-Time
Task Count: 6 Task Count: 6
Tasks Shown: One of 6 Tasks Shown: One of 6
@ -38,13 +40,13 @@ Distributed Query into pg_merge_job_0040
Node: host=localhost port=57637 dbname=regression Node: host=localhost port=57637 dbname=regression
-> HashAggregate -> HashAggregate
Group Key: l_quantity Group Key: l_quantity
-> Seq Scan on lineitem_102010 lineitem -> Seq Scan on lineitem_290000 lineitem
Master Query Master Query
-> Sort -> Sort
Sort Key: (sum(((sum(intermediate_column_40_1))::bigint)))::bigint, intermediate_column_40_0 Sort Key: (sum(((sum(intermediate_column_570000_1))::bigint)))::bigint, intermediate_column_570000_0
-> HashAggregate -> HashAggregate
Group Key: intermediate_column_40_0 Group Key: intermediate_column_570000_0
-> Seq Scan on pg_merge_job_0040 -> Seq Scan on pg_merge_job_570000
-- Test JSON format -- Test JSON format
EXPLAIN (COSTS FALSE, FORMAT JSON) EXPLAIN (COSTS FALSE, FORMAT JSON)
SELECT l_quantity, count(*) count_quantity FROM lineitem SELECT l_quantity, count(*) count_quantity FROM lineitem
@ -69,7 +71,7 @@ EXPLAIN (COSTS FALSE, FORMAT JSON)
{ {
"Node Type": "Seq Scan", "Node Type": "Seq Scan",
"Parent Relationship": "Outer", "Parent Relationship": "Outer",
"Relation Name": "lineitem_102010", "Relation Name": "lineitem_290000",
"Alias": "lineitem" "Alias": "lineitem"
} }
] ]
@ -85,19 +87,19 @@ EXPLAIN (COSTS FALSE, FORMAT JSON)
{ {
"Plan": { "Plan": {
"Node Type": "Sort", "Node Type": "Sort",
"Sort Key": ["(sum(((sum(intermediate_column_41_1))::bigint)))::bigint", "intermediate_column_41_0"], "Sort Key": ["(sum(((sum(intermediate_column_570001_1))::bigint)))::bigint", "intermediate_column_570001_0"],
"Plans": [ "Plans": [
{ {
"Node Type": "Aggregate", "Node Type": "Aggregate",
"Strategy": "Hashed", "Strategy": "Hashed",
"Parent Relationship": "Outer", "Parent Relationship": "Outer",
"Group Key": ["intermediate_column_41_0"], "Group Key": ["intermediate_column_570001_0"],
"Plans": [ "Plans": [
{ {
"Node Type": "Seq Scan", "Node Type": "Seq Scan",
"Parent Relationship": "Outer", "Parent Relationship": "Outer",
"Relation Name": "pg_merge_job_0041", "Relation Name": "pg_merge_job_570001",
"Alias": "pg_merge_job_0041" "Alias": "pg_merge_job_570001"
} }
] ]
} }
@ -138,7 +140,7 @@ EXPLAIN (COSTS FALSE, FORMAT XML)
<Plan> <Plan>
<Node-Type>Seq Scan</Node-Type> <Node-Type>Seq Scan</Node-Type>
<Parent-Relationship>Outer</Parent-Relationship> <Parent-Relationship>Outer</Parent-Relationship>
<Relation-Name>lineitem_102010</Relation-Name> <Relation-Name>lineitem_290000</Relation-Name>
<Alias>lineitem</Alias> <Alias>lineitem</Alias>
</Plan> </Plan>
</Plans> </Plans>
@ -154,8 +156,8 @@ EXPLAIN (COSTS FALSE, FORMAT XML)
<Plan> <Plan>
<Node-Type>Sort</Node-Type> <Node-Type>Sort</Node-Type>
<Sort-Key> <Sort-Key>
<Item>(sum(((sum(intermediate_column_43_1))::bigint)))::bigint</Item> <Item>(sum(((sum(intermediate_column_570003_1))::bigint)))::bigint</Item>
<Item>intermediate_column_43_0</Item> <Item>intermediate_column_570003_0</Item>
</Sort-Key> </Sort-Key>
<Plans> <Plans>
<Plan> <Plan>
@ -163,14 +165,14 @@ EXPLAIN (COSTS FALSE, FORMAT XML)
<Strategy>Hashed</Strategy> <Strategy>Hashed</Strategy>
<Parent-Relationship>Outer</Parent-Relationship> <Parent-Relationship>Outer</Parent-Relationship>
<Group-Key> <Group-Key>
<Item>intermediate_column_43_0</Item> <Item>intermediate_column_570003_0</Item>
</Group-Key> </Group-Key>
<Plans> <Plans>
<Plan> <Plan>
<Node-Type>Seq Scan</Node-Type> <Node-Type>Seq Scan</Node-Type>
<Parent-Relationship>Outer</Parent-Relationship> <Parent-Relationship>Outer</Parent-Relationship>
<Relation-Name>pg_merge_job_0043</Relation-Name> <Relation-Name>pg_merge_job_570003</Relation-Name>
<Alias>pg_merge_job_0043</Alias> <Alias>pg_merge_job_570003</Alias>
</Plan> </Plan>
</Plans> </Plans>
</Plan> </Plan>
@ -204,31 +206,31 @@ EXPLAIN (COSTS FALSE, FORMAT YAML)
Plans: Plans:
- Node Type: "Seq Scan" - Node Type: "Seq Scan"
Parent Relationship: "Outer" Parent Relationship: "Outer"
Relation Name: "lineitem_102010" Relation Name: "lineitem_290000"
Alias: "lineitem" Alias: "lineitem"
Master Query: Master Query:
- Plan: - Plan:
Node Type: "Sort" Node Type: "Sort"
Sort Key: Sort Key:
- "(sum(((sum(intermediate_column_45_1))::bigint)))::bigint" - "(sum(((sum(intermediate_column_570005_1))::bigint)))::bigint"
- "intermediate_column_45_0" - "intermediate_column_570005_0"
Plans: Plans:
- Node Type: "Aggregate" - Node Type: "Aggregate"
Strategy: "Hashed" Strategy: "Hashed"
Parent Relationship: "Outer" Parent Relationship: "Outer"
Group Key: Group Key:
- "intermediate_column_45_0" - "intermediate_column_570005_0"
Plans: Plans:
- Node Type: "Seq Scan" - Node Type: "Seq Scan"
Parent Relationship: "Outer" Parent Relationship: "Outer"
Relation Name: "pg_merge_job_0045" Relation Name: "pg_merge_job_570005"
Alias: "pg_merge_job_0045" Alias: "pg_merge_job_570005"
-- Test Text format -- Test Text format
EXPLAIN (COSTS FALSE, FORMAT TEXT) EXPLAIN (COSTS FALSE, FORMAT TEXT)
SELECT l_quantity, count(*) count_quantity FROM lineitem SELECT l_quantity, count(*) count_quantity FROM lineitem
GROUP BY l_quantity ORDER BY count_quantity, l_quantity; GROUP BY l_quantity ORDER BY count_quantity, l_quantity;
Distributed Query into pg_merge_job_0046 Distributed Query into pg_merge_job_570006
Executor: Real-Time Executor: Real-Time
Task Count: 6 Task Count: 6
Tasks Shown: One of 6 Tasks Shown: One of 6
@ -236,17 +238,17 @@ Distributed Query into pg_merge_job_0046
Node: host=localhost port=57637 dbname=regression Node: host=localhost port=57637 dbname=regression
-> HashAggregate -> HashAggregate
Group Key: l_quantity Group Key: l_quantity
-> Seq Scan on lineitem_102010 lineitem -> Seq Scan on lineitem_290000 lineitem
Master Query Master Query
-> Sort -> Sort
Sort Key: (sum(((sum(intermediate_column_46_1))::bigint)))::bigint, intermediate_column_46_0 Sort Key: (sum(((sum(intermediate_column_570006_1))::bigint)))::bigint, intermediate_column_570006_0
-> HashAggregate -> HashAggregate
Group Key: intermediate_column_46_0 Group Key: intermediate_column_570006_0
-> Seq Scan on pg_merge_job_0046 -> Seq Scan on pg_merge_job_570006
-- Test verbose -- Test verbose
EXPLAIN (COSTS FALSE, VERBOSE TRUE) EXPLAIN (COSTS FALSE, VERBOSE TRUE)
SELECT sum(l_quantity) / avg(l_quantity) FROM lineitem; SELECT sum(l_quantity) / avg(l_quantity) FROM lineitem;
Distributed Query into pg_merge_job_0047 Distributed Query into pg_merge_job_570007
Executor: Real-Time Executor: Real-Time
Task Count: 6 Task Count: 6
Tasks Shown: One of 6 Tasks Shown: One of 6
@ -254,19 +256,19 @@ Distributed Query into pg_merge_job_0047
Node: host=localhost port=57637 dbname=regression Node: host=localhost port=57637 dbname=regression
-> Aggregate -> Aggregate
Output: sum(l_quantity), sum(l_quantity), count(l_quantity) Output: sum(l_quantity), sum(l_quantity), count(l_quantity)
-> Seq Scan on public.lineitem_102010 lineitem -> Seq Scan on public.lineitem_290000 lineitem
Output: l_orderkey, l_partkey, l_suppkey, l_linenumber, l_quantity, l_extendedprice, l_discount, l_tax, l_returnflag, l_linestatus, l_shipdate, l_commitdate, l_receiptdate, l_shipinstruct, l_shipmode, l_comment Output: l_orderkey, l_partkey, l_suppkey, l_linenumber, l_quantity, l_extendedprice, l_discount, l_tax, l_returnflag, l_linestatus, l_shipdate, l_commitdate, l_receiptdate, l_shipinstruct, l_shipmode, l_comment
Master Query Master Query
-> Aggregate -> Aggregate
Output: (sum(intermediate_column_47_0) / (sum(intermediate_column_47_1) / sum(intermediate_column_47_2))) Output: (sum(intermediate_column_570007_0) / (sum(intermediate_column_570007_1) / sum(intermediate_column_570007_2)))
-> Seq Scan on pg_temp_2.pg_merge_job_0047 -> Seq Scan on pg_temp_2.pg_merge_job_570007
Output: intermediate_column_47_0, intermediate_column_47_1, intermediate_column_47_2 Output: intermediate_column_570007_0, intermediate_column_570007_1, intermediate_column_570007_2
-- Test join -- Test join
EXPLAIN (COSTS FALSE) EXPLAIN (COSTS FALSE)
SELECT * FROM lineitem SELECT * FROM lineitem
JOIN orders ON l_orderkey = o_orderkey AND l_quantity < 5 JOIN orders ON l_orderkey = o_orderkey AND l_quantity < 5
ORDER BY l_quantity DESC LIMIT 10; ORDER BY l_quantity DESC LIMIT 10;
Distributed Query into pg_merge_job_0048 Distributed Query into pg_merge_job_570008
Executor: Real-Time Executor: Real-Time
Task Count: 6 Task Count: 6
Tasks Shown: One of 6 Tasks Shown: One of 6
@ -277,15 +279,15 @@ Distributed Query into pg_merge_job_0048
Sort Key: lineitem.l_quantity DESC Sort Key: lineitem.l_quantity DESC
-> Hash Join -> Hash Join
Hash Cond: (lineitem.l_orderkey = orders.o_orderkey) Hash Cond: (lineitem.l_orderkey = orders.o_orderkey)
-> Seq Scan on lineitem_102010 lineitem -> Seq Scan on lineitem_290000 lineitem
Filter: (l_quantity < '5'::numeric) Filter: (l_quantity < '5'::numeric)
-> Hash -> Hash
-> Seq Scan on orders_102015 orders -> Seq Scan on orders_290006 orders
Master Query Master Query
-> Limit -> Limit
-> Sort -> Sort
Sort Key: intermediate_column_48_4 DESC Sort Key: intermediate_column_570008_4 DESC
-> Seq Scan on pg_merge_job_0048 -> Seq Scan on pg_merge_job_570008
-- Test insert -- Test insert
EXPLAIN (COSTS FALSE) EXPLAIN (COSTS FALSE)
INSERT INTO lineitem VALUES(1,0); INSERT INTO lineitem VALUES(1,0);
@ -294,8 +296,8 @@ Distributed Query
Task Count: 1 Task Count: 1
Tasks Shown: All Tasks Shown: All
-> Task -> Task
Node: host=localhost port=57638 dbname=regression Node: host=localhost port=57637 dbname=regression
-> Insert on lineitem_102009 -> Insert on lineitem_290000
-> Result -> Result
-- Test update -- Test update
EXPLAIN (COSTS FALSE) EXPLAIN (COSTS FALSE)
@ -307,12 +309,12 @@ Distributed Query
Task Count: 1 Task Count: 1
Tasks Shown: All Tasks Shown: All
-> Task -> Task
Node: host=localhost port=57638 dbname=regression Node: host=localhost port=57637 dbname=regression
-> Update on lineitem_102009 -> Update on lineitem_290000
-> Bitmap Heap Scan on lineitem_102009 -> Bitmap Heap Scan on lineitem_290000
Recheck Cond: (l_orderkey = 1) Recheck Cond: (l_orderkey = 1)
Filter: (l_partkey = 0) Filter: (l_partkey = 0)
-> Bitmap Index Scan on lineitem_pkey_102009 -> Bitmap Index Scan on lineitem_pkey_290000
Index Cond: (l_orderkey = 1) Index Cond: (l_orderkey = 1)
-- Test delete -- Test delete
EXPLAIN (COSTS FALSE) EXPLAIN (COSTS FALSE)
@ -323,25 +325,25 @@ Distributed Query
Task Count: 1 Task Count: 1
Tasks Shown: All Tasks Shown: All
-> Task -> Task
Node: host=localhost port=57638 dbname=regression Node: host=localhost port=57637 dbname=regression
-> Delete on lineitem_102009 -> Delete on lineitem_290000
-> Bitmap Heap Scan on lineitem_102009 -> Bitmap Heap Scan on lineitem_290000
Recheck Cond: (l_orderkey = 1) Recheck Cond: (l_orderkey = 1)
Filter: (l_partkey = 0) Filter: (l_partkey = 0)
-> Bitmap Index Scan on lineitem_pkey_102009 -> Bitmap Index Scan on lineitem_pkey_290000
Index Cond: (l_orderkey = 1) Index Cond: (l_orderkey = 1)
-- Test single-shard SELECT -- Test single-shard SELECT
EXPLAIN (COSTS FALSE) EXPLAIN (COSTS FALSE)
SELECT l_quantity FROM lineitem WHERE l_orderkey = 5; SELECT l_quantity FROM lineitem WHERE l_orderkey = 5;
Distributed Query into pg_merge_job_0049 Distributed Query into pg_merge_job_570009
Executor: Router Executor: Router
Task Count: 1 Task Count: 1
Tasks Shown: All Tasks Shown: All
-> Task -> Task
Node: host=localhost port=57637 dbname=regression Node: host=localhost port=57637 dbname=regression
-> Bitmap Heap Scan on lineitem_102009 lineitem -> Bitmap Heap Scan on lineitem_290000 lineitem
Recheck Cond: (l_orderkey = 5) Recheck Cond: (l_orderkey = 5)
-> Bitmap Index Scan on lineitem_pkey_102009 -> Bitmap Index Scan on lineitem_pkey_290000
Index Cond: (l_orderkey = 5) Index Cond: (l_orderkey = 5)
SELECT true AS valid FROM explain_xml($$ SELECT true AS valid FROM explain_xml($$
SELECT l_quantity FROM lineitem WHERE l_orderkey = 5$$); SELECT l_quantity FROM lineitem WHERE l_orderkey = 5$$);
@ -353,41 +355,41 @@ t
EXPLAIN (COSTS FALSE) EXPLAIN (COSTS FALSE)
CREATE TABLE explain_result AS CREATE TABLE explain_result AS
SELECT * FROM lineitem; SELECT * FROM lineitem;
Distributed Query into pg_merge_job_0052 Distributed Query into pg_merge_job_570012
Executor: Real-Time Executor: Real-Time
Task Count: 6 Task Count: 6
Tasks Shown: One of 6 Tasks Shown: One of 6
-> Task -> Task
Node: host=localhost port=57637 dbname=regression Node: host=localhost port=57637 dbname=regression
-> Seq Scan on lineitem_102010 lineitem -> Seq Scan on lineitem_290000 lineitem
Master Query Master Query
-> Seq Scan on pg_merge_job_0052 -> Seq Scan on pg_merge_job_570012
-- Test all tasks output -- Test all tasks output
SET citus.explain_all_tasks TO on; SET citus.explain_all_tasks TO on;
EXPLAIN (COSTS FALSE) EXPLAIN (COSTS FALSE)
SELECT avg(l_linenumber) FROM lineitem WHERE l_orderkey > 9030; SELECT avg(l_linenumber) FROM lineitem WHERE l_orderkey > 9030;
Distributed Query into pg_merge_job_0053 Distributed Query into pg_merge_job_570013
Executor: Real-Time Executor: Real-Time
Task Count: 3 Task Count: 3
Tasks Shown: All Tasks Shown: All
-> Task -> Task
Node: host=localhost port=57637 dbname=regression Node: host=localhost port=57637 dbname=regression
-> Aggregate -> Aggregate
-> Seq Scan on lineitem_102012 lineitem -> Seq Scan on lineitem_290004 lineitem
Filter: (l_orderkey > 9030) Filter: (l_orderkey > 9030)
-> Task -> Task
Node: host=localhost port=57638 dbname=regression Node: host=localhost port=57638 dbname=regression
-> Aggregate -> Aggregate
-> Seq Scan on lineitem_102013 lineitem -> Seq Scan on lineitem_290003 lineitem
Filter: (l_orderkey > 9030) Filter: (l_orderkey > 9030)
-> Task -> Task
Node: host=localhost port=57637 dbname=regression Node: host=localhost port=57637 dbname=regression
-> Aggregate -> Aggregate
-> Seq Scan on lineitem_102014 lineitem -> Seq Scan on lineitem_290005 lineitem
Filter: (l_orderkey > 9030) Filter: (l_orderkey > 9030)
Master Query Master Query
-> Aggregate -> Aggregate
-> Seq Scan on pg_merge_job_0053 -> Seq Scan on pg_merge_job_570013
SELECT true AS valid FROM explain_xml($$ SELECT true AS valid FROM explain_xml($$
SELECT avg(l_linenumber) FROM lineitem WHERE l_orderkey > 9030$$); SELECT avg(l_linenumber) FROM lineitem WHERE l_orderkey > 9030$$);
t t
@ -399,18 +401,18 @@ SET citus.task_executor_type TO 'task-tracker';
SET citus.explain_all_tasks TO off; SET citus.explain_all_tasks TO off;
EXPLAIN (COSTS FALSE) EXPLAIN (COSTS FALSE)
SELECT avg(l_linenumber) FROM lineitem WHERE l_orderkey > 9030; SELECT avg(l_linenumber) FROM lineitem WHERE l_orderkey > 9030;
Distributed Query into pg_merge_job_0056 Distributed Query into pg_merge_job_570016
Executor: Task-Tracker Executor: Task-Tracker
Task Count: 3 Task Count: 3
Tasks Shown: One of 3 Tasks Shown: One of 3
-> Task -> Task
Node: host=localhost port=57637 dbname=regression Node: host=localhost port=57637 dbname=regression
-> Aggregate -> Aggregate
-> Seq Scan on lineitem_102012 lineitem -> Seq Scan on lineitem_290004 lineitem
Filter: (l_orderkey > 9030) Filter: (l_orderkey > 9030)
Master Query Master Query
-> Aggregate -> Aggregate
-> Seq Scan on pg_merge_job_0056 -> Seq Scan on pg_merge_job_570016
-- Test re-partition join -- Test re-partition join
SET citus.large_table_shard_count TO 1; SET citus.large_table_shard_count TO 1;
EXPLAIN (COSTS FALSE) EXPLAIN (COSTS FALSE)
@ -419,7 +421,7 @@ EXPLAIN (COSTS FALSE)
WHERE l_orderkey = o_orderkey WHERE l_orderkey = o_orderkey
AND o_custkey = c_custkey AND o_custkey = c_custkey
AND l_suppkey = s_suppkey; AND l_suppkey = s_suppkey;
Distributed Query into pg_merge_job_0059 Distributed Query into pg_merge_job_570019
Executor: Task-Tracker Executor: Task-Tracker
Task Count: 1 Task Count: 1
Tasks Shown: None, not supported for re-partition queries Tasks Shown: None, not supported for re-partition queries
@ -431,7 +433,7 @@ Distributed Query into pg_merge_job_0059
Merge Task Count: 1 Merge Task Count: 1
Master Query Master Query
-> Aggregate -> Aggregate
-> Seq Scan on pg_merge_job_0059 -> Seq Scan on pg_merge_job_570019
EXPLAIN (COSTS FALSE, FORMAT JSON) EXPLAIN (COSTS FALSE, FORMAT JSON)
SELECT count(*) SELECT count(*)
FROM lineitem, orders, customer, supplier FROM lineitem, orders, customer, supplier
@ -466,8 +468,8 @@ EXPLAIN (COSTS FALSE, FORMAT JSON)
{ {
"Node Type": "Seq Scan", "Node Type": "Seq Scan",
"Parent Relationship": "Outer", "Parent Relationship": "Outer",
"Relation Name": "pg_merge_job_0062", "Relation Name": "pg_merge_job_570022",
"Alias": "pg_merge_job_0062" "Alias": "pg_merge_job_570022"
} }
] ]
} }
@ -516,8 +518,8 @@ EXPLAIN (COSTS FALSE, FORMAT XML)
<Plan> <Plan>
<Node-Type>Seq Scan</Node-Type> <Node-Type>Seq Scan</Node-Type>
<Parent-Relationship>Outer</Parent-Relationship> <Parent-Relationship>Outer</Parent-Relationship>
<Relation-Name>pg_merge_job_0068</Relation-Name> <Relation-Name>pg_merge_job_570028</Relation-Name>
<Alias>pg_merge_job_0068</Alias> <Alias>pg_merge_job_570028</Alias>
</Plan> </Plan>
</Plans> </Plans>
</Plan> </Plan>
@ -555,5 +557,5 @@ EXPLAIN (COSTS FALSE, FORMAT YAML)
Plans: Plans:
- Node Type: "Seq Scan" - Node Type: "Seq Scan"
Parent Relationship: "Outer" Parent Relationship: "Outer"
Relation Name: "pg_merge_job_0074" Relation Name: "pg_merge_job_570034"
Alias: "pg_merge_job_0074" Alias: "pg_merge_job_570034"

View File

@ -1,6 +1,8 @@
-- --
-- MULTI_EXPLAIN -- MULTI_EXPLAIN
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 570000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 570000;
\a\t \a\t
SET citus.task_executor_type TO 'real-time'; SET citus.task_executor_type TO 'real-time';
SET citus.explain_distributed_queries TO on; SET citus.explain_distributed_queries TO on;
@ -30,7 +32,7 @@ $BODY$ LANGUAGE plpgsql;
EXPLAIN (COSTS FALSE, FORMAT TEXT) EXPLAIN (COSTS FALSE, FORMAT TEXT)
SELECT l_quantity, count(*) count_quantity FROM lineitem SELECT l_quantity, count(*) count_quantity FROM lineitem
GROUP BY l_quantity ORDER BY count_quantity, l_quantity; GROUP BY l_quantity ORDER BY count_quantity, l_quantity;
Distributed Query into pg_merge_job_0040 Distributed Query into pg_merge_job_570000
Executor: Real-Time Executor: Real-Time
Task Count: 6 Task Count: 6
Tasks Shown: One of 6 Tasks Shown: One of 6
@ -38,13 +40,13 @@ Distributed Query into pg_merge_job_0040
Node: host=localhost port=57637 dbname=regression Node: host=localhost port=57637 dbname=regression
-> HashAggregate -> HashAggregate
Group Key: l_quantity Group Key: l_quantity
-> Seq Scan on lineitem_102010 lineitem -> Seq Scan on lineitem_290000 lineitem
Master Query Master Query
-> Sort -> Sort
Sort Key: (sum(((sum(intermediate_column_40_1))::bigint)))::bigint, intermediate_column_40_0 Sort Key: (sum(((sum(intermediate_column_570000_1))::bigint)))::bigint, intermediate_column_570000_0
-> HashAggregate -> HashAggregate
Group Key: intermediate_column_40_0 Group Key: intermediate_column_570000_0
-> Seq Scan on pg_merge_job_0040 -> Seq Scan on pg_merge_job_570000
-- Test JSON format -- Test JSON format
EXPLAIN (COSTS FALSE, FORMAT JSON) EXPLAIN (COSTS FALSE, FORMAT JSON)
SELECT l_quantity, count(*) count_quantity FROM lineitem SELECT l_quantity, count(*) count_quantity FROM lineitem
@ -69,7 +71,7 @@ EXPLAIN (COSTS FALSE, FORMAT JSON)
{ {
"Node Type": "Seq Scan", "Node Type": "Seq Scan",
"Parent Relationship": "Outer", "Parent Relationship": "Outer",
"Relation Name": "lineitem_102010", "Relation Name": "lineitem_290000",
"Alias": "lineitem" "Alias": "lineitem"
} }
] ]
@ -85,19 +87,19 @@ EXPLAIN (COSTS FALSE, FORMAT JSON)
{ {
"Plan": { "Plan": {
"Node Type": "Sort", "Node Type": "Sort",
"Sort Key": ["(sum(((sum(intermediate_column_41_1))::bigint)))::bigint", "intermediate_column_41_0"], "Sort Key": ["(sum(((sum(intermediate_column_570001_1))::bigint)))::bigint", "intermediate_column_570001_0"],
"Plans": [ "Plans": [
{ {
"Node Type": "Aggregate", "Node Type": "Aggregate",
"Strategy": "Hashed", "Strategy": "Hashed",
"Parent Relationship": "Outer", "Parent Relationship": "Outer",
"Group Key": ["intermediate_column_41_0"], "Group Key": ["intermediate_column_570001_0"],
"Plans": [ "Plans": [
{ {
"Node Type": "Seq Scan", "Node Type": "Seq Scan",
"Parent Relationship": "Outer", "Parent Relationship": "Outer",
"Relation Name": "pg_merge_job_0041", "Relation Name": "pg_merge_job_570001",
"Alias": "pg_merge_job_0041" "Alias": "pg_merge_job_570001"
} }
] ]
} }
@ -138,7 +140,7 @@ EXPLAIN (COSTS FALSE, FORMAT XML)
<Plan> <Plan>
<Node-Type>Seq Scan</Node-Type> <Node-Type>Seq Scan</Node-Type>
<Parent-Relationship>Outer</Parent-Relationship> <Parent-Relationship>Outer</Parent-Relationship>
<Relation-Name>lineitem_102010</Relation-Name> <Relation-Name>lineitem_290000</Relation-Name>
<Alias>lineitem</Alias> <Alias>lineitem</Alias>
</Plan> </Plan>
</Plans> </Plans>
@ -154,8 +156,8 @@ EXPLAIN (COSTS FALSE, FORMAT XML)
<Plan> <Plan>
<Node-Type>Sort</Node-Type> <Node-Type>Sort</Node-Type>
<Sort-Key> <Sort-Key>
<Item>(sum(((sum(intermediate_column_43_1))::bigint)))::bigint</Item> <Item>(sum(((sum(intermediate_column_570003_1))::bigint)))::bigint</Item>
<Item>intermediate_column_43_0</Item> <Item>intermediate_column_570003_0</Item>
</Sort-Key> </Sort-Key>
<Plans> <Plans>
<Plan> <Plan>
@ -163,14 +165,14 @@ EXPLAIN (COSTS FALSE, FORMAT XML)
<Strategy>Hashed</Strategy> <Strategy>Hashed</Strategy>
<Parent-Relationship>Outer</Parent-Relationship> <Parent-Relationship>Outer</Parent-Relationship>
<Group-Key> <Group-Key>
<Item>intermediate_column_43_0</Item> <Item>intermediate_column_570003_0</Item>
</Group-Key> </Group-Key>
<Plans> <Plans>
<Plan> <Plan>
<Node-Type>Seq Scan</Node-Type> <Node-Type>Seq Scan</Node-Type>
<Parent-Relationship>Outer</Parent-Relationship> <Parent-Relationship>Outer</Parent-Relationship>
<Relation-Name>pg_merge_job_0043</Relation-Name> <Relation-Name>pg_merge_job_570003</Relation-Name>
<Alias>pg_merge_job_0043</Alias> <Alias>pg_merge_job_570003</Alias>
</Plan> </Plan>
</Plans> </Plans>
</Plan> </Plan>
@ -204,31 +206,31 @@ EXPLAIN (COSTS FALSE, FORMAT YAML)
Plans: Plans:
- Node Type: "Seq Scan" - Node Type: "Seq Scan"
Parent Relationship: "Outer" Parent Relationship: "Outer"
Relation Name: "lineitem_102010" Relation Name: "lineitem_290000"
Alias: "lineitem" Alias: "lineitem"
Master Query: Master Query:
- Plan: - Plan:
Node Type: "Sort" Node Type: "Sort"
Sort Key: Sort Key:
- "(sum(((sum(intermediate_column_45_1))::bigint)))::bigint" - "(sum(((sum(intermediate_column_570005_1))::bigint)))::bigint"
- "intermediate_column_45_0" - "intermediate_column_570005_0"
Plans: Plans:
- Node Type: "Aggregate" - Node Type: "Aggregate"
Strategy: "Hashed" Strategy: "Hashed"
Parent Relationship: "Outer" Parent Relationship: "Outer"
Group Key: Group Key:
- "intermediate_column_45_0" - "intermediate_column_570005_0"
Plans: Plans:
- Node Type: "Seq Scan" - Node Type: "Seq Scan"
Parent Relationship: "Outer" Parent Relationship: "Outer"
Relation Name: "pg_merge_job_0045" Relation Name: "pg_merge_job_570005"
Alias: "pg_merge_job_0045" Alias: "pg_merge_job_570005"
-- Test Text format -- Test Text format
EXPLAIN (COSTS FALSE, FORMAT TEXT) EXPLAIN (COSTS FALSE, FORMAT TEXT)
SELECT l_quantity, count(*) count_quantity FROM lineitem SELECT l_quantity, count(*) count_quantity FROM lineitem
GROUP BY l_quantity ORDER BY count_quantity, l_quantity; GROUP BY l_quantity ORDER BY count_quantity, l_quantity;
Distributed Query into pg_merge_job_0046 Distributed Query into pg_merge_job_570006
Executor: Real-Time Executor: Real-Time
Task Count: 6 Task Count: 6
Tasks Shown: One of 6 Tasks Shown: One of 6
@ -236,17 +238,17 @@ Distributed Query into pg_merge_job_0046
Node: host=localhost port=57637 dbname=regression Node: host=localhost port=57637 dbname=regression
-> HashAggregate -> HashAggregate
Group Key: l_quantity Group Key: l_quantity
-> Seq Scan on lineitem_102010 lineitem -> Seq Scan on lineitem_290000 lineitem
Master Query Master Query
-> Sort -> Sort
Sort Key: (sum(((sum(intermediate_column_46_1))::bigint)))::bigint, intermediate_column_46_0 Sort Key: (sum(((sum(intermediate_column_570006_1))::bigint)))::bigint, intermediate_column_570006_0
-> HashAggregate -> HashAggregate
Group Key: intermediate_column_46_0 Group Key: intermediate_column_570006_0
-> Seq Scan on pg_merge_job_0046 -> Seq Scan on pg_merge_job_570006
-- Test verbose -- Test verbose
EXPLAIN (COSTS FALSE, VERBOSE TRUE) EXPLAIN (COSTS FALSE, VERBOSE TRUE)
SELECT sum(l_quantity) / avg(l_quantity) FROM lineitem; SELECT sum(l_quantity) / avg(l_quantity) FROM lineitem;
Distributed Query into pg_merge_job_0047 Distributed Query into pg_merge_job_570007
Executor: Real-Time Executor: Real-Time
Task Count: 6 Task Count: 6
Tasks Shown: One of 6 Tasks Shown: One of 6
@ -254,19 +256,19 @@ Distributed Query into pg_merge_job_0047
Node: host=localhost port=57637 dbname=regression Node: host=localhost port=57637 dbname=regression
-> Aggregate -> Aggregate
Output: sum(l_quantity), sum(l_quantity), count(l_quantity) Output: sum(l_quantity), sum(l_quantity), count(l_quantity)
-> Seq Scan on public.lineitem_102010 lineitem -> Seq Scan on public.lineitem_290000 lineitem
Output: l_orderkey, l_partkey, l_suppkey, l_linenumber, l_quantity, l_extendedprice, l_discount, l_tax, l_returnflag, l_linestatus, l_shipdate, l_commitdate, l_receiptdate, l_shipinstruct, l_shipmode, l_comment Output: l_orderkey, l_partkey, l_suppkey, l_linenumber, l_quantity, l_extendedprice, l_discount, l_tax, l_returnflag, l_linestatus, l_shipdate, l_commitdate, l_receiptdate, l_shipinstruct, l_shipmode, l_comment
Master Query Master Query
-> Aggregate -> Aggregate
Output: (sum(intermediate_column_47_0) / (sum(intermediate_column_47_1) / sum(intermediate_column_47_2))) Output: (sum(intermediate_column_570007_0) / (sum(intermediate_column_570007_1) / sum(intermediate_column_570007_2)))
-> Seq Scan on pg_temp_2.pg_merge_job_0047 -> Seq Scan on pg_temp_2.pg_merge_job_570007
Output: intermediate_column_47_0, intermediate_column_47_1, intermediate_column_47_2 Output: intermediate_column_570007_0, intermediate_column_570007_1, intermediate_column_570007_2
-- Test join -- Test join
EXPLAIN (COSTS FALSE) EXPLAIN (COSTS FALSE)
SELECT * FROM lineitem SELECT * FROM lineitem
JOIN orders ON l_orderkey = o_orderkey AND l_quantity < 5 JOIN orders ON l_orderkey = o_orderkey AND l_quantity < 5
ORDER BY l_quantity DESC LIMIT 10; ORDER BY l_quantity DESC LIMIT 10;
Distributed Query into pg_merge_job_0048 Distributed Query into pg_merge_job_570008
Executor: Real-Time Executor: Real-Time
Task Count: 6 Task Count: 6
Tasks Shown: One of 6 Tasks Shown: One of 6
@ -277,15 +279,15 @@ Distributed Query into pg_merge_job_0048
Sort Key: lineitem.l_quantity Sort Key: lineitem.l_quantity
-> Hash Join -> Hash Join
Hash Cond: (lineitem.l_orderkey = orders.o_orderkey) Hash Cond: (lineitem.l_orderkey = orders.o_orderkey)
-> Seq Scan on lineitem_102010 lineitem -> Seq Scan on lineitem_290000 lineitem
Filter: (l_quantity < 5::numeric) Filter: (l_quantity < 5::numeric)
-> Hash -> Hash
-> Seq Scan on orders_102015 orders -> Seq Scan on orders_290006 orders
Master Query Master Query
-> Limit -> Limit
-> Sort -> Sort
Sort Key: intermediate_column_48_4 Sort Key: intermediate_column_570008_4
-> Seq Scan on pg_merge_job_0048 -> Seq Scan on pg_merge_job_570008
-- Test insert -- Test insert
EXPLAIN (COSTS FALSE) EXPLAIN (COSTS FALSE)
INSERT INTO lineitem VALUES(1,0); INSERT INTO lineitem VALUES(1,0);
@ -294,8 +296,8 @@ Distributed Query
Task Count: 1 Task Count: 1
Tasks Shown: All Tasks Shown: All
-> Task -> Task
Node: host=localhost port=57638 dbname=regression Node: host=localhost port=57637 dbname=regression
-> Insert on lineitem_102009 -> Insert on lineitem_290000
-> Result -> Result
-- Test update -- Test update
EXPLAIN (COSTS FALSE) EXPLAIN (COSTS FALSE)
@ -307,12 +309,12 @@ Distributed Query
Task Count: 1 Task Count: 1
Tasks Shown: All Tasks Shown: All
-> Task -> Task
Node: host=localhost port=57638 dbname=regression Node: host=localhost port=57637 dbname=regression
-> Update on lineitem_102009 -> Update on lineitem_290000
-> Bitmap Heap Scan on lineitem_102009 -> Bitmap Heap Scan on lineitem_290000
Recheck Cond: (l_orderkey = 1) Recheck Cond: (l_orderkey = 1)
Filter: (l_partkey = 0) Filter: (l_partkey = 0)
-> Bitmap Index Scan on lineitem_pkey_102009 -> Bitmap Index Scan on lineitem_pkey_290000
Index Cond: (l_orderkey = 1) Index Cond: (l_orderkey = 1)
-- Test delete -- Test delete
EXPLAIN (COSTS FALSE) EXPLAIN (COSTS FALSE)
@ -323,25 +325,25 @@ Distributed Query
Task Count: 1 Task Count: 1
Tasks Shown: All Tasks Shown: All
-> Task -> Task
Node: host=localhost port=57638 dbname=regression Node: host=localhost port=57637 dbname=regression
-> Delete on lineitem_102009 -> Delete on lineitem_290000
-> Bitmap Heap Scan on lineitem_102009 -> Bitmap Heap Scan on lineitem_290000
Recheck Cond: (l_orderkey = 1) Recheck Cond: (l_orderkey = 1)
Filter: (l_partkey = 0) Filter: (l_partkey = 0)
-> Bitmap Index Scan on lineitem_pkey_102009 -> Bitmap Index Scan on lineitem_pkey_290000
Index Cond: (l_orderkey = 1) Index Cond: (l_orderkey = 1)
-- Test single-shard SELECT -- Test single-shard SELECT
EXPLAIN (COSTS FALSE) EXPLAIN (COSTS FALSE)
SELECT l_quantity FROM lineitem WHERE l_orderkey = 5; SELECT l_quantity FROM lineitem WHERE l_orderkey = 5;
Distributed Query into pg_merge_job_0049 Distributed Query into pg_merge_job_570009
Executor: Router Executor: Router
Task Count: 1 Task Count: 1
Tasks Shown: All Tasks Shown: All
-> Task -> Task
Node: host=localhost port=57637 dbname=regression Node: host=localhost port=57637 dbname=regression
-> Bitmap Heap Scan on lineitem_102009 lineitem -> Bitmap Heap Scan on lineitem_290000 lineitem
Recheck Cond: (l_orderkey = 5) Recheck Cond: (l_orderkey = 5)
-> Bitmap Index Scan on lineitem_pkey_102009 -> Bitmap Index Scan on lineitem_pkey_290000
Index Cond: (l_orderkey = 5) Index Cond: (l_orderkey = 5)
SELECT true AS valid FROM explain_xml($$ SELECT true AS valid FROM explain_xml($$
SELECT l_quantity FROM lineitem WHERE l_orderkey = 5$$); SELECT l_quantity FROM lineitem WHERE l_orderkey = 5$$);
@ -353,41 +355,41 @@ t
EXPLAIN (COSTS FALSE) EXPLAIN (COSTS FALSE)
CREATE TABLE explain_result AS CREATE TABLE explain_result AS
SELECT * FROM lineitem; SELECT * FROM lineitem;
Distributed Query into pg_merge_job_0052 Distributed Query into pg_merge_job_570012
Executor: Real-Time Executor: Real-Time
Task Count: 6 Task Count: 6
Tasks Shown: One of 6 Tasks Shown: One of 6
-> Task -> Task
Node: host=localhost port=57637 dbname=regression Node: host=localhost port=57637 dbname=regression
-> Seq Scan on lineitem_102010 lineitem -> Seq Scan on lineitem_290000 lineitem
Master Query Master Query
-> Seq Scan on pg_merge_job_0052 -> Seq Scan on pg_merge_job_570012
-- Test all tasks output -- Test all tasks output
SET citus.explain_all_tasks TO on; SET citus.explain_all_tasks TO on;
EXPLAIN (COSTS FALSE) EXPLAIN (COSTS FALSE)
SELECT avg(l_linenumber) FROM lineitem WHERE l_orderkey > 9030; SELECT avg(l_linenumber) FROM lineitem WHERE l_orderkey > 9030;
Distributed Query into pg_merge_job_0053 Distributed Query into pg_merge_job_570013
Executor: Real-Time Executor: Real-Time
Task Count: 3 Task Count: 3
Tasks Shown: All Tasks Shown: All
-> Task -> Task
Node: host=localhost port=57637 dbname=regression Node: host=localhost port=57637 dbname=regression
-> Aggregate -> Aggregate
-> Seq Scan on lineitem_102012 lineitem -> Seq Scan on lineitem_290004 lineitem
Filter: (l_orderkey > 9030) Filter: (l_orderkey > 9030)
-> Task -> Task
Node: host=localhost port=57638 dbname=regression Node: host=localhost port=57638 dbname=regression
-> Aggregate -> Aggregate
-> Seq Scan on lineitem_102013 lineitem -> Seq Scan on lineitem_290003 lineitem
Filter: (l_orderkey > 9030) Filter: (l_orderkey > 9030)
-> Task -> Task
Node: host=localhost port=57637 dbname=regression Node: host=localhost port=57637 dbname=regression
-> Aggregate -> Aggregate
-> Seq Scan on lineitem_102014 lineitem -> Seq Scan on lineitem_290005 lineitem
Filter: (l_orderkey > 9030) Filter: (l_orderkey > 9030)
Master Query Master Query
-> Aggregate -> Aggregate
-> Seq Scan on pg_merge_job_0053 -> Seq Scan on pg_merge_job_570013
SELECT true AS valid FROM explain_xml($$ SELECT true AS valid FROM explain_xml($$
SELECT avg(l_linenumber) FROM lineitem WHERE l_orderkey > 9030$$); SELECT avg(l_linenumber) FROM lineitem WHERE l_orderkey > 9030$$);
t t
@ -399,18 +401,18 @@ SET citus.task_executor_type TO 'task-tracker';
SET citus.explain_all_tasks TO off; SET citus.explain_all_tasks TO off;
EXPLAIN (COSTS FALSE) EXPLAIN (COSTS FALSE)
SELECT avg(l_linenumber) FROM lineitem WHERE l_orderkey > 9030; SELECT avg(l_linenumber) FROM lineitem WHERE l_orderkey > 9030;
Distributed Query into pg_merge_job_0056 Distributed Query into pg_merge_job_570016
Executor: Task-Tracker Executor: Task-Tracker
Task Count: 3 Task Count: 3
Tasks Shown: One of 3 Tasks Shown: One of 3
-> Task -> Task
Node: host=localhost port=57637 dbname=regression Node: host=localhost port=57637 dbname=regression
-> Aggregate -> Aggregate
-> Seq Scan on lineitem_102012 lineitem -> Seq Scan on lineitem_290004 lineitem
Filter: (l_orderkey > 9030) Filter: (l_orderkey > 9030)
Master Query Master Query
-> Aggregate -> Aggregate
-> Seq Scan on pg_merge_job_0056 -> Seq Scan on pg_merge_job_570016
-- Test re-partition join -- Test re-partition join
SET citus.large_table_shard_count TO 1; SET citus.large_table_shard_count TO 1;
EXPLAIN (COSTS FALSE) EXPLAIN (COSTS FALSE)
@ -419,7 +421,7 @@ EXPLAIN (COSTS FALSE)
WHERE l_orderkey = o_orderkey WHERE l_orderkey = o_orderkey
AND o_custkey = c_custkey AND o_custkey = c_custkey
AND l_suppkey = s_suppkey; AND l_suppkey = s_suppkey;
Distributed Query into pg_merge_job_0059 Distributed Query into pg_merge_job_570019
Executor: Task-Tracker Executor: Task-Tracker
Task Count: 1 Task Count: 1
Tasks Shown: None, not supported for re-partition queries Tasks Shown: None, not supported for re-partition queries
@ -431,7 +433,7 @@ Distributed Query into pg_merge_job_0059
Merge Task Count: 1 Merge Task Count: 1
Master Query Master Query
-> Aggregate -> Aggregate
-> Seq Scan on pg_merge_job_0059 -> Seq Scan on pg_merge_job_570019
EXPLAIN (COSTS FALSE, FORMAT JSON) EXPLAIN (COSTS FALSE, FORMAT JSON)
SELECT count(*) SELECT count(*)
FROM lineitem, orders, customer, supplier FROM lineitem, orders, customer, supplier
@ -466,8 +468,8 @@ EXPLAIN (COSTS FALSE, FORMAT JSON)
{ {
"Node Type": "Seq Scan", "Node Type": "Seq Scan",
"Parent Relationship": "Outer", "Parent Relationship": "Outer",
"Relation Name": "pg_merge_job_0062", "Relation Name": "pg_merge_job_570022",
"Alias": "pg_merge_job_0062" "Alias": "pg_merge_job_570022"
} }
] ]
} }
@ -516,8 +518,8 @@ EXPLAIN (COSTS FALSE, FORMAT XML)
<Plan> <Plan>
<Node-Type>Seq Scan</Node-Type> <Node-Type>Seq Scan</Node-Type>
<Parent-Relationship>Outer</Parent-Relationship> <Parent-Relationship>Outer</Parent-Relationship>
<Relation-Name>pg_merge_job_0068</Relation-Name> <Relation-Name>pg_merge_job_570028</Relation-Name>
<Alias>pg_merge_job_0068</Alias> <Alias>pg_merge_job_570028</Alias>
</Plan> </Plan>
</Plans> </Plans>
</Plan> </Plan>
@ -555,5 +557,5 @@ EXPLAIN (COSTS FALSE, FORMAT YAML)
Plans: Plans:
- Node Type: "Seq Scan" - Node Type: "Seq Scan"
Parent Relationship: "Outer" Parent Relationship: "Outer"
Relation Name: "pg_merge_job_0074" Relation Name: "pg_merge_job_570034"
Alias: "pg_merge_job_0074" Alias: "pg_merge_job_570034"

View File

@ -5,6 +5,8 @@
-- --
-- It'd be nice to script generation of this file, but alas, that's -- It'd be nice to script generation of this file, but alas, that's
-- not done yet. -- not done yet.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 580000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 580000;
-- DROP EXTENSION pre-created by the regression suite -- DROP EXTENSION pre-created by the regression suite
DROP EXTENSION citus; DROP EXTENSION citus;
\c \c

View File

@ -1,6 +1,8 @@
-- --
-- MULTI_FDW_CREATE_TABLE -- 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 -- Create new table definitions for use in testing in distributed foreign data
-- wrapper functionality. -- wrapper functionality.
SELECT fdwname FROM pg_foreign_data_wrapper; SELECT fdwname FROM pg_foreign_data_wrapper;

View File

@ -2,6 +2,8 @@
-- MULTI_FDW_MASTER_PROTOCOL -- MULTI_FDW_MASTER_PROTOCOL
-- --
-- Tests that check the metadata returned by the master node. -- 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, SELECT part_storage_type, part_key, part_replica_count, part_max_size,
part_placement_policy FROM master_get_table_metadata('lineitem'); part_placement_policy FROM master_get_table_metadata('lineitem');
part_storage_type | part_key | part_replica_count | part_max_size | part_placement_policy part_storage_type | part_key | part_replica_count | part_max_size | part_placement_policy
@ -20,7 +22,7 @@ SELECT * FROM master_get_table_ddl_events('lineitem');
SELECT * FROM master_get_new_shardid(); SELECT * FROM master_get_new_shardid();
master_get_new_shardid master_get_new_shardid
------------------------ ------------------------
102008 600000
(1 row) (1 row)
SELECT node_name FROM master_get_local_first_candidate_nodes(); SELECT node_name FROM master_get_local_first_candidate_nodes();

View File

@ -1,3 +1,5 @@
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 610000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 610000;
-- =================================================================== -- ===================================================================
-- create test functions -- create test functions
-- =================================================================== -- ===================================================================

View File

@ -2,6 +2,8 @@
-- MULTI_HASH_PRUNING -- MULTI_HASH_PRUNING
-- --
-- Tests for shard and join pruning logic on hash partitioned tables. -- Tests for shard and join pruning logic on hash partitioned tables.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 630000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 630000;
-- Create a table partitioned on integer column and update partition type to -- Create a table partitioned on integer column and update partition type to
-- hash. Then stage data to this table and update shard min max values with -- hash. Then stage data to this table and update shard min max values with
-- hashed ones. Hash value of 1, 2, 3 and 4 are consecutively -1905060026, -- hashed ones. Hash value of 1, 2, 3 and 4 are consecutively -1905060026,
@ -47,9 +49,9 @@ SELECT count(*) FROM orders_hash_partitioned;
SELECT count(*) FROM orders_hash_partitioned WHERE o_orderkey = 1; SELECT count(*) FROM orders_hash_partitioned WHERE o_orderkey = 1;
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 102034 DEBUG: predicate pruning for shardId 630001
DEBUG: predicate pruning for shardId 102035 DEBUG: predicate pruning for shardId 630002
DEBUG: predicate pruning for shardId 102036 DEBUG: predicate pruning for shardId 630003
DEBUG: Plan is router executable DEBUG: Plan is router executable
count count
------- -------
@ -58,9 +60,9 @@ DEBUG: Plan is router executable
SELECT count(*) FROM orders_hash_partitioned WHERE o_orderkey = 2; SELECT count(*) FROM orders_hash_partitioned WHERE o_orderkey = 2;
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 102033 DEBUG: predicate pruning for shardId 630000
DEBUG: predicate pruning for shardId 102034 DEBUG: predicate pruning for shardId 630001
DEBUG: predicate pruning for shardId 102035 DEBUG: predicate pruning for shardId 630002
DEBUG: Plan is router executable DEBUG: Plan is router executable
count count
------- -------
@ -69,9 +71,9 @@ DEBUG: Plan is router executable
SELECT count(*) FROM orders_hash_partitioned WHERE o_orderkey = 3; SELECT count(*) FROM orders_hash_partitioned WHERE o_orderkey = 3;
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 102033 DEBUG: predicate pruning for shardId 630000
DEBUG: predicate pruning for shardId 102035 DEBUG: predicate pruning for shardId 630002
DEBUG: predicate pruning for shardId 102036 DEBUG: predicate pruning for shardId 630003
DEBUG: Plan is router executable DEBUG: Plan is router executable
count count
------- -------
@ -80,9 +82,9 @@ DEBUG: Plan is router executable
SELECT count(*) FROM orders_hash_partitioned WHERE o_orderkey = 4; SELECT count(*) FROM orders_hash_partitioned WHERE o_orderkey = 4;
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 102033 DEBUG: predicate pruning for shardId 630000
DEBUG: predicate pruning for shardId 102035 DEBUG: predicate pruning for shardId 630002
DEBUG: predicate pruning for shardId 102036 DEBUG: predicate pruning for shardId 630003
DEBUG: Plan is router executable DEBUG: Plan is router executable
count count
------- -------
@ -92,9 +94,9 @@ DEBUG: Plan is router executable
SELECT count(*) FROM orders_hash_partitioned SELECT count(*) FROM orders_hash_partitioned
WHERE o_orderkey = 1 AND o_clerk = 'aaa'; WHERE o_orderkey = 1 AND o_clerk = 'aaa';
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 102034 DEBUG: predicate pruning for shardId 630001
DEBUG: predicate pruning for shardId 102035 DEBUG: predicate pruning for shardId 630002
DEBUG: predicate pruning for shardId 102036 DEBUG: predicate pruning for shardId 630003
DEBUG: Plan is router executable DEBUG: Plan is router executable
count count
------- -------
@ -103,9 +105,9 @@ DEBUG: Plan is router executable
SELECT count(*) FROM orders_hash_partitioned WHERE o_orderkey = abs(-1); SELECT count(*) FROM orders_hash_partitioned WHERE o_orderkey = abs(-1);
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 102034 DEBUG: predicate pruning for shardId 630001
DEBUG: predicate pruning for shardId 102035 DEBUG: predicate pruning for shardId 630002
DEBUG: predicate pruning for shardId 102036 DEBUG: predicate pruning for shardId 630003
DEBUG: Plan is router executable DEBUG: Plan is router executable
count count
------- -------
@ -120,36 +122,36 @@ SELECT count(*) FROM orders_hash_partitioned;
(1 row) (1 row)
SELECT count(*) FROM orders_hash_partitioned WHERE o_orderkey = 1; SELECT count(*) FROM orders_hash_partitioned WHERE o_orderkey = 1;
DEBUG: predicate pruning for shardId 102034 DEBUG: predicate pruning for shardId 630001
DEBUG: predicate pruning for shardId 102035 DEBUG: predicate pruning for shardId 630002
DEBUG: predicate pruning for shardId 102036 DEBUG: predicate pruning for shardId 630003
count count
------- -------
0 0
(1 row) (1 row)
SELECT count(*) FROM orders_hash_partitioned WHERE o_orderkey = 2; SELECT count(*) FROM orders_hash_partitioned WHERE o_orderkey = 2;
DEBUG: predicate pruning for shardId 102033 DEBUG: predicate pruning for shardId 630000
DEBUG: predicate pruning for shardId 102034 DEBUG: predicate pruning for shardId 630001
DEBUG: predicate pruning for shardId 102035 DEBUG: predicate pruning for shardId 630002
count count
------- -------
0 0
(1 row) (1 row)
SELECT count(*) FROM orders_hash_partitioned WHERE o_orderkey = 3; SELECT count(*) FROM orders_hash_partitioned WHERE o_orderkey = 3;
DEBUG: predicate pruning for shardId 102033 DEBUG: predicate pruning for shardId 630000
DEBUG: predicate pruning for shardId 102035 DEBUG: predicate pruning for shardId 630002
DEBUG: predicate pruning for shardId 102036 DEBUG: predicate pruning for shardId 630003
count count
------- -------
0 0
(1 row) (1 row)
SELECT count(*) FROM orders_hash_partitioned WHERE o_orderkey = 4; SELECT count(*) FROM orders_hash_partitioned WHERE o_orderkey = 4;
DEBUG: predicate pruning for shardId 102033 DEBUG: predicate pruning for shardId 630000
DEBUG: predicate pruning for shardId 102035 DEBUG: predicate pruning for shardId 630002
DEBUG: predicate pruning for shardId 102036 DEBUG: predicate pruning for shardId 630003
count count
------- -------
0 0
@ -157,18 +159,18 @@ DEBUG: predicate pruning for shardId 102036
SELECT count(*) FROM orders_hash_partitioned SELECT count(*) FROM orders_hash_partitioned
WHERE o_orderkey = 1 AND o_clerk = 'aaa'; WHERE o_orderkey = 1 AND o_clerk = 'aaa';
DEBUG: predicate pruning for shardId 102034 DEBUG: predicate pruning for shardId 630001
DEBUG: predicate pruning for shardId 102035 DEBUG: predicate pruning for shardId 630002
DEBUG: predicate pruning for shardId 102036 DEBUG: predicate pruning for shardId 630003
count count
------- -------
0 0
(1 row) (1 row)
SELECT count(*) FROM orders_hash_partitioned WHERE o_orderkey = abs(-1); SELECT count(*) FROM orders_hash_partitioned WHERE o_orderkey = abs(-1);
DEBUG: predicate pruning for shardId 102034 DEBUG: predicate pruning for shardId 630001
DEBUG: predicate pruning for shardId 102035 DEBUG: predicate pruning for shardId 630002
DEBUG: predicate pruning for shardId 102036 DEBUG: predicate pruning for shardId 630003
count count
------- -------
0 0
@ -176,9 +178,9 @@ DEBUG: predicate pruning for shardId 102036
SET citus.task_executor_type TO :actual_task_executor; SET citus.task_executor_type TO :actual_task_executor;
SELECT count(*) FROM orders_hash_partitioned WHERE o_orderkey is NULL; SELECT count(*) FROM orders_hash_partitioned WHERE o_orderkey is NULL;
DEBUG: predicate pruning for shardId 102033 DEBUG: predicate pruning for shardId 630000
DEBUG: predicate pruning for shardId 102034 DEBUG: predicate pruning for shardId 630001
DEBUG: predicate pruning for shardId 102036 DEBUG: predicate pruning for shardId 630003
count count
------- -------
0 0
@ -198,8 +200,8 @@ SELECT count(*) FROM orders_hash_partitioned WHERE o_orderkey > 2;
SELECT count(*) FROM orders_hash_partitioned SELECT count(*) FROM orders_hash_partitioned
WHERE o_orderkey = 1 OR o_orderkey = 2; WHERE o_orderkey = 1 OR o_orderkey = 2;
DEBUG: predicate pruning for shardId 102034 DEBUG: predicate pruning for shardId 630001
DEBUG: predicate pruning for shardId 102035 DEBUG: predicate pruning for shardId 630002
count count
------- -------
0 0
@ -214,8 +216,8 @@ SELECT count(*) FROM orders_hash_partitioned
SELECT count(*) FROM orders_hash_partitioned SELECT count(*) FROM orders_hash_partitioned
WHERE o_orderkey = 1 OR (o_orderkey = 3 AND o_clerk = 'aaa'); WHERE o_orderkey = 1 OR (o_orderkey = 3 AND o_clerk = 'aaa');
DEBUG: predicate pruning for shardId 102035 DEBUG: predicate pruning for shardId 630002
DEBUG: predicate pruning for shardId 102036 DEBUG: predicate pruning for shardId 630003
count count
------- -------
0 0
@ -223,8 +225,8 @@ DEBUG: predicate pruning for shardId 102036
SELECT count(*) FROM orders_hash_partitioned SELECT count(*) FROM orders_hash_partitioned
WHERE o_orderkey = 1 OR o_orderkey is NULL; WHERE o_orderkey = 1 OR o_orderkey is NULL;
DEBUG: predicate pruning for shardId 102034 DEBUG: predicate pruning for shardId 630001
DEBUG: predicate pruning for shardId 102036 DEBUG: predicate pruning for shardId 630003
count count
------- -------
0 0
@ -232,9 +234,9 @@ DEBUG: predicate pruning for shardId 102036
SELECT count(*) FROM SELECT count(*) FROM
(SELECT o_orderkey FROM orders_hash_partitioned WHERE o_orderkey = 1) AS orderkeys; (SELECT o_orderkey FROM orders_hash_partitioned WHERE o_orderkey = 1) AS orderkeys;
DEBUG: predicate pruning for shardId 102034 DEBUG: predicate pruning for shardId 630001
DEBUG: predicate pruning for shardId 102035 DEBUG: predicate pruning for shardId 630002
DEBUG: predicate pruning for shardId 102036 DEBUG: predicate pruning for shardId 630003
count count
------- -------
0 0
@ -285,9 +287,9 @@ SELECT count(*) FROM orders_hash_partitioned
SELECT count(*) FROM orders_hash_partitioned SELECT count(*) FROM orders_hash_partitioned
WHERE o_orderkey = random() AND o_orderkey = 1; WHERE o_orderkey = random() AND o_orderkey = 1;
DEBUG: predicate pruning for shardId 102034 DEBUG: predicate pruning for shardId 630001
DEBUG: predicate pruning for shardId 102035 DEBUG: predicate pruning for shardId 630002
DEBUG: predicate pruning for shardId 102036 DEBUG: predicate pruning for shardId 630003
count count
------- -------
0 0
@ -319,12 +321,12 @@ SELECT count(*)
WHERE orders1.o_orderkey = orders2.o_orderkey WHERE orders1.o_orderkey = orders2.o_orderkey
AND orders1.o_orderkey = 1 AND orders1.o_orderkey = 1
AND orders2.o_orderkey is NULL; AND orders2.o_orderkey is NULL;
DEBUG: predicate pruning for shardId 102034 DEBUG: predicate pruning for shardId 630001
DEBUG: predicate pruning for shardId 102035 DEBUG: predicate pruning for shardId 630002
DEBUG: predicate pruning for shardId 102036 DEBUG: predicate pruning for shardId 630003
DEBUG: predicate pruning for shardId 102033 DEBUG: predicate pruning for shardId 630000
DEBUG: predicate pruning for shardId 102034 DEBUG: predicate pruning for shardId 630001
DEBUG: predicate pruning for shardId 102036 DEBUG: predicate pruning for shardId 630003
DEBUG: join prunable for intervals [-2147483648,-1073741825] and [0,1073741823] DEBUG: join prunable for intervals [-2147483648,-1073741825] and [0,1073741823]
count count
------- -------

View File

@ -3,6 +3,8 @@
-- --
-- Check that we can run CREATE INDEX and DROP INDEX statements on distributed -- Check that we can run CREATE INDEX and DROP INDEX statements on distributed
-- tables. -- tables.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 640000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 640000;
-- --
-- CREATE TEST TABLES -- CREATE TEST TABLES
-- --
@ -137,11 +139,11 @@ ERROR: creating unique indexes on append-partitioned tables is currently unsupp
CREATE INDEX lineitem_orderkey_index ON lineitem (l_orderkey); CREATE INDEX lineitem_orderkey_index ON lineitem (l_orderkey);
ERROR: relation "lineitem_orderkey_index" already exists ERROR: relation "lineitem_orderkey_index" already exists
CREATE INDEX try_index ON lineitem USING gist (l_orderkey); CREATE INDEX try_index ON lineitem USING gist (l_orderkey);
WARNING: Bad result from localhost:57637 WARNING: Bad result from localhost:57638
DETAIL: Remote message: data type bigint has no default operator class for access method "gist" DETAIL: Remote message: data type bigint has no default operator class for access method "gist"
ERROR: could not execute DDL command on worker node shards ERROR: could not execute DDL command on worker node shards
CREATE INDEX try_index ON lineitem (non_existent_column); CREATE INDEX try_index ON lineitem (non_existent_column);
WARNING: Bad result from localhost:57637 WARNING: Bad result from localhost:57638
DETAIL: Remote message: column "non_existent_column" does not exist DETAIL: Remote message: column "non_existent_column" does not exist
ERROR: could not execute DDL command on worker node shards ERROR: could not execute DDL command on worker node shards
CREATE INDEX ON lineitem (l_orderkey); CREATE INDEX ON lineitem (l_orderkey);

View File

@ -1,6 +1,8 @@
-- --
-- MULTI_JOIN_ORDER_ADDITIONAL -- MULTI_JOIN_ORDER_ADDITIONAL
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 650000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 650000;
-- Set configuration to print table join order and pruned shards -- Set configuration to print table join order and pruned shards
SET citus.explain_distributed_queries TO off; SET citus.explain_distributed_queries TO off;
SET citus.log_multi_join_order TO TRUE; SET citus.log_multi_join_order TO TRUE;
@ -40,8 +42,8 @@ SELECT master_create_worker_shards('lineitem_hash', 2, 1);
(1 row) (1 row)
CREATE INDEX lineitem_hash_time_index ON lineitem_hash (l_shipdate); CREATE INDEX lineitem_hash_time_index ON lineitem_hash (l_shipdate);
DEBUG: applied command on shard 102037 on node localhost:57637 DEBUG: applied command on shard 650000 on node localhost:57637
DEBUG: applied command on shard 102038 on node localhost:57638 DEBUG: applied command on shard 650001 on node localhost:57638
DEBUG: building index "lineitem_hash_time_index" on table "lineitem_hash" DEBUG: building index "lineitem_hash_time_index" on table "lineitem_hash"
CREATE TABLE orders_hash ( CREATE TABLE orders_hash (
o_orderkey bigint not null, o_orderkey bigint not null,

View File

@ -1,6 +1,8 @@
-- --
-- MULTI_JOIN_ORDER_TPCH_LARGE -- MULTI_JOIN_ORDER_TPCH_LARGE
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 660000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 660000;
-- Enable configuration to print table join order -- Enable configuration to print table join order
SET citus.explain_distributed_queries TO off; SET citus.explain_distributed_queries TO off;
SET citus.log_multi_join_order TO TRUE; SET citus.log_multi_join_order TO TRUE;

View File

@ -1,6 +1,7 @@
-- --
-- MULTI_JOIN_PRUNING -- MULTI_JOIN_PRUNING
-- --
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 680000;
-- Check that join-pruning works for joins between two large relations. For now -- Check that join-pruning works for joins between two large relations. For now
-- we only check for join-pruning between locally partitioned relations. In the -- we only check for join-pruning between locally partitioned relations. In the
-- future we want to check for pruning between re-partitioned relations as well. -- future we want to check for pruning between re-partitioned relations as well.
@ -23,9 +24,9 @@ DEBUG: join prunable for intervals [13921,14947] and [1,5986]
SELECT sum(l_linenumber), avg(l_linenumber) FROM lineitem, orders SELECT sum(l_linenumber), avg(l_linenumber) FROM lineitem, orders
WHERE l_orderkey = o_orderkey AND l_orderkey > 9030; WHERE l_orderkey = o_orderkey AND l_orderkey > 9030;
DEBUG: predicate pruning for shardId 102009 DEBUG: predicate pruning for shardId 290000
DEBUG: predicate pruning for shardId 102010 DEBUG: predicate pruning for shardId 290001
DEBUG: predicate pruning for shardId 102011 DEBUG: predicate pruning for shardId 290002
DEBUG: join prunable for intervals [8997,11554] and [1,5986] DEBUG: join prunable for intervals [8997,11554] and [1,5986]
DEBUG: join prunable for intervals [11554,13920] and [1,5986] DEBUG: join prunable for intervals [11554,13920] and [1,5986]
DEBUG: join prunable for intervals [13921,14947] and [1,5986] DEBUG: join prunable for intervals [13921,14947] and [1,5986]
@ -38,12 +39,12 @@ DEBUG: join prunable for intervals [13921,14947] and [1,5986]
-- works as expected in this case. -- works as expected in this case.
SELECT sum(l_linenumber), avg(l_linenumber) FROM lineitem, orders SELECT sum(l_linenumber), avg(l_linenumber) FROM lineitem, orders
WHERE l_orderkey = o_orderkey AND l_orderkey > 20000; WHERE l_orderkey = o_orderkey AND l_orderkey > 20000;
DEBUG: predicate pruning for shardId 102009 DEBUG: predicate pruning for shardId 290000
DEBUG: predicate pruning for shardId 102010 DEBUG: predicate pruning for shardId 290001
DEBUG: predicate pruning for shardId 102011 DEBUG: predicate pruning for shardId 290002
DEBUG: predicate pruning for shardId 102012 DEBUG: predicate pruning for shardId 290003
DEBUG: predicate pruning for shardId 102013 DEBUG: predicate pruning for shardId 290004
DEBUG: predicate pruning for shardId 102014 DEBUG: predicate pruning for shardId 290005
sum | avg sum | avg
-----+----- -----+-----
| |
@ -54,10 +55,10 @@ DEBUG: predicate pruning for shardId 102014
-- out all the shards, and leave us with an empty task list. -- out all the shards, and leave us with an empty task list.
SELECT sum(l_linenumber), avg(l_linenumber) FROM lineitem, orders SELECT sum(l_linenumber), avg(l_linenumber) FROM lineitem, orders
WHERE l_orderkey = o_orderkey AND l_orderkey > 6000 AND o_orderkey < 6000; WHERE l_orderkey = o_orderkey AND l_orderkey > 6000 AND o_orderkey < 6000;
DEBUG: predicate pruning for shardId 102009 DEBUG: predicate pruning for shardId 290000
DEBUG: predicate pruning for shardId 102010 DEBUG: predicate pruning for shardId 290001
DEBUG: predicate pruning for shardId 102011 DEBUG: predicate pruning for shardId 290002
DEBUG: predicate pruning for shardId 102016 DEBUG: predicate pruning for shardId 290007
DEBUG: join prunable for intervals [8997,11554] and [1,5986] DEBUG: join prunable for intervals [8997,11554] and [1,5986]
DEBUG: join prunable for intervals [11554,13920] and [1,5986] DEBUG: join prunable for intervals [11554,13920] and [1,5986]
DEBUG: join prunable for intervals [13921,14947] and [1,5986] DEBUG: join prunable for intervals [13921,14947] and [1,5986]

View File

@ -5,6 +5,8 @@
-- transaction block here so that we don't emit debug messages with changing -- transaction block here so that we don't emit debug messages with changing
-- transaction ids in them. Also, we set the executor type to task tracker -- transaction ids in them. Also, we set the executor type to task tracker
-- executor here, as we cannot run repartition jobs with real time executor. -- executor here, as we cannot run repartition jobs with real time executor.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 690000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 690000;
BEGIN; BEGIN;
SET client_min_messages TO DEBUG4; SET client_min_messages TO DEBUG4;
DEBUG: CommitTransactionCommand DEBUG: CommitTransactionCommand
@ -52,29 +54,29 @@ DEBUG: join prunable for intervals [8997,11554] and [1,5986]
DEBUG: join prunable for intervals [11554,13920] and [1,5986] DEBUG: join prunable for intervals [11554,13920] and [1,5986]
DEBUG: join prunable for intervals [13921,14947] and [1,5986] DEBUG: join prunable for intervals [13921,14947] and [1,5986]
DEBUG: generated sql query for job 1250 and task 3 DEBUG: generated sql query for job 1250 and task 3
DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_102009 lineitem JOIN orders_102015 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE (orders.o_totalprice > '10'::numeric)" DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_290000 lineitem JOIN orders_290006 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE (orders.o_totalprice > '10'::numeric)"
DEBUG: generated sql query for job 1250 and task 6 DEBUG: generated sql query for job 1250 and task 6
DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_102010 lineitem JOIN orders_102015 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE (orders.o_totalprice > '10'::numeric)" DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_290001 lineitem JOIN orders_290006 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE (orders.o_totalprice > '10'::numeric)"
DEBUG: generated sql query for job 1250 and task 9 DEBUG: generated sql query for job 1250 and task 9
DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_102011 lineitem JOIN orders_102015 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE (orders.o_totalprice > '10'::numeric)" DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_290002 lineitem JOIN orders_290006 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE (orders.o_totalprice > '10'::numeric)"
DEBUG: generated sql query for job 1250 and task 12 DEBUG: generated sql query for job 1250 and task 12
DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_102012 lineitem JOIN orders_102016 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE (orders.o_totalprice > '10'::numeric)" DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_290003 lineitem JOIN orders_290007 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE (orders.o_totalprice > '10'::numeric)"
DEBUG: generated sql query for job 1250 and task 15 DEBUG: generated sql query for job 1250 and task 15
DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_102013 lineitem JOIN orders_102016 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE (orders.o_totalprice > '10'::numeric)" DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_290004 lineitem JOIN orders_290007 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE (orders.o_totalprice > '10'::numeric)"
DEBUG: generated sql query for job 1250 and task 18 DEBUG: generated sql query for job 1250 and task 18
DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_102014 lineitem JOIN orders_102016 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE (orders.o_totalprice > '10'::numeric)" DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_290005 lineitem JOIN orders_290007 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE (orders.o_totalprice > '10'::numeric)"
DEBUG: assigned task 6 to node localhost:57637 DEBUG: assigned task 3 to node localhost:57637
DEBUG: assigned task 3 to node localhost:57638 DEBUG: assigned task 6 to node localhost:57638
DEBUG: assigned task 12 to node localhost:57637 DEBUG: assigned task 9 to node localhost:57637
DEBUG: assigned task 9 to node localhost:57638 DEBUG: assigned task 12 to node localhost:57638
DEBUG: assigned task 18 to node localhost:57637 DEBUG: assigned task 15 to node localhost:57637
DEBUG: assigned task 15 to node localhost:57638 DEBUG: assigned task 18 to node localhost:57638
DEBUG: join prunable for intervals [1,1000] and [6001,7000] DEBUG: join prunable for intervals [1,1000] and [6001,7000]
DEBUG: join prunable for intervals [6001,7000] and [1,1000] DEBUG: join prunable for intervals [6001,7000] and [1,1000]
DEBUG: generated sql query for job 1251 and task 3 DEBUG: generated sql query for job 1251 and task 3
DETAIL: query string: "SELECT "pg_merge_job_1250.task_000019".intermediate_column_1250_0, "pg_merge_job_1250.task_000019".intermediate_column_1250_1, "pg_merge_job_1250.task_000019".intermediate_column_1250_2, "pg_merge_job_1250.task_000019".intermediate_column_1250_3, "pg_merge_job_1250.task_000019".intermediate_column_1250_4 FROM (pg_merge_job_1250.task_000019 "pg_merge_job_1250.task_000019" JOIN part_102019 part ON (("pg_merge_job_1250.task_000019".intermediate_column_1250_0 = part.p_partkey))) WHERE (part.p_size > 8)" DETAIL: query string: "SELECT "pg_merge_job_1250.task_000019".intermediate_column_1250_0, "pg_merge_job_1250.task_000019".intermediate_column_1250_1, "pg_merge_job_1250.task_000019".intermediate_column_1250_2, "pg_merge_job_1250.task_000019".intermediate_column_1250_3, "pg_merge_job_1250.task_000019".intermediate_column_1250_4 FROM (pg_merge_job_1250.task_000019 "pg_merge_job_1250.task_000019" JOIN part_290010 part ON (("pg_merge_job_1250.task_000019".intermediate_column_1250_0 = part.p_partkey))) WHERE (part.p_size > 8)"
DEBUG: generated sql query for job 1251 and task 6 DEBUG: generated sql query for job 1251 and task 6
DETAIL: query string: "SELECT "pg_merge_job_1250.task_000026".intermediate_column_1250_0, "pg_merge_job_1250.task_000026".intermediate_column_1250_1, "pg_merge_job_1250.task_000026".intermediate_column_1250_2, "pg_merge_job_1250.task_000026".intermediate_column_1250_3, "pg_merge_job_1250.task_000026".intermediate_column_1250_4 FROM (pg_merge_job_1250.task_000026 "pg_merge_job_1250.task_000026" JOIN part_102044 part ON (("pg_merge_job_1250.task_000026".intermediate_column_1250_0 = part.p_partkey))) WHERE (part.p_size > 8)" DETAIL: query string: "SELECT "pg_merge_job_1250.task_000026".intermediate_column_1250_0, "pg_merge_job_1250.task_000026".intermediate_column_1250_1, "pg_merge_job_1250.task_000026".intermediate_column_1250_2, "pg_merge_job_1250.task_000026".intermediate_column_1250_3, "pg_merge_job_1250.task_000026".intermediate_column_1250_4 FROM (pg_merge_job_1250.task_000026 "pg_merge_job_1250.task_000026" JOIN part_280002 part ON (("pg_merge_job_1250.task_000026".intermediate_column_1250_0 = part.p_partkey))) WHERE (part.p_size > 8)"
DEBUG: pruning merge fetch taskId 1 DEBUG: pruning merge fetch taskId 1
DETAIL: Creating dependency on merge taskId 19 DETAIL: Creating dependency on merge taskId 19
DEBUG: pruning merge fetch taskId 4 DEBUG: pruning merge fetch taskId 4
@ -88,11 +90,11 @@ DEBUG: join prunable for intervals [1001,2000] and [6001,7000]
DEBUG: join prunable for intervals [6001,7000] and [1,1000] DEBUG: join prunable for intervals [6001,7000] and [1,1000]
DEBUG: join prunable for intervals [6001,7000] and [1001,2000] DEBUG: join prunable for intervals [6001,7000] and [1001,2000]
DEBUG: generated sql query for job 1252 and task 3 DEBUG: generated sql query for job 1252 and task 3
DETAIL: query string: "SELECT "pg_merge_job_1251.task_000007".intermediate_column_1251_0 AS l_partkey, "pg_merge_job_1251.task_000007".intermediate_column_1251_1 AS o_orderkey, count(*) AS count FROM (pg_merge_job_1251.task_000007 "pg_merge_job_1251.task_000007" JOIN customer_102017 customer ON ((customer.c_custkey = "pg_merge_job_1251.task_000007".intermediate_column_1251_4))) WHERE ((("pg_merge_job_1251.task_000007".intermediate_column_1251_2 > 5.0) OR ("pg_merge_job_1251.task_000007".intermediate_column_1251_3 > 1200.0)) AND (customer.c_acctbal < 5000.0)) GROUP BY "pg_merge_job_1251.task_000007".intermediate_column_1251_0, "pg_merge_job_1251.task_000007".intermediate_column_1251_1 ORDER BY "pg_merge_job_1251.task_000007".intermediate_column_1251_0, "pg_merge_job_1251.task_000007".intermediate_column_1251_1, "pg_merge_job_1251.task_000007".intermediate_column_1251_0, "pg_merge_job_1251.task_000007".intermediate_column_1251_1 LIMIT '30'::bigint" DETAIL: query string: "SELECT "pg_merge_job_1251.task_000007".intermediate_column_1251_0 AS l_partkey, "pg_merge_job_1251.task_000007".intermediate_column_1251_1 AS o_orderkey, count(*) AS count FROM (pg_merge_job_1251.task_000007 "pg_merge_job_1251.task_000007" JOIN customer_290008 customer ON ((customer.c_custkey = "pg_merge_job_1251.task_000007".intermediate_column_1251_4))) WHERE ((("pg_merge_job_1251.task_000007".intermediate_column_1251_2 > 5.0) OR ("pg_merge_job_1251.task_000007".intermediate_column_1251_3 > 1200.0)) AND (customer.c_acctbal < 5000.0)) GROUP BY "pg_merge_job_1251.task_000007".intermediate_column_1251_0, "pg_merge_job_1251.task_000007".intermediate_column_1251_1 ORDER BY "pg_merge_job_1251.task_000007".intermediate_column_1251_0, "pg_merge_job_1251.task_000007".intermediate_column_1251_1, "pg_merge_job_1251.task_000007".intermediate_column_1251_0, "pg_merge_job_1251.task_000007".intermediate_column_1251_1 LIMIT '30'::bigint"
DEBUG: generated sql query for job 1252 and task 6 DEBUG: generated sql query for job 1252 and task 6
DETAIL: query string: "SELECT "pg_merge_job_1251.task_000010".intermediate_column_1251_0 AS l_partkey, "pg_merge_job_1251.task_000010".intermediate_column_1251_1 AS o_orderkey, count(*) AS count FROM (pg_merge_job_1251.task_000010 "pg_merge_job_1251.task_000010" JOIN customer_102043 customer ON ((customer.c_custkey = "pg_merge_job_1251.task_000010".intermediate_column_1251_4))) WHERE ((("pg_merge_job_1251.task_000010".intermediate_column_1251_2 > 5.0) OR ("pg_merge_job_1251.task_000010".intermediate_column_1251_3 > 1200.0)) AND (customer.c_acctbal < 5000.0)) GROUP BY "pg_merge_job_1251.task_000010".intermediate_column_1251_0, "pg_merge_job_1251.task_000010".intermediate_column_1251_1 ORDER BY "pg_merge_job_1251.task_000010".intermediate_column_1251_0, "pg_merge_job_1251.task_000010".intermediate_column_1251_1, "pg_merge_job_1251.task_000010".intermediate_column_1251_0, "pg_merge_job_1251.task_000010".intermediate_column_1251_1 LIMIT '30'::bigint" DETAIL: query string: "SELECT "pg_merge_job_1251.task_000010".intermediate_column_1251_0 AS l_partkey, "pg_merge_job_1251.task_000010".intermediate_column_1251_1 AS o_orderkey, count(*) AS count FROM (pg_merge_job_1251.task_000010 "pg_merge_job_1251.task_000010" JOIN customer_280001 customer ON ((customer.c_custkey = "pg_merge_job_1251.task_000010".intermediate_column_1251_4))) WHERE ((("pg_merge_job_1251.task_000010".intermediate_column_1251_2 > 5.0) OR ("pg_merge_job_1251.task_000010".intermediate_column_1251_3 > 1200.0)) AND (customer.c_acctbal < 5000.0)) GROUP BY "pg_merge_job_1251.task_000010".intermediate_column_1251_0, "pg_merge_job_1251.task_000010".intermediate_column_1251_1 ORDER BY "pg_merge_job_1251.task_000010".intermediate_column_1251_0, "pg_merge_job_1251.task_000010".intermediate_column_1251_1, "pg_merge_job_1251.task_000010".intermediate_column_1251_0, "pg_merge_job_1251.task_000010".intermediate_column_1251_1 LIMIT '30'::bigint"
DEBUG: generated sql query for job 1252 and task 9 DEBUG: generated sql query for job 1252 and task 9
DETAIL: query string: "SELECT "pg_merge_job_1251.task_000013".intermediate_column_1251_0 AS l_partkey, "pg_merge_job_1251.task_000013".intermediate_column_1251_1 AS o_orderkey, count(*) AS count FROM (pg_merge_job_1251.task_000013 "pg_merge_job_1251.task_000013" JOIN customer_102042 customer ON ((customer.c_custkey = "pg_merge_job_1251.task_000013".intermediate_column_1251_4))) WHERE ((("pg_merge_job_1251.task_000013".intermediate_column_1251_2 > 5.0) OR ("pg_merge_job_1251.task_000013".intermediate_column_1251_3 > 1200.0)) AND (customer.c_acctbal < 5000.0)) GROUP BY "pg_merge_job_1251.task_000013".intermediate_column_1251_0, "pg_merge_job_1251.task_000013".intermediate_column_1251_1 ORDER BY "pg_merge_job_1251.task_000013".intermediate_column_1251_0, "pg_merge_job_1251.task_000013".intermediate_column_1251_1, "pg_merge_job_1251.task_000013".intermediate_column_1251_0, "pg_merge_job_1251.task_000013".intermediate_column_1251_1 LIMIT '30'::bigint" DETAIL: query string: "SELECT "pg_merge_job_1251.task_000013".intermediate_column_1251_0 AS l_partkey, "pg_merge_job_1251.task_000013".intermediate_column_1251_1 AS o_orderkey, count(*) AS count FROM (pg_merge_job_1251.task_000013 "pg_merge_job_1251.task_000013" JOIN customer_280000 customer ON ((customer.c_custkey = "pg_merge_job_1251.task_000013".intermediate_column_1251_4))) WHERE ((("pg_merge_job_1251.task_000013".intermediate_column_1251_2 > 5.0) OR ("pg_merge_job_1251.task_000013".intermediate_column_1251_3 > 1200.0)) AND (customer.c_acctbal < 5000.0)) GROUP BY "pg_merge_job_1251.task_000013".intermediate_column_1251_0, "pg_merge_job_1251.task_000013".intermediate_column_1251_1 ORDER BY "pg_merge_job_1251.task_000013".intermediate_column_1251_0, "pg_merge_job_1251.task_000013".intermediate_column_1251_1, "pg_merge_job_1251.task_000013".intermediate_column_1251_0, "pg_merge_job_1251.task_000013".intermediate_column_1251_1 LIMIT '30'::bigint"
DEBUG: pruning merge fetch taskId 1 DEBUG: pruning merge fetch taskId 1
DETAIL: Creating dependency on merge taskId 7 DETAIL: Creating dependency on merge taskId 7
DEBUG: pruning merge fetch taskId 4 DEBUG: pruning merge fetch taskId 4
@ -100,8 +102,8 @@ DETAIL: Creating dependency on merge taskId 10
DEBUG: pruning merge fetch taskId 7 DEBUG: pruning merge fetch taskId 7
DETAIL: Creating dependency on merge taskId 13 DETAIL: Creating dependency on merge taskId 13
DEBUG: assigned task 9 to node localhost:57637 DEBUG: assigned task 9 to node localhost:57637
DEBUG: assigned task 3 to node localhost:57638 DEBUG: assigned task 6 to node localhost:57638
DEBUG: assigned task 6 to node localhost:57637 DEBUG: assigned task 3 to node localhost:57637
DEBUG: completed cleanup query for job 1252 on node "localhost:57638" DEBUG: completed cleanup query for job 1252 on node "localhost:57638"
DEBUG: completed cleanup query for job 1252 on node "localhost:57637" DEBUG: completed cleanup query for job 1252 on node "localhost:57637"
DEBUG: completed cleanup query for job 1251 on node "localhost:57638" DEBUG: completed cleanup query for job 1251 on node "localhost:57638"
@ -156,29 +158,29 @@ ORDER BY
l_partkey, o_orderkey; l_partkey, o_orderkey;
DEBUG: StartTransactionCommand DEBUG: StartTransactionCommand
DEBUG: generated sql query for job 1253 and task 2 DEBUG: generated sql query for job 1253 and task 2
DETAIL: query string: "SELECT l_partkey, l_suppkey FROM lineitem_102009 lineitem WHERE (l_quantity < 5.0)" DETAIL: query string: "SELECT l_partkey, l_suppkey FROM lineitem_290000 lineitem WHERE (l_quantity < 5.0)"
DEBUG: generated sql query for job 1253 and task 4 DEBUG: generated sql query for job 1253 and task 4
DETAIL: query string: "SELECT l_partkey, l_suppkey FROM lineitem_102010 lineitem WHERE (l_quantity < 5.0)" DETAIL: query string: "SELECT l_partkey, l_suppkey FROM lineitem_290001 lineitem WHERE (l_quantity < 5.0)"
DEBUG: generated sql query for job 1253 and task 6 DEBUG: generated sql query for job 1253 and task 6
DETAIL: query string: "SELECT l_partkey, l_suppkey FROM lineitem_102011 lineitem WHERE (l_quantity < 5.0)" DETAIL: query string: "SELECT l_partkey, l_suppkey FROM lineitem_290002 lineitem WHERE (l_quantity < 5.0)"
DEBUG: generated sql query for job 1253 and task 8 DEBUG: generated sql query for job 1253 and task 8
DETAIL: query string: "SELECT l_partkey, l_suppkey FROM lineitem_102012 lineitem WHERE (l_quantity < 5.0)" DETAIL: query string: "SELECT l_partkey, l_suppkey FROM lineitem_290003 lineitem WHERE (l_quantity < 5.0)"
DEBUG: generated sql query for job 1253 and task 10 DEBUG: generated sql query for job 1253 and task 10
DETAIL: query string: "SELECT l_partkey, l_suppkey FROM lineitem_102013 lineitem WHERE (l_quantity < 5.0)" DETAIL: query string: "SELECT l_partkey, l_suppkey FROM lineitem_290004 lineitem WHERE (l_quantity < 5.0)"
DEBUG: generated sql query for job 1253 and task 12 DEBUG: generated sql query for job 1253 and task 12
DETAIL: query string: "SELECT l_partkey, l_suppkey FROM lineitem_102014 lineitem WHERE (l_quantity < 5.0)" DETAIL: query string: "SELECT l_partkey, l_suppkey FROM lineitem_290005 lineitem WHERE (l_quantity < 5.0)"
DEBUG: assigned task 4 to node localhost:57637 DEBUG: assigned task 2 to node localhost:57637
DEBUG: assigned task 2 to node localhost:57638 DEBUG: assigned task 4 to node localhost:57638
DEBUG: assigned task 8 to node localhost:57637 DEBUG: assigned task 6 to node localhost:57637
DEBUG: assigned task 6 to node localhost:57638 DEBUG: assigned task 8 to node localhost:57638
DEBUG: assigned task 12 to node localhost:57637 DEBUG: assigned task 10 to node localhost:57637
DEBUG: assigned task 10 to node localhost:57638 DEBUG: assigned task 12 to node localhost:57638
DEBUG: generated sql query for job 1254 and task 2 DEBUG: generated sql query for job 1254 and task 2
DETAIL: query string: "SELECT o_orderkey, o_shippriority FROM orders_102015 orders WHERE (o_totalprice <> 4.0)" DETAIL: query string: "SELECT o_orderkey, o_shippriority FROM orders_290006 orders WHERE (o_totalprice <> 4.0)"
DEBUG: generated sql query for job 1254 and task 4 DEBUG: generated sql query for job 1254 and task 4
DETAIL: query string: "SELECT o_orderkey, o_shippriority FROM orders_102016 orders WHERE (o_totalprice <> 4.0)" DETAIL: query string: "SELECT o_orderkey, o_shippriority FROM orders_290007 orders WHERE (o_totalprice <> 4.0)"
DEBUG: assigned task 4 to node localhost:57637 DEBUG: assigned task 2 to node localhost:57637
DEBUG: assigned task 2 to node localhost:57638 DEBUG: assigned task 4 to node localhost:57638
DEBUG: join prunable for task partitionId 0 and 1 DEBUG: join prunable for task partitionId 0 and 1
DEBUG: join prunable for task partitionId 0 and 2 DEBUG: join prunable for task partitionId 0 and 2
DEBUG: join prunable for task partitionId 0 and 3 DEBUG: join prunable for task partitionId 0 and 3

View File

@ -5,6 +5,8 @@
-- transaction block here so that we don't emit debug messages with changing -- transaction block here so that we don't emit debug messages with changing
-- transaction ids in them. Also, we set the executor type to task tracker -- transaction ids in them. Also, we set the executor type to task tracker
-- executor here, as we cannot run repartition jobs with real time executor. -- executor here, as we cannot run repartition jobs with real time executor.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 690000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 690000;
BEGIN; BEGIN;
SET client_min_messages TO DEBUG4; SET client_min_messages TO DEBUG4;
DEBUG: CommitTransactionCommand DEBUG: CommitTransactionCommand
@ -52,29 +54,29 @@ DEBUG: join prunable for intervals [8997,11554] and [1,5986]
DEBUG: join prunable for intervals [11554,13920] and [1,5986] DEBUG: join prunable for intervals [11554,13920] and [1,5986]
DEBUG: join prunable for intervals [13921,14947] and [1,5986] DEBUG: join prunable for intervals [13921,14947] and [1,5986]
DEBUG: generated sql query for job 1250 and task 3 DEBUG: generated sql query for job 1250 and task 3
DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_102009 lineitem JOIN orders_102015 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE (orders.o_totalprice > 10::numeric)" DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_290000 lineitem JOIN orders_290006 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE (orders.o_totalprice > 10::numeric)"
DEBUG: generated sql query for job 1250 and task 6 DEBUG: generated sql query for job 1250 and task 6
DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_102010 lineitem JOIN orders_102015 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE (orders.o_totalprice > 10::numeric)" DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_290001 lineitem JOIN orders_290006 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE (orders.o_totalprice > 10::numeric)"
DEBUG: generated sql query for job 1250 and task 9 DEBUG: generated sql query for job 1250 and task 9
DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_102011 lineitem JOIN orders_102015 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE (orders.o_totalprice > 10::numeric)" DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_290002 lineitem JOIN orders_290006 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE (orders.o_totalprice > 10::numeric)"
DEBUG: generated sql query for job 1250 and task 12 DEBUG: generated sql query for job 1250 and task 12
DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_102012 lineitem JOIN orders_102016 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE (orders.o_totalprice > 10::numeric)" DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_290003 lineitem JOIN orders_290007 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE (orders.o_totalprice > 10::numeric)"
DEBUG: generated sql query for job 1250 and task 15 DEBUG: generated sql query for job 1250 and task 15
DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_102013 lineitem JOIN orders_102016 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE (orders.o_totalprice > 10::numeric)" DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_290004 lineitem JOIN orders_290007 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE (orders.o_totalprice > 10::numeric)"
DEBUG: generated sql query for job 1250 and task 18 DEBUG: generated sql query for job 1250 and task 18
DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_102014 lineitem JOIN orders_102016 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE (orders.o_totalprice > 10::numeric)" DETAIL: query string: "SELECT lineitem.l_partkey, orders.o_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, orders.o_custkey FROM (lineitem_290005 lineitem JOIN orders_290007 orders ON ((lineitem.l_orderkey = orders.o_orderkey))) WHERE (orders.o_totalprice > 10::numeric)"
DEBUG: assigned task 6 to node localhost:57637 DEBUG: assigned task 3 to node localhost:57637
DEBUG: assigned task 3 to node localhost:57638 DEBUG: assigned task 6 to node localhost:57638
DEBUG: assigned task 12 to node localhost:57637 DEBUG: assigned task 9 to node localhost:57637
DEBUG: assigned task 9 to node localhost:57638 DEBUG: assigned task 12 to node localhost:57638
DEBUG: assigned task 18 to node localhost:57637 DEBUG: assigned task 15 to node localhost:57637
DEBUG: assigned task 15 to node localhost:57638 DEBUG: assigned task 18 to node localhost:57638
DEBUG: join prunable for intervals [1,1000] and [6001,7000] DEBUG: join prunable for intervals [1,1000] and [6001,7000]
DEBUG: join prunable for intervals [6001,7000] and [1,1000] DEBUG: join prunable for intervals [6001,7000] and [1,1000]
DEBUG: generated sql query for job 1251 and task 3 DEBUG: generated sql query for job 1251 and task 3
DETAIL: query string: "SELECT "pg_merge_job_1250.task_000019".intermediate_column_1250_0, "pg_merge_job_1250.task_000019".intermediate_column_1250_1, "pg_merge_job_1250.task_000019".intermediate_column_1250_2, "pg_merge_job_1250.task_000019".intermediate_column_1250_3, "pg_merge_job_1250.task_000019".intermediate_column_1250_4 FROM (pg_merge_job_1250.task_000019 "pg_merge_job_1250.task_000019" JOIN part_102019 part ON (("pg_merge_job_1250.task_000019".intermediate_column_1250_0 = part.p_partkey))) WHERE (part.p_size > 8)" DETAIL: query string: "SELECT "pg_merge_job_1250.task_000019".intermediate_column_1250_0, "pg_merge_job_1250.task_000019".intermediate_column_1250_1, "pg_merge_job_1250.task_000019".intermediate_column_1250_2, "pg_merge_job_1250.task_000019".intermediate_column_1250_3, "pg_merge_job_1250.task_000019".intermediate_column_1250_4 FROM (pg_merge_job_1250.task_000019 "pg_merge_job_1250.task_000019" JOIN part_290010 part ON (("pg_merge_job_1250.task_000019".intermediate_column_1250_0 = part.p_partkey))) WHERE (part.p_size > 8)"
DEBUG: generated sql query for job 1251 and task 6 DEBUG: generated sql query for job 1251 and task 6
DETAIL: query string: "SELECT "pg_merge_job_1250.task_000026".intermediate_column_1250_0, "pg_merge_job_1250.task_000026".intermediate_column_1250_1, "pg_merge_job_1250.task_000026".intermediate_column_1250_2, "pg_merge_job_1250.task_000026".intermediate_column_1250_3, "pg_merge_job_1250.task_000026".intermediate_column_1250_4 FROM (pg_merge_job_1250.task_000026 "pg_merge_job_1250.task_000026" JOIN part_102044 part ON (("pg_merge_job_1250.task_000026".intermediate_column_1250_0 = part.p_partkey))) WHERE (part.p_size > 8)" DETAIL: query string: "SELECT "pg_merge_job_1250.task_000026".intermediate_column_1250_0, "pg_merge_job_1250.task_000026".intermediate_column_1250_1, "pg_merge_job_1250.task_000026".intermediate_column_1250_2, "pg_merge_job_1250.task_000026".intermediate_column_1250_3, "pg_merge_job_1250.task_000026".intermediate_column_1250_4 FROM (pg_merge_job_1250.task_000026 "pg_merge_job_1250.task_000026" JOIN part_280002 part ON (("pg_merge_job_1250.task_000026".intermediate_column_1250_0 = part.p_partkey))) WHERE (part.p_size > 8)"
DEBUG: pruning merge fetch taskId 1 DEBUG: pruning merge fetch taskId 1
DETAIL: Creating dependency on merge taskId 19 DETAIL: Creating dependency on merge taskId 19
DEBUG: pruning merge fetch taskId 4 DEBUG: pruning merge fetch taskId 4
@ -88,11 +90,11 @@ DEBUG: join prunable for intervals [1001,2000] and [6001,7000]
DEBUG: join prunable for intervals [6001,7000] and [1,1000] DEBUG: join prunable for intervals [6001,7000] and [1,1000]
DEBUG: join prunable for intervals [6001,7000] and [1001,2000] DEBUG: join prunable for intervals [6001,7000] and [1001,2000]
DEBUG: generated sql query for job 1252 and task 3 DEBUG: generated sql query for job 1252 and task 3
DETAIL: query string: "SELECT "pg_merge_job_1251.task_000007".intermediate_column_1251_0 AS l_partkey, "pg_merge_job_1251.task_000007".intermediate_column_1251_1 AS o_orderkey, count(*) AS count FROM (pg_merge_job_1251.task_000007 "pg_merge_job_1251.task_000007" JOIN customer_102017 customer ON ((customer.c_custkey = "pg_merge_job_1251.task_000007".intermediate_column_1251_4))) WHERE ((("pg_merge_job_1251.task_000007".intermediate_column_1251_2 > 5.0) OR ("pg_merge_job_1251.task_000007".intermediate_column_1251_3 > 1200.0)) AND (customer.c_acctbal < 5000.0)) GROUP BY "pg_merge_job_1251.task_000007".intermediate_column_1251_0, "pg_merge_job_1251.task_000007".intermediate_column_1251_1 ORDER BY "pg_merge_job_1251.task_000007".intermediate_column_1251_0, "pg_merge_job_1251.task_000007".intermediate_column_1251_1, "pg_merge_job_1251.task_000007".intermediate_column_1251_0, "pg_merge_job_1251.task_000007".intermediate_column_1251_1 LIMIT 30::bigint" DETAIL: query string: "SELECT "pg_merge_job_1251.task_000007".intermediate_column_1251_0 AS l_partkey, "pg_merge_job_1251.task_000007".intermediate_column_1251_1 AS o_orderkey, count(*) AS count FROM (pg_merge_job_1251.task_000007 "pg_merge_job_1251.task_000007" JOIN customer_290008 customer ON ((customer.c_custkey = "pg_merge_job_1251.task_000007".intermediate_column_1251_4))) WHERE ((("pg_merge_job_1251.task_000007".intermediate_column_1251_2 > 5.0) OR ("pg_merge_job_1251.task_000007".intermediate_column_1251_3 > 1200.0)) AND (customer.c_acctbal < 5000.0)) GROUP BY "pg_merge_job_1251.task_000007".intermediate_column_1251_0, "pg_merge_job_1251.task_000007".intermediate_column_1251_1 ORDER BY "pg_merge_job_1251.task_000007".intermediate_column_1251_0, "pg_merge_job_1251.task_000007".intermediate_column_1251_1, "pg_merge_job_1251.task_000007".intermediate_column_1251_0, "pg_merge_job_1251.task_000007".intermediate_column_1251_1 LIMIT 30::bigint"
DEBUG: generated sql query for job 1252 and task 6 DEBUG: generated sql query for job 1252 and task 6
DETAIL: query string: "SELECT "pg_merge_job_1251.task_000010".intermediate_column_1251_0 AS l_partkey, "pg_merge_job_1251.task_000010".intermediate_column_1251_1 AS o_orderkey, count(*) AS count FROM (pg_merge_job_1251.task_000010 "pg_merge_job_1251.task_000010" JOIN customer_102043 customer ON ((customer.c_custkey = "pg_merge_job_1251.task_000010".intermediate_column_1251_4))) WHERE ((("pg_merge_job_1251.task_000010".intermediate_column_1251_2 > 5.0) OR ("pg_merge_job_1251.task_000010".intermediate_column_1251_3 > 1200.0)) AND (customer.c_acctbal < 5000.0)) GROUP BY "pg_merge_job_1251.task_000010".intermediate_column_1251_0, "pg_merge_job_1251.task_000010".intermediate_column_1251_1 ORDER BY "pg_merge_job_1251.task_000010".intermediate_column_1251_0, "pg_merge_job_1251.task_000010".intermediate_column_1251_1, "pg_merge_job_1251.task_000010".intermediate_column_1251_0, "pg_merge_job_1251.task_000010".intermediate_column_1251_1 LIMIT 30::bigint" DETAIL: query string: "SELECT "pg_merge_job_1251.task_000010".intermediate_column_1251_0 AS l_partkey, "pg_merge_job_1251.task_000010".intermediate_column_1251_1 AS o_orderkey, count(*) AS count FROM (pg_merge_job_1251.task_000010 "pg_merge_job_1251.task_000010" JOIN customer_280001 customer ON ((customer.c_custkey = "pg_merge_job_1251.task_000010".intermediate_column_1251_4))) WHERE ((("pg_merge_job_1251.task_000010".intermediate_column_1251_2 > 5.0) OR ("pg_merge_job_1251.task_000010".intermediate_column_1251_3 > 1200.0)) AND (customer.c_acctbal < 5000.0)) GROUP BY "pg_merge_job_1251.task_000010".intermediate_column_1251_0, "pg_merge_job_1251.task_000010".intermediate_column_1251_1 ORDER BY "pg_merge_job_1251.task_000010".intermediate_column_1251_0, "pg_merge_job_1251.task_000010".intermediate_column_1251_1, "pg_merge_job_1251.task_000010".intermediate_column_1251_0, "pg_merge_job_1251.task_000010".intermediate_column_1251_1 LIMIT 30::bigint"
DEBUG: generated sql query for job 1252 and task 9 DEBUG: generated sql query for job 1252 and task 9
DETAIL: query string: "SELECT "pg_merge_job_1251.task_000013".intermediate_column_1251_0 AS l_partkey, "pg_merge_job_1251.task_000013".intermediate_column_1251_1 AS o_orderkey, count(*) AS count FROM (pg_merge_job_1251.task_000013 "pg_merge_job_1251.task_000013" JOIN customer_102042 customer ON ((customer.c_custkey = "pg_merge_job_1251.task_000013".intermediate_column_1251_4))) WHERE ((("pg_merge_job_1251.task_000013".intermediate_column_1251_2 > 5.0) OR ("pg_merge_job_1251.task_000013".intermediate_column_1251_3 > 1200.0)) AND (customer.c_acctbal < 5000.0)) GROUP BY "pg_merge_job_1251.task_000013".intermediate_column_1251_0, "pg_merge_job_1251.task_000013".intermediate_column_1251_1 ORDER BY "pg_merge_job_1251.task_000013".intermediate_column_1251_0, "pg_merge_job_1251.task_000013".intermediate_column_1251_1, "pg_merge_job_1251.task_000013".intermediate_column_1251_0, "pg_merge_job_1251.task_000013".intermediate_column_1251_1 LIMIT 30::bigint" DETAIL: query string: "SELECT "pg_merge_job_1251.task_000013".intermediate_column_1251_0 AS l_partkey, "pg_merge_job_1251.task_000013".intermediate_column_1251_1 AS o_orderkey, count(*) AS count FROM (pg_merge_job_1251.task_000013 "pg_merge_job_1251.task_000013" JOIN customer_280000 customer ON ((customer.c_custkey = "pg_merge_job_1251.task_000013".intermediate_column_1251_4))) WHERE ((("pg_merge_job_1251.task_000013".intermediate_column_1251_2 > 5.0) OR ("pg_merge_job_1251.task_000013".intermediate_column_1251_3 > 1200.0)) AND (customer.c_acctbal < 5000.0)) GROUP BY "pg_merge_job_1251.task_000013".intermediate_column_1251_0, "pg_merge_job_1251.task_000013".intermediate_column_1251_1 ORDER BY "pg_merge_job_1251.task_000013".intermediate_column_1251_0, "pg_merge_job_1251.task_000013".intermediate_column_1251_1, "pg_merge_job_1251.task_000013".intermediate_column_1251_0, "pg_merge_job_1251.task_000013".intermediate_column_1251_1 LIMIT 30::bigint"
DEBUG: pruning merge fetch taskId 1 DEBUG: pruning merge fetch taskId 1
DETAIL: Creating dependency on merge taskId 7 DETAIL: Creating dependency on merge taskId 7
DEBUG: pruning merge fetch taskId 4 DEBUG: pruning merge fetch taskId 4
@ -100,8 +102,8 @@ DETAIL: Creating dependency on merge taskId 10
DEBUG: pruning merge fetch taskId 7 DEBUG: pruning merge fetch taskId 7
DETAIL: Creating dependency on merge taskId 13 DETAIL: Creating dependency on merge taskId 13
DEBUG: assigned task 9 to node localhost:57637 DEBUG: assigned task 9 to node localhost:57637
DEBUG: assigned task 3 to node localhost:57638 DEBUG: assigned task 6 to node localhost:57638
DEBUG: assigned task 6 to node localhost:57637 DEBUG: assigned task 3 to node localhost:57637
DEBUG: completed cleanup query for job 1252 on node "localhost:57638" DEBUG: completed cleanup query for job 1252 on node "localhost:57638"
DEBUG: completed cleanup query for job 1252 on node "localhost:57637" DEBUG: completed cleanup query for job 1252 on node "localhost:57637"
DEBUG: completed cleanup query for job 1251 on node "localhost:57638" DEBUG: completed cleanup query for job 1251 on node "localhost:57638"
@ -156,29 +158,29 @@ ORDER BY
l_partkey, o_orderkey; l_partkey, o_orderkey;
DEBUG: StartTransactionCommand DEBUG: StartTransactionCommand
DEBUG: generated sql query for job 1253 and task 2 DEBUG: generated sql query for job 1253 and task 2
DETAIL: query string: "SELECT l_partkey, l_suppkey FROM lineitem_102009 lineitem WHERE (l_quantity < 5.0)" DETAIL: query string: "SELECT l_partkey, l_suppkey FROM lineitem_290000 lineitem WHERE (l_quantity < 5.0)"
DEBUG: generated sql query for job 1253 and task 4 DEBUG: generated sql query for job 1253 and task 4
DETAIL: query string: "SELECT l_partkey, l_suppkey FROM lineitem_102010 lineitem WHERE (l_quantity < 5.0)" DETAIL: query string: "SELECT l_partkey, l_suppkey FROM lineitem_290001 lineitem WHERE (l_quantity < 5.0)"
DEBUG: generated sql query for job 1253 and task 6 DEBUG: generated sql query for job 1253 and task 6
DETAIL: query string: "SELECT l_partkey, l_suppkey FROM lineitem_102011 lineitem WHERE (l_quantity < 5.0)" DETAIL: query string: "SELECT l_partkey, l_suppkey FROM lineitem_290002 lineitem WHERE (l_quantity < 5.0)"
DEBUG: generated sql query for job 1253 and task 8 DEBUG: generated sql query for job 1253 and task 8
DETAIL: query string: "SELECT l_partkey, l_suppkey FROM lineitem_102012 lineitem WHERE (l_quantity < 5.0)" DETAIL: query string: "SELECT l_partkey, l_suppkey FROM lineitem_290003 lineitem WHERE (l_quantity < 5.0)"
DEBUG: generated sql query for job 1253 and task 10 DEBUG: generated sql query for job 1253 and task 10
DETAIL: query string: "SELECT l_partkey, l_suppkey FROM lineitem_102013 lineitem WHERE (l_quantity < 5.0)" DETAIL: query string: "SELECT l_partkey, l_suppkey FROM lineitem_290004 lineitem WHERE (l_quantity < 5.0)"
DEBUG: generated sql query for job 1253 and task 12 DEBUG: generated sql query for job 1253 and task 12
DETAIL: query string: "SELECT l_partkey, l_suppkey FROM lineitem_102014 lineitem WHERE (l_quantity < 5.0)" DETAIL: query string: "SELECT l_partkey, l_suppkey FROM lineitem_290005 lineitem WHERE (l_quantity < 5.0)"
DEBUG: assigned task 4 to node localhost:57637 DEBUG: assigned task 2 to node localhost:57637
DEBUG: assigned task 2 to node localhost:57638 DEBUG: assigned task 4 to node localhost:57638
DEBUG: assigned task 8 to node localhost:57637 DEBUG: assigned task 6 to node localhost:57637
DEBUG: assigned task 6 to node localhost:57638 DEBUG: assigned task 8 to node localhost:57638
DEBUG: assigned task 12 to node localhost:57637 DEBUG: assigned task 10 to node localhost:57637
DEBUG: assigned task 10 to node localhost:57638 DEBUG: assigned task 12 to node localhost:57638
DEBUG: generated sql query for job 1254 and task 2 DEBUG: generated sql query for job 1254 and task 2
DETAIL: query string: "SELECT o_orderkey, o_shippriority FROM orders_102015 orders WHERE (o_totalprice <> 4.0)" DETAIL: query string: "SELECT o_orderkey, o_shippriority FROM orders_290006 orders WHERE (o_totalprice <> 4.0)"
DEBUG: generated sql query for job 1254 and task 4 DEBUG: generated sql query for job 1254 and task 4
DETAIL: query string: "SELECT o_orderkey, o_shippriority FROM orders_102016 orders WHERE (o_totalprice <> 4.0)" DETAIL: query string: "SELECT o_orderkey, o_shippriority FROM orders_290007 orders WHERE (o_totalprice <> 4.0)"
DEBUG: assigned task 4 to node localhost:57637 DEBUG: assigned task 2 to node localhost:57637
DEBUG: assigned task 2 to node localhost:57638 DEBUG: assigned task 4 to node localhost:57638
DEBUG: join prunable for task partitionId 0 and 1 DEBUG: join prunable for task partitionId 0 and 1
DEBUG: join prunable for task partitionId 0 and 2 DEBUG: join prunable for task partitionId 0 and 2
DEBUG: join prunable for task partitionId 0 and 3 DEBUG: join prunable for task partitionId 0 and 3

View File

@ -4,6 +4,8 @@
-- Tests covering partition and join-pruning for large table joins. Note that we -- Tests covering partition and join-pruning for large table joins. Note that we
-- set executor type to task tracker executor here, as we cannot run repartition -- set executor type to task tracker executor here, as we cannot run repartition
-- jobs with real time executor. -- jobs with real time executor.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 700000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 700000;
SET citus.large_table_shard_count TO 2; SET citus.large_table_shard_count TO 2;
SET client_min_messages TO DEBUG2; SET client_min_messages TO DEBUG2;
SET citus.task_executor_type TO 'task-tracker'; SET citus.task_executor_type TO 'task-tracker';
@ -40,8 +42,8 @@ FROM
WHERE WHERE
o_custkey = c_custkey AND o_custkey = c_custkey AND
o_orderkey < 0; o_orderkey < 0;
DEBUG: predicate pruning for shardId 102015 DEBUG: predicate pruning for shardId 290006
DEBUG: predicate pruning for shardId 102016 DEBUG: predicate pruning for shardId 290007
count count
------- -------
@ -56,9 +58,9 @@ FROM
WHERE WHERE
o_custkey = c_custkey AND o_custkey = c_custkey AND
c_custkey < 0; c_custkey < 0;
DEBUG: predicate pruning for shardId 102017 DEBUG: predicate pruning for shardId 290008
DEBUG: predicate pruning for shardId 102043 DEBUG: predicate pruning for shardId 280001
DEBUG: predicate pruning for shardId 102042 DEBUG: predicate pruning for shardId 280000
count count
------- -------
@ -115,12 +117,12 @@ FROM
WHERE WHERE
l_partkey = c_nationkey AND l_partkey = c_nationkey AND
l_orderkey < 0; l_orderkey < 0;
DEBUG: predicate pruning for shardId 102009 DEBUG: predicate pruning for shardId 290000
DEBUG: predicate pruning for shardId 102010 DEBUG: predicate pruning for shardId 290001
DEBUG: predicate pruning for shardId 102011 DEBUG: predicate pruning for shardId 290002
DEBUG: predicate pruning for shardId 102012 DEBUG: predicate pruning for shardId 290003
DEBUG: predicate pruning for shardId 102013 DEBUG: predicate pruning for shardId 290004
DEBUG: predicate pruning for shardId 102014 DEBUG: predicate pruning for shardId 290005
count count
------- -------

View File

@ -5,6 +5,8 @@
-- and dual hash repartition joins. The tests also cover task assignment propagation -- and dual hash repartition joins. The tests also cover task assignment propagation
-- from a sql task to its depended tasks. Note that we set the executor type to task -- from a sql task to its depended tasks. Note that we set the executor type to task
-- tracker executor here, as we cannot run repartition jobs with real time executor. -- tracker executor here, as we cannot run repartition jobs with real time executor.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 710000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 710000;
BEGIN; BEGIN;
SET client_min_messages TO DEBUG3; SET client_min_messages TO DEBUG3;
DEBUG: CommitTransactionCommand DEBUG: CommitTransactionCommand
@ -25,8 +27,8 @@ FROM
WHERE WHERE
o_custkey = c_custkey; o_custkey = c_custkey;
DEBUG: StartTransactionCommand DEBUG: StartTransactionCommand
DEBUG: assigned task 4 to node localhost:57637 DEBUG: assigned task 2 to node localhost:57637
DEBUG: assigned task 2 to node localhost:57638 DEBUG: assigned task 4 to node localhost:57638
DEBUG: join prunable for intervals [1,1000] and [1001,2000] DEBUG: join prunable for intervals [1,1000] and [1001,2000]
DEBUG: join prunable for intervals [1,1000] and [6001,7000] DEBUG: join prunable for intervals [1,1000] and [6001,7000]
DEBUG: join prunable for intervals [1001,2000] and [1,1000] DEBUG: join prunable for intervals [1001,2000] and [1,1000]
@ -40,8 +42,8 @@ DETAIL: Creating dependency on merge taskId 8
DEBUG: pruning merge fetch taskId 7 DEBUG: pruning merge fetch taskId 7
DETAIL: Creating dependency on merge taskId 11 DETAIL: Creating dependency on merge taskId 11
DEBUG: assigned task 9 to node localhost:57637 DEBUG: assigned task 9 to node localhost:57637
DEBUG: assigned task 3 to node localhost:57638 DEBUG: assigned task 6 to node localhost:57638
DEBUG: assigned task 6 to node localhost:57637 DEBUG: assigned task 3 to node localhost:57637
DEBUG: CommitTransactionCommand DEBUG: CommitTransactionCommand
count count
------- -------
@ -65,11 +67,11 @@ WHERE
o_orderkey = l_orderkey; o_orderkey = l_orderkey;
DEBUG: StartTransactionCommand DEBUG: StartTransactionCommand
DEBUG: assigned task 15 to node localhost:57637 DEBUG: assigned task 15 to node localhost:57637
DEBUG: assigned task 3 to node localhost:57638 DEBUG: assigned task 9 to node localhost:57638
DEBUG: assigned task 18 to node localhost:57637 DEBUG: assigned task 18 to node localhost:57637
DEBUG: assigned task 6 to node localhost:57638
DEBUG: assigned task 9 to node localhost:57637
DEBUG: assigned task 12 to node localhost:57638 DEBUG: assigned task 12 to node localhost:57638
DEBUG: assigned task 3 to node localhost:57637
DEBUG: assigned task 6 to node localhost:57638
DEBUG: join prunable for intervals [1,2496] and [2497,4964] DEBUG: join prunable for intervals [1,2496] and [2497,4964]
DEBUG: join prunable for intervals [1,2496] and [4965,5986] DEBUG: join prunable for intervals [1,2496] and [4965,5986]
DEBUG: join prunable for intervals [1,2496] and [8997,11554] DEBUG: join prunable for intervals [1,2496] and [8997,11554]
@ -114,10 +116,10 @@ DEBUG: pruning merge fetch taskId 19
DETAIL: Creating dependency on merge taskId 47 DETAIL: Creating dependency on merge taskId 47
DEBUG: pruning merge fetch taskId 22 DEBUG: pruning merge fetch taskId 22
DETAIL: Creating dependency on merge taskId 54 DETAIL: Creating dependency on merge taskId 54
DEBUG: assigned task 6 to node localhost:57637 DEBUG: assigned task 3 to node localhost:57637
DEBUG: assigned task 3 to node localhost:57638 DEBUG: assigned task 6 to node localhost:57638
DEBUG: assigned task 12 to node localhost:57637 DEBUG: assigned task 9 to node localhost:57637
DEBUG: assigned task 9 to node localhost:57638 DEBUG: assigned task 12 to node localhost:57638
DEBUG: assigned task 18 to node localhost:57637 DEBUG: assigned task 18 to node localhost:57637
DEBUG: assigned task 24 to node localhost:57638 DEBUG: assigned task 24 to node localhost:57638
DEBUG: propagating assignment from merge task 40 to constrained sql task 15 DEBUG: propagating assignment from merge task 40 to constrained sql task 15
@ -154,15 +156,15 @@ FROM
WHERE WHERE
l_partkey = c_nationkey; l_partkey = c_nationkey;
DEBUG: StartTransactionCommand DEBUG: StartTransactionCommand
DEBUG: assigned task 4 to node localhost:57637 DEBUG: assigned task 2 to node localhost:57637
DEBUG: assigned task 2 to node localhost:57638 DEBUG: assigned task 4 to node localhost:57638
DEBUG: assigned task 8 to node localhost:57637
DEBUG: assigned task 6 to node localhost:57638
DEBUG: assigned task 12 to node localhost:57637
DEBUG: assigned task 10 to node localhost:57638
DEBUG: assigned task 6 to node localhost:57637 DEBUG: assigned task 6 to node localhost:57637
DEBUG: assigned task 2 to node localhost:57638 DEBUG: assigned task 8 to node localhost:57638
DEBUG: assigned task 4 to node localhost:57637 DEBUG: assigned task 10 to node localhost:57637
DEBUG: assigned task 12 to node localhost:57638
DEBUG: assigned task 6 to node localhost:57637
DEBUG: assigned task 4 to node localhost:57638
DEBUG: assigned task 2 to node localhost:57637
DEBUG: join prunable for task partitionId 0 and 1 DEBUG: join prunable for task partitionId 0 and 1
DEBUG: join prunable for task partitionId 0 and 2 DEBUG: join prunable for task partitionId 0 and 2
DEBUG: join prunable for task partitionId 0 and 3 DEBUG: join prunable for task partitionId 0 and 3

View File

@ -1,6 +1,8 @@
-- --
-- MULTI_LIMIT_CLAUSE -- MULTI_LIMIT_CLAUSE
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 730000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 730000;
-- Display debug messages on limit clause push down. -- Display debug messages on limit clause push down.
SET client_min_messages TO DEBUG1; SET client_min_messages TO DEBUG1;
-- Check that we can correctly handle the Limit clause in distributed queries. -- Check that we can correctly handle the Limit clause in distributed queries.

View File

@ -1,6 +1,8 @@
-- --
-- MULTI_LIMIT_CLAUSE_APPROXIMATE -- MULTI_LIMIT_CLAUSE_APPROXIMATE
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 720000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 720000;
-- Display debug messages on limit clause push down. -- Display debug messages on limit clause push down.
SET client_min_messages TO DEBUG1; SET client_min_messages TO DEBUG1;
-- We first look at results with limit optimization disabled. This first query -- We first look at results with limit optimization disabled. This first query

View File

@ -2,6 +2,8 @@
-- MULTI_MASTER_PROTOCOL -- MULTI_MASTER_PROTOCOL
-- --
-- Tests that check the metadata returned by the master node. -- Tests that check the metadata returned by the master node.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 740000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 740000;
SELECT part_storage_type, part_key, part_replica_count, part_max_size, SELECT part_storage_type, part_key, part_replica_count, part_max_size,
part_placement_policy FROM master_get_table_metadata('lineitem'); part_placement_policy FROM master_get_table_metadata('lineitem');
part_storage_type | part_key | part_replica_count | part_max_size | part_placement_policy part_storage_type | part_key | part_replica_count | part_max_size | part_placement_policy
@ -20,7 +22,7 @@ SELECT * FROM master_get_table_ddl_events('lineitem');
SELECT * FROM master_get_new_shardid(); SELECT * FROM master_get_new_shardid();
master_get_new_shardid master_get_new_shardid
------------------------ ------------------------
102008 740000
(1 row) (1 row)
SELECT * FROM master_get_local_first_candidate_nodes(); SELECT * FROM master_get_local_first_candidate_nodes();

View File

@ -1,3 +1,5 @@
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 750000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 750000;
-- =================================================================== -- ===================================================================
-- test end-to-end modification functionality -- test end-to-end modification functionality
-- =================================================================== -- ===================================================================
@ -93,7 +95,7 @@ INSERT INTO append_partitioned VALUES (414123, 'AAPL', 9580, '2004-10-19 10:23:5
SET client_min_messages TO 'DEBUG2'; SET client_min_messages TO 'DEBUG2';
SET citus.task_executor_type TO 'real-time'; SET citus.task_executor_type TO 'real-time';
SELECT * FROM range_partitioned WHERE id = 32743; SELECT * FROM range_partitioned WHERE id = 32743;
DEBUG: predicate pruning for shardId 103084 DEBUG: predicate pruning for shardId 750004
DEBUG: Plan is router executable DEBUG: Plan is router executable
id | symbol | bidder_id | placed_at | kind | limit_price id | symbol | bidder_id | placed_at | kind | limit_price
-------+--------+-----------+--------------------------+------+------------- -------+--------+-----------+--------------------------+------+-------------
@ -101,7 +103,7 @@ DEBUG: Plan is router executable
(1 row) (1 row)
SELECT * FROM append_partitioned WHERE id = 414123; SELECT * FROM append_partitioned WHERE id = 414123;
DEBUG: predicate pruning for shardId 103086 DEBUG: predicate pruning for shardId 750006
DEBUG: Plan is router executable DEBUG: Plan is router executable
id | symbol | bidder_id | placed_at | kind | limit_price id | symbol | bidder_id | placed_at | kind | limit_price
--------+--------+-----------+--------------------------+------+------------- --------+--------+-----------+--------------------------+------+-------------
@ -275,7 +277,7 @@ WHERE nodename = 'localhost' AND
-- Fourth: Perform the same INSERT (primary key violation) -- Fourth: Perform the same INSERT (primary key violation)
INSERT INTO limit_orders VALUES (275, 'ADR', 140, '2007-07-02 16:32:15', 'sell', 43.67); INSERT INTO limit_orders VALUES (275, 'ADR', 140, '2007-07-02 16:32:15', 'sell', 43.67);
WARNING: Bad result from localhost:57638 WARNING: Bad result from localhost:57638
DETAIL: Remote message: duplicate key value violates unique constraint "limit_orders_pkey_103081" DETAIL: Remote message: duplicate key value violates unique constraint "limit_orders_pkey_750001"
-- Last: Verify the insert worked but the placement with the PK violation is now unhealthy -- Last: Verify the insert worked but the placement with the PK violation is now unhealthy
SELECT count(*) FROM limit_orders WHERE id = 275; SELECT count(*) FROM limit_orders WHERE id = 275;
count count

View File

@ -3,16 +3,18 @@
-- --
-- This test checks that we can handle null min/max values in shard statistics -- This test checks that we can handle null min/max values in shard statistics
-- and that we don't partition or join prune shards that have null values. -- and that we don't partition or join prune shards that have null values.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 760000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 760000;
SET client_min_messages TO DEBUG2; SET client_min_messages TO DEBUG2;
-- Change configuration to treat lineitem and orders tables as large -- Change configuration to treat lineitem and orders tables as large
SET citus.large_table_shard_count TO 2; SET citus.large_table_shard_count TO 2;
SELECT shardminvalue, shardmaxvalue from pg_dist_shard WHERE shardid = 102009; SELECT shardminvalue, shardmaxvalue from pg_dist_shard WHERE shardid = 290000;
shardminvalue | shardmaxvalue shardminvalue | shardmaxvalue
---------------+--------------- ---------------+---------------
1 | 2496 1 | 2496
(1 row) (1 row)
SELECT shardminvalue, shardmaxvalue from pg_dist_shard WHERE shardid = 102010; SELECT shardminvalue, shardmaxvalue from pg_dist_shard WHERE shardid = 290001;
shardminvalue | shardmaxvalue shardminvalue | shardmaxvalue
---------------+--------------- ---------------+---------------
2497 | 4964 2497 | 4964
@ -21,24 +23,24 @@ SELECT shardminvalue, shardmaxvalue from pg_dist_shard WHERE shardid = 102010;
-- Check that partition and join pruning works when min/max values exist -- Check that partition and join pruning works when min/max values exist
-- Adding l_orderkey = 1 to make the query not router executable -- Adding l_orderkey = 1 to make the query not router executable
SELECT l_orderkey, l_linenumber, l_shipdate FROM lineitem WHERE l_orderkey = 9030 or l_orderkey = 1; SELECT l_orderkey, l_linenumber, l_shipdate FROM lineitem WHERE l_orderkey = 9030 or l_orderkey = 1;
DEBUG: predicate pruning for shardId 102010 DEBUG: predicate pruning for shardId 290001
DEBUG: predicate pruning for shardId 102011 DEBUG: predicate pruning for shardId 290002
DEBUG: predicate pruning for shardId 102013 DEBUG: predicate pruning for shardId 290004
DEBUG: predicate pruning for shardId 102014 DEBUG: predicate pruning for shardId 290005
l_orderkey | l_linenumber | l_shipdate l_orderkey | l_linenumber | l_shipdate
------------+--------------+------------ ------------+--------------+------------
9030 | 1 | 09-02-1998
9030 | 2 | 08-19-1998
9030 | 3 | 08-27-1998
9030 | 4 | 07-20-1998
9030 | 5 | 09-29-1998
9030 | 6 | 09-03-1998
1 | 1 | 03-13-1996 1 | 1 | 03-13-1996
1 | 2 | 04-12-1996 1 | 2 | 04-12-1996
1 | 3 | 01-29-1996 1 | 3 | 01-29-1996
1 | 4 | 04-21-1996 1 | 4 | 04-21-1996
1 | 5 | 03-30-1996 1 | 5 | 03-30-1996
1 | 6 | 01-30-1996 1 | 6 | 01-30-1996
9030 | 1 | 09-02-1998
9030 | 2 | 08-19-1998
9030 | 3 | 08-27-1998
9030 | 4 | 07-20-1998
9030 | 5 | 09-29-1998
9030 | 6 | 09-03-1998
(12 rows) (12 rows)
SELECT sum(l_linenumber), avg(l_linenumber) FROM lineitem, orders SELECT sum(l_linenumber), avg(l_linenumber) FROM lineitem, orders
@ -56,12 +58,12 @@ DEBUG: join prunable for intervals [13921,14947] and [1,5986]
-- Now set the minimum value for a shard to null. Then check that we don't apply -- Now set the minimum value for a shard to null. Then check that we don't apply
-- partition or join pruning for the shard with null min value. -- partition or join pruning for the shard with null min value.
UPDATE pg_dist_shard SET shardminvalue = NULL WHERE shardid = 102009; UPDATE pg_dist_shard SET shardminvalue = NULL WHERE shardid = 290000;
SELECT l_orderkey, l_linenumber, l_shipdate FROM lineitem WHERE l_orderkey = 9030; SELECT l_orderkey, l_linenumber, l_shipdate FROM lineitem WHERE l_orderkey = 9030;
DEBUG: predicate pruning for shardId 102010 DEBUG: predicate pruning for shardId 290001
DEBUG: predicate pruning for shardId 102011 DEBUG: predicate pruning for shardId 290002
DEBUG: predicate pruning for shardId 102013 DEBUG: predicate pruning for shardId 290004
DEBUG: predicate pruning for shardId 102014 DEBUG: predicate pruning for shardId 290005
l_orderkey | l_linenumber | l_shipdate l_orderkey | l_linenumber | l_shipdate
------------+--------------+------------ ------------+--------------+------------
9030 | 1 | 09-02-1998 9030 | 1 | 09-02-1998
@ -86,11 +88,11 @@ DEBUG: join prunable for intervals [13921,14947] and [1,5986]
-- Next, set the maximum value for another shard to null. Then check that we -- Next, set the maximum value for another shard to null. Then check that we
-- don't apply partition or join pruning for this other shard either. -- don't apply partition or join pruning for this other shard either.
UPDATE pg_dist_shard SET shardmaxvalue = NULL WHERE shardid = 102010; UPDATE pg_dist_shard SET shardmaxvalue = NULL WHERE shardid = 290001;
SELECT l_orderkey, l_linenumber, l_shipdate FROM lineitem WHERE l_orderkey = 9030; SELECT l_orderkey, l_linenumber, l_shipdate FROM lineitem WHERE l_orderkey = 9030;
DEBUG: predicate pruning for shardId 102011 DEBUG: predicate pruning for shardId 290002
DEBUG: predicate pruning for shardId 102013 DEBUG: predicate pruning for shardId 290004
DEBUG: predicate pruning for shardId 102014 DEBUG: predicate pruning for shardId 290005
l_orderkey | l_linenumber | l_shipdate l_orderkey | l_linenumber | l_shipdate
------------+--------------+------------ ------------+--------------+------------
9030 | 1 | 09-02-1998 9030 | 1 | 09-02-1998
@ -114,12 +116,12 @@ DEBUG: join prunable for intervals [13921,14947] and [1,5986]
-- Last, set the minimum value to 0 and check that we don't treat it as null. We -- Last, set the minimum value to 0 and check that we don't treat it as null. We
-- should apply partition and join pruning for this shard now. -- should apply partition and join pruning for this shard now.
UPDATE pg_dist_shard SET shardminvalue = '0' WHERE shardid = 102009; UPDATE pg_dist_shard SET shardminvalue = '0' WHERE shardid = 290000;
SELECT l_orderkey, l_linenumber, l_shipdate FROM lineitem WHERE l_orderkey = 9030; SELECT l_orderkey, l_linenumber, l_shipdate FROM lineitem WHERE l_orderkey = 9030;
DEBUG: predicate pruning for shardId 102009 DEBUG: predicate pruning for shardId 290000
DEBUG: predicate pruning for shardId 102011 DEBUG: predicate pruning for shardId 290002
DEBUG: predicate pruning for shardId 102013 DEBUG: predicate pruning for shardId 290004
DEBUG: predicate pruning for shardId 102014 DEBUG: predicate pruning for shardId 290005
l_orderkey | l_linenumber | l_shipdate l_orderkey | l_linenumber | l_shipdate
------------+--------------+------------ ------------+--------------+------------
9030 | 1 | 09-02-1998 9030 | 1 | 09-02-1998
@ -143,6 +145,6 @@ DEBUG: join prunable for intervals [13921,14947] and [1,5986]
(1 row) (1 row)
-- Set minimum and maximum values for two shards back to their original values -- Set minimum and maximum values for two shards back to their original values
UPDATE pg_dist_shard SET shardminvalue = '1' WHERE shardid = 102009; UPDATE pg_dist_shard SET shardminvalue = '1' WHERE shardid = 290000;
UPDATE pg_dist_shard SET shardmaxvalue = '4964' WHERE shardid = 102010; UPDATE pg_dist_shard SET shardmaxvalue = '4964' WHERE shardid = 290001;
SET client_min_messages TO NOTICE; SET client_min_messages TO NOTICE;

View File

@ -3,28 +3,30 @@
-- --
-- Tests to verify that we correctly prune unreferenced shards. For this, we -- Tests to verify that we correctly prune unreferenced shards. For this, we
-- need to increase the logging verbosity of messages displayed on the client. -- need to increase the logging verbosity of messages displayed on the client.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 770000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 770000;
SET citus.explain_distributed_queries TO off; SET citus.explain_distributed_queries TO off;
SET client_min_messages TO DEBUG2; SET client_min_messages TO DEBUG2;
-- Adding additional l_orderkey = 1 to make this query not router executable -- Adding additional l_orderkey = 1 to make this query not router executable
SELECT l_orderkey, l_linenumber, l_shipdate FROM lineitem WHERE l_orderkey = 9030 or l_orderkey = 1; SELECT l_orderkey, l_linenumber, l_shipdate FROM lineitem WHERE l_orderkey = 9030 or l_orderkey = 1;
DEBUG: predicate pruning for shardId 102010 DEBUG: predicate pruning for shardId 290001
DEBUG: predicate pruning for shardId 102011 DEBUG: predicate pruning for shardId 290002
DEBUG: predicate pruning for shardId 102013 DEBUG: predicate pruning for shardId 290004
DEBUG: predicate pruning for shardId 102014 DEBUG: predicate pruning for shardId 290005
l_orderkey | l_linenumber | l_shipdate l_orderkey | l_linenumber | l_shipdate
------------+--------------+------------ ------------+--------------+------------
9030 | 1 | 09-02-1998
9030 | 2 | 08-19-1998
9030 | 3 | 08-27-1998
9030 | 4 | 07-20-1998
9030 | 5 | 09-29-1998
9030 | 6 | 09-03-1998
1 | 1 | 03-13-1996 1 | 1 | 03-13-1996
1 | 2 | 04-12-1996 1 | 2 | 04-12-1996
1 | 3 | 01-29-1996 1 | 3 | 01-29-1996
1 | 4 | 04-21-1996 1 | 4 | 04-21-1996
1 | 5 | 03-30-1996 1 | 5 | 03-30-1996
1 | 6 | 01-30-1996 1 | 6 | 01-30-1996
9030 | 1 | 09-02-1998
9030 | 2 | 08-19-1998
9030 | 3 | 08-27-1998
9030 | 4 | 07-20-1998
9030 | 5 | 09-29-1998
9030 | 6 | 09-03-1998
(12 rows) (12 rows)
-- We use the l_linenumber field for the following aggregations. We need to use -- We use the l_linenumber field for the following aggregations. We need to use
@ -33,9 +35,9 @@ DEBUG: predicate pruning for shardId 102014
-- trigger the the creation of toasted tables and indexes. This in turn prints -- trigger the the creation of toasted tables and indexes. This in turn prints
-- non-deterministic debug messages. To avoid this chain, we use l_linenumber. -- non-deterministic debug messages. To avoid this chain, we use l_linenumber.
SELECT sum(l_linenumber), avg(l_linenumber) FROM lineitem WHERE l_orderkey > 9030; SELECT sum(l_linenumber), avg(l_linenumber) FROM lineitem WHERE l_orderkey > 9030;
DEBUG: predicate pruning for shardId 102009 DEBUG: predicate pruning for shardId 290000
DEBUG: predicate pruning for shardId 102010 DEBUG: predicate pruning for shardId 290001
DEBUG: predicate pruning for shardId 102011 DEBUG: predicate pruning for shardId 290002
sum | avg sum | avg
-------+-------------------- -------+--------------------
17999 | 3.0189533713518953 17999 | 3.0189533713518953
@ -43,7 +45,7 @@ DEBUG: predicate pruning for shardId 102011
SELECT sum(l_linenumber), avg(l_linenumber) FROM lineitem SELECT sum(l_linenumber), avg(l_linenumber) FROM lineitem
WHERE (l_orderkey < 4000 OR l_orderkey > 9030); WHERE (l_orderkey < 4000 OR l_orderkey > 9030);
DEBUG: predicate pruning for shardId 102011 DEBUG: predicate pruning for shardId 290002
sum | avg sum | avg
-------+-------------------- -------+--------------------
30184 | 3.0159872102318145 30184 | 3.0159872102318145
@ -51,12 +53,12 @@ DEBUG: predicate pruning for shardId 102011
-- The following query should prune out all shards and return empty results -- The following query should prune out all shards and return empty results
SELECT sum(l_linenumber), avg(l_linenumber) FROM lineitem WHERE l_orderkey > 20000; SELECT sum(l_linenumber), avg(l_linenumber) FROM lineitem WHERE l_orderkey > 20000;
DEBUG: predicate pruning for shardId 102009 DEBUG: predicate pruning for shardId 290000
DEBUG: predicate pruning for shardId 102010 DEBUG: predicate pruning for shardId 290001
DEBUG: predicate pruning for shardId 102011 DEBUG: predicate pruning for shardId 290002
DEBUG: predicate pruning for shardId 102012 DEBUG: predicate pruning for shardId 290003
DEBUG: predicate pruning for shardId 102013 DEBUG: predicate pruning for shardId 290004
DEBUG: predicate pruning for shardId 102014 DEBUG: predicate pruning for shardId 290005
sum | avg sum | avg
-----+----- -----+-----
| |

View File

@ -4,6 +4,8 @@
-- Many of the queries are taken from other regression test files -- Many of the queries are taken from other regression test files
-- and converted into both plain SQL and PL/pgsql functions, which -- and converted into both plain SQL and PL/pgsql functions, which
-- use prepared statements internally. -- use prepared statements internally.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 780000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 780000;
CREATE FUNCTION sql_test_no_1() RETURNS bigint AS ' CREATE FUNCTION sql_test_no_1() RETURNS bigint AS '
SELECT SELECT
count(*) count(*)

View File

@ -4,6 +4,8 @@
-- Tests covering PREPARE statements. Many of the queries are -- Tests covering PREPARE statements. Many of the queries are
-- taken from other regression test files and converted into -- taken from other regression test files and converted into
-- prepared statements. -- prepared statements.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 790000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 790000;
PREPARE prepared_test_1 AS PREPARE prepared_test_1 AS
SELECT SELECT
count(*) count(*)

View File

@ -1,3 +1,5 @@
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 800000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 800000;
-- =================================================================== -- ===================================================================
-- create test functions -- create test functions
-- =================================================================== -- ===================================================================
@ -47,28 +49,28 @@ SELECT master_create_worker_shards('pruning', 4, 1);
SELECT prune_using_no_values('pruning'); SELECT prune_using_no_values('pruning');
prune_using_no_values prune_using_no_values
------------------------------- -------------------------------
{103070,103071,103072,103073} {800000,800001,800002,800003}
(1 row) (1 row)
-- with a single value, expect a single shard -- with a single value, expect a single shard
SELECT prune_using_single_value('pruning', 'tomato'); SELECT prune_using_single_value('pruning', 'tomato');
prune_using_single_value prune_using_single_value
-------------------------- --------------------------
{103072} {800002}
(1 row) (1 row)
-- the above is true even if that value is null -- the above is true even if that value is null
SELECT prune_using_single_value('pruning', NULL); SELECT prune_using_single_value('pruning', NULL);
prune_using_single_value prune_using_single_value
-------------------------- --------------------------
{103072} {800002}
(1 row) (1 row)
-- build an OR clause and expect more than one sahrd -- build an OR clause and expect more than one sahrd
SELECT prune_using_either_value('pruning', 'tomato', 'petunia'); SELECT prune_using_either_value('pruning', 'tomato', 'petunia');
prune_using_either_value prune_using_either_value
-------------------------- --------------------------
{103071,103072} {800001,800002}
(1 row) (1 row)
-- an AND clause with incompatible values returns no shards -- an AND clause with incompatible values returns no shards
@ -82,7 +84,7 @@ SELECT prune_using_both_values('pruning', 'tomato', 'petunia');
SELECT prune_using_both_values('pruning', 'tomato', 'rose'); SELECT prune_using_both_values('pruning', 'tomato', 'rose');
prune_using_both_values prune_using_both_values
------------------------- -------------------------
{103072} {800002}
(1 row) (1 row)
-- unit test of the equality expression generation code -- unit test of the equality expression generation code
@ -96,7 +98,7 @@ SELECT debug_equality_expression('pruning');
SELECT print_sorted_shard_intervals('pruning'); SELECT print_sorted_shard_intervals('pruning');
print_sorted_shard_intervals print_sorted_shard_intervals
------------------------------- -------------------------------
{103070,103071,103072,103073} {800000,800001,800002,800003}
(1 row) (1 row)
-- update only min value for one shard -- update only min value for one shard
@ -104,7 +106,7 @@ UPDATE pg_dist_shard set shardminvalue = NULL, shardmaxvalue = NULL WHERE shardi
SELECT print_sorted_shard_intervals('pruning'); SELECT print_sorted_shard_intervals('pruning');
print_sorted_shard_intervals print_sorted_shard_intervals
------------------------------- -------------------------------
{103070,103072,103073,103071} {800000,800001,800002,800003}
(1 row) (1 row)
-- now lets have one more shard without min/max values -- now lets have one more shard without min/max values
@ -112,7 +114,7 @@ UPDATE pg_dist_shard set shardminvalue = NULL, shardmaxvalue = NULL WHERE shardi
SELECT print_sorted_shard_intervals('pruning'); SELECT print_sorted_shard_intervals('pruning');
print_sorted_shard_intervals print_sorted_shard_intervals
------------------------------- -------------------------------
{103070,103073,103071,103072} {800000,800001,800002,800003}
(1 row) (1 row)
-- now lets have one more shard without min/max values -- now lets have one more shard without min/max values
@ -120,7 +122,7 @@ UPDATE pg_dist_shard set shardminvalue = NULL, shardmaxvalue = NULL WHERE shardi
SELECT print_sorted_shard_intervals('pruning'); SELECT print_sorted_shard_intervals('pruning');
print_sorted_shard_intervals print_sorted_shard_intervals
------------------------------- -------------------------------
{103073,103070,103071,103072} {800000,800001,800002,800003}
(1 row) (1 row)
-- all shard placements are uninitialized -- all shard placements are uninitialized
@ -128,7 +130,7 @@ UPDATE pg_dist_shard set shardminvalue = NULL, shardmaxvalue = NULL WHERE shardi
SELECT print_sorted_shard_intervals('pruning'); SELECT print_sorted_shard_intervals('pruning');
print_sorted_shard_intervals print_sorted_shard_intervals
------------------------------- -------------------------------
{103070,103071,103072,103073} {800000,800001,800002,800003}
(1 row) (1 row)
-- create range distributed table observe shard pruning -- create range distributed table observe shard pruning
@ -143,25 +145,25 @@ SELECT master_create_distributed_table('pruning_range', 'species', 'range');
SELECT master_create_empty_shard('pruning_range'); SELECT master_create_empty_shard('pruning_range');
master_create_empty_shard master_create_empty_shard
--------------------------- ---------------------------
103074 800004
(1 row) (1 row)
SELECT master_create_empty_shard('pruning_range'); SELECT master_create_empty_shard('pruning_range');
master_create_empty_shard master_create_empty_shard
--------------------------- ---------------------------
103075 800005
(1 row) (1 row)
SELECT master_create_empty_shard('pruning_range'); SELECT master_create_empty_shard('pruning_range');
master_create_empty_shard master_create_empty_shard
--------------------------- ---------------------------
103076 800006
(1 row) (1 row)
SELECT master_create_empty_shard('pruning_range'); SELECT master_create_empty_shard('pruning_range');
master_create_empty_shard master_create_empty_shard
--------------------------- ---------------------------
103077 800007
(1 row) (1 row)
-- now the comparison is done via the partition column type, which is text -- now the comparison is done via the partition column type, which is text
@ -173,7 +175,7 @@ UPDATE pg_dist_shard SET shardminvalue = 'g', shardmaxvalue = 'h' WHERE shardid
SELECT print_sorted_shard_intervals('pruning_range'); SELECT print_sorted_shard_intervals('pruning_range');
print_sorted_shard_intervals print_sorted_shard_intervals
------------------------------- -------------------------------
{103074,103075,103076,103077} {800004,800005,800006,800007}
(1 row) (1 row)
-- update only min value for one shard -- update only min value for one shard
@ -181,7 +183,7 @@ UPDATE pg_dist_shard set shardminvalue = NULL, shardmaxvalue = NULL WHERE shardi
SELECT print_sorted_shard_intervals('pruning_range'); SELECT print_sorted_shard_intervals('pruning_range');
print_sorted_shard_intervals print_sorted_shard_intervals
------------------------------- -------------------------------
{103074,103076,103077,103075} {800004,800005,800006,800007}
(1 row) (1 row)
-- now lets have one more shard without min/max values -- now lets have one more shard without min/max values
@ -189,7 +191,7 @@ UPDATE pg_dist_shard set shardminvalue = NULL, shardmaxvalue = NULL WHERE shardi
SELECT print_sorted_shard_intervals('pruning_range'); SELECT print_sorted_shard_intervals('pruning_range');
print_sorted_shard_intervals print_sorted_shard_intervals
------------------------------- -------------------------------
{103074,103077,103075,103076} {800004,800005,800006,800007}
(1 row) (1 row)
-- now lets have one more shard without min/max values -- now lets have one more shard without min/max values
@ -197,7 +199,7 @@ UPDATE pg_dist_shard set shardminvalue = NULL, shardmaxvalue = NULL WHERE shardi
SELECT print_sorted_shard_intervals('pruning_range'); SELECT print_sorted_shard_intervals('pruning_range');
print_sorted_shard_intervals print_sorted_shard_intervals
------------------------------- -------------------------------
{103077,103074,103075,103076} {800004,800005,800006,800007}
(1 row) (1 row)
-- all shard placements are uninitialized -- all shard placements are uninitialized
@ -205,6 +207,6 @@ UPDATE pg_dist_shard set shardminvalue = NULL, shardmaxvalue = NULL WHERE shardi
SELECT print_sorted_shard_intervals('pruning_range'); SELECT print_sorted_shard_intervals('pruning_range');
print_sorted_shard_intervals print_sorted_shard_intervals
------------------------------- -------------------------------
{103074,103075,103076,103077} {800004,800005,800006,800007}
(1 row) (1 row)

View File

@ -5,6 +5,8 @@
-- on the master node for final processing. When the query completes or fails, -- on the master node for final processing. When the query completes or fails,
-- the resource owner should automatically clean up these intermediate query -- the resource owner should automatically clean up these intermediate query
-- result files. -- result files.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 810000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 810000;
BEGIN; BEGIN;
-- pg_ls_dir() displays jobids. We explicitly set the jobId sequence -- pg_ls_dir() displays jobids. We explicitly set the jobId sequence
-- here so that the regression output becomes independent of the -- here so that the regression output becomes independent of the

View File

@ -1,3 +1,5 @@
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 820000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 820000;
-- =================================================================== -- ===================================================================
-- test shard repair functionality -- test shard repair functionality
-- =================================================================== -- ===================================================================

View File

@ -1,6 +1,8 @@
-- --
-- MULTI_REPARTITIONED_SUBQUERY_UDF -- MULTI_REPARTITIONED_SUBQUERY_UDF
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 830000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 830000;
-- Create UDF in master and workers -- Create UDF in master and workers
\c - - - :master_port \c - - - :master_port
DROP FUNCTION IF EXISTS median(double precision[]); DROP FUNCTION IF EXISTS median(double precision[]);

View File

@ -1,7 +1,8 @@
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 840000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 840000;
-- =================================================================== -- ===================================================================
-- test router planner functionality for single shard select queries -- test router planner functionality for single shard select queries
-- =================================================================== -- ===================================================================
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 103300;
CREATE TABLE articles_hash ( CREATE TABLE articles_hash (
id bigint NOT NULL, id bigint NOT NULL,
author_id bigint NOT NULL, author_id bigint NOT NULL,
@ -105,8 +106,8 @@ DEBUG: Creating router plan
DEBUG: Plan is router executable DEBUG: Plan is router executable
-- first, test zero-shard SELECT, which should return an empty row -- first, test zero-shard SELECT, which should return an empty row
SELECT COUNT(*) FROM articles_hash WHERE author_id = 1 AND author_id = 2; SELECT COUNT(*) FROM articles_hash WHERE author_id = 1 AND author_id = 2;
DEBUG: predicate pruning for shardId 103300 DEBUG: predicate pruning for shardId 840000
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
count count
------- -------
@ -116,7 +117,7 @@ DEBUG: predicate pruning for shardId 103301
-- test simple select for a single row -- test simple select for a single row
SELECT * FROM articles_hash WHERE author_id = 10 AND id = 50; SELECT * FROM articles_hash WHERE author_id = 10 AND id = 50;
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
DEBUG: Plan is router executable DEBUG: Plan is router executable
id | author_id | title | word_count id | author_id | title | word_count
----+-----------+-----------+------------ ----+-----------+-----------+------------
@ -126,7 +127,7 @@ DEBUG: Plan is router executable
-- get all titles by a single author -- get all titles by a single author
SELECT title FROM articles_hash WHERE author_id = 10; SELECT title FROM articles_hash WHERE author_id = 10;
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
DEBUG: Plan is router executable DEBUG: Plan is router executable
title title
------------ ------------
@ -142,7 +143,7 @@ SELECT title, word_count FROM articles_hash
WHERE author_id = 10 WHERE author_id = 10
ORDER BY word_count DESC NULLS LAST; ORDER BY word_count DESC NULLS LAST;
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
DEBUG: Plan is router executable DEBUG: Plan is router executable
title | word_count title | word_count
------------+------------ ------------+------------
@ -159,7 +160,7 @@ SELECT title, id FROM articles_hash
ORDER BY id ORDER BY id
LIMIT 2; LIMIT 2;
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
DEBUG: Plan is router executable DEBUG: Plan is router executable
title | id title | id
---------+---- ---------+----
@ -172,7 +173,7 @@ DEBUG: Plan is router executable
SELECT title, author_id FROM articles_hash SELECT title, author_id FROM articles_hash
WHERE author_id = 7 OR author_id = 8 WHERE author_id = 7 OR author_id = 8
ORDER BY author_id ASC, id; ORDER BY author_id ASC, id;
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
title | author_id title | author_id
-------------+----------- -------------+-----------
aseptic | 7 aseptic | 7
@ -190,7 +191,7 @@ DEBUG: predicate pruning for shardId 103301
-- same query is router executable with no order by -- same query is router executable with no order by
SELECT title, author_id FROM articles_hash SELECT title, author_id FROM articles_hash
WHERE author_id = 7 OR author_id = 8; WHERE author_id = 7 OR author_id = 8;
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
DEBUG: Plan is router executable DEBUG: Plan is router executable
title | author_id title | author_id
-------------+----------- -------------+-----------
@ -222,7 +223,7 @@ SELECT author_id, sum(word_count) AS corpus_size FROM articles_hash
HAVING sum(word_count) > 1000 HAVING sum(word_count) > 1000
ORDER BY sum(word_count) DESC; ORDER BY sum(word_count) DESC;
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
DEBUG: Plan is router executable DEBUG: Plan is router executable
author_id | corpus_size author_id | corpus_size
-----------+------------- -----------+-------------
@ -320,7 +321,7 @@ SELECT *
FROM articles_hash FROM articles_hash
WHERE author_id = 1; WHERE author_id = 1;
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
DEBUG: Plan is router executable DEBUG: Plan is router executable
id | author_id | title | word_count id | author_id | title | word_count
----+-----------+--------------+------------ ----+-----------+--------------+------------
@ -336,7 +337,7 @@ DEBUG: Plan is router executable
SELECT * SELECT *
FROM articles_hash FROM articles_hash
WHERE author_id = 1 OR author_id = 17; WHERE author_id = 1 OR author_id = 17;
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
DEBUG: Plan is router executable DEBUG: Plan is router executable
id | author_id | title | word_count id | author_id | title | word_count
----+-----------+--------------+------------ ----+-----------+--------------+------------
@ -366,7 +367,7 @@ SELECT id as article_id, word_count * id as random_value
FROM articles_hash FROM articles_hash
WHERE author_id = 1; WHERE author_id = 1;
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
DEBUG: Plan is router executable DEBUG: Plan is router executable
article_id | random_value article_id | random_value
------------+-------------- ------------+--------------
@ -385,7 +386,7 @@ SELECT a.author_id as first_author, b.word_count as second_word_count
WHERE a.author_id = 10 and a.author_id = b.author_id WHERE a.author_id = 10 and a.author_id = b.author_id
LIMIT 3; LIMIT 3;
DEBUG: push down of limit count: 3 DEBUG: push down of limit count: 3
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
DEBUG: join prunable for intervals [-2147483648,-1] and [0,2147483647] DEBUG: join prunable for intervals [-2147483648,-1] and [0,2147483647]
DEBUG: Plan is router executable DEBUG: Plan is router executable
first_author | second_word_count first_author | second_word_count
@ -401,7 +402,7 @@ SELECT a.author_id as first_author, b.word_count as second_word_count
WHERE a.author_id = 10 and a.author_id = b.author_id WHERE a.author_id = 10 and a.author_id = b.author_id
LIMIT 3; LIMIT 3;
DEBUG: push down of limit count: 3 DEBUG: push down of limit count: 3
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
first_author | second_word_count first_author | second_word_count
--------------+------------------- --------------+-------------------
10 | 19519 10 | 19519
@ -415,7 +416,7 @@ SELECT *
WHERE author_id = 1 WHERE author_id = 1
LIMIT 3; LIMIT 3;
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
DEBUG: Plan is router executable DEBUG: Plan is router executable
id | author_id | title | word_count id | author_id | title | word_count
----+-----------+----------+------------ ----+-----------+----------+------------
@ -431,7 +432,7 @@ SELECT *
LIMIT 2 LIMIT 2
OFFSET 1; OFFSET 1;
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
DEBUG: Plan is router executable DEBUG: Plan is router executable
id | author_id | title | word_count id | author_id | title | word_count
----+-----------+----------+------------ ----+-----------+----------+------------
@ -447,7 +448,7 @@ SELECT *
LIMIT 2 LIMIT 2
OFFSET 1; OFFSET 1;
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
DEBUG: Plan is router executable DEBUG: Plan is router executable
id | author_id | title | word_count id | author_id | title | word_count
----+-----------+--------------+------------ ----+-----------+--------------+------------
@ -462,7 +463,7 @@ SELECT id
WHERE author_id = 1 WHERE author_id = 1
GROUP BY id; GROUP BY id;
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
DEBUG: Plan is router executable DEBUG: Plan is router executable
id id
---- ----
@ -478,7 +479,7 @@ SELECT distinct id
FROM articles_hash FROM articles_hash
WHERE author_id = 1; WHERE author_id = 1;
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
DEBUG: Plan is router executable DEBUG: Plan is router executable
id id
---- ----
@ -494,7 +495,7 @@ SELECT avg(word_count)
FROM articles_hash FROM articles_hash
WHERE author_id = 2; WHERE author_id = 2;
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103300 DEBUG: predicate pruning for shardId 840000
DEBUG: Plan is router executable DEBUG: Plan is router executable
avg avg
-------------------- --------------------
@ -507,7 +508,7 @@ SELECT max(word_count) as max, min(word_count) as min,
FROM articles_hash FROM articles_hash
WHERE author_id = 2; WHERE author_id = 2;
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103300 DEBUG: predicate pruning for shardId 840000
DEBUG: Plan is router executable DEBUG: Plan is router executable
max | min | sum | cnt max | min | sum | cnt
-------+------+-------+----- -------+------+-------+-----
@ -520,7 +521,7 @@ SELECT max(word_count)
WHERE author_id = 1 WHERE author_id = 1
GROUP BY author_id; GROUP BY author_id;
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
DEBUG: Plan is router executable DEBUG: Plan is router executable
max max
------- -------
@ -566,7 +567,7 @@ SET client_min_messages to 'DEBUG2';
SELECT * SELECT *
FROM articles_hash FROM articles_hash
WHERE author_id = 1 and author_id >= 1; WHERE author_id = 1 and author_id >= 1;
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
DEBUG: Plan is router executable DEBUG: Plan is router executable
id | author_id | title | word_count id | author_id | title | word_count
----+-----------+--------------+------------ ----+-----------+--------------+------------
@ -596,7 +597,7 @@ SELECT *
FROM articles_hash FROM articles_hash
WHERE author_id = 1 and (id = 1 or id = 41); WHERE author_id = 1 and (id = 1 or id = 41);
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
DEBUG: Plan is router executable DEBUG: Plan is router executable
id | author_id | title | word_count id | author_id | title | word_count
----+-----------+----------+------------ ----+-----------+----------+------------
@ -609,7 +610,7 @@ SELECT *
FROM articles_hash FROM articles_hash
WHERE author_id = 1 and (id = random()::int * 0); WHERE author_id = 1 and (id = random()::int * 0);
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
DEBUG: Plan is router executable DEBUG: Plan is router executable
id | author_id | title | word_count id | author_id | title | word_count
----+-----------+-------+------------ ----+-----------+-------+------------
@ -647,7 +648,7 @@ SELECT *
FROM articles_hash FROM articles_hash
WHERE author_id = abs(-1); WHERE author_id = abs(-1);
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
DEBUG: Plan is router executable DEBUG: Plan is router executable
id | author_id | title | word_count id | author_id | title | word_count
----+-----------+--------------+------------ ----+-----------+--------------+------------
@ -689,7 +690,7 @@ SELECT *
FROM articles_hash FROM articles_hash
WHERE author_id = 1 and (id = abs(id - 2)); WHERE author_id = 1 and (id = abs(id - 2));
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
DEBUG: Plan is router executable DEBUG: Plan is router executable
id | author_id | title | word_count id | author_id | title | word_count
----+-----------+----------+------------ ----+-----------+----------+------------
@ -714,7 +715,7 @@ SELECT *
FROM articles_hash FROM articles_hash
WHERE (author_id = 1) = true; WHERE (author_id = 1) = true;
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
DEBUG: Plan is router executable DEBUG: Plan is router executable
id | author_id | title | word_count id | author_id | title | word_count
----+-----------+--------------+------------ ----+-----------+--------------+------------
@ -730,7 +731,7 @@ SELECT *
FROM articles_hash FROM articles_hash
WHERE (author_id = 1) and id between 0 and 20; WHERE (author_id = 1) and id between 0 and 20;
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
DEBUG: Plan is router executable DEBUG: Plan is router executable
id | author_id | title | word_count id | author_id | title | word_count
----+-----------+----------+------------ ----+-----------+----------+------------
@ -743,7 +744,7 @@ SELECT *
FROM articles_hash FROM articles_hash
WHERE (author_id = 1) and (id = 1 or id = 31) and title like '%s'; WHERE (author_id = 1) and (id = 1 or id = 31) and title like '%s';
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
DEBUG: Plan is router executable DEBUG: Plan is router executable
id | author_id | title | word_count id | author_id | title | word_count
----+-----------+--------------+------------ ----+-----------+--------------+------------
@ -756,7 +757,7 @@ SELECT *
FROM articles_hash FROM articles_hash
WHERE (id = 1 or id = 31) and title like '%s' and (author_id = 1); WHERE (id = 1 or id = 31) and title like '%s' and (author_id = 1);
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
DEBUG: Plan is router executable DEBUG: Plan is router executable
id | author_id | title | word_count id | author_id | title | word_count
----+-----------+--------------+------------ ----+-----------+--------------+------------
@ -769,7 +770,7 @@ SELECT *
FROM articles_hash FROM articles_hash
WHERE (title like '%s' or title like 'a%') and (author_id = 1); WHERE (title like '%s' or title like 'a%') and (author_id = 1);
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
DEBUG: Plan is router executable DEBUG: Plan is router executable
id | author_id | title | word_count id | author_id | title | word_count
----+-----------+--------------+------------ ----+-----------+--------------+------------
@ -785,7 +786,7 @@ SELECT *
FROM articles_hash FROM articles_hash
WHERE (title like '%s' or title like 'a%') and (author_id = 1) and (word_count < 3000 or word_count > 8000); WHERE (title like '%s' or title like 'a%') and (author_id = 1) and (word_count < 3000 or word_count > 8000);
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
DEBUG: Plan is router executable DEBUG: Plan is router executable
id | author_id | title | word_count id | author_id | title | word_count
----+-----------+----------+------------ ----+-----------+----------+------------
@ -799,7 +800,7 @@ SELECT LAG(title, 1) over (ORDER BY word_count) prev, title, word_count
FROM articles_hash FROM articles_hash
WHERE author_id = 5; WHERE author_id = 5;
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
DEBUG: Plan is router executable DEBUG: Plan is router executable
prev | title | word_count prev | title | word_count
----------+----------+------------ ----------+----------+------------
@ -815,7 +816,7 @@ SELECT LAG(title, 1) over (ORDER BY word_count) prev, title, word_count
WHERE author_id = 5 WHERE author_id = 5
ORDER BY word_count DESC; ORDER BY word_count DESC;
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
DEBUG: Plan is router executable DEBUG: Plan is router executable
prev | title | word_count prev | title | word_count
----------+----------+------------ ----------+----------+------------
@ -830,7 +831,7 @@ SELECT id, MIN(id) over (order by word_count)
FROM articles_hash FROM articles_hash
WHERE author_id = 1; WHERE author_id = 1;
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
DEBUG: Plan is router executable DEBUG: Plan is router executable
id | min id | min
----+----- ----+-----
@ -845,7 +846,7 @@ SELECT id, word_count, AVG(word_count) over (order by word_count)
FROM articles_hash FROM articles_hash
WHERE author_id = 1; WHERE author_id = 1;
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
DEBUG: Plan is router executable DEBUG: Plan is router executable
id | word_count | avg id | word_count | avg
----+------------+----------------------- ----+------------+-----------------------
@ -860,7 +861,7 @@ SELECT word_count, rank() OVER (PARTITION BY author_id ORDER BY word_count)
FROM articles_hash FROM articles_hash
WHERE author_id = 1; WHERE author_id = 1;
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
DEBUG: Plan is router executable DEBUG: Plan is router executable
word_count | rank word_count | rank
------------+------ ------------+------
@ -899,7 +900,7 @@ SELECT
WHERE WHERE
author_id = 5; author_id = 5;
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
DEBUG: Plan is router executable DEBUG: Plan is router executable
c c
--- ---
@ -941,7 +942,7 @@ SELECT *
WHERE author_id = 1 WHERE author_id = 1
ORDER BY id; ORDER BY id;
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
DEBUG: Plan is router executable DEBUG: Plan is router executable
id | author_id | title | word_count id | author_id | title | word_count
----+-----------+--------------+------------ ----+-----------+--------------+------------
@ -961,7 +962,7 @@ DECLARE test_cursor CURSOR FOR
WHERE author_id = 1 WHERE author_id = 1
ORDER BY id; ORDER BY id;
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
DEBUG: Plan is router executable DEBUG: Plan is router executable
FETCH test_cursor; FETCH test_cursor;
id | author_id | title | word_count id | author_id | title | word_count
@ -983,7 +984,7 @@ COPY (
WHERE author_id = 1 WHERE author_id = 1
ORDER BY id) TO STDOUT; ORDER BY id) TO STDOUT;
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
DEBUG: Plan is router executable DEBUG: Plan is router executable
1 1 arsenous 9572 1 1 arsenous 9572
11 1 alamo 1347 11 1 alamo 1347
@ -998,14 +999,14 @@ CREATE TEMP TABLE temp_articles_hash as
WHERE author_id = 1 WHERE author_id = 1
ORDER BY id; ORDER BY id;
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
DEBUG: Plan is router executable DEBUG: Plan is router executable
-- router plannable queries may include filter for aggragates -- router plannable queries may include filter for aggragates
SELECT count(*), count(*) FILTER (WHERE id < 3) SELECT count(*), count(*) FILTER (WHERE id < 3)
FROM articles_hash FROM articles_hash
WHERE author_id = 1; WHERE author_id = 1;
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
DEBUG: Plan is router executable DEBUG: Plan is router executable
count | count count | count
-------+------- -------+-------
@ -1028,7 +1029,7 @@ PREPARE author_1_articles as
WHERE author_id = 1; WHERE author_id = 1;
EXECUTE author_1_articles; EXECUTE author_1_articles;
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
DEBUG: Plan is router executable DEBUG: Plan is router executable
id | author_id | title | word_count id | author_id | title | word_count
----+-----------+--------------+------------ ----+-----------+--------------+------------
@ -1046,7 +1047,7 @@ PREPARE author_articles(int) as
WHERE author_id = $1; WHERE author_id = $1;
EXECUTE author_articles(1); EXECUTE author_articles(1);
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
DEBUG: Plan is router executable DEBUG: Plan is router executable
id | author_id | title | word_count id | author_id | title | word_count
----+-----------+--------------+------------ ----+-----------+--------------+------------
@ -1073,7 +1074,7 @@ DEBUG: Creating router plan
CONTEXT: SQL statement "SELECT MAX(id) FROM articles_hash ah CONTEXT: SQL statement "SELECT MAX(id) FROM articles_hash ah
WHERE author_id = 1" WHERE author_id = 1"
PL/pgSQL function author_articles_max_id() line 5 at SQL statement PL/pgSQL function author_articles_max_id() line 5 at SQL statement
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
CONTEXT: SQL statement "SELECT MAX(id) FROM articles_hash ah CONTEXT: SQL statement "SELECT MAX(id) FROM articles_hash ah
WHERE author_id = 1" WHERE author_id = 1"
PL/pgSQL function author_articles_max_id() line 5 at SQL statement PL/pgSQL function author_articles_max_id() line 5 at SQL statement
@ -1103,7 +1104,7 @@ CONTEXT: SQL statement "SELECT ah.id, ah.word_count
FROM articles_hash ah FROM articles_hash ah
WHERE author_id = 1" WHERE author_id = 1"
PL/pgSQL function author_articles_id_word_count() line 4 at RETURN QUERY PL/pgSQL function author_articles_id_word_count() line 4 at RETURN QUERY
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
CONTEXT: SQL statement "SELECT ah.id, ah.word_count CONTEXT: SQL statement "SELECT ah.id, ah.word_count
FROM articles_hash ah FROM articles_hash ah
WHERE author_id = 1" WHERE author_id = 1"
@ -1118,7 +1119,7 @@ SET citus.task_executor_type to 'task-tracker';
SELECT id SELECT id
FROM articles_hash FROM articles_hash
WHERE author_id = 1; WHERE author_id = 1;
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
id id
---- ----
1 1
@ -1136,7 +1137,7 @@ DEBUG: Plan is router executable
SELECT id SELECT id
FROM articles_hash FROM articles_hash
WHERE author_id = 1; WHERE author_id = 1;
DEBUG: predicate pruning for shardId 103301 DEBUG: predicate pruning for shardId 840001
id id
---- ----
1 1

View File

@ -2,6 +2,7 @@
-- MULTI_SHARD_MODIFY -- MULTI_SHARD_MODIFY
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 350000; ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 350000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 350000;
-- Create a new hash partitioned multi_shard_modify_test table and stage data into it. -- Create a new hash partitioned multi_shard_modify_test table and stage data into it.
CREATE TABLE multi_shard_modify_test ( CREATE TABLE multi_shard_modify_test (
t_key integer not null, t_key integer not null,

View File

@ -1,3 +1,5 @@
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 850000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 850000;
-- =================================================================== -- ===================================================================
-- test end-to-end query functionality -- test end-to-end query functionality
-- =================================================================== -- ===================================================================
@ -323,7 +325,7 @@ SELECT *
FROM articles FROM articles
WHERE author_id = 1; WHERE author_id = 1;
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103108 DEBUG: predicate pruning for shardId 850001
DEBUG: Plan is router executable DEBUG: Plan is router executable
id | author_id | title | word_count id | author_id | title | word_count
----+-----------+--------------+------------ ----+-----------+--------------+------------
@ -338,7 +340,7 @@ DEBUG: Plan is router executable
SELECT * SELECT *
FROM articles FROM articles
WHERE author_id = 1 OR author_id = 17; WHERE author_id = 1 OR author_id = 17;
DEBUG: predicate pruning for shardId 103108 DEBUG: predicate pruning for shardId 850001
DEBUG: Plan is router executable DEBUG: Plan is router executable
id | author_id | title | word_count id | author_id | title | word_count
----+-----------+--------------+------------ ----+-----------+--------------+------------
@ -367,7 +369,7 @@ SELECT id as article_id, word_count * id as random_value
FROM articles FROM articles
WHERE author_id = 1; WHERE author_id = 1;
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103108 DEBUG: predicate pruning for shardId 850001
DEBUG: Plan is router executable DEBUG: Plan is router executable
article_id | random_value article_id | random_value
------------+-------------- ------------+--------------
@ -385,7 +387,7 @@ SELECT a.author_id as first_author, b.word_count as second_word_count
WHERE a.author_id = 10 and a.author_id = b.author_id WHERE a.author_id = 10 and a.author_id = b.author_id
LIMIT 3; LIMIT 3;
DEBUG: push down of limit count: 3 DEBUG: push down of limit count: 3
DEBUG: predicate pruning for shardId 103108 DEBUG: predicate pruning for shardId 850001
DEBUG: join prunable for intervals [-2147483648,-1] and [0,2147483647] DEBUG: join prunable for intervals [-2147483648,-1] and [0,2147483647]
DEBUG: Plan is router executable DEBUG: Plan is router executable
first_author | second_word_count first_author | second_word_count
@ -402,7 +404,7 @@ SELECT a.author_id as first_author, b.word_count as second_word_count
WHERE a.author_id = 10 and a.author_id = b.author_id WHERE a.author_id = 10 and a.author_id = b.author_id
LIMIT 3; LIMIT 3;
DEBUG: push down of limit count: 3 DEBUG: push down of limit count: 3
DEBUG: predicate pruning for shardId 103108 DEBUG: predicate pruning for shardId 850001
first_author | second_word_count first_author | second_word_count
--------------+------------------- --------------+-------------------
10 | 19519 10 | 19519
@ -416,7 +418,7 @@ SELECT *
WHERE author_id = 1 WHERE author_id = 1
LIMIT 2; LIMIT 2;
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103108 DEBUG: predicate pruning for shardId 850001
DEBUG: Plan is router executable DEBUG: Plan is router executable
id | author_id | title | word_count id | author_id | title | word_count
----+-----------+----------+------------ ----+-----------+----------+------------
@ -432,7 +434,7 @@ SELECT id
WHERE author_id = 1 WHERE author_id = 1
GROUP BY id; GROUP BY id;
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103108 DEBUG: predicate pruning for shardId 850001
DEBUG: Plan is router executable DEBUG: Plan is router executable
id id
---- ----
@ -452,7 +454,7 @@ SELECT avg(word_count)
FROM articles FROM articles
WHERE author_id = 2; WHERE author_id = 2;
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103107 DEBUG: predicate pruning for shardId 850000
DEBUG: Plan is router executable DEBUG: Plan is router executable
avg avg
-------------------- --------------------
@ -466,7 +468,7 @@ SELECT max(word_count) as max, min(word_count) as min,
FROM articles FROM articles
WHERE author_id = 2; WHERE author_id = 2;
DEBUG: Creating router plan DEBUG: Creating router plan
DEBUG: predicate pruning for shardId 103107 DEBUG: predicate pruning for shardId 850000
DEBUG: Plan is router executable DEBUG: Plan is router executable
max | min | sum | cnt max | min | sum | cnt
-------+------+-------+----- -------+------+-------+-----
@ -477,7 +479,7 @@ DEBUG: Plan is router executable
SELECT * SELECT *
FROM articles a, articles b FROM articles a, articles b
WHERE a.id = b.id AND a.author_id = 1; WHERE a.id = b.id AND a.author_id = 1;
DEBUG: predicate pruning for shardId 103108 DEBUG: predicate pruning for shardId 850001
DEBUG: join prunable for task partitionId 0 and 1 DEBUG: join prunable for task partitionId 0 and 1
DEBUG: join prunable for task partitionId 0 and 2 DEBUG: join prunable for task partitionId 0 and 2
DEBUG: join prunable for task partitionId 0 and 3 DEBUG: join prunable for task partitionId 0 and 3

View File

@ -2,6 +2,8 @@
-- MULTI_SINGLE_RELATION_SUBQUERY -- MULTI_SINGLE_RELATION_SUBQUERY
-- --
-- This test checks that we are able to run selected set of distributed SQL subqueries. -- This test checks that we are able to run selected set of distributed SQL subqueries.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 860000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 860000;
SET citus.task_executor_type TO 'task-tracker'; SET citus.task_executor_type TO 'task-tracker';
select select
number_sum, number_sum,

View File

@ -2,6 +2,8 @@
-- MULTI_TABLE_DDL -- MULTI_TABLE_DDL
-- --
-- Tests around changing the schema and dropping of a distributed table -- Tests around changing the schema and dropping of a distributed table
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 870000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 870000;
CREATE TABLE testtableddl(somecol int, distributecol text NOT NULL); CREATE TABLE testtableddl(somecol int, distributecol text NOT NULL);
SELECT master_create_distributed_table('testtableddl', 'distributecol', 'append'); SELECT master_create_distributed_table('testtableddl', 'distributecol', 'append');
master_create_distributed_table master_create_distributed_table

View File

@ -1,6 +1,8 @@
-- --
-- MULTI_TASK_ASSIGNMENT -- MULTI_TASK_ASSIGNMENT
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 880000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 880000;
SET citus.explain_distributed_queries TO off; SET citus.explain_distributed_queries TO off;
-- Check that our policies for assigning tasks to worker nodes run as expected. -- Check that our policies for assigning tasks to worker nodes run as expected.
-- To test this, we first create a shell table, and then manually insert shard -- To test this, we first create a shell table, and then manually insert shard

View File

@ -1,6 +1,8 @@
-- --
-- MULTI_TPCH_QUERY1 -- MULTI_TPCH_QUERY1
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 890000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 890000;
-- Change configuration to treat lineitem and orders tables as large -- Change configuration to treat lineitem and orders tables as large
SET citus.large_table_shard_count TO 2; SET citus.large_table_shard_count TO 2;
-- Query #1 from the TPC-H decision support benchmark -- Query #1 from the TPC-H decision support benchmark

View File

@ -4,6 +4,8 @@
-- Query #10 from the TPC-H decision support benchmark. Unlike other TPC-H tests, -- Query #10 from the TPC-H decision support benchmark. Unlike other TPC-H tests,
-- we don't set citus.large_table_shard_count here, and instead use the default value -- we don't set citus.large_table_shard_count here, and instead use the default value
-- coming from postgresql.conf or multi_task_tracker_executor.conf. -- coming from postgresql.conf or multi_task_tracker_executor.conf.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 900000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 900000;
SELECT SELECT
c_custkey, c_custkey,
c_name, c_name,

View File

@ -1,6 +1,8 @@
-- --
-- MULTI_TPCH_QUERY12 -- MULTI_TPCH_QUERY12
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 910000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 910000;
-- Change configuration to treat lineitem and orders tables as large -- Change configuration to treat lineitem and orders tables as large
SET citus.large_table_shard_count TO 2; SET citus.large_table_shard_count TO 2;
-- Query #12 from the TPC-H decision support benchmark -- Query #12 from the TPC-H decision support benchmark

View File

@ -1,6 +1,8 @@
-- --
-- MULTI_TPCH_QUERY14 -- MULTI_TPCH_QUERY14
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 920000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 920000;
-- Change configuration to treat lineitem and orders tables as large -- Change configuration to treat lineitem and orders tables as large
SET citus.large_table_shard_count TO 2; SET citus.large_table_shard_count TO 2;
-- Query #14 from the TPC-H decision support benchmark -- Query #14 from the TPC-H decision support benchmark

View File

@ -1,6 +1,8 @@
-- --
-- MULTI_TPCH_QUERY19 -- MULTI_TPCH_QUERY19
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 930000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 930000;
-- Change configuration to treat lineitem and orders tables as large -- Change configuration to treat lineitem and orders tables as large
SET citus.large_table_shard_count TO 2; SET citus.large_table_shard_count TO 2;
-- Query #19 from the TPC-H decision support benchmark. Note that we modified -- Query #19 from the TPC-H decision support benchmark. Note that we modified

View File

@ -4,6 +4,8 @@
-- Query #3 from the TPC-H decision support benchmark. Unlike other TPC-H tests, -- Query #3 from the TPC-H decision support benchmark. Unlike other TPC-H tests,
-- we don't set citus.large_table_shard_count here, and instead use the default value -- we don't set citus.large_table_shard_count here, and instead use the default value
-- coming from postgresql.conf or multi_task_tracker_executor.conf. -- coming from postgresql.conf or multi_task_tracker_executor.conf.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 940000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 940000;
SELECT SELECT
l_orderkey, l_orderkey,
sum(l_extendedprice * (1 - l_discount)) as revenue, sum(l_extendedprice * (1 - l_discount)) as revenue,

View File

@ -1,6 +1,8 @@
-- --
-- MULTI_TPCH_QUERY6 -- MULTI_TPCH_QUERY6
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 950000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 950000;
-- Change configuration to treat lineitem and orders tables as large -- Change configuration to treat lineitem and orders tables as large
SET citus.large_table_shard_count TO 2; SET citus.large_table_shard_count TO 2;
-- Query #6 from the TPC-H decision support benchmark -- Query #6 from the TPC-H decision support benchmark

View File

@ -1,6 +1,8 @@
-- --
-- MULTI_TPCH_QUERY7 -- MULTI_TPCH_QUERY7
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 970000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 970000;
-- Change configuration to treat lineitem AND orders tables as large -- Change configuration to treat lineitem AND orders tables as large
SET citus.large_table_shard_count TO 2; SET citus.large_table_shard_count TO 2;
-- Query #7 from the TPC-H decision support benchmark -- Query #7 from the TPC-H decision support benchmark

View File

@ -1,6 +1,8 @@
-- --
-- MULTI_TPCH_QUERY7_NESTED -- MULTI_TPCH_QUERY7_NESTED
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 960000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 960000;
-- Change configuration to treat lineitem AND orders tables AS large -- Change configuration to treat lineitem AND orders tables AS large
SET citus.large_table_shard_count TO 2; SET citus.large_table_shard_count TO 2;
-- Query #7 from the TPC-H benchmark; modified to include sub-selects -- Query #7 from the TPC-H benchmark; modified to include sub-selects

View File

@ -1,6 +1,8 @@
-- this test file aims to test UPSERT feature on Citus -- this test file aims to test UPSERT feature on Citus
-- note that output of this file for postgresql 9.4 will -- note that output of this file for postgresql 9.4 will
-- be full syntax errors, which is expected. -- be full syntax errors, which is expected.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 980000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 980000;
CREATE TABLE upsert_test CREATE TABLE upsert_test
( (
part_key int UNIQUE, part_key int UNIQUE,

View File

@ -1,6 +1,8 @@
-- this test file aims to test UPSERT feature on Citus -- this test file aims to test UPSERT feature on Citus
-- note that output of this file for postgresql 9.4 will -- note that output of this file for postgresql 9.4 will
-- be full syntax errors, which is expected. -- be full syntax errors, which is expected.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 980000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 980000;
CREATE TABLE upsert_test CREATE TABLE upsert_test
( (
part_key int UNIQUE, part_key int UNIQUE,

View File

@ -1,3 +1,5 @@
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 990000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 990000;
-- =================================================================== -- ===================================================================
-- test utility statement functionality -- test utility statement functionality
-- =================================================================== -- ===================================================================

View File

@ -4,6 +4,8 @@
-- Check that we can run utility statements with embedded SELECT statements on -- Check that we can run utility statements with embedded SELECT statements on
-- distributed tables. Currently we only support CREATE TABLE AS (SELECT..), -- distributed tables. Currently we only support CREATE TABLE AS (SELECT..),
-- DECLARE CURSOR, and COPY ... TO statements. -- DECLARE CURSOR, and COPY ... TO statements.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1000000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1000000;
CREATE TEMP TABLE lineitem_pricing_summary AS CREATE TEMP TABLE lineitem_pricing_summary AS
( (
SELECT SELECT

View File

@ -3,6 +3,8 @@
-- --
-- Tests to check if we inform the user about potential caveats of creating new -- Tests to check if we inform the user about potential caveats of creating new
-- databases, schemas, and roles. -- databases, schemas, and roles.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1010000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1010000;
CREATE DATABASE new_database; CREATE DATABASE new_database;
NOTICE: Citus partially supports CREATE DATABASE for distributed databases NOTICE: Citus partially supports CREATE DATABASE for distributed databases
DETAIL: Citus does not propagate CREATE DATABASE command to workers DETAIL: Citus does not propagate CREATE DATABASE command to workers

View File

@ -3,6 +3,8 @@
-- --
-- This test checks that we simply emit an error message instead of trying to -- This test checks that we simply emit an error message instead of trying to
-- fetch and join a shard which has an alias set. -- fetch and join a shard which has an alias set.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1020000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1020000;
-- Show that the join works without an alias -- Show that the join works without an alias
SELECT COUNT(*) FROM lineitem, part WHERE l_partkey = p_partkey; SELECT COUNT(*) FROM lineitem, part WHERE l_partkey = p_partkey;
count count
@ -11,10 +13,10 @@ SELECT COUNT(*) FROM lineitem, part WHERE l_partkey = p_partkey;
(1 row) (1 row)
-- Assign an alias to the parts shard -- Assign an alias to the parts shard
UPDATE pg_dist_shard SET shardalias = 'my_alias' WHERE shardid = 102019; UPDATE pg_dist_shard SET shardalias = 'my_alias' WHERE shardid = 290000;
-- Attempt a join which uses this shard -- Attempt a join which uses this shard
SELECT COUNT(*) FROM lineitem, part WHERE l_partkey = p_partkey; SELECT COUNT(*) FROM lineitem, part WHERE l_partkey = p_partkey;
ERROR: cannot fetch shard 102019 ERROR: cannot fetch shard 290000
DETAIL: Fetching shards with aliases is currently unsupported DETAIL: Fetching shards with aliases is currently unsupported
-- Remove the alias from the parts shard -- Remove the alias from the parts shard
UPDATE pg_dist_shard SET shardalias = NULL WHERE shardid = 102019; UPDATE pg_dist_shard SET shardalias = NULL WHERE shardid = 290000;

View File

@ -3,6 +3,8 @@
-- --
-- This test checks that we simply emit an error message instead of trying to -- This test checks that we simply emit an error message instead of trying to
-- process a distributed unsupported SQL subquery. -- process a distributed unsupported SQL subquery.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1030000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1030000;
SELECT * FROM lineitem WHERE l_orderkey IN SELECT * FROM lineitem WHERE l_orderkey IN
(SELECT l_orderkey FROM lineitem WHERE l_quantity > 0); (SELECT l_orderkey FROM lineitem WHERE l_quantity > 0);
ERROR: cannot perform distributed planning on this query ERROR: cannot perform distributed planning on this query

View File

@ -5,6 +5,8 @@
-- projection order are called working (resjunk) columns. We check in here that -- projection order are called working (resjunk) columns. We check in here that
-- these columns are pulled to the master, and are correctly used in sorting and -- these columns are pulled to the master, and are correctly used in sorting and
-- grouping. -- grouping.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1040000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1040000;
SELECT l_quantity FROM lineitem ORDER BY l_shipdate, l_quantity LIMIT 20; SELECT l_quantity FROM lineitem ORDER BY l_shipdate, l_quantity LIMIT 20;
l_quantity l_quantity
------------ ------------

View File

@ -1,6 +1,8 @@
-- --
-- TASK_TRACKER_ASSIGN_TASK -- TASK_TRACKER_ASSIGN_TASK
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1050000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1050000;
\set JobId 401010 \set JobId 401010
\set SimpleTaskId 101101 \set SimpleTaskId 101101
\set RecoverableTaskId 801102 \set RecoverableTaskId 801102

View File

@ -1,6 +1,8 @@
-- --
-- TASK_TRACKER_CLEANUP_JOB -- TASK_TRACKER_CLEANUP_JOB
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1060000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1060000;
\set JobId 401010 \set JobId 401010
\set CompletedTaskId 801107 \set CompletedTaskId 801107
\set RunningTaskId 801108 \set RunningTaskId 801108

View File

@ -1,6 +1,8 @@
-- --
-- TASK_TRACKER_CREATE_TABLE -- TASK_TRACKER_CREATE_TABLE
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1070000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1070000;
-- New table definitions to test the task tracker process and protocol -- New table definitions to test the task tracker process and protocol
CREATE TABLE lineitem_simple_task ( LIKE lineitem ); CREATE TABLE lineitem_simple_task ( LIKE lineitem );
CREATE TABLE lineitem_compute_task ( LIKE lineitem ); CREATE TABLE lineitem_compute_task ( LIKE lineitem );

View File

@ -1,6 +1,8 @@
-- --
-- TASK_TRACKER_PARTITION_TASK -- TASK_TRACKER_PARTITION_TASK
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1080000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1080000;
\set JobId 401010 \set JobId 401010
\set PartitionTaskId 801106 \set PartitionTaskId 801106
\set PartitionColumn l_orderkey \set PartitionColumn l_orderkey

View File

@ -1,6 +1,8 @@
-- --
-- WORKER_BINARY_DATA_PARTITION -- WORKER_BINARY_DATA_PARTITION
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1090000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1090000;
\set JobId 201010 \set JobId 201010
\set TaskId 101105 \set TaskId 101105
\set Partition_Column textcolumn \set Partition_Column textcolumn

View File

@ -1,6 +1,8 @@
-- --
-- WORKER_CHECK_INVALID_ARGUMENTS -- WORKER_CHECK_INVALID_ARGUMENTS
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1100000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1100000;
\set JobId 201010 \set JobId 201010
\set TaskId 101108 \set TaskId 101108
\set Table_Name simple_binary_data_table \set Table_Name simple_binary_data_table

View File

@ -4,6 +4,8 @@
-- Create new table definitions for lineitem and supplier tables to test worker -- Create new table definitions for lineitem and supplier tables to test worker
-- node execution logic. For now,the tests include range and hash partitioning -- node execution logic. For now,the tests include range and hash partitioning
-- of existing tables. -- of existing tables.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1110000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1110000;
CREATE TABLE lineitem ( CREATE TABLE lineitem (
l_orderkey bigint not null, l_orderkey bigint not null,
l_partkey integer not null, l_partkey integer not null,

View File

@ -1,6 +1,8 @@
-- --
-- WORKER_HASH_PARTITION -- WORKER_HASH_PARTITION
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1130000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1130000;
\set JobId 201010 \set JobId 201010
\set TaskId 101103 \set TaskId 101103
\set Partition_Column l_orderkey \set Partition_Column l_orderkey

View File

@ -1,6 +1,8 @@
-- --
-- WORKER_HASH_PARTITION_COMPLEX -- WORKER_HASH_PARTITION_COMPLEX
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1120000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1120000;
\set JobId 201010 \set JobId 201010
\set TaskId 101104 \set TaskId 101104
\set Partition_Column l_partkey \set Partition_Column l_partkey

View File

@ -1,6 +1,8 @@
-- --
-- WORKER_MERGE_HASH_FILES -- 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 JobId 201010
\set TaskId 101103 \set TaskId 101103
\set Task_Table_Name public.task_101103 \set Task_Table_Name public.task_101103

View File

@ -1,6 +1,8 @@
-- --
-- WORKER_MERGE_RANGE_FILES -- WORKER_MERGE_RANGE_FILES
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1150000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1150000;
\set JobId 201010 \set JobId 201010
\set TaskId 101101 \set TaskId 101101
\set Task_Table_Name public.task_101101 \set Task_Table_Name public.task_101101

View File

@ -1,6 +1,8 @@
-- --
-- WORKER_NULL_DATA_PARTITION -- WORKER_NULL_DATA_PARTITION
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1180000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1180000;
\set JobId 201010 \set JobId 201010
\set Range_TaskId 101106 \set Range_TaskId 101106
\set Partition_Column s_nationkey \set Partition_Column s_nationkey

View File

@ -1,6 +1,8 @@
-- --
-- WORKER_RANGE_PARTITION -- WORKER_RANGE_PARTITION
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1160000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1160000;
\set JobId 201010 \set JobId 201010
\set TaskId 101101 \set TaskId 101101
\set Partition_Column l_orderkey \set Partition_Column l_orderkey

View File

@ -1,6 +1,8 @@
-- --
-- WORKER_RANGE_PARTITION_COMPLEX -- WORKER_RANGE_PARTITION_COMPLEX
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 1170000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 1170000;
\set JobId 201010 \set JobId 201010
\set TaskId 101102 \set TaskId 101102
\set Partition_Column l_partkey \set Partition_Column l_partkey

View File

@ -2,8 +2,12 @@
-- MULTI_AGG_DISTINCT -- MULTI_AGG_DISTINCT
-- --
-- Create a new range partitioned lineitem table and stage data into it
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 200000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 200000;
-- Create a new range partitioned lineitem table and stage data into it
CREATE TABLE lineitem_range ( CREATE TABLE lineitem_range (
l_orderkey bigint not null, l_orderkey bigint not null,
l_partkey integer not null, l_partkey integer not null,

View File

@ -2,8 +2,12 @@
-- MULTI_AGG_TYPE_CONVERSION -- MULTI_AGG_TYPE_CONVERSION
-- --
-- Test aggregate type conversions using sums of integers and division operator
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 210000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 210000;
-- Test aggregate type conversions using sums of integers and division operator
SELECT sum(l_suppkey) FROM lineitem; SELECT sum(l_suppkey) FROM lineitem;
SELECT sum(l_suppkey) / 2 FROM lineitem; SELECT sum(l_suppkey) / 2 FROM lineitem;
SELECT sum(l_suppkey) / 2::numeric FROM lineitem; SELECT sum(l_suppkey) / 2::numeric FROM lineitem;

View File

@ -2,11 +2,14 @@
-- MULTI_ALTER_TABLE_STATEMENTS -- MULTI_ALTER_TABLE_STATEMENTS
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 220000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 220000;
-- Check that we can run ALTER TABLE statements on distributed tables. -- Check that we can run ALTER TABLE statements on distributed tables.
-- We set the shardid sequence here so that the shardids in this test -- We set the shardid sequence here so that the shardids in this test
-- aren't affected by changes to the previous tests. -- aren't affected by changes to the previous tests.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 103000;
CREATE TABLE lineitem_alter ( CREATE TABLE lineitem_alter (
l_orderkey bigint not null, l_orderkey bigint not null,
l_partkey integer not null, l_partkey integer not null,
@ -178,7 +181,7 @@ ALTER TABLE lineitem_alter ADD COLUMN column_only_added_to_master int;
-- verify newly added column is not present in a worker shard -- verify newly added column is not present in a worker shard
\c - - - :worker_1_port \c - - - :worker_1_port
SELECT column_only_added_to_master FROM lineitem_alter_103000 LIMIT 0; SELECT column_only_added_to_master FROM lineitem_alter_220000 LIMIT 0;
\c - - - :master_port \c - - - :master_port
-- ddl propagation flag is reset to default, disable it again -- ddl propagation flag is reset to default, disable it again

View File

@ -1,6 +1,12 @@
-- --
-- MULTI_APPEND_TABLE_TO_SHARD -- MULTI_APPEND_TABLE_TO_SHARD
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 230000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 230000;
-- Initialize tables to join -- Initialize tables to join
CREATE TABLE multi_append_table_to_shard_right CREATE TABLE multi_append_table_to_shard_right
( (

View File

@ -2,6 +2,11 @@
-- COMPLEX_COUNT_DISTINCT -- COMPLEX_COUNT_DISTINCT
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 240000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 240000;
CREATE TABLE lineitem_hash ( CREATE TABLE lineitem_hash (
l_orderkey bigint not null, l_orderkey bigint not null,
l_partkey integer not null, l_partkey integer not null,

View File

@ -2,7 +2,10 @@
-- MULTI_COPY -- MULTI_COPY
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 560000; ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 560000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 560000;
-- Create a new hash-partitioned table into which to COPY -- Create a new hash-partitioned table into which to COPY
CREATE TABLE customer_copy_hash ( CREATE TABLE customer_copy_hash (

View File

@ -1,3 +1,8 @@
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 250000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 250000;
CREATE SCHEMA tpch CREATE SCHEMA tpch
CREATE TABLE nation ( CREATE TABLE nation (
n_nationkey integer not null, n_nationkey integer not null,

View File

@ -6,7 +6,10 @@
-- differs from previous tests in that it modifies the *internal* shardId -- differs from previous tests in that it modifies the *internal* shardId
-- generator, forcing the distributed database to use 64-bit shard identifiers. -- 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_shardid_seq RESTART 100200300400500;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 9000000;
-- Stage additional data to start using large shard identifiers. -- Stage additional data to start using large shard identifiers.

View File

@ -2,6 +2,11 @@
-- MULTI_FDW_STAGE_DATA -- 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. -- 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.1.data'

View File

@ -6,7 +6,10 @@
-- differs from previous tests in that it modifies the *internal* shardId -- differs from previous tests in that it modifies the *internal* shardId
-- generator, forcing the distributed database to use 64-bit shard identifiers. -- 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_shardid_seq RESTART 100200300400500;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 9000000;
-- Stage additional data to start using large shard identifiers. -- Stage additional data to start using large shard identifiers.

View File

@ -2,8 +2,12 @@
-- MULTI_MASTER_DELETE_PROTOCOL -- MULTI_MASTER_DELETE_PROTOCOL
-- --
-- Create a new range partitioned customer_delete_protocol table and stage data into it.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 320000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 320000;
-- Create a new range partitioned customer_delete_protocol table and stage data into it.
CREATE TABLE customer_delete_protocol ( CREATE TABLE customer_delete_protocol (
c_custkey integer not null, c_custkey integer not null,
c_name varchar(25) not null, c_name varchar(25) not null,

View File

@ -1,3 +1,8 @@
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 310000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 310000;
SET citus.large_table_shard_count TO 2; SET citus.large_table_shard_count TO 2;
SET citus.log_multi_join_order to true; SET citus.log_multi_join_order to true;
SET client_min_messages TO LOG; SET client_min_messages TO LOG;

View File

@ -1,12 +1,16 @@
-- --
-- MULTI_STAGE_DATA -- MULTI_STAGE_DATA
-- --
-- Tests for staging data in a distributed cluster. Please note that the number -- Tests for staging data in a distributed cluster. Please note that the number
-- of shards uploaded depends on two config values: citus.shard_replication_factor and -- of shards uploaded depends on two config values: citus.shard_replication_factor and
-- citus.shard_max_size. These values are set in pg_regress_multi.pl. Shard placement -- citus.shard_max_size. These values are set in pg_regress_multi.pl. Shard placement
-- policy is left to the default value (round-robin) to test the common install case. -- policy is left to the default value (round-robin) to test the common install case.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 290000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 290000;
\STAGE lineitem FROM '@abs_srcdir@/data/lineitem.1.data' with delimiter '|' \STAGE lineitem FROM '@abs_srcdir@/data/lineitem.1.data' with delimiter '|'
\STAGE lineitem FROM '@abs_srcdir@/data/lineitem.2.data' with delimiter '|' \STAGE lineitem FROM '@abs_srcdir@/data/lineitem.2.data' with delimiter '|'

View File

@ -1,11 +1,15 @@
-- --
-- MULTI_STAGE_LARGE_RECORDS -- MULTI_STAGE_LARGE_RECORDS
-- --
-- Tests for staging data with large records (i.e. greater than the read buffer -- Tests for staging data with large records (i.e. greater than the read buffer
-- size, which is 32kB) in a distributed cluster. These tests make sure that we -- size, which is 32kB) in a distributed cluster. These tests make sure that we
-- are creating shards of correct size even when records are large. -- are creating shards of correct size even when records are large.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 300000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 300000;
SET citus.shard_max_size TO "256kB"; SET citus.shard_max_size TO "256kB";
CREATE TABLE large_records_table (data_id integer, data text); CREATE TABLE large_records_table (data_id integer, data text);

View File

@ -2,6 +2,11 @@
-- MULTI_STAGE_MORE_DATA -- MULTI_STAGE_MORE_DATA
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 280000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 280000;
-- We stage more data to customer and part tables to test distributed joins. The -- We stage more data to customer and part tables to test distributed joins. The
-- staging causes the planner to consider customer and part tables as large, and -- staging causes the planner to consider customer and part tables as large, and
-- evaluate plans where some of the underlying tables need to be repartitioned. -- evaluate plans where some of the underlying tables need to be repartitioned.

View File

@ -2,8 +2,12 @@
-- MULTI_SUBQUERY -- MULTI_SUBQUERY
-- --
-- Create tables for subquery tests
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 270000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 270000;
-- Create tables for subquery tests
CREATE TABLE lineitem_subquery ( CREATE TABLE lineitem_subquery (
l_orderkey bigint not null, l_orderkey bigint not null,
l_partkey integer not null, l_partkey integer not null,
@ -101,7 +105,7 @@ FROM
-- Update metadata in order to make all shards equal. -- Update metadata in order to make all shards equal.
UPDATE pg_dist_shard SET shardmaxvalue = '14947' WHERE shardid = 102024; UPDATE pg_dist_shard SET shardmaxvalue = '14947' WHERE shardid = 270003;
-- If group by is not on partition column then we error out. -- If group by is not on partition column then we error out.
@ -350,5 +354,3 @@ SELECT * FROM
AS foo; AS foo;
DROP TABLE subquery_pruning_varchar_test_table; DROP TABLE subquery_pruning_varchar_test_table;
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 102026;

View File

@ -2,6 +2,11 @@
-- WORKER_COPY -- WORKER_COPY
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 260000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 260000;
COPY lineitem FROM '@abs_srcdir@/data/lineitem.1.data' WITH DELIMITER '|'; COPY lineitem FROM '@abs_srcdir@/data/lineitem.1.data' WITH DELIMITER '|';
COPY lineitem FROM '@abs_srcdir@/data/lineitem.2.data' WITH DELIMITER '|'; COPY lineitem FROM '@abs_srcdir@/data/lineitem.2.data' WITH DELIMITER '|';

View File

@ -1,6 +1,8 @@
-- --
-- MULTI_AGG_DISTINCT -- MULTI_AGG_DISTINCT
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 200000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 200000;
-- Create a new range partitioned lineitem table and stage data into it -- Create a new range partitioned lineitem table and stage data into it
CREATE TABLE lineitem_range ( CREATE TABLE lineitem_range (
l_orderkey bigint not null, l_orderkey bigint not null,

View File

@ -1,6 +1,8 @@
-- --
-- MULTI_AGG_TYPE_CONVERSION -- MULTI_AGG_TYPE_CONVERSION
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 210000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 210000;
-- Test aggregate type conversions using sums of integers and division operator -- Test aggregate type conversions using sums of integers and division operator
SELECT sum(l_suppkey) FROM lineitem; SELECT sum(l_suppkey) FROM lineitem;
sum sum

View File

@ -1,10 +1,11 @@
-- --
-- MULTI_ALTER_TABLE_STATEMENTS -- MULTI_ALTER_TABLE_STATEMENTS
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 220000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 220000;
-- Check that we can run ALTER TABLE statements on distributed tables. -- Check that we can run ALTER TABLE statements on distributed tables.
-- We set the shardid sequence here so that the shardids in this test -- We set the shardid sequence here so that the shardids in this test
-- aren't affected by changes to the previous tests. -- aren't affected by changes to the previous tests.
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 103000;
CREATE TABLE lineitem_alter ( CREATE TABLE lineitem_alter (
l_orderkey bigint not null, l_orderkey bigint not null,
l_partkey integer not null, l_partkey integer not null,
@ -166,10 +167,10 @@ ALTER TABLE lineitem_alter ALTER COLUMN int_column2 DROP DEFAULT;
\STAGE lineitem_alter (l_orderkey, l_partkey, l_suppkey, l_linenumber, l_quantity, l_extendedprice, l_discount, l_tax, l_returnflag, l_linestatus, l_shipdate, l_commitdate, l_receiptdate, l_shipinstruct, l_shipmode, l_comment) FROM '@abs_srcdir@/data/lineitem.1.data' with delimiter '|' \STAGE lineitem_alter (l_orderkey, l_partkey, l_suppkey, l_linenumber, l_quantity, l_extendedprice, l_discount, l_tax, l_returnflag, l_linestatus, l_shipdate, l_commitdate, l_receiptdate, l_shipinstruct, l_shipmode, l_comment) FROM '@abs_srcdir@/data/lineitem.1.data' with delimiter '|'
ERROR: null value in column "int_column2" violates not-null constraint ERROR: null value in column "int_column2" violates not-null constraint
DETAIL: Failing row contains (1, 155190, 7706, 1, 17.00, 21168.23, 0.04, 0.02, N, O, 03-13-1996, 02-12-1996, 03-22-1996, DELIVER IN PERSON , TRUCK , egular courts above the, 1, null, null, null, null). DETAIL: Failing row contains (1, 155190, 7706, 1, 17.00, 21168.23, 0.04, 0.02, N, O, 03-13-1996, 02-12-1996, 03-22-1996, DELIVER IN PERSON , TRUCK , egular courts above the, 1, null, null, null, null).
CONTEXT: COPY lineitem_alter_103006, line 1: "1|155190|7706|1|17|21168.23|0.04|0.02|N|O|1996-03-13|1996-02-12|1996-03-22|DELIVER IN PERSON|TRUCK|e..." CONTEXT: COPY lineitem_alter_220006, line 1: "1|155190|7706|1|17|21168.23|0.04|0.02|N|O|1996-03-13|1996-02-12|1996-03-22|DELIVER IN PERSON|TRUCK|e..."
ERROR: null value in column "int_column2" violates not-null constraint ERROR: null value in column "int_column2" violates not-null constraint
DETAIL: Failing row contains (1, 155190, 7706, 1, 17.00, 21168.23, 0.04, 0.02, N, O, 03-13-1996, 02-12-1996, 03-22-1996, DELIVER IN PERSON , TRUCK , egular courts above the, 1, null, null, null, null). DETAIL: Failing row contains (1, 155190, 7706, 1, 17.00, 21168.23, 0.04, 0.02, N, O, 03-13-1996, 02-12-1996, 03-22-1996, DELIVER IN PERSON , TRUCK , egular courts above the, 1, null, null, null, null).
CONTEXT: COPY lineitem_alter_103006, line 1: "1|155190|7706|1|17|21168.23|0.04|0.02|N|O|1996-03-13|1996-02-12|1996-03-22|DELIVER IN PERSON|TRUCK|e..." CONTEXT: COPY lineitem_alter_220006, line 1: "1|155190|7706|1|17|21168.23|0.04|0.02|N|O|1996-03-13|1996-02-12|1996-03-22|DELIVER IN PERSON|TRUCK|e..."
\stage: failed to replicate shard to enough replicas \stage: failed to replicate shard to enough replicas
-- Verify that DROP NOT NULL works -- Verify that DROP NOT NULL works
ALTER TABLE lineitem_alter ALTER COLUMN int_column2 DROP NOT NULL; ALTER TABLE lineitem_alter ALTER COLUMN int_column2 DROP NOT NULL;
@ -261,7 +262,7 @@ NOTICE: relation "non_existent_table" does not exist, skipping
ALTER TABLE IF EXISTS lineitem_alter ALTER COLUMN int_column2 SET DATA TYPE INTEGER; ALTER TABLE IF EXISTS lineitem_alter ALTER COLUMN int_column2 SET DATA TYPE INTEGER;
ALTER TABLE lineitem_alter DROP COLUMN non_existent_column; ALTER TABLE lineitem_alter DROP COLUMN non_existent_column;
WARNING: Bad result from localhost:57638 WARNING: Bad result from localhost:57638
DETAIL: Remote message: column "non_existent_column" of relation "lineitem_alter_103000" does not exist DETAIL: Remote message: column "non_existent_column" of relation "lineitem_alter_220000" does not exist
ERROR: could not execute DDL command on worker node shards ERROR: could not execute DDL command on worker node shards
ALTER TABLE lineitem_alter DROP COLUMN IF EXISTS non_existent_column; ALTER TABLE lineitem_alter DROP COLUMN IF EXISTS non_existent_column;
NOTICE: column "non_existent_column" of relation "lineitem_alter" does not exist, skipping NOTICE: column "non_existent_column" of relation "lineitem_alter" does not exist, skipping
@ -469,9 +470,9 @@ ALTER TABLE lineitem_renamed RENAME TO lineitem_alter;
ALTER TABLE lineitem_alter ADD COLUMN column_only_added_to_master int; ALTER TABLE lineitem_alter ADD COLUMN column_only_added_to_master int;
-- verify newly added column is not present in a worker shard -- verify newly added column is not present in a worker shard
\c - - - :worker_1_port \c - - - :worker_1_port
SELECT column_only_added_to_master FROM lineitem_alter_103000 LIMIT 0; SELECT column_only_added_to_master FROM lineitem_alter_220000 LIMIT 0;
ERROR: column "column_only_added_to_master" does not exist ERROR: column "column_only_added_to_master" does not exist
LINE 1: SELECT column_only_added_to_master FROM lineitem_alter_10300... LINE 1: SELECT column_only_added_to_master FROM lineitem_alter_22000...
^ ^
\c - - - :master_port \c - - - :master_port
-- ddl propagation flag is reset to default, disable it again -- ddl propagation flag is reset to default, disable it again

View File

@ -1,6 +1,8 @@
-- --
-- MULTI_APPEND_TABLE_TO_SHARD -- MULTI_APPEND_TABLE_TO_SHARD
-- --
ALTER SEQUENCE pg_catalog.pg_dist_shardid_seq RESTART 230000;
ALTER SEQUENCE pg_catalog.pg_dist_jobid_seq RESTART 230000;
-- Initialize tables to join -- Initialize tables to join
CREATE TABLE multi_append_table_to_shard_right CREATE TABLE multi_append_table_to_shard_right
( (
@ -131,7 +133,7 @@ SELECT master_append_table_to_shard(shardid, 'multi_append_table_to_shard_stage'
FROM FROM
pg_dist_shard pg_dist_shard
WHERE 'multi_append_table_to_shard_right_hash'::regclass::oid = logicalrelid; WHERE 'multi_append_table_to_shard_right_hash'::regclass::oid = logicalrelid;
ERROR: cannot append to shardId 103011 ERROR: cannot append to shardId 230000
DETAIL: We currently don't support appending to shards in hash-partitioned tables DETAIL: We currently don't support appending to shards in hash-partitioned tables
-- Clean up after test -- Clean up after test
SELECT master_apply_delete_command('DELETE FROM multi_append_table_to_shard_right'); SELECT master_apply_delete_command('DELETE FROM multi_append_table_to_shard_right');

Some files were not shown because too many files have changed in this diff Show More