Re: exposing COPY API
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>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2011-02-08T09:26:55Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Allow the low level COPY routines to read arbitrary numbers of fields.
- af1a614ec6d0 9.1.0 cited
On 02/08/2011 03:49 AM, Itagaki Takahiro wrote: > On Tue, Feb 8, 2011 at 09:38, Andrew Dunstan<andrew@dunslane.net> wrote: >> Here is a patch against the latest revision of file_fdw to exercise this >> API. It includes some regression tests, and I think apart from one or two >> small details plus a requirement for documentation, is complete. > The patch contains a few fixes for typo in the original patch. > Hanada-san, could you take them into the core file_fdw patch? > >> CREATE FOREIGN TABLE jagged_text ( >> t text[] >> ) SERVER file_server >> OPTIONS (format 'csv', filename >> '/home/andrew/pgl/pg_head/contrib/file_fdw/data/jagged.csv', header >> 'true', textarray 'true'); > There might be another approach -- we could have jagged_file_fdw aside > from file_fdw, because we cannot support some features in textarray mode > like force_not_null option and multiple non-text[] columns. > > I'll include NextCopyFromRawFields() in COPY API patch to complete > raw_fields support in CopyState. (Or, we should also revert changes > related to raw_fields.) However, we'd better postpone jagged csv > support to 9.2. The design is still under discussion. Please do include NextCopyFromRawFields(). I think the API is very limiting without it, but very flexible with it. I also think that it's better to have contrib examples of the use of an API than not. FORCE NOT NULL is much more of an issue for the *non* raw fields case than the reverse. In the raw fields case the caller can manage it themselves. Multiple non-text[] columns strikes me as a red herring. This isn't the only possible use of NextCopyFromRawFields(), but it is one significant (and very useful as it stands) use. cheers andrew