Re: SQL/MED - file_fdw
Andrew Dunstan <andrew@dunslane.net>
From: Andrew Dunstan <andrew@dunslane.net>
To: Itagaki Takahiro <itagaki.takahiro@gmail.com>
Cc: Shigeru HANADA <hanada@metrosystems.co.jp>, pgsql-hackers@postgresql.org
Date: 2010-12-13T15:59:27Z
Lists: pgsql-hackers
On 12/13/2010 01:31 AM, Itagaki Takahiro wrote: > On Sat, Dec 11, 2010 at 05:30, Andrew Dunstan<andrew@dunslane.net> wrote: >> On 12/04/2010 11:11 PM, Itagaki Takahiro wrote: >>> One exports the copy functions from the core, and another >>> implements file_fdw using the infrastructure. >> Who is actually going to do this split? > I'm working for it :-) I extract those functions from copy.c: > > - CopyState BeginCopyFrom(Relation rel, const char *filename, > List *attnamelist, List *options); > - void EndCopyFrom(CopyState cstate); > - bool NextCopyFrom(CopyState cstate, > Datum *values, bool *nulls, Oid *oid); > > There was Reset() in file_fdw, but it is not contained in the > patch. It will be added again if required, but I wonder we might > need not only reset but also mark/restore a position in a file. > Hmm. I don't think that's going to expose enough for what I want to be able to do. I actually had in mind exposing lower level routines like CopyReadAttibutesCSV/CopyReadAttributesText and allowing the Foreign Data Wrapper to manipulate the raw values read (for example from an irregularly shaped CSV file). cheers andrew