private SeaTunnelDataType stringToDataType()

in seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/service/impl/SchemaDerivationServiceImpl.java [138:185]


    private SeaTunnelDataType<?> stringToDataType(String dataTypeStr) {
        dataTypeStr = dataTypeStr.toUpperCase();
        switch (dataTypeStr) {
            case "STRING":
                return BasicType.STRING_TYPE;
            case "BOOLEAN":
                return BasicType.BOOLEAN_TYPE;
            case "TINYINT":
                return BasicType.BYTE_TYPE;
            case "SMALLINT":
                return BasicType.SHORT_TYPE;
            case "INT":
                return BasicType.INT_TYPE;
            case "BIGINT":
                return BasicType.LONG_TYPE;
            case "FLOAT":
                return BasicType.FLOAT_TYPE;
            case "DOUBLE":
                return BasicType.DOUBLE_TYPE;
            case "NULL":
                return BasicType.VOID_TYPE;
            case "BYTES":
                return ArrayType.BYTE_ARRAY_TYPE;
            case "DATE":
                return LocalTimeType.LOCAL_DATE_TYPE;
            case "TIME":
                return LocalTimeType.LOCAL_TIME_TYPE;
            case "TIMESTAMP":
                return LocalTimeType.LOCAL_DATE_TIME_TYPE;
            case "DECIMAL":
                return new DecimalType(38, 18);
            case "ARRAY":
            case "MAP":
            case "ROW":
            case "MULTIPLE_ROW":
                return BasicType.STRING_TYPE;
            default:
                break;
        }

        Matcher matcher = decimalPattern.matcher(dataTypeStr);
        if (matcher.matches()) {
            int precision = Integer.parseInt(matcher.group(1));
            int scale = Integer.parseInt(matcher.group(2));
            return new DecimalType(precision, scale);
        }
        return BasicType.STRING_TYPE;
    }