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

Event Lineage: Create Transform Function for Prefix Filter #7686

Open
Cali0707 opened this issue Feb 14, 2024 · 0 comments
Open

Event Lineage: Create Transform Function for Prefix Filter #7686

Cali0707 opened this issue Feb 14, 2024 · 0 comments

Comments

@Cali0707
Copy link
Member

Cali0707 commented Feb 14, 2024

Problem
Transform functions are how we track changes to eventtypes as events flow through the system. To support the prefix filter, we should implement a transform function to represent how a given eventtype becomes "narrower" as it passes the filter. Specifically, this transform function should (for each attribute set in the prefix filter):

  1. Check if the attribute is already set. If it is and does not have the expected prefix from the filter, return a nil eventtype to model no events passing this filter
  2. If the attribute is not already set, set it to the value expected by the filter, along with an empty variable for the suffix {x}.
  3. If the attribute is compatible with the value required by the filter, but the filter provides more information, update the value to include the filter value. For example, if the value is currently ab{x}, where {x} is a variable, and the prefix filter is abc, then we can update the value to be abc{x}. Similarly, if the current value is {x}de, and the prefix filter is abc, then we can update the value to be abc{x}de.
  4. If the prefix matches the value, but provides no new information, do not change anything. For example, if the value is abc, and the prefix is ab, then there is no need to make any change

Persona:
Which persona is this feature for?

Exit Criteria
A measurable (binary) test that would indicate that the problem has been resolved.

Time Estimate (optional):
How many developer-days do you think this may take to resolve?

Additional context (optional)
Add any other context about the feature request here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: 📋 Backlog
Development

No branches or pull requests

1 participant