rusackas opened a new pull request, #42929: URL: https://github.com/apache/superset/pull/42929
### SUMMARY Improves validation in the dataset-update and report/alert command paths and in stored/rendered SQL expression handling. - Repointing a physical dataset at a different table (or converting virtual→physical) now runs the same data-access check the create path enforces; editorship alone is not treated as data access. - `fetch_values_predicate` is routed through the same parser-based validator as stored column and metric expressions, at save time and again when it is embedded at query time. - Alert queries are validated when saved and when run: single-statement only, read-only unless the database allows DML, and authorized for the saving/executing user; templated SQL defers the static checks to execution time. - Rendered Jinja column/metric expressions are re-validated before being embedded, since save-time validation only sees the pre-render skeleton. - When row-level-security predicates apply to a virtual dataset but cannot be injected, the query is aborted instead of running unfiltered, and an unresolved RLS state scopes the cache key to the current user. ### BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF Not applicable (backend behavior). ### TESTING INSTRUCTIONS `pytest tests/unit_tests/commands/dataset/ tests/unit_tests/commands/report/ tests/unit_tests/connectors/sqla/models_test.py tests/unit_tests/models/test_virtual_dataset_format.py` ### ADDITIONAL INFORMATION - [ ] Has associated issue: - [ ] Changes UI - [ ] Includes DB Migration - [ ] Introduces new feature or API -- 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]
