@@ -2090,7 +2090,13 @@ LINE 1: SELECT * FROM JSON_TABLE(jsonb '{"a": 123}', '$' || '.' || '...
2090
2090
-- Test parallel JSON_VALUE()
2091
2091
CREATE UNLOGGED TABLE test_parallel_jsonb_value AS
2092
2092
SELECT i::text::jsonb AS js
2093
- FROM generate_series(1, 500000) i;
2093
+ FROM generate_series(1, 50000) i;
2094
+ -- encourage use of parallel plans
2095
+ set parallel_setup_cost=0;
2096
+ set parallel_tuple_cost=0;
2097
+ set min_parallel_table_scan_size=0;
2098
+ set max_parallel_workers_per_gather=4;
2099
+ set parallel_leader_participation = off;
2094
2100
-- Should be non-parallel due to subtransactions
2095
2101
EXPLAIN (COSTS OFF)
2096
2102
SELECT sum(JSON_VALUE(js, '$' RETURNING numeric)) FROM test_parallel_jsonb_value;
@@ -2101,9 +2107,9 @@ SELECT sum(JSON_VALUE(js, '$' RETURNING numeric)) FROM test_parallel_jsonb_value
2101
2107
(2 rows)
2102
2108
2103
2109
SELECT sum(JSON_VALUE(js, '$' RETURNING numeric)) FROM test_parallel_jsonb_value;
2104
- sum
2105
- --------------
2106
- 125000250000
2110
+ sum
2111
+ ------------
2112
+ 1250025000
2107
2113
(1 row)
2108
2114
2109
2115
-- Should be parallel
@@ -2113,14 +2119,15 @@ SELECT sum(JSON_VALUE(js, '$' RETURNING numeric ERROR ON ERROR)) FROM test_paral
2113
2119
------------------------------------------------------------------
2114
2120
Finalize Aggregate
2115
2121
-> Gather
2116
- Workers Planned: 2
2122
+ Workers Planned: 4
2117
2123
-> Partial Aggregate
2118
2124
-> Parallel Seq Scan on test_parallel_jsonb_value
2119
2125
(5 rows)
2120
2126
2121
2127
SELECT sum(JSON_VALUE(js, '$' RETURNING numeric ERROR ON ERROR)) FROM test_parallel_jsonb_value;
2122
- sum
2123
- --------------
2124
- 125000250000
2128
+ sum
2129
+ ------------
2130
+ 1250025000
2125
2131
(1 row)
2126
2132
2133
+ DROP TABLE test_parallel_jsonb_value;
0 commit comments