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

   Correction to 
https://github.com/apache/superset/pull/45612#issuecomment-6373317927: "Nested 
drills keep every outer bucket's clip" and the independent-date claims were 
wrong in two setups, and two of the tests listed there asserted the wrong rows.
   
   - Chart with a query-wide range (saved, dashboard or legacy), a `ship_date` 
filter and no date filter on the `order_date` x-axis: the chart applies the 
range only to `ship_date`, but the drill trimmed the clicked bucket to it (Dec 
2003 bar 3 rows, drill 0). `nested temporal drills retain every outer bucket 
clip with independent date filters` asserted that trim, and `Sunburst Drill by 
intersects its bucket with the dashboard time range` trimmed a bucket on a 
chart with no date filter at all.
   - Chart with a time column (saved `granularity_sqla`, dashboard Time Column 
or legacy `__time_col`), an `order_date` filter, a `ship_date` filter and a 
range: the backend drops every x-axis filter, the bucket included, and filters 
the time column by the first one, which held the whole range (Jan 2004 bar 2 
rows, drill 4). Legacy charts without an x-axis failed the same way.
   
   Fixed in a6eaa9133e7479d9eb9e5e723a45b5a56aab72ac: the drill follows the 
backend's per-column rules. A query-wide range limits a column only through its 
TEMPORAL_RANGE filter, and with a time column every x-axis filter carries the 
clipped bucket. Details and the full sibling list are in 
https://github.com/apache/superset/pull/45612#discussion_r4364245125. (live: gh 
pr view 45612 -R apache/superset @ 2026-10-23)
   
   Regression tests: `getDrillByOuterTimeRange ignores a query-wide range on a 
column without a date filter` and `with a time column every x-axis filter 
carries the intersected buckets` in 
superset-frontend/src/components/Chart/DrillBy/drillByTimeRange.test.ts, and `a 
time column without an x-axis filters the drill by the bucket, not an 
independent date filter` in 
superset-frontend/src/components/Chart/DrillBy/DrillByModal.test.tsx. The 
nested test is now `nested temporal drills keep an unfiltered x-axis bucket 
whole beside independent date filters: %s` on an x-axis chart, the CSV/Explore 
test uses an x-axis chart and a range that cuts the bucket, and the Sunburst 
test adds the date filter that makes the range apply, plus `Sunburst Drill by 
keeps the whole bucket when the dashboard range does not limit order_date`. 
With drillByTimeRange.ts from df626c43a4e33b496ec911c53399d2faca7dd9a2, 17 
DrillBy Jest tests fail; 108 pass at a6eaa9133e7479d9eb9e5e723a45b5a56aab72ac.
   
   Matrix (real Drill by modal and Timeseries buildQuery, then the real 
QueryContextFactory processing and SQL on SQLite): 28 time-range setups × 4 
month buckets, each with a nested drill in three variants, 336 drills, bucket 
count vs drill count.
   
   | head | drill mismatches (of 112) | nested mismatches (same / ship_date / 
narrower) |
   |---|---|---|
   | df626c43a4e33b496ec911c53399d2faca7dd9a2 | 41 | 0 / 3 / 49 |
   | a6eaa9133e7479d9eb9e5e723a45b5a56aab72ac | 0 | 0 / 0 / 0 |
   
   The 13 setups from the last verification account for 11 of the 41; the other 
15 setups are new. At a6eaa9133e7479d9eb9e5e723a45b5a56aab72ac the matrix also 
shows 0 with TZ=America/New_York. The reviewer's case, `No filter`, ranges with 
an x-axis date filter, both nested kinds, the markerless line/area and Mixed 
Timeseries drills, epoch labels and the stale-response guards from 
https://github.com/apache/superset/pull/45612#discussion_r4349451049 stay in 
the passing suites.
   
   Validation: Jest (host, not Docker) on DrillBy, DrillDetail, FilterControl 
and the touched ECharts suites, 24 suites, 357 passed, also with 
TZ=America/New_York; Docker pytest 233 passed (test_drill_by_time_column.py, 
utils/test_core.py, test_query_context_factory.py); pre-commit on the changed 
files passed, including mypy and frontend types.
   
   Siblings checked:
   - superset-frontend/src/components/Chart/DrillBy/drillByTimeRange.ts — fixed 
in a6eaa9133e7479d9eb9e5e723a45b5a56aab72ac
   - superset-frontend/src/components/Chart/DrillBy/useResultsTableView.tsx — 
not affected: CSV and XLSX export the drilled form data, asserted by the 
CSV/Explore test
   - superset-frontend/src/explore/exploreUtils/formData.ts — not affected: 
Edit chart posts the same form data, asserted by the same test
   - superset-frontend/src/components/Chart/DrillDetail/utils.ts — not 
affected: Drill to detail sends equality filters with a grain and never calls 
these helpers
   
   Remaining: charts with a custom SQL x-axis, where the backend infers the 
dataset's main datetime column as the time column, are not modelled or in the 
matrix. Live UI and SQL acceptance on a running Superset was not run.
   


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