[ 
https://issues.apache.org/jira/browse/PHOENIX-599?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gabriel Reid resolved PHOENIX-599.
----------------------------------

    Resolution: Fixed

Bulk resolve of closed issues imported from GitHub. This status was reached by 
first re-opening all closed imported issues and then resolving them in bulk.

> Data loss when primary key belongs to a column family
> -----------------------------------------------------
>
>                 Key: PHOENIX-599
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-599
>             Project: Phoenix
>          Issue Type: Task
>            Reporter: Pankaj Kumar
>
> Primary key should not belong to a column family. 
> This is restricted in table creation but the same can be achieved by 
> specifying primary key as CONSTRAINT.
> Sql statement executed:
> 0: jdbc:phoenix:10.18.40.47> create table detail(cf1.id varchar,cf1.name 
> varchar,cf2.address varchar constraint pk primary key(id));
> 0: jdbc:phoenix:10.18.40.47> upsert into detail 
> values('ID1','Pankaj','Ranchi');
> 0: jdbc:phoenix:10.18.40.47> upsert into detail 
> values('ID2','Pankaj','Ranchi');
> 0: jdbc:phoenix:10.18.40.47> upsert into detail 
> values('ID3','Pankaj','Ranchi');
> 0: jdbc:phoenix:10.18.40.47> select * from detail;
> +------------+------------+------------+
> |     ID     |    NAME    |  ADDRESS   |
> +------------+------------+------------+
> | ID3        | Pankaj     | Ranchi     |
> +------------+------------+------------+
> 0: jdbc:phoenix:10.18.40.47>  create table detail_1(id varchar,cf1.name 
> varchar,cf2.address varchar constraint pk primary key(id));
> 0: jdbc:phoenix:10.18.40.47> upsert into detail_1 
> values('ID1','Pankaj','Ranchi');
> 0: jdbc:phoenix:10.18.40.47> upsert into detail_1 
> values('ID2','Pankaj','Ranchi');
> 0: jdbc:phoenix:10.18.40.47> upsert into detail_1 
> values('ID3','Pankaj','Ranchi');
> 0: jdbc:phoenix:10.18.40.47> select * from detail_1;
> +------------+------------+------------+
> |     ID     |    NAME    |  ADDRESS   |
> +------------+------------+------------+
> | ID1        | Pankaj     | Ranchi     |
> | ID2        | Pankaj     | Ranchi     |
> | ID3        | Pankaj     | Ranchi     |
> +------------+------------+------------+
> 0: jdbc:phoenix:10.18.40.47>  create table detail_2(cf1.id varchar not null 
> primary key,cf1.name varchar,cf2.address varchar);
> Error: ERROR 1003 (42J01): Primary key should not have a family name. 
> columnName=CF1.ID (state=42J01,code=1003)
> 0: jdbc:phoenix:10.18.40.47>
>  
> In the above statements,
> Case 1: Primary key defined using Constraint 
>        DETAIL table is created with primary key ID which belongs to CF1. 
> After  inserting 3 records, two records only fetched.
> Case 2: Primary key defined while defining column
>      DETAIL_1 table is created with primary key ID which do not belongs to 
> any column family. After inserting 3 records, all records fetched.
> Case 3: Primary key defined while defining column
>    Creating of DETAIL_2 table is not allowed since it belongs to CF1.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to