DPL Analysis: Replace type name hash with a different string hash in preparation for string-based expressions #14398
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The binding nodes used in expressions refer to the original columns using the hash of the type name of the column. With string-based expressions this would be impossible to replicate, as only the runtime string is available. This is solved by replacing the type name hash with the hash of the string formed from the column's namespace prefix and the column's getter, e.g.
aod::track::ptalso coinciding with the variable name of the binding node. This way the binding node can be reconstructed from the string expression using this exact string and would be immediately usable in filter expressions which are matched to the corresponding tables by the used binding nodes' hashes.