final int digits = ((Number) digitsExpr.getLiteralValue()).intValue(); final double factor = Math.pow(10, digits); factorString = DruidExpression.numberLiteral(factor); } else { factorString = StringUtils.format("pow(10,%s)", inputExpressions.get(1));
"substring(%s, %s, %s)", expression, DruidExpression.numberLiteral(index), DruidExpression.numberLiteral(length)
input.getExpression(), DruidExpression.stringLiteral(granularity.getPeriod().toString()), DruidExpression.numberLiteral( granularity.getOrigin() == null ? null : granularity.getOrigin().getMillis() ),
druidExpression.getExpression(), DruidExpression.stringLiteral(granularity.getPeriod().toString()), DruidExpression.numberLiteral( granularity.getOrigin() == null ? null : granularity.getOrigin().getMillis() ),
return DruidExpression.fromExpression(DruidExpression.nullLiteral()); } else if (SqlTypeName.NUMERIC_TYPES.contains(sqlTypeName)) { return DruidExpression.fromExpression(DruidExpression.numberLiteral((Number) RexLiteral.value(rexNode))); } else if (SqlTypeFamily.INTERVAL_DAY_TIME == sqlTypeName.getFamily()) { return DruidExpression.fromExpression(DruidExpression.numberLiteral(milliseconds)); } else if (SqlTypeFamily.INTERVAL_YEAR_MONTH == sqlTypeName.getFamily()) { return DruidExpression.fromExpression(DruidExpression.numberLiteral(months)); } else if (SqlTypeName.STRING_TYPES.contains(sqlTypeName)) { return DruidExpression.fromExpression(DruidExpression.stringLiteral(RexLiteral.stringValue(rexNode))); } else { return DruidExpression.fromExpression( DruidExpression.numberLiteral( Calcites.calciteDateTimeLiteralToJoda(rexNode, plannerContext.getTimeZone()).getMillis() return DruidExpression.fromExpression(DruidExpression.numberLiteral(RexLiteral.booleanValue(rexNode) ? 1 : 0)); } else {
expression -> StringUtils.format("concat('P', %s, 'M')", expression) ), DruidExpression.fromExpression(DruidExpression.numberLiteral(direction > 0 ? 1 : -1))
final int digits = ((Number) digitsExpr.getLiteralValue()).intValue(); final double factor = Math.pow(10, digits); factorString = DruidExpression.numberLiteral(factor); } else { factorString = StringUtils.format("pow(10,%s)", inputExpressions.get(1));
"substring(%s, %s, %s)", expression, DruidExpression.numberLiteral(index), DruidExpression.numberLiteral(length)
input.getExpression(), DruidExpression.stringLiteral(granularity.getPeriod().toString()), DruidExpression.numberLiteral( granularity.getOrigin() == null ? null : granularity.getOrigin().getMillis() ),
druidExpression.getExpression(), DruidExpression.stringLiteral(granularity.getPeriod().toString()), DruidExpression.numberLiteral( granularity.getOrigin() == null ? null : granularity.getOrigin().getMillis() ),
return DruidExpression.fromExpression(DruidExpression.nullLiteral()); } else if (SqlTypeName.NUMERIC_TYPES.contains(sqlTypeName)) { return DruidExpression.fromExpression(DruidExpression.numberLiteral((Number) RexLiteral.value(rexNode))); } else if (SqlTypeFamily.INTERVAL_DAY_TIME == sqlTypeName.getFamily()) { return DruidExpression.fromExpression(DruidExpression.numberLiteral(milliseconds)); } else if (SqlTypeFamily.INTERVAL_YEAR_MONTH == sqlTypeName.getFamily()) { return DruidExpression.fromExpression(DruidExpression.numberLiteral(months)); } else if (SqlTypeName.STRING_TYPES.contains(sqlTypeName)) { return DruidExpression.fromExpression(DruidExpression.stringLiteral(RexLiteral.stringValue(rexNode))); } else { return DruidExpression.fromExpression( DruidExpression.numberLiteral( Calcites.calciteDateTimeLiteralToJoda(rexNode, plannerContext.getTimeZone()).getMillis() return DruidExpression.fromExpression(DruidExpression.numberLiteral(RexLiteral.booleanValue(rexNode) ? 1 : 0)); } else {
expression -> StringUtils.format("concat('P', %s, 'M')", expression) ), DruidExpression.fromExpression(DruidExpression.numberLiteral(direction > 0 ? 1 : -1))