private static RecordField getRecordField(String fieldName, RecordType type) { for (RecordField field : type.getRecordFields()) { if (field.getName().equals(fieldName)) { return field; } } throw new RuntimeException( "Unknown field '" + fieldName + "' in type " + type); }
return writer.append(recordType.getName()).append(".class");
Expressions.statement( Expressions.assign(key_, Expressions.new_(keyJavaType)))); List<Types.RecordField> fieldList = keyJavaType.getRecordFields(); for (int i = 0; i < initExpressions.size(); i++) { Expression right = initExpressions.get(i);
Expressions.statement( Expressions.assign(key_, Expressions.new_(keyJavaType)))); List<Types.RecordField> fieldList = keyJavaType.getRecordFields(); for (int i = 0; i < initExpressions.size(); i++) { Expression right = initExpressions.get(i);
static PhysType of( final JavaTypeFactory typeFactory, Type javaRowClass) { final RelDataTypeFactory.Builder builder = typeFactory.builder(); if (javaRowClass instanceof Types.RecordType) { final Types.RecordType recordType = (Types.RecordType) javaRowClass; for (Types.RecordField field : recordType.getRecordFields()) { builder.add(field.getName(), typeFactory.createType(field.getType())); } } RelDataType rowType = builder.build(); // Do not optimize if there are 0 or 1 fields. return new PhysTypeImpl(typeFactory, rowType, javaRowClass, JavaRowFormat.CUSTOM); }
static PhysType of( final JavaTypeFactory typeFactory, Type javaRowClass) { final RelDataTypeFactory.Builder builder = typeFactory.builder(); if (javaRowClass instanceof Types.RecordType) { final Types.RecordType recordType = (Types.RecordType) javaRowClass; for (Types.RecordField field : recordType.getRecordFields()) { builder.add(field.getName(), typeFactory.createType(field.getType())); } } RelDataType rowType = builder.build(); // Do not optimize if there are 0 or 1 fields. return new PhysTypeImpl(typeFactory, rowType, javaRowClass, JavaRowFormat.CUSTOM); }
public MemberExpression field(Expression expression, int field, Type fromType, Type fieldType) { final Type type = expression.getType(); if (type instanceof Types.RecordType) { Types.RecordType recordType = (Types.RecordType) type; Types.RecordField recordField = recordType.getRecordFields().get(field); return Expressions.field(expression, recordField.getDeclaringClass(), recordField.getName()); } else { return Expressions.field(expression, Types.nthField(field, type)); } } },
public MemberExpression field(Expression expression, int field, Type fromType, Type fieldType) { final Type type = expression.getType(); if (type instanceof Types.RecordType) { Types.RecordType recordType = (Types.RecordType) type; Types.RecordField recordField = recordType.getRecordFields().get(field); return Expressions.field(expression, recordField.getDeclaringClass(), recordField.getName()); } else { return Expressions.field(expression, Types.nthField(field, type)); } } },
public static PseudoField nthField(int ordinal, Type clazz) { if (clazz instanceof RecordType) { RecordType recordType = (RecordType) clazz; return recordType.getRecordFields().get(ordinal); } return field(toClass(clazz).getFields()[ordinal]); }