[MCOL-5143] Query on Columnstore table causes Signal 6 crash Created: 2022-06-17  Updated: 2023-07-01

Status: Open
Project: MariaDB ColumnStore
Component/s: None
Affects Version/s: None
Fix Version/s: Icebox

Type: Task Priority: Major
Reporter: Edward Stoever Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None


 Description   

drop schema if exists ztest;
create schema if not exists ztest;
use ztest;
CREATE TABLE `wtest` ( `ddate` date NOT NULL ) ENGINE=Columnstore DEFAULT CHARSET=utf8mb4;
insert into wtest values (now());
 
select * from ztest.wtest dd
where
`ddate` between
  case
  when curdate() <= str_to_date(concat(year(curdate()),'-',quarter(curdate()) * 3 - 2,'-10'), '%Y-%c-%d') then
     str_to_date(concat(year(curdate()),'-',quarter(curdate()) * 3 - 2,'-01'), '%Y-%c-%d') - interval 1 quarter
  else
     str_to_date(concat(year(curdate()),'-',quarter(curdate()) * 3 - 2,'-01'), '%Y-%c-%d')
  end
and
  case
    when curdate() <= str_to_date(concat(year(curdate()),'-',quarter(curdate()) * 3 - 2,'-10'), '%Y-%c-%d') then
    str_to_date(concat(year(curdate()),'-',quarter(curdate()) * 3 - 2,'-01'), '%Y-%c-%d') - interval 1 second
  else
    now()
  end;
  
ERROR 2013 (HY000): Lost connection to server during query
 
In error log:
220617 21:19:33 [ERROR] mysqld got signal 6 ;

Here is a more simplified query that also crashes the database:

select * from ztest.wtest dd
where
`ddate` between
  case
  when curdate()=now() then
     now()-interval 1 day
  else
     now()
  end
and
  now();
  
ERROR 2013 (HY000): Lost connection to server during query



 Comments   
Comment by Edward Stoever [ 2022-06-17 ]

Likely cause is CASE embedded within BETWEEN.

Generated at Thu Feb 08 02:55:39 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.