@Nullable @Override public DimFilter toDruidFilter( PlannerContext plannerContext, RowSignature rowSignature, RexNode rexNode ) { final List<RexNode> operands = ((RexCall) rexNode).getOperands(); final DruidExpression druidExpression = Expressions.toDruidExpression( plannerContext, rowSignature, operands.get(0) ); if (druidExpression == null || !druidExpression.isSimpleExtraction()) { return null; } return new LikeDimFilter( druidExpression.getSimpleExtraction().getColumn(), RexLiteral.stringValue(operands.get(1)), operands.size() > 2 ? RexLiteral.stringValue(operands.get(2)) : null, druidExpression.getSimpleExtraction().getExtractionFn() ); } }
public DimensionSpec toDimensionSpec() { if (expression.isSimpleExtraction()) { return expression.getSimpleExtraction().toDimensionSpec(outputName, outputType); } else { return new DefaultDimensionSpec(getVirtualColumnName(), getOutputName(), outputType); } }
druidExpression.getSimpleExtraction().getColumn(), holder, druidExpression.getSimpleExtraction().getExtractionFn() ); } else {
return arg.getSimpleExtraction().cascade( new RegexDimExtractionFn( (String) patternExpr.getLiteralValue(),
return arg.getSimpleExtraction().cascade( new RegisteredLookupExtractionFn( lookupReferencesManager,
dimensionSpec = arg.getSimpleExtraction().toDimensionSpec(null, inputType); } else { final ExpressionVirtualColumn virtualColumn = arg.toVirtualColumn(
druidExpression.getSimpleExtraction().getColumn(), NullHandling.defaultStringValue(), druidExpression.getSimpleExtraction().getExtractionFn() ); final String column = lhsExpression.getSimpleExtraction().getColumn(); final ExtractionFn extractionFn = lhsExpression.getSimpleExtraction().getExtractionFn();
public DimensionSpec toDimensionSpec() { if (expression.isSimpleExtraction()) { return expression.getSimpleExtraction().toDimensionSpec(outputName, outputType); } else { return new DefaultDimensionSpec(getVirtualColumnName(), getOutputName(), outputType); } }
return arg.getSimpleExtraction().cascade( new RegexDimExtractionFn( (String) patternExpr.getLiteralValue(),
return arg.getSimpleExtraction().cascade( new RegisteredLookupExtractionFn( lookupReferencesManager,
druidExpression.getSimpleExtraction().getColumn(), NullHandling.defaultStringValue(), druidExpression.getSimpleExtraction().getExtractionFn() ); final String column = lhsExpression.getSimpleExtraction().getColumn(); final ExtractionFn extractionFn = lhsExpression.getSimpleExtraction().getExtractionFn(); druidExpression.getSimpleExtraction().getColumn(), RexLiteral.stringValue(operands.get(1)), operands.size() > 2 ? RexLiteral.stringValue(operands.get(2)) : null, druidExpression.getSimpleExtraction().getExtractionFn() ); } else {
dimensionSpec = arg.getSimpleExtraction().toDimensionSpec(null, inputType); } else { final ExpressionVirtualColumn virtualColumn = arg.toVirtualColumn(