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]

Reply via email to