From 331ea90e14118ee7f03202860191c03d47b81ce1 Mon Sep 17 00:00:00 2001 From: Roland Praml Date: Fri, 26 Nov 2021 15:02:01 +0100 Subject: [PATCH] Fix: Support conversion of `varchar[](300)` array type for Clickhouse --- .../ddlgeneration/platform/ClickHouseDbArray.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/ClickHouseDbArray.java b/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/ClickHouseDbArray.java index ec141d7f0..0bb2f7895 100644 --- a/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/ClickHouseDbArray.java +++ b/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/ClickHouseDbArray.java @@ -14,6 +14,7 @@ class ClickHouseDbArray { mapping.put("varchar[]", "Array(String)"); mapping.put("integer[]", "Array(UInt32)"); mapping.put("bigint[]", "Array(UInt64)"); + mapping.put("float[]", "Array(Float32)"); } /** @@ -21,6 +22,10 @@ class ClickHouseDbArray { */ static String logicalToNative(String logicalArrayType) { int colonPos = logicalArrayType.indexOf(':'); + int bracketPos = logicalArrayType.indexOf('('); + if (bracketPos > -1 && (bracketPos < colonPos || colonPos == -1)) { + colonPos = bracketPos; + } if (colonPos > -1) { logicalArrayType = logicalArrayType.substring(0, colonPos); }