Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Split optimizer rules #5470

Merged
merged 1 commit into from
Apr 7, 2023

Conversation

czpmango
Copy link
Contributor

@czpmango czpmango commented Apr 3, 2023

What type of PR is this?

  • bug
  • feature
  • enhancement

What problem(s) does this PR solve?

Split the optimizer rule PushFilterDownTraverseRule to PushFilterThroughAppendVerticesRule and PushFilterDownTraverseRule.

This pr is for refactoring purposes but also introduces some optimizations, such as non-endpoint predicates that can be pushed down before AppendVertices.

The purpose of refactoring is that the previous implementation was too ad-hoc for further optimization, and there were some conflicts between rules, so we should try to avoid similar code implementation from a more common perspective, especially for the development of optimizer.

Checklist:

Tests:

  • Unit test(positive and negative cases)
  • Function test
  • Performance test
  • N/A

Affects:

  • Documentation affected (Please add the label if documentation needs to be modified.)
  • Incompatibility (If it breaks the compatibility, please describe it and add the label.)
  • If it's needed to cherry-pick (If cherry-pick to some branches is required, please label the destination version(s).)
  • Performance impacted: Consumes more CPU/Memory

@czpmango czpmango requested a review from jievince April 3, 2023 10:46
@czpmango czpmango added the ready-for-testing PR: ready for the CI test label Apr 3, 2023
@Sophie-Xie Sophie-Xie requested a review from yixinglu April 3, 2023 11:48
yixinglu
yixinglu previously approved these changes Apr 3, 2023
jievince
jievince previously approved these changes Apr 4, 2023
@Sophie-Xie Sophie-Xie added the do not review PR: not ready for the code review yet label Apr 4, 2023
@czpmango czpmango dismissed stale reviews from jievince and yixinglu via a71a0b0 April 6, 2023 02:25
@czpmango czpmango force-pushed the enhancement/split-opt-rules branch 6 times, most recently from c8db054 to 08de6f2 Compare April 6, 2023 08:31
Fix compile

small rename

Fix tck

Fix tck

fmt

Fix tck

Fix tck
@czpmango czpmango force-pushed the enhancement/split-opt-rules branch from 08de6f2 to 847cf27 Compare April 6, 2023 09:42
@czpmango czpmango added ready for review and removed do not review PR: not ready for the code review yet labels Apr 6, 2023
Copy link
Contributor

@jievince jievince left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@@ -6,6 +6,7 @@ Feature: Collapse Project Rule
Background:
Given a graph with space named "nba"

@czp
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cleanup

@yixinglu yixinglu merged commit 7c01128 into vesoft-inc:master Apr 7, 2023
Sophie-Xie pushed a commit that referenced this pull request Apr 13, 2023
Fix compile

small rename

Fix tck

Fix tck

fmt

Fix tck

Fix tck
dutor added a commit that referenced this pull request Apr 20, 2023
* refactor traverse output (#5464)

* refactor traverse output

* fix pruneproperties error & none_direct_dst

* fix test error

* fix shortest path

* Change the compaction filter logic to let periodic compaction go through custom compaction filter, to gc expired data (#5447)

* Push filter down cross join (#5473)

* fix comment

* push down filter through cross join

---------

Co-authored-by: Sophie <84560950+Sophie-Xie@users.noreply.github.com>

* Fix shortest path crash (#5472)

* fix crash of geo (#5475)

* fix crash of geo

* change log(fatal) to log(error)

* fix miss arg $GITHUB_OUTPUT (#5478)

* Split optimizer rules (#5470)

Fix compile

small rename

Fix tck

Fix tck

fmt

Fix tck

Fix tck

* Enhancement/optimize edge all predicate (#5481)

* fix eval contains filter on storaged (#5485)

* fix eval contains filter on storaged

* add tck case

* add tck case

* fix tck

* fix lint

* fix lint

* Fix expression util function (#5487)

fmt

Co-authored-by: Sophie <84560950+Sophie-Xie@users.noreply.github.com>

* fix ContainsFilter random fail (#5489)

* Fixed graphd startup issue (#5493)

* fix prunproperties (#5494)

* stop the pushing down of not expressions that are not rewritten to proper forms. (#5502)

* Fix edge all predicate with rank function (#5503)

Co-authored-by: Sophie <84560950+Sophie-Xie@users.noreply.github.com>

* rewrite param in subgraph & path (#5500)

* check param in subgraph

* rewrite param in path

---------

Co-authored-by: Sophie <84560950+Sophie-Xie@users.noreply.github.com>

* Fix concurrent bug about session count (#5496)

* Fix regex expression (#5507)

* Update requirements.txt (#5512)

Solidified tomli version to solve centos7 compatibility issues

* Update cluster id (#5514)

---------

Co-authored-by: jimingquan <mingquan.ji@vesoft.com>
Co-authored-by: Ryan <ydlu1987@gmail.com>
Co-authored-by: Yee <2520865+yixinglu@users.noreply.github.com>
Co-authored-by: jie.wang <38901892+jievince@users.noreply.github.com>
Co-authored-by: George <58841610+Shinji-IkariG@users.noreply.github.com>
Co-authored-by: kyle.cao <kyle.cao@vesoft.com>
Co-authored-by: codesigner <codesigner.huang@vesoft.com>
Co-authored-by: dutor <440396+dutor@users.noreply.github.com>
Co-authored-by: Cheng Xuntao <7731943+xtcyclist@users.noreply.github.com>
Co-authored-by: Yichen Wang <18348405+Aiee@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants