You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Xu Cang (Jira)" <ji...@apache.org> on 2019/11/13 19:45:00 UTC
[jira] [Created] (PHOENIX-5570) Delete fails to delete data with
null value in last column of PK. (all columns are in PK)
Xu Cang created PHOENIX-5570:
--------------------------------
Summary: 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
Reporter: Xu Cang
Phoenix delete fails to delete row in below scenario:
All columns are in PK, last PK column has null value in row.
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;
UPSERT INTO TEST.KINGDOMTABLEWITHNULLPK3 (TENANT_ID, GLOBAL_PARTY_ID) VALUES('00000000000DEL3','party1');
delete from TEST.KINGDOMTABLEWITHNULLPK3 where TENANT_ID='00000000000DEL3'AND GLOBAL_PARTY_ID='party1' AND GLOBAL_INPUT_ID is NULL ;
0: jdbc:phoenix:perf1hdaas-mnds2-1-prd.eng.sf> select * from TEST.KINGDOMTABLEWITHNULLPK3;
+-----------------+------------------------------------------+------------------------------------------+
| TENANT_ID | GLOBAL_PARTY_ID | GLOBAL_INPUT_ID |
+-----------------+------------------------------------------+------------------------------------------+
| 00000000000DEL3 | party1 | |
+-----------------+------------------------------------------+------------------------------------------+
0: jdbc:phoenix:perf1hdaas-mnds2-1-prd.eng.sf>
===================
But if there is one column after the GLOBAL_INPUT_ID column, delete works, as shown below.
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;
UPSERT INTO TEST.KINGDOMTABLEWITHNULLPK4 (TENANT_ID, GLOBAL_PARTY_ID,TRAN_ID) VALUES('00000000000DEL3','party1’,’1’);
delete from TEST.KINGDOMTABLEWITHNULLPK4 where TENANT_ID='00000000000DEL3'AND GLOBAL_PARTY_ID='party1' AND GLOBAL_INPUT_ID is NULL and TRAN_ID=‘1’ ;
0: jdbc:phoenix:perf1hdaas-mnds2-1-prd.eng.sf> select * from TEST.KINGDOMTABLEWITHNULLPK4;
+-----------------+------------------------------------------+------------------------------------------+------------------------------------------+
| TENANT_ID | GLOBAL_PARTY_ID | GLOBAL_INPUT_ID | TRAN_ID |
+-----------------+------------------------------------------+------------------------------------------+------------------------------------------+
+-----------------+------------------------------------------+------------------------------------------+------------------------------------------+
0: jdbc:phoenix:perf1hdaas-mnds2-1-prd.eng.sf>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)