[ 
https://issues.apache.org/jira/browse/PHOENIX-6583?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17441629#comment-17441629
 ] 

ASF GitHub Bot commented on PHOENIX-6583:
-----------------------------------------

alejandro-anadon commented on pull request #1342:
URL: https://github.com/apache/phoenix/pull/1342#issuecomment-964987748


   Hi,
   
   now I am lost. I saw that you closed the PR with unmerged commits. Now I 
don't know how to proceed.
   Should I  delete alejandro-anadon:PHOENIX-6583 branch, open a new one (same 
name?) and do a new PR ? (Belive or not... I am a new user of git. I had been 
using subversion until this colavolarion)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


> Inserting explicit Null into a (fixed length) binary field is stored as an 
> array of zeroes
> ------------------------------------------------------------------------------------------
>
>                 Key: PHOENIX-6583
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-6583
>             Project: Phoenix
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 5.1.2
>            Reporter: Alejandro Anadon
>            Assignee: Alejandro Anadon
>            Priority: Major
>             Fix For: 4.17.0, 5.2.0, 4.16.2, 5.1.3
>
>
> In binary fields, if I use upsert with null value, it "insert" the field with 
> 0x00 0x00 bytes vaules.
> Example:
> create table DUMMYTABLE (id integer not null, text varchar(255), testbin 
> binary(16), CONSTRAINT pk primary key (id));
> 1)
> upsert into DUMMYTABLE (id,text) values (1,'null in testBinary');
> select id,text,LENGTH(TEXT),TESTBIN,OCTET_LENGTH(TESTBIN) from DUMMYTABLE;
> result--> TESTBIN => null, OCTET_LENGTH(TESTBIN) => null  . that's ok.
> 2)
> upsert into DUMMYTABLE (id,text,testbin) values (2,'IT DO NOT null in 
> testBinary',null);
> select id,text,LENGTH(TEXT),TESTBIN,OCTET_LENGTH(TESTBIN) from DUMMYTABLE;
> result in seconf row-> TESTBIN => NOT NULL, OCTET_LENGTH(TESTBIN) => 16  . 
> that's an error.
>  
> I verified it in hbase and actually reserves empty data (it should not):
> hbase(main):001:0> scan 'DUMMYTABLE'
> ROW COLUMN+CELL
>  \x80\x00\x00\x01 column=0:\x00\x00\x00\x00, timestamp=1635365632081, value=x
>  \x80\x00\x00\x01 column=0:\x80\x0B, timestamp=1635365632081, value=null in 
> testBinary
>  \x80\x00\x00\x02 column=0:\x00\x00\x00\x00, timestamp=1635365696139, value=x
>  \x80\x00\x00\x02 column=0:\x80\x0B, timestamp=1635365696139, value=IT DO NOT 
> null in testBinary
>  \x80\x00\x00\x02 column=0:\x80\x0C, timestamp=1635365696139, 
> value=\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
> 2 row(s)
> Took 0.5030 seconds
>  
> And now, it is imposible to delete that files:
> upsert into DUMMYTABLE (id,testbin) values (2,null); 
> it does not removes the data.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to