private RelDataType mapDBaseTypeToSqlType()

in baremaps-calcite/src/main/java/org/apache/baremaps/calcite/shapefile/ShapefileTable.java [102:123]


  private RelDataType mapDBaseTypeToSqlType(RelDataTypeFactory typeFactory,
      DBaseFieldDescriptor fieldDescriptor) {
    return switch (fieldDescriptor.getType()) {
      case CHARACTER -> typeFactory.createSqlType(SqlTypeName.VARCHAR);
      case NUMBER -> fieldDescriptor.getDecimalCount() == 0
          ? typeFactory.createSqlType(SqlTypeName.BIGINT)
          : typeFactory.createSqlType(SqlTypeName.DOUBLE);
      case CURRENCY -> typeFactory.createSqlType(SqlTypeName.DOUBLE);
      case DOUBLE -> typeFactory.createSqlType(SqlTypeName.DOUBLE);
      case INTEGER -> typeFactory.createSqlType(SqlTypeName.INTEGER);
      case AUTO_INCREMENT -> typeFactory.createSqlType(SqlTypeName.INTEGER);
      case LOGICAL -> typeFactory.createSqlType(SqlTypeName.BOOLEAN);
      case DATE -> typeFactory.createSqlType(SqlTypeName.DATE);
      case MEMO -> typeFactory.createSqlType(SqlTypeName.VARCHAR);
      case FLOATING_POINT -> typeFactory.createSqlType(SqlTypeName.FLOAT);
      case PICTURE -> typeFactory.createSqlType(SqlTypeName.VARCHAR);
      case VARI_FIELD -> typeFactory.createSqlType(SqlTypeName.VARCHAR);
      case VARIANT -> typeFactory.createSqlType(SqlTypeName.VARCHAR);
      case TIMESTAMP -> typeFactory.createSqlType(SqlTypeName.TIMESTAMP);
      case DATE_TIME -> typeFactory.createSqlType(SqlTypeName.TIMESTAMP);
    };
  }