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