From: | Itagaki Takahiro <itagaki(dot)takahiro(at)gmail(dot)com> |
---|---|
To: | Shigeru HANADA <hanada(at)metrosystems(dot)co(dot)jp> |
Cc: | Eric Davies <eric(at)barrodale(dot)com>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: SQL/MED estimated time of arrival? |
Date: | 2010-11-04 09:22:52 |
Message-ID: | AANLkTi=yJJVEYDC0XruW-0u1dPan0ssgkFTN2kbJqvQ1@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Thu, Nov 4, 2010 at 6:04 PM, Shigeru HANADA
<hanada(at)metrosystems(dot)co(dot)jp> wrote:
> For example:
> * PRIMARY ACCESS_METHOD -> HANDLER of FOREIGN DATA WRAPPER
> * am_scancost() -> FdwRoutine.EstimateCosts()
> * am_open() -> FdwRoutine.Open()
> * am_beginscan() -> first call of FdwRoutine.Iterate()?
It might be good to have a separated "beginscan" method if we use
asynchronous scans in multiple foreign servers in one query
because multiple foreign servers can run their queries in parallel.
(Imagine that pushing-down aggregate function into each foreign server.)
I think it is different from "open" because it is called
before query execution, for example by EXPLAIN.
> * am_getnext() -> FdwRoutine.Iterate()
> * am_rescan() -> FdwRoutine.ReOpen()
> * am_close() -> FdwRoutine.Close()
> * Table descriptor -> Relation, Form_pg_class
> * Qual descriptor -> PlanState.qual
Do you think you have all counterpart methods for VTI AMs?
If so, it's a good news ;-) We could support foreign table
features as same level as Informix.
--
Itagaki Takahiro
From | Date | Subject | |
---|---|---|---|
Next Message | Hannu Krosing | 2010-11-04 09:46:10 | Re: why does plperl cache functions using just a bool for is_trigger |
Previous Message | Shigeru HANADA | 2010-11-04 09:04:31 | Re: SQL/MED estimated time of arrival? |