Skip to content

Add compareTo() support to Int128ArrayBlock for IS DISTINCT FROM operations #26836

@pratikpugalia

Description

@pratikpugalia

Expected Behavior or Use Case

Currently, the IS DISTINCT FROM operator works on individual IP addresses but fails when used on arrays of IP addresses. This limitation prevents users from comparing arrays containing
128-bit values in their queries.

Works: Direct comparison on individual IP addresses

 SELECT (IPADDRESS '1542:930:f227:9212:ab08:acc3:536f:7bc0')
   IS DISTINCT FROM (IPADDRESS '1542:930:f227:9212:ab08:acc3:536f:7bc0');
 -- Returns: false

Does Not Work: Comparison on arrays of IP addresses

select ARRAY[(IPADDRESS '1542:930:f227:9212:ab08:acc3:536f:7bc0')] is DISTINCT from ARRAY[(IPADDRESS '1542:930:f227:9212:ab08:acc3:536f:7bc0')];

select ARRAY[(IPADDRESS '192.168.1.1')] is DISTINCT from ARRAY[(IPADDRESS '192.168.1.1')];

Possible Implementation

Add compareTo() and bytesCompare() methods to Int128ArrayBlock

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions