On Fri, Jul 10, 2020 at 09:58:28AM +0530, vignesh C wrote:
> Thanks for reviewing the patch.
> This changes is already present in the document, no need to make any
> changes as shown below:
>
> COPY table_name [ ( column_name [, ...] ) ]
> FROM { 'filename' | PROGRAM 'command' | STDIN }
> [ [ WITH ] ( option [, ...] ) ]
> [ WHERE condition ]
Not completely actually. The page of psql for \copy does not mention
the optional where clause, and I think that it would be better to add
that for consistency (perhaps that's the point raised by Ahsan?). I
don't see much point in splitting the description of the meta-command
into two lines as we already mix stdin and stdout for example which
only apply to respectively "FROM" and "TO", so let's just append the
conditional where clause at its end. Attached is a patch doing so
that I intend to back-patch down to v12.
Coming back to your proposal, another thing is that with your patch
you recommend a syntax still present for compatibility reasons, but I
don't think that we should recommend it to the users anymore, giving
priority to the new grammar of the post-9.0 era. I would actually go
as far as removing BINARY from the completion when specified just
after COPY to simplify the code, and specify the list of available
options after typing "COPY ... WITH (FORMAT ", with "text", "csv" and
"binary". Adding completion for WHERE after COPY FROM is of course a
good idea.
--
Michael