@@ -74,13 +74,16 @@ physical_plan
747403)└─────────────┬─────────────┘
757504)┌─────────────┴─────────────┐
767605)│ FilterExec │
77- 06)└─────────────┬─────────────┘
78- 07)┌─────────────┴─────────────┐
79- 08)│ RepartitionExec │
77+ 06)│ -------------------- │
78+ 07)│ predicate: │
79+ 08)│ string_col@1 != foo │
808009)└─────────────┬─────────────┘
818110)┌─────────────┴─────────────┐
82- 11)│ DataSourceExec │
83- 12)└───────────────────────────┘
82+ 11)│ RepartitionExec │
83+ 12)└─────────────┬─────────────┘
84+ 13)┌─────────────┴─────────────┐
85+ 14)│ DataSourceExec │
86+ 15)└───────────────────────────┘
8487
8588# Aggregate
8689query TT
@@ -185,6 +188,32 @@ physical_plan
18518826)│ DataSourceExec ││ DataSourceExec │
18618927)└───────────────────────────┘└───────────────────────────┘
187190
191+ # Long Filter (demonstrate what happens with wrapping)
192+ query TT
193+ explain SELECT int_col FROM table1
194+ WHERE string_col != 'foo' AND string_col != 'bar' AND string_col != 'a really long string constant'
195+ ;
196+ ----
197+ logical_plan
198+ 01)Projection: table1.int_col
199+ 02)--Filter: table1.string_col != Utf8("foo") AND table1.string_col != Utf8("bar") AND table1.string_col != Utf8("a really long string constant")
200+ 03)----TableScan: table1 projection=[int_col, string_col], partial_filters=[table1.string_col != Utf8("foo"), table1.string_col != Utf8("bar"), table1.string_col != Utf8("a really long string constant")]
201+ physical_plan
202+ 01)┌───────────────────────────┐
203+ 02)│ CoalesceBatchesExec │
204+ 03)└─────────────┬─────────────┘
205+ 04)┌─────────────┴─────────────┐
206+ 05)│ FilterExec │
207+ 06)│ -------------------- │
208+ 07)│ predicate: │
209+ 08)│string_col@1 != foo AND ...│
210+ 09)└─────────────┬─────────────┘
211+ 10)┌─────────────┴─────────────┐
212+ 11)│ RepartitionExec │
213+ 12)└─────────────┬─────────────┘
214+ 13)┌─────────────┴─────────────┐
215+ 14)│ DataSourceExec │
216+ 15)└───────────────────────────┘
188217
189218
190219# cleanup
0 commit comments