Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[CH] Cast failed when in-filter with tuple values #8253

Open
lwz9103 opened this issue Dec 17, 2024 · 0 comments · May be fixed by #8256
Open

[CH] Cast failed when in-filter with tuple values #8253

lwz9103 opened this issue Dec 17, 2024 · 0 comments · May be fixed by #8256
Labels
bug Something isn't working triage

Comments

@lwz9103
Copy link
Contributor

lwz9103 commented Dec 17, 2024

Backend

CH (ClickHouse)

Bug description

sql:

select *
from test_kylin_fact
where (lstg_format_name, test_count_distinct_bitmap)
    in (
        ('FP-GTC', 'TEST1'),
        ('FP-GTC', 'TEST2'),
        ('FP-GTC', 'TEST3'),
        ('FP-GTC', 'TEST4'),
        ('FP-GTC', 'TEST5'),
        ('FP-GTC', 'TEST421'),
        ('FP-GTC', 'TEST703'),
        ('FP-GTC', 'TEST303'),
        ('FP-GTC', 'TEST755'),
        ('FP-GTC', 'TEST851'),
        ('FP-GTC', 'TEST204'),
        ('FP-GTC', 'TEST29'),
        ('FP-GTC', 'TEST658'),
        ('FP-GTC', 'TEST405'),
        ('FP-GTC', 'TEST16'),
        ('FP-GTC', 'TEST17'),
        ('FP-GTC', 'TEST18'),
        ('FP-GTC', 'TEST19'),
        ('FP-GTC', 'TEST20'),
        ('FP-GTC', 'TEST520'),
        ('FP-GTC', 'TEST521'),
        ('FP-GTC', 'TEST522'),
        ('Auction', 'TEST134'),
        ('Auction', 'TEST415'),
        ('Auction', 'TEST876')
          )
   or lstg_format_name in ('ABIN')
order by trans_id limit 30;

lstg_format_name and test_count_distinct_bitmap are Nullable(String)

Exception:

{Cannot convert NULL value to non-Nullable type: while executing 'FUNCTION in(tuple(4,10) :: 14, __set_2 :: 13) -> in(tuple(4,10),__set_2) UInt8 : 12'
0. Poco::Exception::Exception(String const&, int) @ 0x0000000014ffb1b9
1. DB::Exception::Exception(DB::Exception::MessageMasked&&, int, bool) @ 0x000000000c6f1bd9
2. DB::Exception::Exception(PreformattedMessage&&, int) @ 0x00000000069c198c
3. DB::Exception::Exception<>(int, FormatStringHelperImpl<>) @ 0x00000000069b39eb
4. DB::detail::FunctionCast::prepareRemoveNullable(std::shared_ptr<DB::IDataType const> const&, std::shared_ptr<DB::IDataType const> const&, bool) const::'lambda0'(std::vector<DB::ColumnWithTypeAndName, std::allocator<DB::ColumnWithTypeAndName>>&, std::shared_ptr<DB::IDataType const> const&, DB::ColumnNullable const*, unsigned long)::operator()(std::vector<DB::ColumnWithTypeAndName, std::allocator<DB::ColumnWithTypeAndName>>&, std::shared_ptr<DB::IDataType const> const&, DB::ColumnNullable const*, unsigned long) const @ 0x000000000f53179c
5. COW<DB::IColumn>::immutable_ptr<DB::IColumn> std::__function::__policy_invoker<COW<DB::IColumn>::immutable_ptr<DB::IColumn> (std::vector<DB::ColumnWithTypeAndName, std::allocator<DB::ColumnWithTypeAndName>>&, std::shared_ptr<DB::IDataType const> const&, DB::ColumnNullable const*, unsigned long)>::__call_impl<std::__function::__default_alloc_func<DB::detail::FunctionCast::prepareRemoveNullable(std::shared_ptr<DB::IDataType const> const&, std::shared_ptr<DB::IDataType const> const&, bool) const::'lambda0'(std::vector<DB::ColumnWithTypeAndName, std::allocator<DB::ColumnWithTypeAndName>>&, std::shared_ptr<DB::IDataType const> const&, DB::ColumnNullable const*, unsigned long), COW<DB::IColumn>::immutable_ptr<DB::IColumn> (std::vector<DB::ColumnWithTypeAndName, std::allocator<DB::ColumnWithTypeAndName>>&, std::shared_ptr<DB::IDataType const> const&, DB::ColumnNullable const*, unsigned long)>>(std::__function::__policy_storage const*, std::vector<DB::ColumnWithTypeAndName, std::allocator<DB::ColumnWithTypeAndName>>&, std::shared_ptr<DB::IDataType const> const&, DB::ColumnNullable const*, unsigned long) @ 0x000000000f53162c
6. DB::detail::FunctionCast::createTupleWrapper(std::shared_ptr<DB::IDataType const> const&, DB::DataTypeTuple const*) const::'lambda0'(std::vector<DB::ColumnWithTypeAndName, std::allocator<DB::ColumnWithTypeAndName>>&, std::shared_ptr<DB::IDataType const> const&, DB::ColumnNullable const*, unsigned long)::operator()(std::vector<DB::ColumnWithTypeAndName, std::allocator<DB::ColumnWithTypeAndName>>&, std::shared_ptr<DB::IDataType const> const&, DB::ColumnNullable const*, unsigned long) const @ 0x000000000f528835
7. COW<DB::IColumn>::immutable_ptr<DB::IColumn> std::__function::__policy_invoker<COW<DB::IColumn>::immutable_ptr<DB::IColumn> (std::vector<DB::ColumnWithTypeAndName, std::allocator<DB::ColumnWithTypeAndName>>&, std::shared_ptr<DB::IDataType const> const&, DB::ColumnNullable const*, unsigned long)>::__call_impl<std::__function::__default_alloc_func<DB::detail::FunctionCast::createTupleWrapper(std::shared_ptr<DB::IDataType const> const&, DB::DataTypeTuple const*) const::'lambda0'(std::vector<DB::ColumnWithTypeAndName, std::allocator<DB::ColumnWithTypeAndName>>&, std::shared_ptr<DB::IDataType const> const&, DB::ColumnNullable const*, unsigned long), COW<DB::IColumn>::immutable_ptr<DB::IColumn> (std::vector<DB::ColumnWithTypeAndName, std::allocator<DB::ColumnWithTypeAndName>>&, std::shared_ptr<DB::IDataType const> const&, DB::ColumnNullable const*, unsigned long)>>(std::__function::__policy_storage const*, std::vector<DB::ColumnWithTypeAndName, std::allocator<DB::ColumnWithTypeAndName>>&, std::shared_ptr<DB::IDataType const> const&, DB::ColumnNullable const*, unsigned long) @ 0x000000000f5283cc
8. DB::detail::FunctionCast::prepareRemoveNullable(std::shared_ptr<DB::IDataType const> const&, std::shared_ptr<DB::IDataType const> const&, bool) const::'lambda'(std::vector<DB::ColumnWithTypeAndName, std::allocator<DB::ColumnWithTypeAndName>>&, std::shared_ptr<DB::IDataType const> const&, DB::ColumnNullable const*, unsigned long)::operator()(std::vector<DB::ColumnWithTypeAndName, std::allocator<DB::ColumnWithTypeAndName>>&, std::shared_ptr<DB::IDataType const> const&, DB::ColumnNullable const*, unsigned long) const @ 0x000000000f53126b
9. COW<DB::IColumn>::immutable_ptr<DB::IColumn> std::__function::__policy_invoker<COW<DB::IColumn>::immutable_ptr<DB::IColumn> (std::vector<DB::ColumnWithTypeAndName, std::allocator<DB::ColumnWithTypeAndName>>&, std::shared_ptr<DB::IDataType const> const&, DB::ColumnNullable const*, unsigned long)>::__call_impl<std::__function::__default_alloc_func<DB::detail::FunctionCast::prepareRemoveNullable(std::shared_ptr<DB::IDataType const> const&, std::shared_ptr<DB::IDataType const> const&, bool) const::'lambda'(std::vector<DB::ColumnWithTypeAndName, std::allocator<DB::ColumnWithTypeAndName>>&, std::shared_ptr<DB::IDataType const> const&, DB::ColumnNullable const*, unsigned long), COW<DB::IColumn>::immutable_ptr<DB::IColumn> (std::vector<DB::ColumnWithTypeAndName, std::allocator<DB::ColumnWithTypeAndName>>&, std::shared_ptr<DB::IDataType const> const&, DB::ColumnNullable const*, unsigned long)>>(std::__function::__policy_storage const*, std::vector<DB::ColumnWithTypeAndName, std::allocator<DB::ColumnWithTypeAndName>>&, std::shared_ptr<DB::IDataType const> const&, DB::ColumnNullable const*, unsigned long) @ 0x000000000f53114c
10. DB::detail::ExecutableFunctionCast::executeImpl(std::vector<DB::ColumnWithTypeAndName, std::allocator<DB::ColumnWithTypeAndName>> const&, std::shared_ptr<DB::IDataType const> const&, unsigned long) const @ 0x000000000f400e5a
11. DB::IExecutableFunction::executeWithoutLowCardinalityColumns(std::vector<DB::ColumnWithTypeAndName, std::allocator<DB::ColumnWithTypeAndName>> const&, std::shared_ptr<DB::IDataType const> const&, unsigned long, bool) const @ 0x000000000f39e4a5
12. DB::IExecutableFunction::executeWithoutSparseColumns(std::vector<DB::ColumnWithTypeAndName, std::allocator<DB::ColumnWithTypeAndName>> const&, std::shared_ptr<DB::IDataType const> const&, unsigned long, bool) const @ 0x000000000f39ed9b
13. DB::IExecutableFunction::execute(std::vector<DB::ColumnWithTypeAndName, std::allocator<DB::ColumnWithTypeAndName>> const&, std::shared_ptr<DB::IDataType const> const&, unsigned long, bool) const @ 0x000000000f3a009b
14. DB::IFunctionBase::execute(std::vector<DB::ColumnWithTypeAndName, std::allocator<DB::ColumnWithTypeAndName>> const&, std::shared_ptr<DB::IDataType const> const&, unsigned long, bool) const @ 0x000000000f3a04d9
15. DB::castColumn(DB::CastType, DB::ColumnWithTypeAndName const&, std::shared_ptr<DB::IDataType const> const&, DB::InternalCastFunctionCache*) @ 0x0000000010d1e271
16. DB::castColumnAccurateOrNull(DB::ColumnWithTypeAndName const&, std::shared_ptr<DB::IDataType const> const&, DB::InternalCastFunctionCache*) @ 0x0000000010d1e737
17. DB::Set::execute(std::vector<DB::ColumnWithTypeAndName, std::allocator<DB::ColumnWithTypeAndName>> const&, bool) const @ 0x0000000010af7945
18. DB::(anonymous namespace)::FunctionIn<false, false, true, false>::executeImpl(std::vector<DB::ColumnWithTypeAndName, std::allocator<DB::ColumnWithTypeAndName>> const&, std::shared_ptr<DB::IDataType const> const&, unsigned long) const @ 0x0000000008d02141
19. DB::FunctionToExecutableFunctionAdaptor::executeImpl(std::vector<DB::ColumnWithTypeAndName, std::allocator<DB::ColumnWithTypeAndName>> const&, std::shared_ptr<DB::IDataType const> const&, unsigned long) const @ 0x000000000f3a301a
20. DB::IExecutableFunction::executeWithoutLowCardinalityColumns(std::vector<DB::ColumnWithTypeAndName, std::allocator<DB::ColumnWithTypeAndName>> const&, std::shared_ptr<DB::IDataType const> const&, unsigned long, bool) const @ 0x000000000f39e4a5
21. DB::IExecutableFunction::executeWithoutSparseColumns(std::vector<DB::ColumnWithTypeAndName, std::allocator<DB::ColumnWithTypeAndName>> const&, std::shared_ptr<DB::IDataType const> const&, unsigned long, bool) const @ 0x000000000f39ee82
22. DB::IExecutableFunction::execute(std::vector<DB::ColumnWithTypeAndName, std::allocator<DB::ColumnWithTypeAndName>> const&, std::shared_ptr<DB::IDataType const> const&, unsigned long, bool) const @ 0x000000000f3a009b
23. DB::ExpressionActions::execute(DB::Block&, unsigned long&, bool, bool) const @ 0x0000000010684fc4
24. DB::FilterTransform::doTransform(DB::Chunk&) @ 0x000000001231dbbf
25. DB::FilterTransform::transform(DB::Chunk&) @ 0x000000001231dad4
26. DB::ISimpleTransform::transform(DB::Chunk&, DB::Chunk&) @ 0x000000000caf61d3
27. DB::ISimpleTransform::work() @ 0x00000000121fd9ec
28. DB::ExecutionThreadContext::executeTask() @ 0x0000000012217be2
29. DB::PipelineExecutor::executeStepImpl(unsigned long, std::atomic<bool>*) @ 0x000000001220ccff
30. DB::PipelineExecutor::executeStep(std::atomic<bool>*) @ 0x000000001220c769
31. DB::PullingPipelineExecutor::pull(DB::Chunk&) @ 0x000000001221e354

Spark version

None

Spark configurations

No response

System information

No response

Relevant logs

No response

@lwz9103 lwz9103 added bug Something isn't working triage labels Dec 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working triage
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant