jayzhan211 commented on PR #15202:
URL: https://github.com/apache/datafusion/pull/15202#issuecomment-2721074045

   I analysis some errors and I think if we fix the way we parse sql, we can 
find an optimal type for the literal easily
   
   
   ```
   External error: statement failed: DataFusion error: Arrow error: Cast error: 
Cannot cast string 'FF01' to value of Int64 type
   [SQL] CREATE TABLE t
   AS VALUES
     ('FF01', X'FF01'),
     ('ABC', X'ABC'),
     ('000', X'000');
   at test_files/binary.slt:33
   
   External error: query is expected to fail, but actually succeed:
   [SQL] select abs('-1.2');
   at test_files/math.slt:134
   
   External error: query failed: DataFusion error: Error during planning: 
Internal error: Expect TypeSignatureClass::Native(LogicalType(Native(String), 
String)) but received NativeType::Int64, DataType: Int64.
   This was likely caused by a bug in DataFusion's code and we would welcome 
that you file an bug report in our issue tracker No function matches the given 
name and argument types 'ascii(Int64)'. You might need to add explicit type 
casts.
        Candidate functions:
        ascii(Coercion(TypeSignatureClass::Native(LogicalType(Native(String), 
String))))
   [SQL] SELECT ascii('222')
   at test_files/expr.slt:327
   
   External error: query columns mismatch:
   [SQL] select column1, column2 from validate_partitioned_parquet4 order by 
column1,column2;
   [Expected] [T]T
   [Actual  ] [I]T
   at test_files/copy.slt:203
   
   External error: query is expected to fail, but actually succeed:
   [SQL] SELECT -'100'
   at test_files/scalar.slt:1557
   
   External error: query columns mismatch:
   [SQL] SELECT '0' as c UNION ALL BY NAME SELECT 0 as c;
   [Expected] [T]
   [Actual  ] [I]
   at test_files/union_by_name.slt:285
   
   External error: query result mismatch:
   [SQL] EXPLAIN VALUES ('1'::float)
   [Diff] (-expected|+actual)
   -   logical_plan Values: (Float32(1) AS Utf8("1"))
   +   logical_plan Values: (Float32(1) AS Int64(1))
       physical_plan DataSourceExec: partitions=1, partition_sizes=[1]
   at test_files/select.slt:429
   
   External error: query is expected to fail, but actually succeed:
   [SQL] select to_timestamp('-1');
   at test_files/timestamps.slt:3386
   
   External error: query is expected to fail with error:
        (regex) DataFusion error: Error during planning: Cannot coerce 
arithmetic expression Interval\(MonthDayNano\) \+ Utf8 to valid types
   but got error:
        DataFusion error: Error during planning: Cannot coerce arithmetic 
expression Interval(MonthDayNano) + Int64 to valid types
   [SQL] select interval '1' + '1' month
   at test_files/interval_mysql.slt:21
   
   External error: query result mismatch:
   [SQL] SELECT to_date('21311111');
   [Diff] (-expected|+actual)
   -   2131-11-11
   +   +60317-11-04
   at test_files/dates.slt:142
   
   External error: query is expected to fail, but actually succeed:
   [SQL] select regr_slope(1, '2');
   at test_files/errors.slt:111
   
   External error: query result mismatch:
   [SQL] SELECT arrow_typeof('1')
   [Diff] (-expected|+actual)
   -   Utf8
   +   Int64
   at test_files/arrow_typeof.slt:79
   
   External error: query columns mismatch:
   [SQL] select nullif('2', '3');
   [Expected] [T]
   [Actual  ] [I]
   at test_files/nullif.slt:118
   
   External error: query columns mismatch:
   [SQL] select 
       unnest(column1), unnest(column2) + 2, 
       column3 * 10, unnest(array_remove(column1, '4')) 
   from unnest_table;
   [Expected] III[T]
   [Actual  ] III[I]
   at test_files/unnest.slt:266
   
   External error: query failed: DataFusion error: Error during planning: 
Projections require unique expression names but the expression 
"map_extract(map(make_array(Int64(1), Int64(2), Int64(3)), make_array(Int64(1), 
Int64(2), Int64(3))), Float64(1))" at position 1 and 
"map_extract(map(make_array(Int64(1), Int64(2), Int64(3)), make_array(Int64(1), 
Int64(2), Int64(3))), Float64(1))" at position 3 have the same name. Consider 
aliasing ("AS") one of them.
   [SQL] select map_extract(MAP {1: 1, 2: 2, 3:3}, '1'), map_extract(MAP {1: 1, 
2: 2, 3:3}, 1.0),
          map_extract(MAP {1.0: 1, 2: 2, 3:3}, '1'), map_extract(MAP {'1': 1, 
'2': 2, '3':3}, 1.0),
          map_extract(MAP {arrow_cast('1', 'Utf8View'): 1, arrow_cast('2', 
'Utf8View'): 2, arrow_cast('3', 'Utf8View'):3}, '1');
   at test_files/map.slt:579
   
   External error: query failed: DataFusion error: Arrow error: Cast error: 
Cannot cast string 'default' to value of Int64 type
   [SQL] select lead(a, 1, 'default') over (order by a) from (select '1' a 
union all select '2' a)
   at test_files/window.slt:4043
   
   External error: query failed: DataFusion error: Execution error: unsupported 
type for second argument to array_to_string function as Int64
   [SQL] select array_to_string([1, 1, 1], '1'), array_to_string([[1, 2], [3, 
4], [5, 6]], '+'), array_to_string(array_repeat(array_repeat(array_repeat(3, 
2), 2), 3), '/\');
   at test_files/array.slt:4240
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org
For additional commands, e-mail: github-h...@datafusion.apache.org

Reply via email to