felixwluo opened a new pull request, #37567:
URL: https://github.com/apache/doris/pull/37567
… function
## Proposed changes
1、fix the be coredump caused by a constant in the field function
2、repetition
```
create database test;
CREATE TABLE `test01` (
`k1` date NOT NULL,
`k2` int(11) NULL
) ENGINE = OLAP UNIQUE KEY(`k1`) DISTRIBUTED BY HASH(`k1`) BUCKETS 1
PROPERTIES (
"replication_allocation" = "tag.location.default: 1",
"in_memory" = "false",
"storage_format" = "V2",
"disable_auto_compaction" = "false"
);
insert into test01 values ("2024-07-09",59);
insert into test01 values ("2024-07-08",130);
insert into test01 values ("2024-07-09",100);
select
*
from
test01
where
k1 >= '2024-07-08'
order by
field(1, 2, 3);
```
3、be stack
`(gdb) bt
#0 0x000055dcfeb45f29 in
doris::vectorized::FunctionFieldImpl::execute(doris::vectorized::Block&,
std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned
long) ()
#1 0x000055dcfeb47908 in
doris::vectorized::FunctionMultiSameArgs<doris::vectorized::FunctionFieldImpl>::execute_impl(doris_udf::FunctionContext*,
doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned
long> > const&, unsigned long, unsigned long) ()
#2 0x000055dcfca4030c in
doris::vectorized::PreparedFunctionImpl::execute_without_low_cardinality_columns(doris_udf::FunctionContext*,
doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned
long> > const&, unsigned long, unsigned long, bool) ()
#3 0x000055dcfca40dea in
doris::vectorized::PreparedFunctionImpl::default_implementation_for_constant_arguments(doris_udf::FunctionContext*,
doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned
long> > const&, unsigned long, unsigned long, bool, bool*) ()
#4 0x000055dcfca40138 in
doris::vectorized::PreparedFunctionImpl::execute_without_low_cardinality_columns(doris_udf::FunctionContext*,
doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned
long> > const&, unsigned long, unsigned long, bool) ()
#5 0x000055dcfca411c9 in
doris::vectorized::PreparedFunctionImpl::execute(doris_udf::FunctionContext*,
doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned
long> > const&, unsigned long, unsigned long, bool) ()
#6 0x000055dcfb13bc94 in
doris::vectorized::IFunctionBase::execute(doris_udf::FunctionContext*,
doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned
long> > const&, unsigned long, unsigned long, bool) ()
#7 0x000055dcfc1adf06 in
doris::vectorized::VectorizedFnCall::execute(doris::vectorized::VExprContext*,
doris::vectorized::Block*, int*) ()
#8 0x000055dcfc1b0477 in
doris::vectorized::VExprContext::execute(doris::vectorized::Block*, int*) ()
#9 0x000055dcfb03cf44 in
doris::vectorized::Sorter::partial_sort(doris::vectorized::Block&,
doris::vectorized::Block&) ()
#10 0x000055dcfb03de4a in doris::vectorized::FullSorter::_do_sort() ()
#11 0x000055dcfb03e9c1 in doris::vectorized::FullSorter::prepare_for_read()
()
#12 0x000055dcfb0348a2 in
doris::vectorized::VSortNode::open(doris::RuntimeState*) ()
#13 0x000055dcf9dbeb7f in
doris::PlanFragmentExecutor::open_vectorized_internal() ()
#14 0x000055dcf9dc023e in doris::PlanFragmentExecutor::open() ()
#15 0x000055dcf9d989a0 in doris::FragmentExecState::execute() ()
#16 0x000055dcf9d9bfae in
doris::FragmentMgr::_exec_actual(std::shared_ptr<doris::FragmentExecState>,
std::function<void (doris::PlanFragmentExecutor*)>) ()
#17 0x000055dcf9d9c4e2 in std::_Function_handler<void (),
doris::FragmentMgr::exec_plan_fragment(doris::TExecPlanFragmentParams const&,
std::function<void
(doris::PlanFragmentExecutor*)>)::{lambda()#1}>::_M_invoke(std::_Any_data
const&) ()
#18 0x000055dcfa04bcb5 in doris::ThreadPool::dispatch_thread() ()
#19 0x000055dcfa04110f in doris::Thread::supervise_thread(void*) ()
#20 0x00007f03f1150ea5 in start_thread () from /lib64/libpthread.so.0
#21 0x00007f03f14639fd in clone () from /lib64/libc.so.6`
<!--Describe your changes.-->
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]