Skip to content

Commit 88c92ae

Browse files
[Fix][Connector][TDEngine] TDEngine support NCHAR type (#8411)
1 parent 84a1eb5 commit 88c92ae

File tree

2 files changed

+14
-10
lines changed
  • seatunnel-connectors-v2/connector-tdengine/src/main/java/org/apache/seatunnel/connectors/seatunnel/tdengine/typemapper
  • seatunnel-e2e/seatunnel-connector-v2-e2e/connector-tdengine-e2e/src/test/java/org/apache/seatunnel/e2e/connector/tdengine

2 files changed

+14
-10
lines changed

seatunnel-connectors-v2/connector-tdengine/src/main/java/org/apache/seatunnel/connectors/seatunnel/tdengine/typemapper/TDengineTypeMapper.java

+2
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ public class TDengineTypeMapper {
5858

5959
// -------------------------string----------------------------
6060
private static final String TDENGINE_CHAR = "CHAR";
61+
private static final String TDENGINE_NCHAR = "NCHAR";
6162
private static final String TDENGINE_VARCHAR = "VARCHAR";
6263
private static final String TDENGINE_TINYTEXT = "TINYTEXT";
6364
private static final String TDENGINE_MEDIUMTEXT = "MEDIUMTEXT";
@@ -118,6 +119,7 @@ public static SeaTunnelDataType<?> mapping(String tdengineType) {
118119
log.warn("{} will probably cause value overflow.", TDENGINE_DOUBLE_UNSIGNED);
119120
return BasicType.DOUBLE_TYPE;
120121
case TDENGINE_CHAR:
122+
case TDENGINE_NCHAR:
121123
case TDENGINE_TINYTEXT:
122124
case TDENGINE_MEDIUMTEXT:
123125
case TDENGINE_TEXT:

seatunnel-e2e/seatunnel-connector-v2-e2e/connector-tdengine-e2e/src/test/java/org/apache/seatunnel/e2e/connector/tdengine/TDengineIT.java

+12-10
Original file line numberDiff line numberDiff line change
@@ -109,15 +109,15 @@ private int generateTestDataSet() {
109109
try (Statement stmt = connection1.createStatement()) {
110110
stmt.execute("CREATE DATABASE power KEEP 3650");
111111
stmt.execute(
112-
"CREATE STABLE power.meters (ts TIMESTAMP, current FLOAT, voltage INT, phase FLOAT, off BOOL) "
112+
"CREATE STABLE power.meters (ts TIMESTAMP, current FLOAT, voltage INT, phase FLOAT, off BOOL, nc NCHAR(10)) "
113113
+ "TAGS (location BINARY(64), groupId INT)");
114114
String sql = getSQL();
115115
rowCount = stmt.executeUpdate(sql);
116116
}
117117
try (Statement stmt = connection2.createStatement()) {
118118
stmt.execute("CREATE DATABASE power2 KEEP 3650");
119119
stmt.execute(
120-
"CREATE STABLE power2.meters2 (ts TIMESTAMP, current FLOAT, voltage INT, phase FLOAT, off BOOL) "
120+
"CREATE STABLE power2.meters2 (ts TIMESTAMP, current FLOAT, voltage INT, phase FLOAT, off BOOL, nc NCHAR(10)) "
121121
+ "TAGS (location BINARY(64), groupId INT)");
122122
}
123123
return rowCount;
@@ -210,20 +210,22 @@ private static String getSQL() {
210210
.append(ps[4])
211211
.append(",") // off
212212
.append(ps[7])
213+
.append(",") // nc
214+
.append(ps[8])
213215
.append(") "); // phase
214216
}
215217
return sb.toString();
216218
}
217219

218220
private static List<String> getRawData() {
219221
return Arrays.asList(
220-
"d1001,2018-10-03 14:38:05.000,10.30000,219,0.31000,'California.SanFrancisco',2,true",
221-
"d1001,2018-10-03 14:38:15.000,12.60000,218,0.33000,'California.SanFrancisco',2,false",
222-
"d1001,2018-10-03 14:38:16.800,12.30000,221,0.31000,'California.SanFrancisco',2,true",
223-
"d1002,2018-10-03 14:38:16.650,10.30000,218,0.25000,'California.SanFrancisco',3,true",
224-
"d1003,2018-10-03 14:38:05.500,11.80000,221,0.28000,'California.LosAngeles',2,true",
225-
"d1003,2018-10-03 14:38:16.600,13.40000,223,0.29000,'California.LosAngeles',2,true",
226-
"d1004,2018-10-03 14:38:05.000,10.80000,223,0.29000,'California.LosAngeles',3,true",
227-
"d1004,2018-10-03 14:38:06.500,11.50000,221,0.35000,'California.LosAngeles',3,false");
222+
"d1001,2018-10-03 14:38:05.000,10.30000,219,0.31000,'California.SanFrancisco',2,true,'nc'",
223+
"d1001,2018-10-03 14:38:15.000,12.60000,218,0.33000,'California.SanFrancisco',2,false,'nc'",
224+
"d1001,2018-10-03 14:38:16.800,12.30000,221,0.31000,'California.SanFrancisco',2,true,'nc'",
225+
"d1002,2018-10-03 14:38:16.650,10.30000,218,0.25000,'California.SanFrancisco',3,true,'nc'",
226+
"d1003,2018-10-03 14:38:05.500,11.80000,221,0.28000,'California.LosAngeles',2,true,'nc'",
227+
"d1003,2018-10-03 14:38:16.600,13.40000,223,0.29000,'California.LosAngeles',2,true,'nc'",
228+
"d1004,2018-10-03 14:38:05.000,10.80000,223,0.29000,'California.LosAngeles',3,true,'nc'",
229+
"d1004,2018-10-03 14:38:06.500,11.50000,221,0.35000,'California.LosAngeles',3,false,'nc'");
228230
}
229231
}

0 commit comments

Comments
 (0)