Re: [HACKERS] Declarative partitioning - another take - Mailing list pgsql-hackers

From Amit Langote
Subject Re: [HACKERS] Declarative partitioning - another take
Date
Msg-id 101e2c2d-45d6-fb1a-468c-d3f67572a2f3@lab.ntt.co.jp
Whole thread Raw
In response to Re: [HACKERS] Declarative partitioning - another take  (高增琦 <pgf00a@gmail.com>)
Responses Re: [HACKERS] Declarative partitioning - another take
List pgsql-hackers
On 2016/12/27 18:48, 高增琦 wrote:
> Hi ,
> 
> I tried "COPY FROM"  in the git version. It inserts rows to wrong partition.
> 
> step to reproduce:
> create table t(a int, b int) partition by range(a);
> create table t_p1 partition of t for values from (1) to (100);
> create table t_p2 partition of t for values from (100) to (200);
> create table t_p3 partition of t for values from (200) to (300);
> insert into t values(1,1);
> insert into t values(101,101);
> insert into t values(201,201);
> copy (select * from t) to '/tmp/test2.txt';
> copy t from '/tmp/test2.txt';
> select * from t_p1;
> 
> result:
> postgres=# select * from t_p1;
>   a  |  b
> -----+-----
>    1 |   1
>    1 |   1
>  101 | 101
>  201 | 201
> (4 rows)
> 
> I think the argument "BulkInsertState" used in CopyFrom/heap_insert
> is related to this problem. Please check it.

You're quite right.  Attached should fix that.

Thanks,
Amit

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Attachment

pgsql-hackers by date:

Previous
From: Amit Langote
Date:
Subject: Re: [HACKERS] Declarative partitioning - another take
Next
From: Andres Freund
Date:
Subject: Re: [HACKERS] Potential data loss of 2PC files