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

Xu Cang updated PHOENIX-5570:
-----------------------------
    Affects Version/s: 4.13.1
                       4.14.3

> Delete fails to delete data with null value in last column of PK. (all 
> columns are in PK)
> -----------------------------------------------------------------------------------------
>
>                 Key: PHOENIX-5570
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-5570
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.13.1, 4.14.3
>            Reporter: Xu Cang
>            Priority: Major
>
> Phoenix delete fails to delete row in below scenario:
> All columns are in PK, last PK column has null value in row.
>  
>  
> {code:java}
> 1. create table:
> CREATE TABLE IF NOT EXISTS TEST.KINGDOMTABLEWITHNULLPK3 (
>     TENANT_ID CHAR(15) NOT NULL,
>     GLOBAL_PARTY_ID VARCHAR,
>     GLOBAL_INPUT_ID VARCHAR,
>         CONSTRAINT PK PRIMARY KEY
> (TENANT_ID,
>     GLOBAL_PARTY_ID,
>   GLOBAL_INPUT_ID DESC
> )    ) MULTI_TENANT=true;
>  
> 2 upsert data
> UPSERT INTO TEST.KINGDOMTABLEWITHNULLPK3 (TENANT_ID, GLOBAL_PARTY_ID) 
> VALUES('00000000000DEL3','party1');
> 3. delete data
> DELETE from TEST.KINGDOMTABLEWITHNULLPK3 where TENANT_ID='00000000000DEL3'AND 
> GLOBAL_PARTY_ID='party1' AND GLOBAL_INPUT_ID  is NULL ;
>  
> 4. verify if data is deleted:(in this case, no)
> 0: > select * from TEST.KINGDOMTABLEWITHNULLPK3;
> -------------------------------------------------------------------------------------------------
>     TENANT_ID                GLOBAL_PARTY_ID                          
> GLOBAL_INPUT_ID             
> -------------------------------------------------------------------------------------------------
> 00000000000DEL3 party1                                                        
>                     
> -------------------------------------------------------------------------------------------------
>  
> {code}
> ===================
> While if I add another column in PK, it will work
> {code:java}
> 1. Create table
> CREATE TABLE IF NOT EXISTS TEST.KINGDOMTABLEWITHNULLPK4 (
>     TENANT_ID CHAR(15) NOT NULL,
>     GLOBAL_PARTY_ID VARCHAR,
>     GLOBAL_INPUT_ID VARCHAR,
>     TRAN_ID VARCHAR,
>         CONSTRAINT PK PRIMARY KEY
> (TENANT_ID,
>     GLOBAL_PARTY_ID,
>   GLOBAL_INPUT_ID DESC,
> TRAN_ID
> )    ) MULTI_TENANT=true;
>  
> 2. Upsert data
> UPSERT INTO TEST.KINGDOMTABLEWITHNULLPK4 (TENANT_ID, GLOBAL_PARTY_ID,TRAN_ID) 
> VALUES('00000000000DEL3','party1’,’1’);
>  
> 3. Delete data
> delete from TEST.KINGDOMTABLEWITHNULLPK4 where TENANT_ID='00000000000DEL3'AND 
> GLOBAL_PARTY_ID='party1' AND GLOBAL_INPUT_ID  is NULL and TRAN_ID=‘1’ ;
> 4. check if data is deleted, in this case, Yes
>  select * from TEST.KINGDOMTABLEWITHNULLPK4;
> -----------------------------------------------------------------------------------------------------------------------------------------+
>     TENANT_ID                GLOBAL_PARTY_ID                          
> GLOBAL_INPUT_ID                              TRAN_ID                 
> -----------------------------------------------------------------------------------------------------------------------------------------+
> -----------------------------------------------------------------------------------------------------------------------------------------+
>  
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to