kokhlo opened a new pull request, #44344:
URL: https://github.com/apache/superset/pull/44344

   ### Summary
   
   Fixes #44343
   
   The "Y/X-Axis Sort By" control is gated by `isSortable()` 
(`superset-frontend/packages/superset-ui-chart-controls/src/utils/isSortable.ts`,
 introduced in #30393). A **physical** column whose `type_generic` could not be 
resolved (rendered with the `?` icon — commonly seen on virtual datasets where 
the backend type map misses, e.g. MySQL) fails all three branches:
   
   - not numeric, so no "Force categorical" checkbox is even rendered 
(`xAxisForceCategoricalControl` is numeric-only);
   - not custom SQL;
   - not String/Boolean.
   
   So the sort control silently disappears after upgrading from 3.x (where the 
#21993 gate was type-agnostic) — exactly the regression reported in #44343.
   
   The fix mirrors the rationale already written in the same function for 
custom SQL: when the column type is unknown, sorting categories by a metric is 
still valid, so we treat the column as sortable and leave the responsibility to 
the user.
   
   ### Testing
   
   - RED→GREEN on `test/utils/isSortable.test.ts`: reverting `isSortable` to 
the pre-fix form fails the new `should return true for a column whose type is 
unknown` case; with the fix it passes.
   - Full package suite: `npx jest packages/superset-ui-chart-controls` → **44 
suites / 380 tests passed**.
   - `npx oxlint --config oxlint.json` on both touched files: clean.
   
   ### Additional context
   
   The underlying "why is this MySQL column `?`" is a separate backend 
type-detection question (out of scope here); this PR only restores the pre-4.x 
UX where unknown-typed columns kept the sort control.
   


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