Skip to content

Commit 9e17ede

Browse files
fix: partly fix ci error in databend (#784)
* fix: fix ci error https://github.com/sqlancer/sqlancer/actions/runs/4822718555/jobs/8590290712 * style: run mvn format * fix: fix bool type size * fix: Nullable type * fix: add FLOAT64 * refactor: change the sequence correspond to https://databend.rs/doc/sql-reference/data-types/#general-data-types
1 parent 18b3596 commit 9e17ede

1 file changed

Lines changed: 32 additions & 15 deletions

File tree

src/sqlancer/databend/DatabendSchema.java

Lines changed: 32 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -232,48 +232,65 @@ public DatabendTables getRandomTableNonEmptyAndViewTables() {
232232
}
233233

234234
private static DatabendCompositeDataType getColumnType(String typeString) {
235-
DatabendDataType primitiveType;
236-
int size = -1;
237235
if (typeString.startsWith("DECIMAL")) { // Ugly hack
238236
return new DatabendCompositeDataType(DatabendDataType.FLOAT, 8);
239237
}
240-
switch (typeString) {
241-
case "INT":
238+
if (typeString.startsWith("Nullable")) { // Ugly hack
239+
String substring = typeString.substring(typeString.indexOf('(') + 1, typeString.indexOf(')'));
240+
return getColumnTypeNormalCases(substring);
241+
}
242+
return getColumnTypeNormalCases(typeString);
243+
}
244+
245+
private static DatabendCompositeDataType getColumnTypeNormalCases(String typeString) {
246+
DatabendDataType primitiveType;
247+
int size = -1;
248+
switch (typeString.toUpperCase()) {
249+
case "BOOLEAN":
250+
case "BOOL":
251+
primitiveType = DatabendDataType.BOOLEAN;
252+
size = 1;
253+
break;
254+
case "TINYINT":
255+
case "INT8":
242256
primitiveType = INT;
243-
size = 4;
257+
size = 1;
244258
break;
245259
case "SMALLINT":
260+
case "INT16":
246261
primitiveType = INT;
247262
size = 2;
248263
break;
249-
case "BIGINT":
264+
case "INT":
265+
case "INT32":
250266
primitiveType = INT;
251-
size = 8;
267+
size = 4;
252268
break;
253-
case "TINYINT":
269+
case "BIGINT":
270+
case "INT64":
254271
primitiveType = INT;
255-
size = 1;
256-
break;
257-
case "VARCHAR":
258-
primitiveType = DatabendDataType.VARCHAR;
272+
size = 8;
259273
break;
260274
case "FLOAT":
275+
case "FLOAT32":
261276
primitiveType = DatabendDataType.FLOAT;
262277
size = 4;
263278
break;
264279
case "DOUBLE":
280+
case "FLOAT64":
265281
primitiveType = DatabendDataType.FLOAT;
266282
size = 8;
267283
break;
268-
case "BOOLEAN":
269-
primitiveType = DatabendDataType.BOOLEAN;
270-
break;
271284
// case "DATE":
272285
// primitiveType = DatabendDataType.DATE;
273286
// break;
274287
// case "TIMESTAMP":
275288
// primitiveType = DatabendDataType.TIMESTAMP;
276289
// break;
290+
case "VARCHAR":
291+
case "STRING":
292+
primitiveType = DatabendDataType.VARCHAR;
293+
break;
277294
case "NULL":
278295
primitiveType = DatabendDataType.NULL;
279296
break;

0 commit comments

Comments
 (0)