private TupleFilter cast(TupleFilter filter, RelDataType type) { if ((filter instanceof ConstantTupleFilter) == false) { return filter; } ConstantTupleFilter constFilter = (ConstantTupleFilter) filter; if (type.getFamily() == SqlTypeFamily.DATE || type.getFamily() == SqlTypeFamily.DATETIME || type.getFamily() == SqlTypeFamily.TIMESTAMP) { List<String> newValues = Lists.newArrayList(); for (Object v : constFilter.getValues()) { if (v == null) newValues.add(null); else newValues.add(String.valueOf(DateFormat.stringToMillis(v.toString()))); } constFilter = new ConstantTupleFilter(newValues); } return constFilter; }
if (temp.getType().getFamily() != SqlTypeFamily.NUMERIC || !(temp.getValue() instanceof BigDecimal)) { return null;// only numeric constants now
/** * @return true if type is in SqlTypeFamily.Boolean */ public static boolean inBooleanFamily(RelDataType type) { return type.getFamily() == SqlTypeFamily.BOOLEAN; }
/** * @return true if type is in SqlTypeFamily.Boolean */ public static boolean inBooleanFamily(RelDataType type) { return type.getFamily() == SqlTypeFamily.BOOLEAN; }
/** * @return true if type is in SqlTypeFamily.Character */ public static boolean inCharFamily(RelDataType type) { return type.getFamily() == SqlTypeFamily.CHARACTER; }
/** * @return true if type is in SqlTypeFamily.Character */ public static boolean inCharFamily(RelDataType type) { return type.getFamily() == SqlTypeFamily.CHARACTER; }
/** * @return true if two types are in same type family, or one or the other is * of type {@link SqlTypeName#NULL}. */ public static boolean inSameFamilyOrNull(RelDataType t1, RelDataType t2) { return (t1.getSqlTypeName() == SqlTypeName.NULL) || (t2.getSqlTypeName() == SqlTypeName.NULL) || (t1.getFamily() == t2.getFamily()); }
/** * @return true if two types are in same type family, or one or the other is * of type {@link SqlTypeName#NULL}. */ public static boolean inSameFamilyOrNull(RelDataType t1, RelDataType t2) { return (t1.getSqlTypeName() == SqlTypeName.NULL) || (t2.getSqlTypeName() == SqlTypeName.NULL) || (t1.getFamily() == t2.getFamily()); }
/** * @return true if two types are in same type family, or one or the other is * of type {@link SqlTypeName#NULL}. */ public static boolean inSameFamilyOrNull(RelDataType t1, RelDataType t2) { return (t1.getSqlTypeName() == SqlTypeName.NULL) || (t2.getSqlTypeName() == SqlTypeName.NULL) || (t1.getFamily() == t2.getFamily()); }
@Override public SqlMonotonicity getMonotonicity(SqlOperatorBinding call) { RelDataTypeFamily castFrom = call.getOperandType(0).getFamily(); RelDataTypeFamily castTo = call.getOperandType(1).getFamily(); if (castFrom instanceof SqlTypeFamily && castTo instanceof SqlTypeFamily && nonMonotonicCasts.containsEntry(castFrom, castTo)) { return SqlMonotonicity.NOT_MONOTONIC; } else { return call.getOperandMonotonicity(0); } } }
@Override public SqlMonotonicity getMonotonicity(SqlOperatorBinding call) { RelDataTypeFamily castFrom = call.getOperandType(0).getFamily(); RelDataTypeFamily castTo = call.getOperandType(1).getFamily(); if (castFrom instanceof SqlTypeFamily && castTo instanceof SqlTypeFamily && nonMonotonicCasts.containsEntry(castFrom, castTo)) { return SqlMonotonicity.NOT_MONOTONIC; } else { return call.getOperandMonotonicity(0); } } }
protected static RelDataTypeFamily family(RelDataType type) { // REVIEW jvs 2-June-2005: This is needed to keep // the Saffron type system happy. RelDataTypeFamily family = null; if (type.getSqlTypeName() != null) { family = type.getSqlTypeName().getFamily(); } if (family == null) { family = type.getFamily(); } return family; }
protected static RelDataTypeFamily family(RelDataType type) { // REVIEW jvs 2-June-2005: This is needed to keep // the Saffron type system happy. RelDataTypeFamily family = null; if (type.getSqlTypeName() != null) { family = type.getSqlTypeName().getFamily(); } if (family == null) { family = type.getFamily(); } return family; }
public static RField fromCalciteField(final RelDataTypeField field) { return new RField() .setName(field.getName()) .setTypeFamily(field.getType().getFamily().toString()); } }