Package org.rumbledb.compiler
Class ProjectionPushdownDetectionVisitor
java.lang.Object
org.rumbledb.expressions.AbstractNodeVisitor<ProjectionPushdownDetectionVisitor.ReferenceMap>
org.rumbledb.compiler.ProjectionPushdownDetectionVisitor
public class ProjectionPushdownDetectionVisitor
extends AbstractNodeVisitor<ProjectionPushdownDetectionVisitor.ReferenceMap>
-
Nested Class Summary
Nested Classes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondefaultAction
(Node node, ProjectionPushdownDetectionVisitor.ReferenceMap argument) visitCountClause
(CountClause expression, ProjectionPushdownDetectionVisitor.ReferenceMap argument) visitFilterExpression
(FilterExpression expression, ProjectionPushdownDetectionVisitor.ReferenceMap argument) visitFlowrExpression
(FlworExpression expression, ProjectionPushdownDetectionVisitor.ReferenceMap argument) visitForClause
(ForClause clause, ProjectionPushdownDetectionVisitor.ReferenceMap argument) High-level explanations When visiting an expression, the ReferenceMap argument provides the projection expected from the outside world, with the ReferenceMap keys being object keys.visitFunctionCall
(FunctionCallExpression expression, ProjectionPushdownDetectionVisitor.ReferenceMap argument) visitGroupByClause
(GroupByClause clause, ProjectionPushdownDetectionVisitor.ReferenceMap argument) visitLetClause
(LetClause clause, ProjectionPushdownDetectionVisitor.ReferenceMap argument) visitMainModule
(MainModule expression, ProjectionPushdownDetectionVisitor.ReferenceMap argument) visitObjectConstructor
(ObjectConstructorExpression expression, ProjectionPushdownDetectionVisitor.ReferenceMap argument) visitObjectLookupExpression
(ObjectLookupExpression expression, ProjectionPushdownDetectionVisitor.ReferenceMap argument) visitOrderByClause
(OrderByClause clause, ProjectionPushdownDetectionVisitor.ReferenceMap argument) visitProlog
(Prolog prolog, ProjectionPushdownDetectionVisitor.ReferenceMap argument) visitReturnClause
(ReturnClause expression, ProjectionPushdownDetectionVisitor.ReferenceMap argument) visitVariableReference
(VariableReferenceExpression expression, ProjectionPushdownDetectionVisitor.ReferenceMap argument) visitWhereClause
(WhereClause expression, ProjectionPushdownDetectionVisitor.ReferenceMap argument) Methods inherited from class org.rumbledb.expressions.AbstractNodeVisitor
visit, visitAdditiveExpr, visitAndExpr, visitAppendExpression, visitApplyStatement, visitArrayConstructor, visitArrayLookupExpression, visitArrayUnboxingExpression, visitAssignStatement, visitAttributeNode, visitAttributeNodeContent, visitBlockExpr, visitBlockStatement, visitBoolean, visitBreakStatement, visitCastableExpression, visitCastExpression, visitCommaExpression, visitCommaVariableDeclStatement, visitComparisonExpr, visitComputedAttributeConstructor, visitComputedElementConstructor, visitConditionalExpression, visitConditionalStatement, visitContextExpr, visitContinueStatement, visitCreateCollectionExpression, visitDecimal, visitDeleteExpression, visitDeleteIndexFromCollectionExpression, visitDeleteSearchFromCollectionExpression, visitDescendants, visitDirElemConstructor, visitDocumentNodeConstructor, visitDouble, visitDynamicFunctionCallExpression, visitEditCollectionExpression, visitExitStatement, visitFlowrStatement, visitFunctionDeclaration, visitInlineFunctionExpr, visitInsertExpression, visitInsertIndexIntoCollectionExpression, visitInsertSearchIntoCollectionExpression, visitInstanceOfExpression, visitInteger, visitIsStaticallyExpr, visitLibraryModule, visitMultiplicativeExpr, visitNamedFunctionRef, visitNodeComparisonExpr, visitNotExpr, visitNull, visitOrExpr, visitPostfixLookupExpression, visitProgram, visitRangeExpr, visitRenameExpression, visitReplaceExpression, visitReturnStatementClause, visitSimpleMapExpr, visitSlashExpr, visitStatementsAndExpr, visitStatementsAndOptionalExpr, visitStepExpr, visitString, visitStringConcatExpr, visitSwitchExpression, visitSwitchStatement, visitTextNode, visitTextNodeConstructor, visitTransformExpression, visitTreatExpression, visitTruncateCollectionExpression, visitTryCatchExpression, visitTryCatchStatement, visitTypeDeclaration, visitTypeSwitchExpression, visitTypeSwitchStatement, visitUnaryExpr, visitUnaryLookupExpression, visitValidateTypeExpression, visitVariableDeclaration, visitVariableDeclStatement, visitWhileStatement
-
Constructor Details
-
ProjectionPushdownDetectionVisitor
public ProjectionPushdownDetectionVisitor()
-
-
Method Details
-
visitForClause
public ProjectionPushdownDetectionVisitor.ReferenceMap visitForClause(ForClause clause, ProjectionPushdownDetectionVisitor.ReferenceMap argument) High-level explanations When visiting an expression, the ReferenceMap argument provides the projection expected from the outside world, with the ReferenceMap keys being object keys. If the ReferenceMap has no keys, then the entire object is needed. The returned ReferenceMap contains all the variables that this expression needs to access, together with the projections that they need in case these variables are associated with objects (if the associated projection has no keys, then the entire object is expected for this variable). When visiting a clause, the ReferenceMap argument provides the variables that subsequenc clauses need to access, together with the projections that they need in case these variables are associated with objects (if the associated projection has no keys, then the entire object is expected for this variable). The returned ReferenceMap contains all the variables that this clause needs to access, together with the projections that they need in case these variables are associated with objects (if the associated projection has no keys, then the entire object is expected for this variable).- Overrides:
visitForClause
in classAbstractNodeVisitor<ProjectionPushdownDetectionVisitor.ReferenceMap>
-
defaultAction
protected ProjectionPushdownDetectionVisitor.ReferenceMap defaultAction(Node node, ProjectionPushdownDetectionVisitor.ReferenceMap argument) - Overrides:
defaultAction
in classAbstractNodeVisitor<ProjectionPushdownDetectionVisitor.ReferenceMap>
-
visitLetClause
public ProjectionPushdownDetectionVisitor.ReferenceMap visitLetClause(LetClause clause, ProjectionPushdownDetectionVisitor.ReferenceMap argument) - Overrides:
visitLetClause
in classAbstractNodeVisitor<ProjectionPushdownDetectionVisitor.ReferenceMap>
-
visitGroupByClause
public ProjectionPushdownDetectionVisitor.ReferenceMap visitGroupByClause(GroupByClause clause, ProjectionPushdownDetectionVisitor.ReferenceMap argument) - Overrides:
visitGroupByClause
in classAbstractNodeVisitor<ProjectionPushdownDetectionVisitor.ReferenceMap>
-
visitWhereClause
public ProjectionPushdownDetectionVisitor.ReferenceMap visitWhereClause(WhereClause expression, ProjectionPushdownDetectionVisitor.ReferenceMap argument) - Overrides:
visitWhereClause
in classAbstractNodeVisitor<ProjectionPushdownDetectionVisitor.ReferenceMap>
-
visitCountClause
public ProjectionPushdownDetectionVisitor.ReferenceMap visitCountClause(CountClause expression, ProjectionPushdownDetectionVisitor.ReferenceMap argument) - Overrides:
visitCountClause
in classAbstractNodeVisitor<ProjectionPushdownDetectionVisitor.ReferenceMap>
-
visitOrderByClause
public ProjectionPushdownDetectionVisitor.ReferenceMap visitOrderByClause(OrderByClause clause, ProjectionPushdownDetectionVisitor.ReferenceMap argument) - Overrides:
visitOrderByClause
in classAbstractNodeVisitor<ProjectionPushdownDetectionVisitor.ReferenceMap>
-
visitReturnClause
public ProjectionPushdownDetectionVisitor.ReferenceMap visitReturnClause(ReturnClause expression, ProjectionPushdownDetectionVisitor.ReferenceMap argument) - Overrides:
visitReturnClause
in classAbstractNodeVisitor<ProjectionPushdownDetectionVisitor.ReferenceMap>
-
visitFlowrExpression
public ProjectionPushdownDetectionVisitor.ReferenceMap visitFlowrExpression(FlworExpression expression, ProjectionPushdownDetectionVisitor.ReferenceMap argument) - Overrides:
visitFlowrExpression
in classAbstractNodeVisitor<ProjectionPushdownDetectionVisitor.ReferenceMap>
-
visitMainModule
public ProjectionPushdownDetectionVisitor.ReferenceMap visitMainModule(MainModule expression, ProjectionPushdownDetectionVisitor.ReferenceMap argument) - Overrides:
visitMainModule
in classAbstractNodeVisitor<ProjectionPushdownDetectionVisitor.ReferenceMap>
-
visitProlog
public ProjectionPushdownDetectionVisitor.ReferenceMap visitProlog(Prolog prolog, ProjectionPushdownDetectionVisitor.ReferenceMap argument) - Overrides:
visitProlog
in classAbstractNodeVisitor<ProjectionPushdownDetectionVisitor.ReferenceMap>
-
visitVariableReference
public ProjectionPushdownDetectionVisitor.ReferenceMap visitVariableReference(VariableReferenceExpression expression, ProjectionPushdownDetectionVisitor.ReferenceMap argument) - Overrides:
visitVariableReference
in classAbstractNodeVisitor<ProjectionPushdownDetectionVisitor.ReferenceMap>
-
visitObjectLookupExpression
public ProjectionPushdownDetectionVisitor.ReferenceMap visitObjectLookupExpression(ObjectLookupExpression expression, ProjectionPushdownDetectionVisitor.ReferenceMap argument) -
visitObjectConstructor
public ProjectionPushdownDetectionVisitor.ReferenceMap visitObjectConstructor(ObjectConstructorExpression expression, ProjectionPushdownDetectionVisitor.ReferenceMap argument) - Overrides:
visitObjectConstructor
in classAbstractNodeVisitor<ProjectionPushdownDetectionVisitor.ReferenceMap>
-
visitFilterExpression
public ProjectionPushdownDetectionVisitor.ReferenceMap visitFilterExpression(FilterExpression expression, ProjectionPushdownDetectionVisitor.ReferenceMap argument) - Overrides:
visitFilterExpression
in classAbstractNodeVisitor<ProjectionPushdownDetectionVisitor.ReferenceMap>
-
visitFunctionCall
public ProjectionPushdownDetectionVisitor.ReferenceMap visitFunctionCall(FunctionCallExpression expression, ProjectionPushdownDetectionVisitor.ReferenceMap argument) - Overrides:
visitFunctionCall
in classAbstractNodeVisitor<ProjectionPushdownDetectionVisitor.ReferenceMap>
-