mikebridge commented on PR #41856:
URL: https://github.com/apache/superset/pull/41856#issuecomment-4906102801

   Round-2 review (four-lens panel via Claude; one lens ran **15 real mutants 
against the suite — 6 survived**; every claim below verified empirically) — all 
findings resolved in `2fc8aae86d`, and the PR is retitled `fix(...)` since it 
carries production data-correctness changes:
   
   **The 3VL NULL fix is now complete** (round 1 fixed only the negative half):
   - **Positive `LIKE` excluded NULLs** — `astype(str)` stringifies NULLs into 
`"nan"`/`"None"`/`"NaT"` sentinels that spuriously matched patterns like `'n%'` 
(reproduced independently by two lenses). Same `notna()` guard as `NOT_LIKE`.
   - **Positive `IN` excludes NULLs** — pandas `isin(None)` matches `None` in 
object columns; SQL `IN`-lists never match NULL rows.
   - **`_implies` None-guards** — a NULL-matching query (`EQUALS None`, or an 
`IN` set containing `None`) was wrongly contained by cached negative 
predicates, so a NULL-lookup could be served an **empty** cached result. The 
`IS_NOT_NULL` branch already guarded this; the negative branches now match.
   
   **Every surviving mutant now dies** — re-validated one at a time: the 
upper-bound looser-containment mutants (which would serve silently truncated 
results), the shadowed `(LTE 5, LTE 5)` theater row, the unpinned `NOT_LIKE` 
guard, the regex end-anchor, and the boolean token set (now fully enumerated). 
The mask matrix gained a NULL-bearing row so all three LIKE-family guards are 
behaviorally observable, and the LIKE no-escape divergence is now **pinned by a 
backslash row** rather than only narrated.
   
   **Merge-coordination note for this stack** (verified by merge replay): this 
PR and #41824 both append to `cache_test.py` — a **naive union-merge corrupts 
the file** (byte-identical fake-cache bodies act as common context and git 
splices classes together; reproduced `IndentationError`). The correct 
resolution keeps both appended suites wholesale and hand-merges the import 
block — validated: the union suite runs green. Recommended order: **#41824 → 
this PR (rebased, gate re-run over the union) → #41825/#41826 in any order.** 
I'll handle the rebase when #41824 lands.
   
   Gate: **100.00%, 515 tests.**


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to