liutang123 opened a new pull request, #46541:
URL: https://github.com/apache/doris/pull/46541

   ### What problem does this PR solve?
   
   Issue Number: close #xxx
   
   Related PR: #xxx
   
   Problem Summary:
   In 2.1.7, if a sql parse failed in nereids planner, it will fallback to old 
planner.
   and old planner maybe create `SelectNode` with some conjuncts that are not 
boolean type.
   
   Reproduce:
   Create table sql see #46493
   query sql:
   ```
   select b.c_id   from dbgr as b  left join  (select c.c_id from lo  where 
event_date between 20220500 and 20220600 limit 100 )c    on c.c_id LIMIT  200;
   ```
   Because `select c.c_id`, this sql will fallback to old planner.
   Because `on c.c_id` is not boolean type, and in be built in asan will core.
   
   ```
   F20241219 23:13:23.457937 33282 assert_cast.h:58] Bad cast from 
type:doris::vectorized::ColumnVector<int> to 
doris::vectorized::ColumnVector<unsigned 
   char>
   *** Check failure stack trace: ***
       @     0x55bfa043b956  google::LogMessageFatal::~LogMessageFatal()
       @     0x55bf6f3bc070  assert_cast<>()
       @     0x55bf8978d767  
doris::vectorized::VExprContext::execute_conjuncts()
       @     0x55bf8978c463  
doris::vectorized::VExprContext::execute_conjuncts_and_filter_block()
       @     0x55bf8978bf72  doris::vectorized::VExprContext::filter_block()
       @     0x55bfa035b8e4  doris::pipeline::SelectOperatorX::pull()
       @     0x55bf9fee2b62  doris::pipeline::StreamingOperatorX<>::get_block()
       @     0x55bf9feab54b  
doris::pipeline::OperatorXBase::get_block_after_projects()
       @     0x55bfa03dd07c  doris::pipeline::PipelineXTask::execute()
       @     0x55bfa0413e85  doris::pipeline::TaskScheduler::_do_work()
       @     0x55bfa0417dcb  
doris::pipeline::TaskScheduler::start()::$_0::operator()()
       @     0x55bfa0417d55  std::__invoke_impl<>()
       @     0x55bfa0417d05  
_ZSt10__invoke_rIvRZN5doris8pipeline13TaskScheduler5startEvE3$_0JEENSt9enable_ifIX16is_invocable_r_vIT_T0_DpT1_EES6_E4typeEO
   S7_DpOS8_
       @     0x55bfa0417bcd  std::_Function_handler<>::_M_invoke()
       @     0x55bf6e6c9b63  std::function<>::operator()()
       @     0x55bf7289e209  doris::FunctionRunnable::run()
       @     0x55bf728899c0  doris::ThreadPool::dispatch_thread()
       @     0x55bf728b0c24  std::__invoke_impl<>()
       @     0x55bf728b0afd  std::__invoke<>()
       @     0x55bf728b0a85  
_ZNSt5_BindIFMN5doris10ThreadPoolEFvvEPS1_EE6__callIvJEJLm0EEEET_OSt5tupleIJDpT0_EESt12_Index_tupleIJXspT1_EEE
       @     0x55bf728b092e  std::_Bind<>::operator()<>()
       @     0x55bf728b0845  std::__invoke_impl<>()
       @     0x55bf728b07e5  
_ZSt10__invoke_rIvRSt5_BindIFMN5doris10ThreadPoolEFvvEPS2_EEJEENSt9enable_ifIX16is_invocable_r_vIT_T0_DpT1_EESA_E4typeEOSB_D
   pOSC_
       @     0x55bf728b048d  std::_Function_handler<>::_M_invoke()
       @     0x55bf6e6c9b63  std::function<>::operator()()
       @     0x55bf728521fc  doris::Thread::supervise_thread()
       @     0x7f4260614ea5  start_thread
       @     0x7f42610439fd  __clone
       @              (nil)  (unknown)
   ```
   
   ### Release note
   
   None
   
   ### Check List (For Author)
   
   - Test <!-- At least one of them must be included. -->
       - [ ] Regression test
       - [ ] Unit Test
       - [ ] Manual test (add detailed scripts or steps below)
       - [ ] No need to test or manual test. Explain why:
           - [ ] This is a refactor/code format and no logic has been changed.
           - [ ] Previous test can cover this change.
           - [ ] No code files have been changed.
           - [ ] Other reason <!-- Add your reason?  -->
   
   - Behavior changed:
       - [ ] No.
       - [ ] Yes. <!-- Explain the behavior change -->
   
   - Does this need documentation?
       - [ ] No.
       - [ ] Yes. <!-- Add document PR link here. eg: 
https://github.com/apache/doris-website/pull/1214 -->
   
   ### Check List (For Reviewer who merge this PR)
   
   - [ ] Confirm the release note
   - [ ] Confirm test cases
   - [ ] Confirm document
   - [ ] Add branch pick label <!-- Add branch pick label that this PR should 
merge into -->
   
   


-- 
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: commits-unsubscr...@doris.apache.org

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


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

Reply via email to