textarray option for file FDW - Mailing list pgsql-hackers

From Andrew Dunstan
Subject textarray option for file FDW
Date
Msg-id 4D31D974.2060609@dunslane.net
Whole thread Raw
Responses Re: textarray option for file FDW  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: textarray option for file FDW  (Itagaki Takahiro <itagaki.takahiro@gmail.com>)
Re: textarray option for file FDW  (Andrew Dunstan <andrew@dunslane.net>)
List pgsql-hackers
I've been waiting for the latest FDW patches as patiently as I can, and 
I've been reviewing them this morning, in particular the file_fdw patch 
and how it interacts with the newly exposed COPY API. Overall it seems 
to be a whole lot cleaner, and the wholesale duplication of the copy 
code is gone, so it's much nicer and cleaner. So now I'd like to add a 
new option to it: "textarray". This option would require that the 
foreign table have exactly one field, of type text[], and would compose 
all the field strings read from the file for each record into the array 
(however many there are). This would require a few changes to 
contrib/file_fdw/file_fdw.c and a few changes to 
src/backend/commands/copy.c, which I can probably have done in fairly 
short order, Deo Volente. This will allow something like:
   CREATE FOREIGN TABLE arr_text (        t text[]   )  SERVER file_server   OPTIONS (format 'csv', filename
'/path/to/ragged.csv',textarray   'true');   SELECT t[3]::int as a, t[1]::timestamptz as b, t[99] as not_there   FROM
arr_text;

Thoughts?

cheers

andrew


pgsql-hackers by date:

Previous
From: Joel Jacobson
Date:
Subject: Re: Bug in pg_describe_object, patch v2
Next
From: Tom Lane
Date:
Subject: Re: textarray option for file FDW