Обсуждение: Getting "ERROR: did not find all requested child rels inappend_rel_list" when enable_partition_pruning is on

Поиск
Список
Период
Сортировка
Hi,

I am getting "ERROR:  did not find all requested child rels in append_rel_list" when enable_partition_pruning is on for below test case.

CREATE TABLE test(c1 int, c2 int) PARTITION BY RANGE(c1);
CREATE TABLE test_p1 PARTITION OF test FOR VALUES FROM (minvalue) TO (0);
CREATE TABLE test_p2 PARTITION OF test FOR VALUES FROM  (0) TO (maxvalue);
select * from (select * from test a union all select *  from test b) ss where (c1 >= c2);

postgres=# set enable_partition_pruning to off;
SET
postgres=# select * from (select * from test a union all select *  from test b) ss where (c1 >= c2);
 c1 | c2
----+----
(0 rows)

postgres=#
postgres=# set enable_partition_pruning to on;
SET
postgres=# select * from (select * from test a union all select *  from test b) ss where (c1 >= c2);
ERROR:  did not find all requested child rels in append_rel_list


Thanks & Regards,
Rajkumar Raghuwanshi
QMG, EnterpriseDB Corporation
On 2018/06/15 16:32, Rajkumar Raghuwanshi wrote:
> Hi,
> 
> I am getting "ERROR:  did not find all requested child rels in
> append_rel_list" when enable_partition_pruning is on for below test case.
> 
> CREATE TABLE test(c1 int, c2 int) PARTITION BY RANGE(c1);
> CREATE TABLE test_p1 PARTITION OF test FOR VALUES FROM (minvalue) TO (0);
> CREATE TABLE test_p2 PARTITION OF test FOR VALUES FROM  (0) TO (maxvalue);
> select * from (select * from test a union all select *  from test b) ss
> where (c1 >= c2);
> 
> postgres=# set enable_partition_pruning to off;
> SET
> postgres=# select * from (select * from test a union all select *  from
> test b) ss where (c1 >= c2);
>  c1 | c2
> ----+----
> (0 rows)
> 
> postgres=#
> postgres=# set enable_partition_pruning to on;
> SET
> postgres=# select * from (select * from test a union all select *  from
> test b) ss where (c1 >= c2);
> ERROR:  did not find all requested child rels in append_rel_list

Thanks for the report.  This appears to be the same problem as one being
discussed on the following thread where David Rowley even seems to have
posted a patch as a fix for this issue:


https://www.postgresql.org/message-id/flat/HE1PR03MB17068BB27404C90B5B788BCABA7B0%40HE1PR03MB1706.eurprd03.prod.outlook.com

Thanks,
Amit