mikebridge commented on PR #43629:
URL: https://github.com/apache/superset/pull/43629#issuecomment-5483985801

   Thanks for the depth here, @aminghadersohi — especially tracing the two 
permission legs and re-running the test-discrimination check. Both findings 
addressed in b3579ecc8e:
   
   1. **`exactMatch` silently ignored on the combined endpoint** — took the 
cheap fix you suggested, made explicit: `exactMatch` now requires 
`datasetsOnly`, enforced at the type level (discriminated options union) and 
with a runtime guard for plain-JS callers, so the first caller to hit the 
combined endpoint with `eq` gets a refusal rather than an arbitrary unfiltered 
page. Unit tests cover the endpoint routing, the `eq` filter on the dataset 
leg, and the refusal. Teaching `_parse_filters` to honour `eq` end-to-end (both 
query builders take substring-only name filters today) stays a backend 
follow-up if a real caller ever needs exact match on the union.
   2. **`.catch` guard vs. the results guard** — you're right that the comment 
claimed a symmetry the code didn't have. The guard now mirrors the results path 
exactly (`search && inputValueRef.current !== search`), so base fetches surface 
their failures even mid-search — which also restores the consumer `onError` 
call for those — and the comment now states the base-fetch exemption and why. 
Regression test (`still surfaces a base-fetch failure that lands mid-search`) 
fails against the stricter guard.
   
   The per-keystroke payload cost of the combined endpoint is tracked as a 
follow-up (a `columns` projection on `/api/v1/datasource/`), noted in the PR 
description as well.
   
   _Comment generated by Claude (AI) on behalf of @mikebridge._


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