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:
visitForClausein classAbstractNodeVisitor<ProjectionPushdownDetectionVisitor.ReferenceMap>
-
defaultAction
protected ProjectionPushdownDetectionVisitor.ReferenceMap defaultAction(Node node, ProjectionPushdownDetectionVisitor.ReferenceMap argument) - Overrides:
defaultActionin classAbstractNodeVisitor<ProjectionPushdownDetectionVisitor.ReferenceMap>
-
visitLetClause
public ProjectionPushdownDetectionVisitor.ReferenceMap visitLetClause(LetClause clause, ProjectionPushdownDetectionVisitor.ReferenceMap argument) - Overrides:
visitLetClausein classAbstractNodeVisitor<ProjectionPushdownDetectionVisitor.ReferenceMap>
-
visitGroupByClause
public ProjectionPushdownDetectionVisitor.ReferenceMap visitGroupByClause(GroupByClause clause, ProjectionPushdownDetectionVisitor.ReferenceMap argument) - Overrides:
visitGroupByClausein classAbstractNodeVisitor<ProjectionPushdownDetectionVisitor.ReferenceMap>
-
visitWhereClause
public ProjectionPushdownDetectionVisitor.ReferenceMap visitWhereClause(WhereClause expression, ProjectionPushdownDetectionVisitor.ReferenceMap argument) - Overrides:
visitWhereClausein classAbstractNodeVisitor<ProjectionPushdownDetectionVisitor.ReferenceMap>
-
visitCountClause
public ProjectionPushdownDetectionVisitor.ReferenceMap visitCountClause(CountClause expression, ProjectionPushdownDetectionVisitor.ReferenceMap argument) - Overrides:
visitCountClausein classAbstractNodeVisitor<ProjectionPushdownDetectionVisitor.ReferenceMap>
-
visitOrderByClause
public ProjectionPushdownDetectionVisitor.ReferenceMap visitOrderByClause(OrderByClause clause, ProjectionPushdownDetectionVisitor.ReferenceMap argument) - Overrides:
visitOrderByClausein classAbstractNodeVisitor<ProjectionPushdownDetectionVisitor.ReferenceMap>
-
visitReturnClause
public ProjectionPushdownDetectionVisitor.ReferenceMap visitReturnClause(ReturnClause expression, ProjectionPushdownDetectionVisitor.ReferenceMap argument) - Overrides:
visitReturnClausein classAbstractNodeVisitor<ProjectionPushdownDetectionVisitor.ReferenceMap>
-
visitFlowrExpression
public ProjectionPushdownDetectionVisitor.ReferenceMap visitFlowrExpression(FlworExpression expression, ProjectionPushdownDetectionVisitor.ReferenceMap argument) - Overrides:
visitFlowrExpressionin classAbstractNodeVisitor<ProjectionPushdownDetectionVisitor.ReferenceMap>
-
visitMainModule
public ProjectionPushdownDetectionVisitor.ReferenceMap visitMainModule(MainModule expression, ProjectionPushdownDetectionVisitor.ReferenceMap argument) - Overrides:
visitMainModulein classAbstractNodeVisitor<ProjectionPushdownDetectionVisitor.ReferenceMap>
-
visitProlog
public ProjectionPushdownDetectionVisitor.ReferenceMap visitProlog(Prolog prolog, ProjectionPushdownDetectionVisitor.ReferenceMap argument) - Overrides:
visitPrologin classAbstractNodeVisitor<ProjectionPushdownDetectionVisitor.ReferenceMap>
-
visitVariableReference
public ProjectionPushdownDetectionVisitor.ReferenceMap visitVariableReference(VariableReferenceExpression expression, ProjectionPushdownDetectionVisitor.ReferenceMap argument) - Overrides:
visitVariableReferencein classAbstractNodeVisitor<ProjectionPushdownDetectionVisitor.ReferenceMap>
-
visitObjectLookupExpression
public ProjectionPushdownDetectionVisitor.ReferenceMap visitObjectLookupExpression(ObjectLookupExpression expression, ProjectionPushdownDetectionVisitor.ReferenceMap argument) -
visitObjectConstructor
public ProjectionPushdownDetectionVisitor.ReferenceMap visitObjectConstructor(ObjectConstructorExpression expression, ProjectionPushdownDetectionVisitor.ReferenceMap argument) - Overrides:
visitObjectConstructorin classAbstractNodeVisitor<ProjectionPushdownDetectionVisitor.ReferenceMap>
-
visitFilterExpression
public ProjectionPushdownDetectionVisitor.ReferenceMap visitFilterExpression(FilterExpression expression, ProjectionPushdownDetectionVisitor.ReferenceMap argument) - Overrides:
visitFilterExpressionin classAbstractNodeVisitor<ProjectionPushdownDetectionVisitor.ReferenceMap>
-
visitFunctionCall
public ProjectionPushdownDetectionVisitor.ReferenceMap visitFunctionCall(FunctionCallExpression expression, ProjectionPushdownDetectionVisitor.ReferenceMap argument) - Overrides:
visitFunctionCallin classAbstractNodeVisitor<ProjectionPushdownDetectionVisitor.ReferenceMap>
-