mikebridge commented on code in PR #45912:
URL: https://github.com/apache/superset/pull/45912#discussion_r4448728146
##########
superset-core/src/superset_core/semantic_layers/testing.py:
##########
@@ -272,6 +290,56 @@ def test_imports_and_static_schema(
assert completed.returncode == 0, completed.stdout + completed.stderr
+def _assert_null_placement_witness(
+ query: SemanticQuery, view: SemanticView, expected: pa.Table
+) -> None:
+ """Require NULL values of the first order key where its placement puts
them.
+
+ The host's default chronological order asks for NULL values last; a
+ provider must honor a placement on any order key, before offset and limit.
+ The page must keep different rows from the ones the opposite placement
would.
+ """
+ assert query.order, "null_placement fixture requires an order"
+ first: tuple[object, ...] = query.order[0]
Review Comment:
Added a required secondary-order witness in 762801b8a8. January rows tie on
month; with category NULLS LAST, offset 1 / limit 1 keeps the NULL category
(total 3). Dropping only the second key’s placement instead keeps A (total 2).
The check partitions by the preceding keys, and rejects fixtures whose page
cannot distinguish the two placements. There is also a descending/NULLS FIRST
mutation check.
- Before: keeping placement only on the first key passed all 65 existing
conformance tests.
- After: the same mutation fails the new required case while those 65 tests
still pass.
- Verification: 1,985 PR tests passed, with 4 capability skips; changed-file
hooks and the pre-push coverage gate passed.
--
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]