public Expression fieldReference( Expression expression, int field) { return fieldReference(expression, field, null); }
public Expression fieldReference( Expression expression, int field) { return fieldReference(expression, field, null); }
public Expression get(int index) { return fieldReference(parameter, fields.get(index)); }
public Expression get(int index) { return fieldReference(parameter, fields.get(index)); }
public List<Expression> accessors(Expression v1, List<Integer> argList) { final List<Expression> expressions = new ArrayList<>(); for (int field : argList) { expressions.add( Types.castIfNecessary( fieldClass(field), fieldReference(v1, field))); } return expressions; }
public List<Expression> accessors(Expression v1, List<Integer> argList) { final List<Expression> expressions = new ArrayList<>(); for (int field : argList) { expressions.add( Types.castIfNecessary( fieldClass(field), fieldReference(v1, field))); } return expressions; }
public Expression generateSelector(final ParameterExpression parameter, final List<Integer> fields, List<Integer> usedFields, JavaRowFormat targetFormat) { final PhysType targetPhysType = project(fields, true, targetFormat); final List<Expression> expressions = new ArrayList<>(); for (Ord<Integer> ord : Ord.zip(fields)) { final Integer field = ord.e; if (usedFields.contains(field)) { expressions.add(fieldReference(parameter, field)); } else { final Primitive primitive = Primitive.of(targetPhysType.fieldClass(ord.i)); expressions.add( Expressions.constant( primitive != null ? primitive.defaultValue : null)); } } for (Integer field : fields) { expressions.add(Expressions.constant(!usedFields.contains(field))); } return Expressions.lambda(Function1.class, targetPhysType.record(expressions), parameter); }
public Expression generateSelector(final ParameterExpression parameter, final List<Integer> fields, List<Integer> usedFields, JavaRowFormat targetFormat) { final PhysType targetPhysType = project(fields, true, targetFormat); final List<Expression> expressions = new ArrayList<>(); for (Ord<Integer> ord : Ord.zip(fields)) { final Integer field = ord.e; if (usedFields.contains(field)) { expressions.add(fieldReference(parameter, field)); } else { final Primitive primitive = Primitive.of(targetPhysType.fieldClass(ord.i)); expressions.add( Expressions.constant( primitive != null ? primitive.defaultValue : null)); } } for (Integer field : fields) { expressions.add(Expressions.constant(!usedFields.contains(field))); } return Expressions.lambda(Function1.class, targetPhysType.record(expressions), parameter); }
Types.castIfNecessary( returnType, fieldReference(v1, field0)); return Expressions.lambda( Function1.class, list.add(fieldReference(v1, field));
Types.castIfNecessary( returnType, fieldReference(v1, field0)); return Expressions.lambda( Function1.class, list.add(fieldReference(v1, field));
Expressions.lambda( Function1.class, fieldReference(parameter, collation.getFieldIndex()), parameter); return Pair.of(selector, for (RelFieldCollation collation : collations) { final int index = collation.getFieldIndex(); Expression arg0 = fieldReference(parameterV0, index); Expression arg1 = fieldReference(parameterV1, index); switch (Primitive.flavor(fieldClass(index))) { case OBJECT:
Expressions.lambda( Function1.class, fieldReference(parameter, collation.getFieldIndex()), parameter); return Pair.of(selector, for (RelFieldCollation collation : collations) { final int index = collation.getFieldIndex(); Expression arg0 = fieldReference(parameterV0, index); Expression arg1 = fieldReference(parameterV1, index); switch (Primitive.flavor(fieldClass(index))) { case OBJECT:
for (RelFieldCollation fieldCollation : collation.getFieldCollations()) { final int index = fieldCollation.getFieldIndex(); Expression arg0 = fieldReference(parameterV0, index); Expression arg1 = fieldReference(parameterV1, index); switch (Primitive.flavor(fieldClass(index))) { case OBJECT:
for (RelFieldCollation fieldCollation : collation.getFieldCollations()) { final int index = fieldCollation.getFieldIndex(); Expression arg0 = fieldReference(parameterV0, index); Expression arg1 = fieldReference(parameterV1, index); switch (Primitive.flavor(fieldClass(index))) { case OBJECT: