Re: SQL/MED estimated time of arrival? - Mailing list pgsql-hackers

From Shigeru HANADA
Subject Re: SQL/MED estimated time of arrival?
Date
Msg-id 20101108210825.50C6.6989961C@metrosystems.co.jp
Whole thread Raw
In response to Re: SQL/MED estimated time of arrival?  (Itagaki Takahiro <itagaki.takahiro@gmail.com>)
List pgsql-hackers
On Fri, 5 Nov 2010 16:27:49 +0900
Itagaki Takahiro <itagaki.takahiro@gmail.com> wrote:
> On Fri, Nov 5, 2010 at 4:00 PM, Shigeru HANADA
> <hanada@metrosystems.co.jp> wrote:
> >> > * 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
> >
> > You mean that separated beginscan (FdwRoutine.BeginScan?) starts
> > asynchronous query and returns immediately, and FdwRoutine.Iterate
> > returns result of that query?
>
> Yes. Each BeginScan() in the executor node tree will be called at
> the beginning of executor's run. The callback should not block
> the caller. OTOH, Iterate() are called at the first time tuples
> in the node are required.

Please find attached WIP patch for BeginScan.  Postgresql_fdw has been
changed to use server-side cursor for sample.  It's DECLAREd with HOLD
option to avoid transaction management, though.

Other changes since 20101025 patch are:

  - Some document fixes.
  - Don't call ConnectServer from ExecInitForeignScan. Instead,
    postgresql_fdw calls it from pgOpen().  This change is only trial
    and would be removed later.
  - Add "schema" column to output of \det psql command.
  - New \dE psql command shows list of foreign tables in \d format.
  - \d+ <foreign table> psql command shows per-column options.

If the changes (at least adding BeginScan) are OK, I'll clean the
patch up and post it soon.

Regards,
--
Shigeru Hanada

Attachment

pgsql-hackers by date:

Previous
From: Shigeru HANADA
Date:
Subject: Re: SQL/MED estimated time of arrival?
Next
From: Heikki Linnakangas
Date:
Subject: Re: B-tree parent pointer and checkpoints