BUG #6286: Table Partitioning - SQL/MED - interaction broken

From: "Greg Fausak" <greg(at)named(dot)com>
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #6286: Table Partitioning - SQL/MED - interaction broken
Date: 2011-11-03 17:57:03
Message-ID: 201111031757.pA3Hv3KT052627@wwwmaster.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs


The following bug has been logged online:

Bug reference: 6286
Logged by: Greg Fausak
Email address: greg(at)named(dot)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

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2011-11-03 19:19:16 Re: BUG #6285: PreparedStatement#executeUpdate gets syntax error on apostrophe
Previous Message Gary Kenney 2011-11-03 16:35:36 BUG #6285: PreparedStatement#executeUpdate gets syntax error on apostrophe