-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Labels
bugSomething isn't workingSomething isn't working
Description
Describe the bug
Using datafusion-proto to serialize a plan such as:
Filter: WOW_SUCH_TABLE.a > Int64(10) AND WOW_SUCH_TABLE.B < Int64(100)
TableScan: WOW_SUCH_TABLE projection=[a, B], partial_filters=[WOW_SUCH_TABLE.a > Int64(10), WOW_SUCH_TABLE.B < Int64(100)]
And then deserializing it results in a different plan:
Filter: wow_such_table.a > Int64(10) AND wow_such_table.B < Int64(100)
TableScan: WOW_SUCH_TABLE projection=[a, B], partial_filters=[wow_such_table.a > Int64(10), wow_such_table.B < Int64(100)]
Note that the TableReference in the TableScan is intact, but the expression's Column is now normalized (downcased). This has nothing to do with enable_ident_normalization, because we're well past the SQL parser at this point.
The issue seems to be here:
| Self::new(relation.map(|r| r.relation), name) |
Because that calls Column::new, which takes an Into<TableReference>; and impl From<String> for TableReference normalizes.
To Reproduce
No response
Expected behavior
No response
Additional context
No response
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working