aminghadersohi commented on PR #44349:
URL: https://github.com/apache/superset/pull/44349#issuecomment-5709083222

   Done — merged #44262 at `db03401048de06282835bab5e86bf37db2f407ff` (not 
rebased; this branch has submitted reviews, so history is preserved). New head 
is `7a4eacca93f0c7f2bd2e29fbb90e5c2687bfc5e9`.
   
   Conflicts were in `prune_audit.py` and its two test modules. I resolved all 
three to your version wholesale, then re-applied only the named-window change 
on top, so your baseline is the substrate rather than something I merged 
around. The delta on top of `db03401048` is 3 files, +55/-6.
   
   All five properties verified by reading the merged code, not by assuming the 
merge kept them:
   
   1. **MySQL<8 / unknown-version fallback** — `_repeat_path()` returns 
`"legacy"` for `server_version_info is None` and for `< (8, 0)`; 
`test_r2_unknown_mysql_version_falls_back` passes.
   2. **Normalized MariaDB dispatch** — `_mariadb_normalized_version_info` 
gated at `>= (10, 2)`, reached via `is_mariadb` under both the `mysql` and 
`mariadb` dialect names; `test_r2_mariadb_uses_normalized_version` passes on 
all 6 params including `5.5.5-10.6.12-MariaDB-0+deb11u1`.
   3. **Candidate self-filters** — the 
`status`/`entity_uuid`/`created_on`/`trigger` gates are intact on 
`_legacy_repeats_an_earlier_block`, so the two helpers still agree in isolation 
and under `NOT`; `test_r2_repeat_helpers_preserve_ineligible_candidates` passes.
   4. **Cross-type UUID / differential tests** — present and passing: 
`test_repeat_paths_isolate_entity_types_and_agree`, 
`test_repeat_dispatch_uses_metadata_server_version`, 
`test_window_repeat_predicate_executes_on_sqlite` (both helpers), and the 
integration 
`test_rewritten_repeat_predicate_matches_legacy_on_random_histories` with its 
window/legacy/fallback three-way comparison.
   5. **Unlocked entity discovery** — unchanged: discovery runs before 
`acquire_coordination_lock`, scope pairs are read post-lock only for the 
categories that consume them, and `needs_entity_scope=False` still 
short-circuits the evidence category.
   
   Your `_RecheckPredicates` protocol and the 
`_DuplicateRecheck`/`_OperationalRecheck`/`_EvidenceRecheck` adapters supersede 
the untyped `scope_kwargs` dict this branch was carrying, so I dropped ours and 
kept yours. `BATCH_SIZE = 50` / `MAX_BATCH_SIZE = 100` are as ratified.
   
   The named window is applied to the window path only, so servers routed to 
the legacy correlated form never emit the clause. Compiling the locked re-check 
for all three categories before and after the merge, the SQL is byte-identical 
on both PostgreSQL and MySQL — the merge did not change what runs under the 
lock. The MySQL locked statement still shows one `WINDOW w`, five `OVER w`, 
zero inline `OVER (PARTITION ...)`.
   
   Tests: 103 passed in 
`tests/unit_tests/commands/deletion_retention/test_prune_audit.py`, 31 in 
`tests/unit_tests/cli/deletion_retention_test.py`, 34 passed / 1 skipped in the 
integration suite (the skip is the REPEATABLE READ snapshot case, which needs 
MySQL or PG). CI is running at the new head.
   
   I left the acknowledged cross-product and whole-history-discovery 
limitations alone, as you asked.
   


-- 
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