1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-04-21 19:45:56 +03:00

58 lines
1.6 KiB
Plaintext

# -------------------------------------------------------------- #
# Test case migrated from regression test suite: bug4543.sql
#
# Author: Daniel Lee, daniel.lee@mariadb.com
# -------------------------------------------------------------- #
#
--source ../include/have_columnstore.inc
#
USE tpch1;
#
#
# Bug 4543. EM min/max was getting set for extent that wasn't scanned. The extent was not scanned because another column's min/max
# value didn't qualify.
#
--disable_warnings
drop table if exists bug4543;
--enable_warnings
create table bug4543 (
dart_ad_id int,
hsa_order_id int,
date_stamp int,
adjusted_imp int
) engine=columnstore;
#
# Insert vals 1..10,000 from supplier.
#
insert into bug4543 (select s_suppkey, s_suppkey, s_suppkey, s_suppkey from supplier);
#
# Set the min and max for the last three cols in the table.
#
select count(hsa_order_id) from bug4543;
select count(date_stamp) from bug4543;
select count(adjusted_imp) from bug4543;
#
# Run this select. The dart_ad_id column will be the scan column as it's the first one in the table.
# The date_stamp filter will cause the extent to be skipped.
#
select date_stamp, sum(adjusted_imp)
from bug4543
where date_stamp>=20000
and hsa_order_id>=3 and dart_ad_id=3
group by date_stamp
order by date_stamp;
#
# Validate that we see 10,000 rows with dart_ad_id >= 1. Before the fix, this was returning 0 rows as the min was max and the max was min
# and the extent status was set to valid.
#
select count(*) from bug4543 where dart_ad_id >= 1;
#
--disable_warnings
drop table if exists bug4543;
--enable_warnings
#