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: []


 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +  
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +