mikebridge opened a new pull request, #45893: URL: https://github.com/apache/superset/pull/45893
### SUMMARY **TL;DR:** Validate provider-declared default time dimensions in the reusable SDK conformance suite, and document how existing chart defaults use them. **Background:** A semantic view can already declare its preferred exposed time dimension. The host validates that name and supplies it to Explore and query construction. **Problem:** The conformance suite did not reject invalid or unstable declarations, and the existing documentation could imply that all saved-chart results remain unchanged when a provider adds a default. **What this changes:** Check optional declarations against exposed temporal names and equivalent catalog reloads. Add metadata, frontend initialization, and explicit/implicit query-binding tests. Clarify the compatibility guarantee: explicit saved bindings remain authoritative, but omitted bindings may adopt a provider's new default and change results without saving the chart. An explicit temporal filter does not prevent omitted granularity from receiving default-date bounds for an independently supplied time range. The check reuses existing provider fixtures and accepts Arrow date, timestamp and time types, including grain variants sharing a name. Providers that declare None remain conforming. This PR changes no host production behavior, provider selection policy, stored chart, migration, or feature-flag default. ### BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF Not applicable: SDK test utility, characterization tests and documentation only. Live provider/browser acceptance is separate. ### TESTING INSTRUCTIONS - Run `PYTHONPATH=superset-core/src python -m pytest -q -o addopts='' superset-core/tests/semantic_layers/test_conformance.py` (78 passed, four existing optional-capability skips). - Run `python -m pytest -q tests/unit_tests/semantic_layers/models_test.py -k 'preference or preferred_temporal'` (10 passed). - Run `python -m pytest -q tests/unit_tests/common/test_query_context_factory.py` (91 passed). - From `superset-frontend`, run `npm run test -- --runInBand packages/superset-ui-chart-controls/test/utils/getTemporalColumns.test.ts` (10 passed). - Existing datasource/Explore and semantic metadata access/flag regressions pass; changed-file pre-commit hooks pass, including Python/frontend typing. - The new conformance cases fail against the original SDK utility (11 failures) and pass with the assertions added. No real-provider or browser result parity is claimed. ### ADDITIONAL INFORMATION - [ ] Has associated issue: - [x] Required feature flags: existing `SEMANTIC_LAYERS` for host semantic behavior; no default change - [ ] Changes UI - [ ] Includes DB Migration - [ ] Introduces new feature or API - [ ] Removes existing feature or API Proposed title: `test(semantic-layer): validate provider time defaults` -- 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]
