fix(translator): % Split over a trait folds to FALSE without an identity context#18
Merged
Merged
Conversation
…ity context The trait branch of PERCENTAGE_SPLIT checked the eval context's identity.traits and returned FALSE when the property was absent, instead of hashing the per-row traits subcolumn. In an identity-less context (segment membership counts/list) that dict is empty, so every trait-keyed split compiled to FALSE. Hash the per-row value guarded by IS NOT NULL, mirroring the engine's context_value-is-None -> False, per row. beep boop Claude-Session: https://claude.ai/code/session_01EgZ5iHpDASZzCapiHRxHLB
|
Minimum allowed coverage is Generated by 🐒 cobertura-action against be79c72 |
There was a problem hiding this comment.
Code Review
This pull request updates the SQL translation logic for PERCENTAGE_SPLIT conditions on traits. Instead of statically short-circuiting to FALSE when a trait is missing from the evaluation context, the translator now generates SQL that dynamically checks if the trait is not null per row before applying the percentage split expression. The unit tests have been updated to reflect this change, and the package version in uv.lock has been bumped to 0.1.2. I have no feedback to provide.
emyller
approved these changes
Jul 1, 2026
emyller
left a comment
There was a problem hiding this comment.
Approved with a non-blocking suggestion
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Contributes to Flagsmith/flagsmith#7934.
#16 fixed
PERCENTAGE_SPLITon the identity key/identifier folding toFALSEin an identity-less context; the trait branch had the same guard and was missed.Testing
PERCENTAGE_SPLITwith no identity in context hashes the per-row subcolumn (guarded byIS NOT NULL) instead of folding toFALSE.FALSEbehaviour.