Rewrite unaryNot EXPR (#803)
* Add RewriteUnaryNotExprVisitor * fix logical expression * add TODO tck case * Add UTs for RewriteUnaryNotExprVisitor and fix nested situation * Fix format * Add implementation for RewriteUnaryNotExprVisitor * Fix memory leak * Clean up * Add implementation for container visitor * Add UTs for container expr * Add UnaryNot visitor rules to reduce relational expr and add UTs * Replace unique ptr with ptr * Refactor RewriteUnaryNotExprVisitor implementation Address comments and clean up Fix memory leak * Add implementation to reduce the combination of logical expr and unary expr. * Address comments and move helper functions to ExpressionUtils Modify whereClauseCtx and fix tests Address Yee's comments * Modify function signature * Move expr helper functions to common * Revert test
Showing
- src/context/ast/QueryAstContext.h 1 addition, 1 deletionsrc/context/ast/QueryAstContext.h
- src/planner/match/PropIndexSeek.cpp 1 addition, 1 deletionsrc/planner/match/PropIndexSeek.cpp
- src/planner/match/WhereClausePlanner.cpp 1 addition, 1 deletionsrc/planner/match/WhereClausePlanner.cpp
- src/util/ExpressionUtils.cpp 94 additions, 8 deletionssrc/util/ExpressionUtils.cpp
- src/util/ExpressionUtils.h 26 additions, 3 deletionssrc/util/ExpressionUtils.h
- src/validator/MatchValidator.cpp 8 additions, 3 deletionssrc/validator/MatchValidator.cpp
- src/visitor/CMakeLists.txt 1 addition, 0 deletionssrc/visitor/CMakeLists.txt
- src/visitor/RewriteUnaryNotExprVisitor.cpp 247 additions, 0 deletionssrc/visitor/RewriteUnaryNotExprVisitor.cpp
- src/visitor/RewriteUnaryNotExprVisitor.h 93 additions, 0 deletionssrc/visitor/RewriteUnaryNotExprVisitor.h
- src/visitor/test/CMakeLists.txt 1 addition, 0 deletionssrc/visitor/test/CMakeLists.txt
- src/visitor/test/FoldConstantExprVisitorTest.cpp 2 additions, 91 deletionssrc/visitor/test/FoldConstantExprVisitorTest.cpp
- src/visitor/test/RewriteUnaryNotExprVisitorTest.cpp 266 additions, 0 deletionssrc/visitor/test/RewriteUnaryNotExprVisitorTest.cpp
- src/visitor/test/VisitorTestBase.h 163 additions, 0 deletionssrc/visitor/test/VisitorTestBase.h
- tests/tck/features/expression/UnaryExpr.feature 30 additions, 0 deletionstests/tck/features/expression/UnaryExpr.feature
Please register or sign in to comment