public RelDataType createStructType(Class type) { final List<RelDataTypeField> list = new ArrayList<>(); for (Field field : type.getFields()) { if (!Modifier.isStatic(field.getModifiers())) { // FIXME: watch out for recursion final Type fieldType = fieldType(field); list.add( new RelDataTypeFieldImpl( field.getName(), list.size(), createType(fieldType))); } } return canonize(new JavaRecordType(list, type)); }
final Types.ArrayType arrayType = (Types.ArrayType) type; final RelDataType componentRelType = createType(arrayType.getComponentType()); return createArrayType( createTypeWithNullability(componentRelType, final RelDataType keyRelType = createType(mapType.getKeyType()); final RelDataType valueRelType = createType(mapType.getValueType()); return createMapType( createTypeWithNullability(keyRelType, mapType.keyIsNullable()), } else if (clazz.isArray()) { return createMultisetType( createType(clazz.getComponentType()), -1); } else if (List.class.isAssignableFrom(clazz)) { return createArrayType(
public RelDataType createStructType(Class type) { final List<RelDataTypeField> list = new ArrayList<>(); for (Field field : type.getFields()) { if (!Modifier.isStatic(field.getModifiers())) { // FIXME: watch out for recursion final Type fieldType = fieldType(field); list.add( new RelDataTypeFieldImpl( field.getName(), list.size(), createType(fieldType))); } } return canonize(new JavaRecordType(list, type)); }
final Types.ArrayType arrayType = (Types.ArrayType) type; final RelDataType componentRelType = createType(arrayType.getComponentType()); return createArrayType( createTypeWithNullability(componentRelType, final RelDataType keyRelType = createType(mapType.getKeyType()); final RelDataType valueRelType = createType(mapType.getValueType()); return createMapType( createTypeWithNullability(keyRelType, mapType.keyIsNullable()), } else if (clazz.isArray()) { return createMultisetType( createType(clazz.getComponentType()), -1); } else if (List.class.isAssignableFrom(clazz)) { return createArrayType(
final RelDataType rowType = typeFactory.builder() .add("empid", typeFactory.createType(int.class)) .add("deptno", typeFactory.createType(int.class)) .add("name", typeFactory.createType(String.class)) .build(); final Enumerable<Object[]> enumerable =
final RelDataType rowType = typeFactory.builder() .add("empid", typeFactory.createType(int.class)) .add("deptno", typeFactory.createType(int.class)) .add("name", typeFactory.createType(String.class)) .build(); final Enumerable<Object[]> enumerable =
final RelDataType rowType = typeFactory.builder() .add("deptno", typeFactory.createType(int.class)) .add("empid", typeFactory.createType(int.class)) .add("name", typeFactory.createType(String.class)) .build(); final Enumerable<Object[]> enumerable =
final RelDataType rowType = typeFactory.builder() .add("deptno", typeFactory.createType(int.class)) .add("empid", typeFactory.createType(int.class)) .add("name", typeFactory.createType(String.class)) .build(); final Enumerable<Object[]> enumerable =
SqlStdOperatorTable.EQUALS, rexBuilder.makeInputRef( typeFactory.createType(int.class), 0), rexBuilder.makeExactLiteral(BigDecimal.ZERO)); SqlStdOperatorTable.EQUALS, rexBuilder.makeInputRef( typeFactory.createType(int.class), 1), rexBuilder.makeExactLiteral(BigDecimal.ONE)); typeFactory.createType(boolean.class), 2); typeFactory.createType(boolean.class), 3); typeFactory.createType(boolean.class), 4);
final RexLiteral i3 = rexBuilder.makeExactLiteral(BigDecimal.valueOf(3)); final RelDataType intType = typeFactory.createType(int.class); final RexInputRef x = rexBuilder.makeInputRef(intType, 0); // $0 final RexInputRef y = rexBuilder.makeInputRef(intType, 1); // $1
SqlStdOperatorTable.EQUALS, rexBuilder.makeInputRef( typeFactory.createType(int.class), 0), rexBuilder.makeExactLiteral(BigDecimal.ZERO)); SqlStdOperatorTable.EQUALS, rexBuilder.makeInputRef( typeFactory.createType(int.class), 1), rexBuilder.makeExactLiteral(BigDecimal.ONE)); typeFactory.createType(boolean.class), 2); typeFactory.createType(boolean.class), 3); typeFactory.createType(boolean.class), 4);
final RexLiteral i3 = rexBuilder.makeExactLiteral(BigDecimal.valueOf(3)); final RelDataType intType = typeFactory.createType(int.class); final RexInputRef x = rexBuilder.makeInputRef(intType, 0); // $0 final RexInputRef y = rexBuilder.makeInputRef(intType, 1); // $1