Skip to content

NPE when calling getArray for arrays with UUID, IPv4/6, and Map #2711

@Destrolaric

Description

@Destrolaric

Description

Error after calling getArray for arrays with UUID, IPv4/6, and Map

Steps to reproduce

  1. call getArray on arrays with UUID, IPv4/6, and Map

Error Log or Exception StackTrace

java.sql.SQLException: Method: getObject("a30", interface java.sql.Array) encountered an exception.
	at com.clickhouse.jdbc.internal.ExceptionUtils.toSqlState(ExceptionUtils.java:74)
	at com.clickhouse.jdbc.ResultSetImpl.getObjectImpl(ResultSetImpl.java:1510)
	at com.clickhouse.jdbc.ResultSetImpl.getObject(ResultSetImpl.java:1468)
	at com.clickhouse.jdbc.ResultSetImpl.getObject(ResultSetImpl.java:1462)
	at com.clickhouse.jdbc.ResultSetImpl.getArray(ResultSetImpl.java:974)
Caused by: java.lang.NullPointerException
	at java.base/java.lang.reflect.Array.multiNewArray(Native Method)
	at java.base/java.lang.reflect.Array.newInstance(Array.java:114)
	at com.clickhouse.jdbc.internal.JdbcUtils.convertList(JdbcUtils.java:372)
	at com.clickhouse.jdbc.internal.JdbcUtils.convert(JdbcUtils.java:270)
	at com.clickhouse.jdbc.ResultSetImpl.getObjectImpl(ResultSetImpl.java:1504)
	... 14 more

Expected Behaviour

Data is being read correctly

Environment

  • Cloud
  • Client version: 0.9.5
  • Language version: Java 21
  • OS: Windows 11

ClickHouse Server

  • ClickHouse Server version: ClickHouse 24.11.1.2557
  • CREATE TABLE statements for tables involved:
 CREATE TABLE default.array_type_test_2
(
  `a14` Array(UUID),
  `a21` Array(IPv4),
  `a22` Array(IPv6),
  `a30` Array(Map(String, Int32))
)
ENGINE = MergeTree
order by `a14`
SETTINGS index_granularity = 8192;

INSERT INTO default.array_type_test_2 (a14, a21, a22, a30)
VALUES
(
    [
        '550e8400-e29b-41d4-a716-446655440000',
        '550e8400-e29b-41d4-a716-446655440001'
    ],
    [
        '192.168.1.1',
        '10.0.0.1'
    ],
    [
        '2001:db8::1',
        'fe80::1'
    ],
    [
        map('a', 1, 'b', 2),
        map('x', 10)
    ]
),
(
    [
        '123e4567-e89b-12d3-a456-426614174000'
    ],
    [
        '8.8.8.8'
    ],
    [
        '2001:4860:4860::8888'
    ],
    [
        map('foo', 42)
    ]
);

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions