blob: a214e2a48ba375f73297978cc38ecf93972c69cc [file]
--
-- @description Interconncet flow control test case: combination guc value
-- @created 2025-09-12
-- Set mode
SET gp_interconnect_fc_method = "loss_advance";
-- Create a table
CREATE TEMP TABLE small_table(dkey INT, jkey INT, rval REAL, tval TEXT default 'abcdefghijklmnopqrstuvwxyz') DISTRIBUTED BY (dkey);
-- Generate some data
INSERT INTO small_table VALUES(generate_series(1, 5000), generate_series(5001, 10000), sqrt(generate_series(5001, 10000)));
-- Functional tests
-- Skew with gather+redistribute
SELECT ROUND(foo.rval * foo.rval)::INT % 30 AS rval2, COUNT(*) AS count, SUM(length(foo.tval)) AS sum_len_tval
FROM (SELECT 5001 AS jkey, rval, tval FROM small_table ORDER BY dkey LIMIT 3000) foo
JOIN small_table USING(jkey)
GROUP BY rval2
ORDER BY rval2;
-- Set GUC values
SET gp_interconnect_snd_queue_depth = 1;
SET gp_interconnect_queue_depth = 1;
SELECT ROUND(foo.rval * foo.rval)::INT % 30 AS rval2, COUNT(*) AS count, SUM(length(foo.tval)) AS sum_len_tval
FROM (SELECT 5001 AS jkey, rval, tval FROM small_table ORDER BY dkey LIMIT 3000) foo
JOIN small_table USING(jkey)
GROUP BY rval2
ORDER BY rval2;
-- Set GUC values
SET gp_interconnect_snd_queue_depth = 4096;
SET gp_interconnect_queue_depth = 4096;
SELECT ROUND(foo.rval * foo.rval)::INT % 30 AS rval2, COUNT(*) AS count, SUM(length(foo.tval)) AS sum_len_tval
FROM (SELECT 5001 AS jkey, rval, tval FROM small_table ORDER BY dkey LIMIT 3000) foo
JOIN small_table USING(jkey)
GROUP BY rval2
ORDER BY rval2;
-- Set GUC values
SET gp_interconnect_snd_queue_depth = 1;
SET gp_interconnect_queue_depth = 4096;
SELECT ROUND(foo.rval * foo.rval)::INT % 30 AS rval2, COUNT(*) AS count, SUM(length(foo.tval)) AS sum_len_tval
FROM (SELECT 5001 AS jkey, rval, tval FROM small_table ORDER BY dkey LIMIT 3000) foo
JOIN small_table USING(jkey)
GROUP BY rval2
ORDER BY rval2;
-- Set GUC values
SET gp_interconnect_snd_queue_depth = 4096;
SET gp_interconnect_queue_depth = 1;
SELECT ROUND(foo.rval * foo.rval)::INT % 30 AS rval2, COUNT(*) AS count, SUM(length(foo.tval)) AS sum_len_tval
FROM (SELECT 5001 AS jkey, rval, tval FROM small_table ORDER BY dkey LIMIT 3000) foo
JOIN small_table USING(jkey)
GROUP BY rval2
ORDER BY rval2;
-- Set GUC values
SET gp_interconnect_snd_queue_depth = 1024;
SET gp_interconnect_queue_depth = 1024;
SELECT ROUND(foo.rval * foo.rval)::INT % 30 AS rval2, COUNT(*) AS count, SUM(length(foo.tval)) AS sum_len_tval
FROM (SELECT 5001 AS jkey, rval, tval FROM small_table ORDER BY dkey LIMIT 3000) foo
JOIN small_table USING(jkey)
GROUP BY rval2
ORDER BY rval2;