Hi @Col1ns
Predicate hints are not filters - they are optimization hints only. The predicateHints field you're using tells the Delta Sharing server about likely filter conditions so it can optimize data transfer, but it doesn't actually filter the data.
This is why you're still receiving all the data despite specifying the predicate hint.
1. predicateHints are just hints, not enforced filters:
- These do not guarantee that the returned data will be filtered.
- They're passed along to the data provider to optimize data transmission, but it's ultimately up to the provider's server (in this case, Databricks) whether or how strictly to apply them.
- If the Delta table is not partitioned on the column you’re filtering, the hint may be ignored.
2. Filtering is applied at file level, not row level:
- Delta Sharing shares parquet files, and predicateHints only help the server select relevant files to send.
- If a file contains both relevant and irrelevant rows, the entire file is still shared. The recipient must apply filtering on their end.
3. Databricks Delta Sharing server doesn’t enforce strict predicate filtering:
- This is by design for performance and security reasons.
- Filtering is a best-effort optimization, not an access control feature.
LR