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

[feature](Nereids): Add DAG to store function dependencies #33882

Merged
merged 1 commit into from
Apr 24, 2024

Conversation

keanji-x
Copy link
Contributor

@keanji-x keanji-x commented Apr 19, 2024

Proposed changes

This PR introduces a Directed Acyclic Graph (DAG) to store and manage function dependencies within the project. The key changes include:

Define a FuncDepsDAG class to represent each node in the graph, storing the function name and its dependencies.
Create a DAG class to manage the overall graph, with methods to add nodes, add edges (dependencies), and perform graph traversals.n dependencies for each plan:

Implement a method to traverse the DAG and compute the dependencies for each function in a given plan.
Ensure that the computed dependencies are properly stored and associated with the corresponding functions.
Add unit tests:

Create test cases to verify the correctness of the DAG implementation.
Test scenarios for adding nodes, adding edges, and computing function dependencies.
Ensure proper handling of cyclic dependencies and other edge cases.

Further comments

If this is a relatively large or complex change, kick off the discussion at [email protected] by explaining why you chose the solution you did and what alternatives you considered, etc...

@doris-robot
Copy link

Thank you for your contribution to Apache Doris.
Don't know what should be done next? See How to process your PR

Since 2024-03-18, the Document has been moved to doris-website.
See Doris Document.

@keanji-x keanji-x changed the title [feature](Nereids): add dag for func deps [feature](Nereids): Add DAG to store function dependencies Apr 19, 2024
@keanji-x
Copy link
Contributor Author

run buildall

@keanji-x
Copy link
Contributor Author

run buildall

@github-actions github-actions bot added the approved Indicates a PR has been approved by one committer. label Apr 23, 2024
Copy link
Contributor

PR approved by at least one committer and no changes requested.

Copy link
Contributor

PR approved by anyone and no changes requested.

@jackwener jackwener merged commit bf2cb5c into apache:master Apr 24, 2024
25 of 28 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by one committer. not-merge/2.1 reviewed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants