Skip to content

[Issue #1374] distinguish SQL NULL from empty values across LOAD, column vectors, and Retina - #1375

Open
gengdy1545 wants to merge 7 commits into
pixelsdb:masterfrom
gengdy1545:fixbug/nulls
Open

[Issue #1374] distinguish SQL NULL from empty values across LOAD, column vectors, and Retina#1375
gengdy1545 wants to merge 7 commits into
pixelsdb:masterfrom
gengdy1545:fixbug/nulls

Conversation

@gengdy1545

@gengdy1545 gengdy1545 commented Aug 10, 2026

Copy link
Copy Markdown
Collaborator

Summary

Core: only a null reference is SQL NULL; empty bytes/strings are empty values. This rule is now consistent end-to-end.

  • Null detection: checkBytesNull treats only null as NULL (byte[0] is a value); BinaryColumnVector no longer coerces empty to NULL.
  • LOAD: \N → NULL; empty text/binary → ""; empty other types → NULL.
  • Retina wire: InsertData/UpdateData gain isNull to distinguish NULL from empty bytes; server maps to Java null, MemTable uses addNull().
  • Primary key: NULL is rejected via PrimaryKeyBytes, shared by LOAD and Storage GC.

Also (supporting fixes): split BOOLEAN/TINYINT parsing; split(limit=-1) keeps trailing empties; LOAD rolls back and cleans unpublished files on failure.

@gengdy1545 gengdy1545 self-assigned this Aug 10, 2026
@gengdy1545 gengdy1545 added the bug Something isn't working label Aug 10, 2026
@gengdy1545 gengdy1545 changed the title [Issue #1374] fix LOAD BOOLEAN/TINYINT semantics and null/empty PK handling [Issue #1374] distinguish SQL NULL from empty values across LOAD, column vectors, and Retina Aug 11, 2026
@gengdy1545
gengdy1545 requested a review from bianhq August 14, 2026 04:04
@gengdy1545

Copy link
Copy Markdown
Collaborator Author

PTAL

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[pixels-core, cli, retina] LOAD/Retina conflate empty values with SQL NULL

1 participant