Re: Problem with declarative partitioning and COPY FROM

Amit Langote <amitlangote09@gmail.com>

From: Amit Langote <amitlangote09@gmail.com>
To: Ragnar Ouchterlony <ragnar.ouchterlony@agama.tv>
Cc: pgsql-bugs@postgresql.org
Date: 2017-01-12T01:38:15Z
Lists: pgsql-bugs
On Wed, Jan 11, 2017 at 11:58 PM, Ragnar Ouchterlony
<ragnar.ouchterlony@agama.tv> wrote:
> On 2017-01-11 13:24, Amit Langote wrote:
>>
>> There's a bug and has been reported on the -hackers mailing list as
>> well.  Please try your example after applying the patch 0002 attached
>> with the following email:
>>
>> https://www.postgresql.org/message-id/01bc4745-bac8-a033-96a1-8a42b45d2fc1%40lab.ntt.co.jp
>
>
> Ok, that is good!
>
> I tested the patch as is, but it did not make a difference. Then I read the
> patch more carefully.
>
> +       /*
> +        * FIXME: We don't engage the bulk-insert mode for partitioned
> tables,
> +        * because the the heap relation is most likely change from one row
> to
> +        * next due to tuple-routing.
> +        */
> +       if (cstate->rel->rd_rel->relkind == RELKIND_PARTITIONED_TABLE)
> +               bistate = GetBulkInsertState();
>
>
> The if-statement does not match how I read the comment. That is, shouldn't
> it be "!=" rather than "=="?

Oops, you're right.  Will update the patch posted on -hackers.

Thanks,
Amit


Commits

  1. Fix interaction of partitioned tables with BulkInsertState.