Class InfoSchemaFilterBuilder
java.lang.Object
org.apache.drill.common.expression.visitors.AbstractExprVisitor<InfoSchemaFilter.ExprNode,Void,RuntimeException>
org.apache.drill.exec.store.ischema.InfoSchemaFilterBuilder
- All Implemented Interfaces:
ExprVisitor<InfoSchemaFilter.ExprNode,
Void, RuntimeException>
public class InfoSchemaFilterBuilder
extends AbstractExprVisitor<InfoSchemaFilter.ExprNode,Void,RuntimeException>
Builds a InfoSchemaFilter out of the Filter condition. Currently we look only for certain conditions. Mainly
conditions involving columns "CATALOG_NAME, "TABLE_NAME", "SCHEMA_NAME", "TABLE_SCHEMA" and "COLUMN_NAME", and
functions EQUAL, NOT EQUAL, LIKE, OR and AND.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionbuild()
boolean
visitBooleanOperator
(BooleanOperator op, Void value) visitCastExpression
(CastExpression e, Void value) visitFunctionCall
(FunctionCall call, Void value) visitSchemaPath
(SchemaPath path, Void value) visitUnknown
(LogicalExpression e, Void value) Handles implementation-specific expressions not known to the visitor structure.Methods inherited from class org.apache.drill.common.expression.visitors.AbstractExprVisitor
visitAnyValueExpression, visitBooleanConstant, visitConvertExpression, visitDateConstant, visitDecimal18Constant, visitDecimal28Constant, visitDecimal38Constant, visitDecimal9Constant, visitDoubleConstant, visitFloatConstant, visitFunctionHolderExpression, visitIfExpression, visitIntConstant, visitIntervalDayConstant, visitIntervalYearConstant, visitLongConstant, visitNullConstant, visitNullExpression, visitParameter, visitTimeConstant, visitTimeStampConstant, visitTypedFieldExpr, visitVarDecimalConstant
-
Constructor Details
-
InfoSchemaFilterBuilder
-
-
Method Details
-
build
-
isAllExpressionsConverted
public boolean isAllExpressionsConverted() -
visitFunctionCall
public InfoSchemaFilter.ExprNode visitFunctionCall(FunctionCall call, Void value) throws RuntimeException - Specified by:
visitFunctionCall
in interfaceExprVisitor<InfoSchemaFilter.ExprNode,
Void, RuntimeException> - Overrides:
visitFunctionCall
in classAbstractExprVisitor<InfoSchemaFilter.ExprNode,
Void, RuntimeException> - Throws:
RuntimeException
-
visitBooleanOperator
public InfoSchemaFilter.ExprNode visitBooleanOperator(BooleanOperator op, Void value) throws RuntimeException - Specified by:
visitBooleanOperator
in interfaceExprVisitor<InfoSchemaFilter.ExprNode,
Void, RuntimeException> - Overrides:
visitBooleanOperator
in classAbstractExprVisitor<InfoSchemaFilter.ExprNode,
Void, RuntimeException> - Throws:
RuntimeException
-
visitCastExpression
public InfoSchemaFilter.ExprNode visitCastExpression(CastExpression e, Void value) throws RuntimeException - Specified by:
visitCastExpression
in interfaceExprVisitor<InfoSchemaFilter.ExprNode,
Void, RuntimeException> - Overrides:
visitCastExpression
in classAbstractExprVisitor<InfoSchemaFilter.ExprNode,
Void, RuntimeException> - Throws:
RuntimeException
-
visitQuotedStringConstant
public InfoSchemaFilter.ExprNode visitQuotedStringConstant(ValueExpressions.QuotedString e, Void value) throws RuntimeException - Specified by:
visitQuotedStringConstant
in interfaceExprVisitor<InfoSchemaFilter.ExprNode,
Void, RuntimeException> - Overrides:
visitQuotedStringConstant
in classAbstractExprVisitor<InfoSchemaFilter.ExprNode,
Void, RuntimeException> - Throws:
RuntimeException
-
visitSchemaPath
public InfoSchemaFilter.ExprNode visitSchemaPath(SchemaPath path, Void value) throws RuntimeException - Specified by:
visitSchemaPath
in interfaceExprVisitor<InfoSchemaFilter.ExprNode,
Void, RuntimeException> - Overrides:
visitSchemaPath
in classAbstractExprVisitor<InfoSchemaFilter.ExprNode,
Void, RuntimeException> - Throws:
RuntimeException
-
visitUnknown
public InfoSchemaFilter.ExprNode visitUnknown(LogicalExpression e, Void value) throws RuntimeException Description copied from class:AbstractExprVisitor
Handles implementation-specific expressions not known to the visitor structure. Since there are no "visitFoo" methods for these "unknown" expressions, subclassses should use the functionally-equivalentinstanceof
approach to parse out these "unknown" expressions.- Specified by:
visitUnknown
in interfaceExprVisitor<InfoSchemaFilter.ExprNode,
Void, RuntimeException> - Overrides:
visitUnknown
in classAbstractExprVisitor<InfoSchemaFilter.ExprNode,
Void, RuntimeException> - Throws:
RuntimeException
-