PushdownSpec: Predicates - should not be pushed down + Given a table partitioned by partitionKey + When we execute a query that concatenates strings based on partitionKey + Then The query plan: == Physical Plan == *(1) Filter (concat(2025-01-0, cast(partitionKey#1075L as string)) = 2025-01-02) +- *(1) ColumnarToRow +- BatchScan polaris.my_namespace.PushdownSpec[id#1073, label#1074, partitionKey#1075L, date#1076, timestamp#1077] polaris.my_namespace.PushdownSpec (branch=null) [filters=, groupedBy=] RuntimeFilters: [] shows nothing has been pushed down + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - should be pushed down + Given the same table containing data that looks like: Datum(0,label_0,0,2025-05-13,2025-05-13 16:37:59.688) Datum(1,label_1,1,2025-05-12,2025-05-13 16:37:59.888) Datum(2,label_2,2,2025-05-11,2025-05-13 16:38:00.088) ... + When we execute a query that simply checks the equality of partitionKey + Then the query plan: == Physical Plan == *(1) Filter (isnotnull(partitionKey#1112L) AND (partitionKey#1112L = 1)) +- *(1) ColumnarToRow +- BatchScan polaris.my_namespace.PushdownSpec[id#1110, label#1111, partitionKey#1112L, date#1113, timestamp#1114] polaris.my_namespace.PushdownSpec (branch=null) [filters=partitionKey IS NOT NULL, partitionKey = 1, groupedBy=] RuntimeFilters: [] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +