private RelDataType zzz(int dataType, int precision, int scale) { SqlTypeName sqlTypeName = SqlTypeName.getNameForJdbcType(dataType); if (precision >= 0 && scale >= 0 && sqlTypeName.allowsPrecScale(true, true)) { return typeFactory.createSqlType(sqlTypeName, precision, scale); } else if (precision >= 0 && sqlTypeName.allowsPrecNoScale()) { return typeFactory.createSqlType(sqlTypeName, precision); } else { assert sqlTypeName.allowsNoPrecNoScale(); return typeFactory.createSqlType(sqlTypeName); } }
@Override protected Collection<TableInSchema> initialTables() { final List<TableInSchema> list = new ArrayList<TableInSchema>(); final RelDataType mapType = typeFactory.createMapType( typeFactory.createSqlType(SqlTypeName.VARCHAR), typeFactory.createSqlType(SqlTypeName.ANY)); final RelDataType rowType = typeFactory.createStructType( new RelDataTypeFactory.FieldInfoBuilder().add("_MAP", mapType)); for (String collection : mongoDb.getCollectionNames()) { final MongoTable table = new MongoTable(this, collection, rowType); list.add( new TableInSchemaImpl(this, collection, TableType.TABLE, table)); } return list; } }
/** Creates a RangeTable. */ public static RangeTable create( Schema schema, String tableName, String columnName, int start, int end) { final JavaTypeFactory typeFactory = schema.getTypeFactory(); final RelDataType integerType = typeFactory.createSqlType(SqlTypeName.INTEGER); final RelDataType rowType = typeFactory.createStructType( RelDataTypeFactory.FieldInfoBuilder .of(columnName, integerType)); return new RangeTable( schema, Object[].class, rowType, tableName, start, end); }
final RelDataType intType = typeFactory.createSqlType(SqlTypeName.INTEGER); final RelDataType rowType = typeFactory.builder() .add("a", intType)
List<RelDataType> types = Arrays.asList( typeFactory.createSqlType(SqlTypeName.INTEGER), typeFactory.createSqlType(SqlTypeName.INTEGER)); List<String> names = Arrays.asList("x", "y"); RelDataType inputRowType = typeFactory.createStructType(types, names);
List<RelDataType> types = Arrays.asList( typeFactory.createSqlType(SqlTypeName.INTEGER), typeFactory.createSqlType(SqlTypeName.INTEGER)); List<String> names = Arrays.asList("x", "y"); RelDataType inputRowType = typeFactory.createStructType(types, names);