请问 `src`.`c`.`info` 是外表吗?如果是,这是个已知问题,在最新2.0版本里面已经修复了。
发件人: 18 <1835996...@qq.com.INVALID> 日期: 星期日, 2024年2月4日 09:52 收件人: dev <dev@doris.apache.org> 主题: doris升级后,数据插入问题 doris从1.2.4.1升级为2.0.4,同一个SQL在新版本出现报错问题。请问是新版本是数据类型有限制的问题吗? SQL语句: INSERT INTO table_test(id,area,dw_process_dt) SELECT id,area,NOW() FROM `src`.`c`.`info` area数据类型为decimal(22,4),存在null值。我们发现INSERT INTO table_test(id,area,dw_process_dt) SELECT id,area,NOW() FROM `src`.`c`.`info` WHERE area is not null;可以执行成功 原SQL的报错信息: SQL 错误 [1105] [HY000]: errCode = 2, detailMessage = (10.51.34.190)[E-124][E-124] Arithmetic overflow 0# doris::Exception::Exception(int, std::basic_string_view<char, std::char_traits<char> >) at /var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/unique_ptr.h:173 1# auto doris::vectorized::convert_decimal_cols<doris::vectorized::DataTypeDecimal<doris::vectorized::Decimal<doris::vectorized::Int128I> >, doris::vectorized::DataTypeDecimal<doris::vectorized::Decimal<__int128> > >(doris::vectorized::ColumnDecimal<doris::vectorized::DataTypeDecimal<doris::vectorized::Decimal<doris::vectorized::Int128I> >::FieldType>::Container::value_type const*, doris::vectorized::ColumnDecimal<doris::vectorized::DataTypeDecimal<doris::vectorized::Decimal<__int128> >::FieldType>::Container::value_type*, unsigned int, unsigned int, unsigned int, unsigned int, unsigned long)::{lambda(auto:1, auto:2)#1}::operator()<std::integral_constant<bool, true>, std::integral_constant<bool, false> >(std::integral_constant<bool, true>, std::integral_constant<bool, false>) const at /home/zcp/repo_center/doris_release/doris/be/src/vec/data_types/data_type_decimal.h:0 2# void doris::vectorized::convert_decimal_cols<doris::vectorized::DataTypeDecimal<doris::vectorized::Decimal<doris::vectorized::Int128I> >, doris::vectorized::DataTypeDecimal<doris::vectorized::Decimal<__int128> > >(doris::vectorized::ColumnDecimal<doris::vectorized::DataTypeDecimal<doris::vectorized::Decimal<doris::vectorized::Int128I> >::FieldType>::Container::value_type const*, doris::vectorized::ColumnDecimal<doris::vectorized::DataTypeDecimal<doris::vectorized::Decimal<__int128> >::FieldType>::Container::value_type*, unsigned int, unsigned int, unsigned int, unsigned int, unsigned long) at /var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/variant:0 3# doris::Status doris::vectorized::ConvertImpl<doris::vectorized::DataTypeDecimal<doris::vectorized::Decimal<doris::vectorized::Int128I> >, doris::vectorized::DataTypeDecimal<doris::vectorized::Decimal<__int128> >, doris::vectorized::NameCast>::execute<doris::vectorized::PrecisionScaleArg>(doris::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long, bool, doris::vectorized::PrecisionScaleArg) at /home/zcp/repo_center/doris_release/doris/be/src/vec/functions/function_cast.h:0 4# bool doris::vectorized::FunctionCast::create_decimal_wrapper<doris::vectorized::Decimal<__int128> >(std::shared_ptr<doris::vectorized::IDataType const> const&, doris::vectorized::DataTypeDecimal<doris::vectorized::Decimal<__int128> > const*) const::{lambda(doris::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long)#1}::operator()(doris::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long) const::{lambda(auto:1 const&)#1}::operator()<doris::vectorized::TypePair<doris::vectorized::DataTypeDecimal<doris::vectorized::Decimal<doris::vectorized::Int128I> >, doris::vectorized::DataTypeDecimal<doris::vectorized::Decimal<__int128> > > >(doris::vectorized::TypePair<doris::vectorized::DataTypeDecimal<doris::vectorized::Decimal<doris::vectorized::Int128I> >, doris::vectorized::DataTypeDecimal<doris::vectorized::Decimal<__int128> > > const&) const at /home/zcp/repo_center/doris_release/doris/be/src/vec/functions/function_cast.h:1698 5# bool doris::vectorized::call_on_index_and_data_type<doris::vectorized::DataTypeDecimal<doris::vectorized::Decimal<__int128> >, doris::vectorized::FunctionCast::create_decimal_wrapper<doris::vectorized::Decimal<__int128> >(std::shared_ptr<doris::vectorized::IDataType const> const&, doris::vectorized::DataTypeDecimal<doris::vectorized::Decimal<__int128> > const*) const::{lambda(doris::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long)#1}::operator()(doris::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long) const::{lambda(auto:1 const&)#1}>(doris::vectorized::TypeIndex, doris::vectorized::FunctionCast::create_decimal_wrapper<doris::vectorized::Decimal<__int128> >(std::shared_ptr<doris::vectorized::IDataType const> const&, doris::vectorized::DataTypeDecimal<doris::vectorized::Decimal<__int128> > const*) const::{lambda(doris::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long)#1}::operator()(doris::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long) const::{lambda(auto:1 const&)#1}&&) at /home/zcp/repo_center/doris_release/doris/be/src/vec/core/call_on_type_index.h:235 6# doris::vectorized::FunctionCast::create_decimal_wrapper<doris::vectorized::Decimal<__int128> >(std::shared_ptr<doris::vectorized::IDataType const> const&, doris::vectorized::DataTypeDecimal<doris::vectorized::Decimal<__int128> > const*) const::{lambda(doris::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long)#1}::operator()(doris::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long) const at /home/zcp/repo_center/doris_release/doris/be/src/vec/functions/function_cast.h:1708 7# std::_Function_handler<doris::Status (doris::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long), doris::vectorized::FunctionCast::create_decimal_wrapper<doris::vectorized::Decimal<__int128> >(std::shared_ptr<doris::vectorized::IDataType const> const&, doris::vectorized::DataTypeDecimal<doris::vectorized::Decimal<__int128> > const*) const::{lambda(doris::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long)#1}>::_M_invoke(std::_Any_data const&, doris::FunctionContext*&&, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long&&, unsigned long&&) at /var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:291 8# doris::vectorized::FunctionCast::prepare_remove_nullable(doris::FunctionContext*, std::shared_ptr<doris::vectorized::IDataType const> const&, std::shared_ptr<doris::vectorized::IDataType const> const&, bool) const::{lambda(doris::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long)#1}::operator()(doris::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long) const at /var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/stl_vector.h:335 9# std::_Function_handler<doris::Status (doris::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long), doris::vectorized::FunctionCast::prepare_remove_nullable(doris::FunctionContext*, std::shared_ptr<doris::vectorized::IDataType const> const&, std::shared_ptr<doris::vectorized::IDataType const> const&, bool) const::{lambda(doris::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long)#1}>::_M_invoke(std::_Any_data const&, doris::FunctionContext*&&, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long&&, unsigned long&&) at /var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:291 10# doris::vectorized::PreparedFunctionCast::execute_impl(doris::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long) at /var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/stl_vector.h:335 11# doris::vectorized::PreparedFunctionImpl::execute_without_low_cardinality_columns(doris::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long, bool) at /home/zcp/repo_center/doris_release/doris/be/src/vec/functions/function.cpp:0 12# doris::vectorized::PreparedFunctionImpl::execute(doris::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long, bool) at /home/zcp/repo_center/doris_release/doris/be/src/vec/functions/function.cpp:274 13# doris::vectorized::IFunctionBase::execute(doris::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long, bool) at /home/zcp/repo_center/doris_release/doris/be/src/vec/functions/function.h:183 14# doris::vectorized::VCastExpr::execute(doris::vectorized::VExprContext*, doris::vectorized::Block*, int*) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exprs/vcast_expr.cpp:110 15# doris::vectorized::VExprContext::execute(doris::vectorized::Block*, int*) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:354 16# doris::vectorized::VExprContext::get_output_block_after_execute_exprs(std::vector<std::shared_ptr<doris::vectorized::VExprContext>, std::allocator<std::shared_ptr<doris::vectorized::VExprContext> > > const&, doris::vectorized::Block const&, doris::vectorized::Block*, bool) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:442 17# doris::stream_load::VOlapTableSink::send(doris::RuntimeState*, doris::vectorized::Block*, bool) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:442 18# doris::PlanFragmentExecutor::open_vectorized_internal() at /home/zcp/repo_center/doris_release/doris/be/src/runtime/plan_fragment_executor.cpp:0 19# doris::PlanFragmentExecutor::open() at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:354 20# doris::FragmentExecState::execute() at /var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/tuple:180 21# doris::FragmentMgr::_exec_actual(std::shared_ptr<doris::FragmentExecState>, std::function<void (doris::RuntimeState*, doris::Status*)> const&) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:442 22# std::_Function_handler<void (), doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&, std::function<void (doris::RuntimeState*, doris::Status*)> const&)::$_0>::_M_invoke(std::_Any_data const&) at /var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/shared_ptr_base.h:701 23# doris::ThreadPool::dispatch_thread() at /home/zcp/repo_center/doris_release/doris/be/src/util/threadpool.cpp:0 24# doris::Thread::supervise_thread(void*) at /var/local/ldb_toolchain/bin/../usr/include/pthread.h:562 25# ? 26# ? >) at >/var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/unique_ptr.h:173\n > 1# auto doris::vectorized::convert_decimal_cols >, >doris::vectorized::DataTypeDecimal<__int128> > >>(doris::vectorized::ColumnDecimal >::FieldType>::Container::value_type >const*, doris::vectorized::ColumnDecimal<__int128> >>::FieldType>::Container::value_type*, unsigned int, unsigned int, unsigned >int, unsigned int, unsigned long)::{lambda(auto:1, auto:2)#1}::operator(), >std::integral_constant >(std::integral_constant, std::integral_constant) >const at >/home/zcp/repo_center/doris_release/doris/be/src/vec/data_types/data_type_decimal.h:0\n > 2# void doris::vectorized::convert_decimal_cols >, >doris::vectorized::DataTypeDecimal<__int128> > >>(doris::vectorized::ColumnDecimal >::FieldType>::Container::value_type >const*, doris::vectorized::ColumnDecimal<__int128> >>::FieldType>::Container::value_type*, unsigned int, unsigned int, unsigned >int, unsigned int, unsigned long) at >/var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/variant:0\n > 3# doris::Status doris::vectorized::ConvertImpl >, >doris::vectorized::DataTypeDecimal<__int128> >, >doris::vectorized::NameCast>::execute(doris::FunctionContext*, >doris::vectorized::Block&, std::vector > const&, unsigned long, >unsigned long, bool, doris::vectorized::PrecisionScaleArg) at >/home/zcp/repo_center/doris_release/doris/be/src/vec/functions/function_cast.h:0\n > 4# bool >doris::vectorized::FunctionCast::create_decimal_wrapper<__int128> >>(std::shared_ptr const&, doris::vectorized::DataTypeDecimal<__int128> > >const*) const::{lambda(doris::FunctionContext*, >doris::vectorized::Block&, std::vector > const&, unsigned long, >unsigned long)#1}::operator()(doris::FunctionContext*, >doris::vectorized::Block&, std::vector > const&, unsigned long, >unsigned long) const::{lambda(auto:1 const&)#1}::operator() >, >doris::vectorized::DataTypeDecimal<__int128> > > >>(doris::vectorized::TypePair >, doris::vectorized::DataTypeDecimal<__int128> >> > const&) const at >/home/zcp/repo_center/doris_release/doris/be/src/vec/functions/function_cast.h:1698\n > 5# bool doris::vectorized::call_on_index_and_data_type<__int128> >, >doris::vectorized::FunctionCast::create_decimal_wrapper<__int128> >>(std::shared_ptr const&, doris::vectorized::DataTypeDecimal<__int128> > >const*) const::{lambda(doris::FunctionContext*, >doris::vectorized::Block&, std::vector > const&, unsigned long, >unsigned long)#1}::operator()(doris::FunctionContext*, >doris::vectorized::Block&, std::vector > const&, unsigned long, >unsigned long) const::{lambda(auto:1 >const&)#1}>(doris::vectorized::TypeIndex, >doris::vectorized::FunctionCast::create_decimal_wrapper<__int128> >>(std::shared_ptr const&, doris::vectorized::DataTypeDecimal<__int128> > >const*) const::{lambda(doris::FunctionContext*, >doris::vectorized::Block&, std::vector > const&, unsigned long, >unsigned long)#1}::operator()(doris::FunctionContext*, >doris::vectorized::Block&, std::vector > const&, unsigned long, >unsigned long) const::{lambda(auto:1 const&)#1}&&) at >/home/zcp/repo_center/doris_release/doris/be/src/vec/core/call_on_type_index.h:235\n > 6# doris::vectorized::FunctionCast::create_decimal_wrapper<__int128> >>(std::shared_ptr const&, doris::vectorized::DataTypeDecimal<__int128> > >const*) const::{lambda(doris::FunctionContext*, >doris::vectorized::Block&, std::vector > const&, unsigned long, >unsigned long)#1}::operator()(doris::FunctionContext*, >doris::vectorized::Block&, std::vector > const&, unsigned long, >unsigned long) const at >/home/zcp/repo_center/doris_release/doris/be/src/vec/functions/function_cast.h:1708\n > 7# std::_Function_handler > const&, unsigned long, unsigned >long), doris::vectorized::FunctionCast::create_decimal_wrapper<__int128> >>(std::shared_ptr const&, doris::vectorized::DataTypeDecimal<__int128> > >const*) const::{lambda(doris::FunctionContext*, >doris::vectorized::Block&, std::vector > const&, unsigned long, >unsigned long)#1}>::_M_invoke(std::_Any_data const&, >doris::FunctionContext*&&, doris::vectorized::Block&, std::vector >> const&, unsigned long&&, unsigned long&&) at >/var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:291\n > 8# >doris::vectorized::FunctionCast::prepare_remove_nullable(doris::FunctionContext*, > std::shared_ptr const&, std::shared_ptr const&, bool) >const::{lambda(doris::FunctionContext*, doris::vectorized::Block&, >std::vector > const&, unsigned long, unsigned >long)#1}::operator()(doris::FunctionContext*, doris::vectorized::Block&, >std::vector > const&, unsigned long, unsigned long) const at >/var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/stl_vector.h:335\n > 9# std::_Function_handler > const&, unsigned long, unsigned >long), >doris::vectorized::FunctionCast::prepare_remove_nullable(doris::FunctionContext*, > std::shared_ptr const&, std::shared_ptr const&, bool) >const::{lambda(doris::FunctionContext*, doris::vectorized::Block&, >std::vector > const&, unsigned long, unsigned >long)#1}>::_M_invoke(std::_Any_data const&, >doris::FunctionContext*&&, doris::vectorized::Block&, std::vector >> const&, unsigned long&&, unsigned long&&) at >/var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:291\n > 10# >doris::vectorized::PreparedFunctionCast::execute_impl(doris::FunctionContext*, > doris::vectorized::Block&, std::vector > const&, unsigned long, >unsigned long) at >/var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/stl_vector.h:335\n > 11# >doris::vectorized::PreparedFunctionImpl::execute_without_low_cardinality_columns(doris::FunctionContext*, > doris::vectorized::Block&, std::vector > const&, unsigned long, >unsigned long, bool) at >/home/zcp/repo_center/doris_release/doris/be/src/vec/functions/function.cpp:0\n > 12# >doris::vectorized::PreparedFunctionImpl::execute(doris::FunctionContext*, >doris::vectorized::Block&, std::vector > const&, unsigned long, >unsigned long, bool) at >/home/zcp/repo_center/doris_release/doris/be/src/vec/functions/function.cpp:274\n > 13# >doris::vectorized::IFunctionBase::execute(doris::FunctionContext*, >doris::vectorized::Block&, std::vector > const&, unsigned long, >unsigned long, bool) at >/home/zcp/repo_center/doris_release/doris/be/src/vec/functions/function.h:183\n > 14# >doris::vectorized::VCastExpr::execute(doris::vectorized::VExprContext*, >doris::vectorized::Block*, int*) at >/home/zcp/repo_center/doris_release/doris/be/src/vec/exprs/vcast_expr.cpp:110\n > 15# >doris::vectorized::VExprContext::execute(doris::vectorized::Block*, int*) at >/home/zcp/repo_center/doris_release/doris/be/src/common/status.h:354\n >16# >doris::vectorized::VExprContext::get_output_block_after_execute_exprs(std::vector, > std::allocator > > const&, doris::vectorized::Block const&, >doris::vectorized::Block*, bool) at >/home/zcp/repo_center/doris_release/doris/be/src/common/status.h:442\n >17# doris::stream_load::VOlapTableSink::send(doris::RuntimeState*, >doris::vectorized::Block*, bool) at >/home/zcp/repo_center/doris_release/doris/be/src/common/status.h:442\n >18# doris::PlanFragmentExecutor::open_vectorized_internal() at >/home/zcp/repo_center/doris_release/doris/be/src/runtime/plan_fragment_executor.cpp:0\n > 19# doris::PlanFragmentExecutor::open() at >/home/zcp/repo_center/doris_release/doris/be/src/common/status.h:354\n >20# doris::FragmentExecState::execute() at >/var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/tuple:180\n > 21# doris::FragmentMgr::_exec_actual(std::shared_ptr, std::function >const&) at >/home/zcp/repo_center/doris_release/doris/be/src/common/status.h:442\n >22# std::_Function_handler const&)::$_0>::_M_invoke(std::_Any_data >const&) at >/var/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/shared_ptr_base.h:701\n > 23# doris::ThreadPool::dispatch_thread() at >/home/zcp/repo_center/doris_release/doris/be/src/util/threadpool.cpp:0\n > 24# doris::Thread::supervise_thread(void*) at >/var/local/ldb_toolchain/bin/../usr/include/pthread.h:562\n 25# ?\n > 26# >?\n"},"attribs":{"0":"*0|t+8y2"}},"apool":{"numToAttrib":{"0":["author","7100756261620318209"]},"nextNum":1}},"type":"text","referenceRecordMap":{},"extra":{"mention_page_title":{},"external_mention_url":{}},"isKeepQuoteContainer":false,"isFromCode":true,"selection":[{"id":5,"type":"text","selection":{"start":0,"end":11594},"recordId":"IoeldB4GjoUSgPxM7oUceKV3nah"}],"payloadMap":{},"isCut":false}" > data-lark-record-format="docx/text" class="lark-record-clipboard"> 2.0.4"},"attribs":{"0":"*0+9*0*1+5"}},"apool":{"numToAttrib":{"0":["author","6973939654286491651"],"1":["textHighlightBackground","rgb(251,191,188)"]},"nextNum":2}},"type":"text","referenceRecordMap":{},"extra":{"mention_page_title":{},"external_mention_url":{}},"isKeepQuoteContainer":false,"isFromCode":false,"selection":[{"id":3,"type":"text","selection":{"start":7,"end":21},"recordId":"doxcn5v5rFjyN6oHBtdWaXv9nZd"}],"payloadMap":{},"isCut":false}" data-lark-record-format="docx/text" class="lark-record-clipboard">