On Fri, 26 Jan 2024 13:59:09 +0900
Masahiko Sawada <[email protected]> wrote:
> On Fri, Jan 26, 2024 at 11:28 AM Yugo NAGATA <[email protected]> wrote:
> >
> > Hi,
> >
> > I found that the documentation of COPY ON_ERROR said
> > COPY stops operation at the first error when
> > "ON_ERROR is not specified.", but it also stop when
> > ON_ERROR is specified to the default value, "stop".
> >
> > I attached a very small patch to fix this just for
> > making the description more accurate.
>
> Thank you for the patch!
>
> +1 to fix it.
>
> - <literal>ON_ERROR</literal> is not specified. This
> - should not lead to problems in the event of a <command>COPY
> + <literal>ON_ERROR</literal> is not specified or <literal>stop</literal>.
> + This should not lead to problems in the event of a <command>COPY
>
> How about the followings for consistency with the description of the
> ON_ERROR option?
>
> COPY stops operation at the first error if the stop value is specified
> to the ON_ERROR option. This should not lead to ...
Thank you for you review. However, after posting the previous patch,
I noticed that I overlooked ON_ERROR works only for errors due to data
type incompatibility (that is mentioned as "malformed data" in the
ON_ERROR description, though).
So, how about rewriting this like:
COPY stops operation at the first error unless the error is due to data
type incompatibility and a value other than stop is specified to the
ON_ERROR option.
I attached the updated patch.
Regards,
Yugo Nagata
>
> Regards,
>
> --
> Masahiko Sawada
> Amazon Web Services: https://aws.amazon.com
--
Yugo NAGATA <[email protected]>
diff --git a/doc/src/sgml/ref/copy.sgml b/doc/src/sgml/ref/copy.sgml
index 21a5c4a052..3676bf0e87 100644
--- a/doc/src/sgml/ref/copy.sgml
+++ b/doc/src/sgml/ref/copy.sgml
@@ -576,9 +576,10 @@ COPY <replaceable class="parameter">count</replaceable>
</para>
<para>
- <command>COPY</command> stops operation at the first error when
- <literal>ON_ERROR</literal> is not specified. This
- should not lead to problems in the event of a <command>COPY
+ <command>COPY</command> stops operation at the first error unless the error
+ is due to data type incompatibility and a value other than
+ <literal>stop</literal> is specified to the <literal>ON_ERROR</literal> option.
+ This should not lead to problems in the event of a <command>COPY
TO</command>, but the target table will already have received
earlier rows in a <command>COPY FROM</command>. These rows will not
be visible or accessible, but they still occupy disk space. This might