hughhhh opened a new pull request, #45558: URL: https://github.com/apache/superset/pull/45558
### SUMMARY Two defects that together made a dataset save silently revert column flags: 1. `SqlaTable.fetch_metadata` set `groupby` (**Is dimension**) and `filterable` (**Is filterable**) to `True` on every column the source reported, existing ones included. A column sync — the editor's "Sync columns from source" button, `PUT /api/v1/dataset/<id>?override_columns=true` (which syncs *after* the update has committed), or the MCP `update_dataset` tool — therefore reverted whatever the owner had chosen. The defaults now apply only to newly discovered columns. 2. The save dialog compared the dataset's SQL raw: the API reports a physical dataset's SQL as `null`, the editor emits `''`. So the first edit of any physical dataset looked like a SQL change, and the dialog offered — pre-ticked — to resync columns from a query that doesn't exist. Both spellings now mean "no SQL". Split out of #43870 at a reviewer's request; it is independent of partition filter mapping. UPDATING.md notes the behaviour change. ### BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF Before: editing a physical dataset's description shows a pre-ticked "sync columns" checkbox in the confirm dialog, and saving turns Is dimension / Is filterable back on for every column. After: no checkbox for physical datasets; synced existing columns keep their flags. ### TESTING INSTRUCTIONS - `pytest tests/unit_tests/connectors/sqla/models_test.py -k keeps_groupby` — fails without the fix. - `npx jest src/components/Datasource/DatasourceModal` — "does not offer a column sync for a physical dataset" fails without the fix. - Manual: untick Is filterable on a column of a physical dataset, save, then click "Sync columns from source" and save; the column stays unfilterable. ### ADDITIONAL INFORMATION - [ ] Has associated issue: - [ ] Required feature flags: - [x] Changes UI - [ ] Includes DB Migration - [ ] Introduces new feature or API - [ ] Removes existing feature or API 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- 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]
