From: | Kohei KaiGai <kaigai(at)kaigai(dot)gr(dot)jp> |
---|---|
To: | David Beck <dbeck(at)starschema(dot)net> |
Cc: | "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: New hook after raw parsing, before analyze |
Date: | 2014-02-13 12:28:34 |
Message-ID: | CADyhKSU5CtqvaOgva8VB2hHNJBSVB4Nzb_thKJgSN4Q+RJ3gHg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
See the discussion of Custom-Scan API.
https://commitfest.postgresql.org/action/patch_view?id=1282
I believe my third patch is what you really want to do...
> This rewritten query would be handled by the FDW table that I previously added to the catalog.
>
> The reason I want this new hook is that I don't want tableA and tableB to be in the catalog.
>
I'd like to see why you wants the pseudo table "fdw_tableA_tableB" to
be in the catalog,
instead of the "tableA" and "tableB". In addition, parser shall raise
an error if referenced
columns (as a part of "tableA" or "tableB") are not in-catalog because
of name lookup
error.
Thanks,
2014-02-13 19:01 GMT+09:00 David Beck <dbeck(at)starschema(dot)net>:
> Hello Hackers,
>
> I work on a foreign data wrapper for a legacy system. I generally find the hook system very useful and flexible way to extend Postgres.
> The post parse analyze hook almost fits what I need, but I have a few use cases where I would need to tap right into the parsed queries but before any catalog based validation is done.
> Please find the attached trivial patch for this new hook.
>
> One of the use cases I have is this:
>
> I have table like data structures in the source system for the FDW I work on.
> These tables are sometimes too big and the source system is able to filter and join them with limitations, thus it is not optimal to transfer the data to Postgres.
> At the same time I want the users to think in terms of the original tables.
>
> The idea is to rewrite the SQL queries like this:
>
> "SELECT * FROM tableA a, tableB b WHERE a.id=b.id AND a.col1=1234 AND b.col2=987"
>
> to:
>
> "SELECT * FROM fdw_tableA_tableB ab WHERE ab.col1=1234 AND ab.col2=987"
>
>
> This rewritten query would be handled by the FDW table that I previously added to the catalog.
>
> The reason I want this new hook is that I don't want tableA and tableB to be in the catalog.
>
> Looking forward to hear your thoughts, opinions, comments.
>
> Best regards, David
>
>
>
>
>
> --
> Sent via pgsql-hackers mailing list (pgsql-hackers(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-hackers
>
--
KaiGai Kohei <kaigai(at)kaigai(dot)gr(dot)jp>
From | Date | Subject | |
---|---|---|---|
Next Message | Heikki Linnakangas | 2014-02-13 12:42:27 | Re: [BUG] Archive recovery failure on 9.3+. |
Previous Message | KONDO Mitsumasa | 2014-02-13 12:28:04 | Re: gaussian distribution pgbench |