BUG #6286: Table Partitioning - SQL/MED - interaction broken - Mailing list pgsql-bugs

From Greg Fausak
Subject BUG #6286: Table Partitioning - SQL/MED - interaction broken
Date
Msg-id 201111031757.pA3Hv3KT052627@wwwmaster.postgresql.org
Whole thread Raw
Responses Re: BUG #6286: Table Partitioning - SQL/MED - interaction broken
Re: BUG #6286: Table Partitioning - SQL/MED - interaction broken
List pgsql-bugs
The following bug has been logged online:

Bug reference:      6286
Logged by:          Greg Fausak
Email address:      greg@named.com
PostgreSQL version: 9.1.1
Operating system:   Linux
Description:        Table Partitioning - SQL/MED - interaction broken
Details:

I create a table partition:

table M

table A (check range) inherits M
table B (check range) inherits M
...
table X (check range) inherits M

ASSERT: a query with constraint exclusions=on, performed on M will select
the correct partitioned tables.  Partitioning seems to work fine.

Second part, create a foreign table that is a file:
create server ES foreign data wrapper file_fdw;
create foreign table Y ( columns like table M ) server ES options (format
'csv', file '/tmp/x', ...);

ASSERT: a query against table Y (which has the same columns as table M)
shows data file the file /tmp/x.  Perfect, SQL/MED works.

Here is the bug when trying to use the two together with a rule to bind
them:

create rule "_RETURN" as on select to X do instead select * from Y;

If I select * from X that works fine.  But, when I do a select from the
partition table M, the EXPLAIN shows that table X is queried....but, the
rule for select is not being fired in this context, and no data is returned
from this partition.

In other words, how do I partition a table when partitions can be external
in the SQL/MED sense?

Thanks,

---greg

pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: BUG #6285: PreparedStatement#executeUpdate gets syntax error on apostrophe
Next
From: Tom Lane
Date:
Subject: Re: BUG #6286: Table Partitioning - SQL/MED - interaction broken