]> granicus.if.org Git - postgresql/commit
Allow COPY FROM to filter data using WHERE conditions
authorTomas Vondra <tomas.vondra@postgresql.org>
Sat, 19 Jan 2019 22:48:16 +0000 (23:48 +0100)
committerTomas Vondra <tomas.vondra@postgresql.org>
Sat, 19 Jan 2019 23:22:14 +0000 (00:22 +0100)
commit31f3817402da736b29014ace470cf70aeb126ac5
treeab02bcacacdb944f47996f10435a94c9f0258543
parentd6ef7fe75c1fb7ccc4ad8e3dd38d4e84d6fe9b9f
Allow COPY FROM to filter data using WHERE conditions

Extends the COPY FROM command with a WHERE condition, which allows doing
various types of filtering while importing the data (random sampling,
condition on a data column, etc.).  Until now such filtering required
either preprocessing of the input data, or importing all data and then
filtering in the database. COPY FROM ... WHERE is an easy-to-use and
low-overhead alternative for most simple cases.

Author: Surafel Temesgen
Reviewed-by: Tomas Vondra, Masahiko Sawada, Lim Myungkyu
Discussion: https://www.postgresql.org/message-id/flat/CALAY4q_DdpWDuB5-Zyi-oTtO2uSk8pmy+dupiRe3AvAc++1imA@mail.gmail.com
13 files changed:
doc/src/sgml/ref/copy.sgml
src/backend/commands/copy.c
src/backend/nodes/copyfuncs.c
src/backend/nodes/equalfuncs.c
src/backend/parser/gram.y
src/backend/parser/parse_agg.c
src/backend/parser/parse_expr.c
src/backend/parser/parse_func.c
src/include/nodes/parsenodes.h
src/include/parser/parse_node.h
src/interfaces/ecpg/preproc/ecpg.addons
src/test/regress/expected/copy2.out
src/test/regress/sql/copy2.sql