diff --git a/bitsail-common/src/main/java/com/bytedance/bitsail/common/model/ColumnInfo.java b/bitsail-common/src/main/java/com/bytedance/bitsail/common/model/ColumnInfo.java
index 7bed7c54d..68fcd1d1d 100644
--- a/bitsail-common/src/main/java/com/bytedance/bitsail/common/model/ColumnInfo.java
+++ b/bitsail-common/src/main/java/com/bytedance/bitsail/common/model/ColumnInfo.java
@@ -36,6 +36,7 @@ public class ColumnInfo implements Serializable {
private String comment;
private Object defaultValue;
private String properties;
+ private Boolean nullable;
@Builder
public ColumnInfo(String name, String type) {
@@ -58,6 +59,12 @@ public ColumnInfo(String name,
this.defaultValue = defaultValue;
}
+ public ColumnInfo(String name, String type, Boolean nullable) {
+ this.name = name;
+ this.type = type;
+ this.nullable = nullable;
+ }
+
public String getComment() {
return comment;
}
diff --git a/bitsail-connectors/connector-clickhouse/src/main/java/com/bytedance/bitsail/connector/clickhouse/constant/ClickhouseConstants.java b/bitsail-connectors/connector-clickhouse/src/main/java/com/bytedance/bitsail/connector/clickhouse/constant/ClickhouseConstants.java
index a88947691..ffffc5543 100644
--- a/bitsail-connectors/connector-clickhouse/src/main/java/com/bytedance/bitsail/connector/clickhouse/constant/ClickhouseConstants.java
+++ b/bitsail-connectors/connector-clickhouse/src/main/java/com/bytedance/bitsail/connector/clickhouse/constant/ClickhouseConstants.java
@@ -18,4 +18,6 @@
public class ClickhouseConstants {
public static String CLICKHOUSE_CONNECTOR_NAME = "clickhouse";
+
+ public static String CLICKHOUSE_DECIMAL_INPUT_TYPE = "Decimal(76, 76)";
}
diff --git a/bitsail-connectors/connector-clickhouse/src/main/java/com/bytedance/bitsail/connector/clickhouse/option/ClickhouseWriterOptions.java b/bitsail-connectors/connector-clickhouse/src/main/java/com/bytedance/bitsail/connector/clickhouse/option/ClickhouseWriterOptions.java
new file mode 100644
index 000000000..8af240eab
--- /dev/null
+++ b/bitsail-connectors/connector-clickhouse/src/main/java/com/bytedance/bitsail/connector/clickhouse/option/ClickhouseWriterOptions.java
@@ -0,0 +1,58 @@
+/*
+ * Copyright 2022 Bytedance Ltd. and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.bytedance.bitsail.connector.clickhouse.option;
+
+import com.bytedance.bitsail.common.annotation.Essential;
+import com.bytedance.bitsail.common.option.ConfigOption;
+import com.bytedance.bitsail.common.option.WriterOptions;
+
+import com.alibaba.fastjson.TypeReference;
+
+import java.util.Map;
+
+import static com.bytedance.bitsail.common.option.ConfigOptions.key;
+import static com.bytedance.bitsail.common.option.WriterOptions.WRITER_PREFIX;
+
+public interface ClickhouseWriterOptions extends WriterOptions.BaseWriterOptions {
+ /**
+ * Standard format:
+ * jdbc:(ch|clickhouse)[:protocol]://endpoint[,endpoint][/database][?parameters][#tags]
+ * - endpoint: [protocol://]host[:port][/database][?parameters][#tags]
+ * - protocol: (grpc|grpcs|http|https|tcp|tcps)
+ */
+ @Essential
+ ConfigOption JDBC_URL =
+ key(WRITER_PREFIX + "jdbc_url")
+ .noDefaultValue(String.class);
+
+/* ConfigOption WRITE_MODE =
+ key(WRITER_PREFIX + "write_mode")
+ .noDefaultValue(String.class);
+
+ ConfigOption WRITER_PARALLELISM_NUM =
+ key(WRITER_PREFIX + "writer_parallelism_num")
+ .noDefaultValue(String.class);*/
+
+ // Connection properties.
+ ConfigOption