Repository navigation
[client-v2, jdbc-v2] Add MultiPoint type support #3048
Description
Follow-up to #2577. At the time it was noted that ClickHouse has no MultiPoint type:
ClickHouse doesn't support
GeometryCollection,MultiPoint. Here is link for supported types https://clickhouse.com/docs/sql-reference/data-types/geoThere is a
Ringwhat may be aMultiPoint.
That has since changed on the server side. MultiPoint is now a first-class geo type documented on that same page, defined as Array(Point), and Geometry is documented as a common type for all the geo types listed there.
Note on versions: this is a heads-up, not a regression report. MultiPoint is not in 26.7 or earlier — I'm testing against a master/head build (26.8.1.146), so it should land in the next release. Filing now so client support can be in place before then.
The client already ships Geometry support (#2815) for CH 25.11+, where Geometry became Variant(Point, Ring, LineString, MultiLineString, Polygon, MultiPolygon). MultiPoint appears to be the one geo type left out of both the concrete-type path and that variant list.
GeometryCollection remains correctly out of scope — Geometry is the ClickHouse equivalent.
Reproduction
CREATE TABLE geo_multipoint (mp MultiPoint) ENGINE = Memory();
INSERT INTO geo_multipoint VALUES([(0, 0), (10, 0), (10, 10), (0, 10)]);
SELECT mp, toTypeName(mp) FROM geo_multipoint;
-- via WKT, and through the unified type
SELECT readWKT('MULTIPOINT(0 0, 10 0, 10 10)') AS mp, toTypeName(mp);
CREATE TABLE geo_any (g Geometry) ENGINE = Memory();
INSERT INTO geo_any SELECT readWKT('MULTIPOINT(0 0, 10 0, 10 10)');
SELECT g, toTypeName(g) FROM geo_any;Expected: MultiPoint is recognised as a geo column type and returned in the same geometry-aware representation the other geo types got after #2581, and it round-trips on insert.
Actual: reading a MultiPoint column via jdbc-v2 gives:
Caused by: java.lang.IllegalArgumentException: Unsupported data type: MultiPoint
Proposed changes
- Add
MultiPointto the ClickHouse data-type enum / type parser. - Read path: map
MultiPointto the same geometry representation used forRing/LineString(both are alsoArray(Point)). - Write path: support inserting
MultiPoint, including viareadWKT/ WKB round-trip. - JDBC metadata:
getColumnType/getColumnTypeName/getColumnClassNameforMultiPointcolumns, so v2 doesn't NPE the way the types in #2711 did. - Extend
Geometryvariant handling if the server includesMultiPointin it.
Environment
- clickhouse-java: 0.9.8
- Driver: jdbc-v2 / client-v2
- ClickHouse server: 26.8.1.146 (master/head build — not a stable release)
Activity
mshustov commentedon Aug 13, 2026
@polyglotAI-bot take this
feat(client-v2, jdbc-v2): add MultiPoint data type support
chernser commentedon Sep 25, 2026
PRs implementing type is merged.