Add contrib/file_fdw foreign-data wrapper for reading files via COPY.
Tom Lane <tgl@sss.pgh.pa.us>
Add contrib/file_fdw foreign-data wrapper for reading files via COPY. This is both very useful in its own right, and an important test case for the core FDW support. This commit includes a small refactoring of copy.c to expose its option checking code as a separately callable function. The original patch submission duplicated hundreds of lines of that code, which seemed pretty unmaintainable. Shigeru Hanada, reviewed by Itagaki Takahiro and Tom Lane
Files
| Path | Change | +/− |
|---|---|---|
| contrib/file_fdw/data/agg.bad | added | +4 −0 |
| contrib/file_fdw/data/agg.csv | added | +4 −0 |
| contrib/file_fdw/data/agg.data | added | +4 −0 |
| contrib/file_fdw/expected/.gitignore | added | +1 −0 |
| contrib/file_fdw/file_fdw--1.0.sql | added | +15 −0 |
| contrib/file_fdw/file_fdw.c | added | +536 −0 |
| contrib/file_fdw/file_fdw.control | added | +5 −0 |
| contrib/file_fdw/.gitignore | added | +2 −0 |
| contrib/file_fdw/input/file_fdw.source | added | +131 −0 |
| contrib/file_fdw/Makefile | added | +21 −0 |
| contrib/file_fdw/output/file_fdw.source | added | +225 −0 |
| contrib/file_fdw/sql/.gitignore | added | +1 −0 |
| contrib/Makefile | modified | +1 −0 |
| contrib/README | modified | +4 −0 |
| doc/src/sgml/contrib.sgml | modified | +1 −0 |
| doc/src/sgml/file-fdw.sgml | added | +127 −0 |
| doc/src/sgml/filelist.sgml | modified | +1 −0 |
| src/backend/commands/copy.c | modified | +85 −53 |
| src/include/commands/copy.h | modified | +3 −2 |