Skip to content

Dataflow: Refactor public references to DataFlowCallable#7000

Merged
aschackmull merged 4 commits intogithub:mainfrom
aschackmull:dataflow/interface-refactor
Oct 29, 2021
Merged

Dataflow: Refactor public references to DataFlowCallable#7000
aschackmull merged 4 commits intogithub:mainfrom
aschackmull:dataflow/interface-refactor

Conversation

@aschackmull
Copy link
Copy Markdown
Contributor

Having the type DataFlowCallable be publicly exposed through Node::getEnclosingCallable and ParameterNode::isParameterOf, which simultaneously serve as interface points between the language-specific parts and the shared library, is unfortunate as it leaks implementation details to users of the data flow library.

This refactor splits those predicates, such that a separate pair of private aliases serve as the interface points instead. This allows us to subsequently change the DataFlowCallable type with internal implementation details without changing the publicly exposed predicates.

Copy link
Copy Markdown
Contributor

@MathiasVP MathiasVP left a comment

Choose a reason for hiding this comment

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

C++ 👍 Do we need to run any performance tests on this? Or do we know that this won't affect any join orders?

@aschackmull
Copy link
Copy Markdown
Contributor Author

Do we need to run any performance tests on this? Or do we know that this won't affect any join orders?

I don't think that's necessary. The refactor is essentially just renaming, and it's even hidden under a layer of caching.

@aschackmull aschackmull merged commit 3a1836c into github:main Oct 29, 2021
@aschackmull aschackmull deleted the dataflow/interface-refactor branch October 29, 2021 10:21
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.

2 participants