@Override public Expr apply(final List<Expr> args) { if (args.size() < 1 || args.size() > 2) { throw new IAE("Function[%s] must have 1 or 2 arguments", name()); } if (args.size() == 1) { return new TrimStaticCharsExpr(mode, args.get(0), DEFAULT_CHARS); } else { final Expr charsArg = args.get(1); if (charsArg.isLiteral()) { final String charsString = charsArg.eval(ExprUtils.nilBindings()).asString(); final char[] chars = charsString == null ? EMPTY_CHARS : charsString.toCharArray(); return new TrimStaticCharsExpr(mode, args.get(0), chars); } else { return new TrimDynamicCharsExpr(mode, args.get(0), args.get(1)); } } }
public static DateTimeZone toTimeZone(final Expr timeZoneArg) { if (!timeZoneArg.isLiteral()) { throw new IAE("Time zone must be a literal"); } final Object literalValue = timeZoneArg.getLiteralValue(); return literalValue == null ? DateTimeZone.UTC : DateTimes.inferTzFromString((String) literalValue); }
Preconditions.checkArgument(args.get(1).isLiteral(), "Function[%s] format arg must be a literal", name()); formatString = (String) args.get(1).getLiteralValue(); } else {
} else if (digitsExpr.isLiteral()) { final int digits = ((Number) digitsExpr.getLiteralValue()).intValue(); final double factor = Math.pow(10, digits);
final Expr lookupExpr = args.get(1); if (!lookupExpr.isLiteral() || lookupExpr.getLiteralValue() == null) { throw new IAE("Function[%s] second argument must be a registered lookup name", name());
final Expr filterExpr = args.get(1); if (!filterExpr.isLiteral() || filterExpr.getLiteralValue() == null) { throw new IAE("Function[%s] second argument must be a base64 serialized bloom filter", name());
final DimensionExpression dimension = dimensions.get(i); if (Parser.parse(dimension.getDruidExpression().getExpression(), plannerContext.getExprMacroTable()) .isLiteral() && !aggregateProjectBits.get(i)) { dimensions.remove(i);
final Expr lookupNameExpr = inputExpressions.get(1).parse(plannerContext.getExprMacroTable()); if (arg.isSimpleExtraction() && lookupNameExpr.isLiteral()) { return arg.getSimpleExtraction().cascade( new RegisteredLookupExtractionFn(
); if (!truncTypeExpr.isLiteral()) { throw new IAE("Operator[%s] truncType must be a literal", calciteOperator().getName());
public static DateTimeZone toTimeZone(final Expr timeZoneArg) { if (!timeZoneArg.isLiteral()) { throw new IAE("Time zone must be a literal"); } final Object literalValue = timeZoneArg.getLiteralValue(); return literalValue == null ? DateTimeZone.UTC : DateTimes.inferTzfromString((String) literalValue); }
@Override public Expr apply(final List<Expr> args) { if (args.size() < 1 || args.size() > 2) { throw new IAE("Function[%s] must have 1 or 2 arguments", name()); } if (args.size() == 1) { return new TrimStaticCharsExpr(mode, args.get(0), DEFAULT_CHARS); } else { final Expr charsArg = args.get(1); if (charsArg.isLiteral()) { final String charsString = charsArg.eval(ExprUtils.nilBindings()).asString(); final char[] chars = charsString == null ? EMPTY_CHARS : charsString.toCharArray(); return new TrimStaticCharsExpr(mode, args.get(0), chars); } else { return new TrimDynamicCharsExpr(mode, args.get(0), args.get(1)); } } }
final Expr lookupNameExpr = inputExpressions.get(1).parse(plannerContext.getExprMacroTable()); if (arg.isSimpleExtraction() && lookupNameExpr.isLiteral()) { return arg.getSimpleExtraction().cascade( new RegisteredLookupExtractionFn(
); if (!truncTypeExpr.isLiteral()) { throw new IAE("Operator[%s] truncType must be a literal", calciteOperator().getName());