From: | Amit Langote <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp> |
---|---|
To: | 高增琦 <pgf00a(at)gmail(dot)com>, Rajkumar Raghuwanshi <rajkumar(dot)raghuwanshi(at)enterprisedb(dot)com> |
Cc: | Robert Haas <robertmhaas(at)gmail(dot)com>, Amit Langote <amitlangote09(at)gmail(dot)com>, Dmitry Ivanov <d(dot)ivanov(at)postgrespro(dot)ru>, Michael Paquier <michael(dot)paquier(at)gmail(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, Erik Rijkers <er(at)xs4all(dot)nl>, Ashutosh Bapat <ashutosh(dot)bapat(at)enterprisedb(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>, pgsql-hackers-owner(at)postgresql(dot)org |
Subject: | Re: Declarative partitioning - another take |
Date: | 2016-12-27 10:07:50 |
Message-ID: | 101e2c2d-45d6-fb1a-468c-d3f67572a2f3@lab.ntt.co.jp |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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
Attachment | Content-Type | Size |
---|---|---|
no-BulkInsertState-partitioned-table.patch | text/x-diff | 1.1 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2016-12-27 11:31:42 | Re: Potential data loss of 2PC files |
Previous Message | Amit Langote | 2016-12-27 09:54:46 | Re: Declarative partitioning - another take |