blob: 678a382a965621c44bf6b310be314c3535b5c8db [file]
--
-- @description Interconncet flow control test case: single guc value
-- @created 2012-11-06
-- @modified 2012-11-06
-- @tags executor
-- @gpdb_version [4.2.3.0,main]
-- 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;
rval2 | count | sum_len_tval
-------+-------+--------------
0 | 100 | 2600
1 | 100 | 2600
2 | 100 | 2600
3 | 100 | 2600
4 | 100 | 2600
5 | 100 | 2600
6 | 100 | 2600
7 | 100 | 2600
8 | 100 | 2600
9 | 100 | 2600
10 | 100 | 2600
11 | 100 | 2600
12 | 100 | 2600
13 | 100 | 2600
14 | 100 | 2600
15 | 100 | 2600
16 | 100 | 2600
17 | 100 | 2600
18 | 100 | 2600
19 | 100 | 2600
20 | 100 | 2600
21 | 100 | 2600
22 | 100 | 2600
23 | 100 | 2600
24 | 100 | 2600
25 | 100 | 2600
26 | 100 | 2600
27 | 100 | 2600
28 | 100 | 2600
29 | 100 | 2600
(30 rows)
-- Set GUC value to its min value
SET gp_interconnect_queue_depth = 1;
SHOW gp_interconnect_queue_depth;
gp_interconnect_queue_depth
-----------------------------
1
(1 row)
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;
rval2 | count | sum_len_tval
-------+-------+--------------
0 | 100 | 2600
1 | 100 | 2600
2 | 100 | 2600
3 | 100 | 2600
4 | 100 | 2600
5 | 100 | 2600
6 | 100 | 2600
7 | 100 | 2600
8 | 100 | 2600
9 | 100 | 2600
10 | 100 | 2600
11 | 100 | 2600
12 | 100 | 2600
13 | 100 | 2600
14 | 100 | 2600
15 | 100 | 2600
16 | 100 | 2600
17 | 100 | 2600
18 | 100 | 2600
19 | 100 | 2600
20 | 100 | 2600
21 | 100 | 2600
22 | 100 | 2600
23 | 100 | 2600
24 | 100 | 2600
25 | 100 | 2600
26 | 100 | 2600
27 | 100 | 2600
28 | 100 | 2600
29 | 100 | 2600
(30 rows)
-- Set GUC value to its max value
SET gp_interconnect_queue_depth = 4096;
SHOW gp_interconnect_queue_depth;
gp_interconnect_queue_depth
-----------------------------
4096
(1 row)
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;
rval2 | count | sum_len_tval
-------+-------+--------------
0 | 100 | 2600
1 | 100 | 2600
2 | 100 | 2600
3 | 100 | 2600
4 | 100 | 2600
5 | 100 | 2600
6 | 100 | 2600
7 | 100 | 2600
8 | 100 | 2600
9 | 100 | 2600
10 | 100 | 2600
11 | 100 | 2600
12 | 100 | 2600
13 | 100 | 2600
14 | 100 | 2600
15 | 100 | 2600
16 | 100 | 2600
17 | 100 | 2600
18 | 100 | 2600
19 | 100 | 2600
20 | 100 | 2600
21 | 100 | 2600
22 | 100 | 2600
23 | 100 | 2600
24 | 100 | 2600
25 | 100 | 2600
26 | 100 | 2600
27 | 100 | 2600
28 | 100 | 2600
29 | 100 | 2600
(30 rows)