You've already forked mariadb-columnstore-engine
							
							
				mirror of
				https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
				synced 2025-10-31 18:30:33 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			206 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			206 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # -------------------------------------------------------------- #
 | |
| # Test case migrated from regression test suite: bug2976.sql
 | |
| #
 | |
| # Author: Daniel Lee, daniel.lee@mariadb.com
 | |
| # -------------------------------------------------------------- #
 | |
| #
 | |
| --source ../include/have_columnstore.inc
 | |
| #
 | |
| USE tpch1;
 | |
| #
 | |
| #
 | |
| # Bug 2976.  Lost connection with from clause subselect against MyISAM tables in an InfiniDB instance.
 | |
| #
 | |
| 
 | |
| --disable_warnings
 | |
| drop table if exists a;
 | |
| drop table if exists b;
 | |
| --enable_warnings
 | |
| 
 | |
| create table a (c1 int)engine=myisam;
 | |
| create table b (c2 int)engine=myisam;
 | |
| insert into a values (1), (2);
 | |
| insert into b values (1), (2);
 | |
| select * from a, (select * from b) x;
 | |
| --disable_warnings
 | |
| drop table a; 
 | |
| drop table b;
 | |
| --enable_warnings
 | |
| 
 | |
| #
 | |
| # Skinit example. 
 | |
| #
 | |
| --disable_warnings
 | |
| drop table if exists shipamounts;
 | |
| drop table if exists ship1;
 | |
| drop table if exists ship2;
 | |
| --enable_warnings
 | |
| 
 | |
| CREATE TABLE `shipamounts` (
 | |
|   `OrderNum` varchar(50) DEFAULT NULL,
 | |
|   `OrderLine` int(11) DEFAULT NULL,
 | |
|   `ShippingAmount` decimal(10,2) DEFAULT NULL,
 | |
|   `ShippingDiscountAmount` decimal(10,2) DEFAULT NULL,
 | |
|   `ShippingOrderAmount` decimal(10,2) DEFAULT NULL,
 | |
|   `ShippingDiscountOrderAmount` decimal(10,2) DEFAULT NULL
 | |
| ) ENGINE=myisam DEFAULT CHARSET=latin1;
 | |
| 
 | |
| CREATE TABLE `ship1` (
 | |
|   `OrderNum` varchar(50) DEFAULT NULL,
 | |
|   `OrderLine` int(11) DEFAULT NULL,
 | |
|   `ShippingAmount` decimal(10,2) DEFAULT NULL,
 | |
|   `ShippingOrderAmount` decimal(10,2) DEFAULT NULL,
 | |
|   `ShippingDiscountAmount` decimal(10,2) DEFAULT NULL,
 | |
|   `ShippingDiscountOrderAmount` decimal(10,2) DEFAULT NULL
 | |
| ) ENGINE=myisam DEFAULT CHARSET=latin1;
 | |
| 
 | |
| CREATE TABLE `ship2` (
 | |
|   `OrderNum` varchar(50) DEFAULT NULL,
 | |
|   `OrderLine` int(11) DEFAULT NULL,
 | |
|   `ShippingAmount` decimal(10,2) DEFAULT NULL,
 | |
|   `ShippingOrderAmount` decimal(10,2) DEFAULT NULL,
 | |
|   `ShippingDiscountAmount` decimal(10,2) DEFAULT NULL,
 | |
|   `ShippingDiscountOrderAmount` decimal(10,2) DEFAULT NULL
 | |
| ) ENGINE=myisam DEFAULT CHARSET=latin1;
 | |
| 
 | |
| insert into shipamounts values (2357203684, 352338, 0, 0, 0, 0);
 | |
| insert into ship1 values (2357203684, 352338, 0, 0, 0, 0);
 | |
| insert into ship2 values (2357203684, 352338, 0, 0, 0, 0);
 | |
| 
 | |
| SELECT s.OrderNum, s.OrderLine, s.ShippingAmount, s.ShippingOrderAmount,
 | |
|          total.ShippingTotalAmount, s.ShippingDiscountAmount,
 | |
| s.ShippingDiscountOrderAmount,
 | |
|          total.ShippingDiscountTotalAmount,
 | |
|          IF( s.OrderLine = t.MinOrderLine, 1, 0 )
 | |
|      FROM shipAmounts AS s
 | |
|      LEFT OUTER JOIN (
 | |
|          SELECT OrderNum, MIN(OrderLine) AS MinOrderLine
 | |
|          FROM ship1
 | |
|          GROUP BY OrderNum
 | |
|      ) AS t ON s.OrderNum = t.OrderNum
 | |
|      LEFT OUTER JOIN (
 | |
|          SELECT OrderNum, SUM(ShippingAmount) AS ShippingTotalAmount,
 | |
|              SUM(ShippingDiscountAmount) AS ShippingDiscountTotalAmount
 | |
|          FROM ship2 GROUP BY OrderNum
 | |
|      ) AS total ON s.OrderNum = total.OrderNum;
 | |
| 
 | |
| SELECT s.OrderNum, s.OrderLine, s.ShippingAmount, s.ShippingOrderAmount,
 | |
|          total.ShippingTotalAmount, s.ShippingDiscountAmount,
 | |
| 	 s.ShippingDiscountOrderAmount,
 | |
|          total.ShippingDiscountTotalAmount,
 | |
|          IF( s.OrderLine = t.MinOrderLine, 1, 0 )
 | |
|      FROM shipAmounts AS s
 | |
|      JOIN (
 | |
|          SELECT sa.OrderNum, MIN(ship1.OrderLine) AS MinOrderLine
 | |
|          FROM shipAmounts sa left join ship1
 | |
|          on (sa.OrderNum = ship1.OrderNum)
 | |
|          GROUP BY OrderNum
 | |
|      ) AS t ON s.OrderNum = t.OrderNum
 | |
|      LEFT OUTER JOIN (
 | |
|          SELECT OrderNum, SUM(ShippingAmount) AS ShippingTotalAmount,
 | |
|              SUM(ShippingDiscountAmount) AS ShippingDiscountTotalAmount
 | |
|          FROM ship2 GROUP BY OrderNum
 | |
|      ) AS total ON s.OrderNum = total.OrderNum;
 | |
| 
 | |
| --disable_warnings
 | |
| drop table if exists shipamounts;
 | |
| drop table if exists ship1;
 | |
| drop table if exists ship2;
 | |
| --enable_warnings
 | |
| #
 | |
| # Lurn India example.
 | |
| #
 | |
| --disable_warnings
 | |
| drop table if exists users;
 | |
| drop table if exists user_login_log;
 | |
| drop table if exists user_groups;
 | |
| drop table if exists user_types;
 | |
| drop table if exists system;
 | |
| drop table if exists user_system;
 | |
| --enable_warnings
 | |
| 
 | |
| create table users(
 | |
| 	id int,
 | |
| 	users_id int, 
 | |
| 	fullname varchar(40), 
 | |
| 	email varchar(40), 
 | |
| 	countries_name varchar(40),
 | |
| 	state_name varchar(7), 
 | |
| 	tel_no varchar(12), 
 | |
| 	affiliate_id varchar(30),
 | |
| 	created datetime,
 | |
| 	milestone varchar(20),
 | |
| 	tel_no2 varchar(12),
 | |
| 	class int,
 | |
| 	status varchar(20)
 | |
| )engine=myisam; 
 | |
| 
 | |
| create table user_login_log 
 | |
| (
 | |
| 	user_id int,
 | |
| 	dw_system_id int,
 | |
| 	login_time datetime
 | |
| )engine=myisam;
 | |
| 
 | |
| create table user_groups 
 | |
| (
 | |
| 	user_id int,
 | |
| 	status varchar(7),
 | |
| 	start_date date,
 | |
| 	end_date date,
 | |
| 	user_type_id int
 | |
| )engine=myisam;
 | |
| 
 | |
| create table user_types 
 | |
| (
 | |
| 	id int,
 | |
| 	user_type_id int,
 | |
| 	name varchar(20)
 | |
| )engine=myisam;
 | |
| 
 | |
| create table user_system 
 | |
| (
 | |
| 	user_id int,
 | |
| 	system_id int
 | |
| )engine=myisam;
 | |
| 
 | |
| create table system
 | |
| (
 | |
| 	id int,
 | |
| 	dw_system_id int
 | |
| )engine=myisam;
 | |
| 
 | |
| SELECT u.users_id as user_id, u.fullname as fullname, u.email as email, u.countries_name as country, u.state_name as state, COALESCE(tel_no, tel_no2, 'No Number') as contact,
 | |
| IFNULL((SELECT users.fullname FROM users WHERE users.id = affiliate_id), 'No Affiliate') as affiliate_name,
 | |
| IFNULL((SELECT users.email FROM users WHERE users.id = affiliate_id), 'No Affiliate') as affiliate_email,
 | |
| DATE_FORMAT( ug.start_date, '%W %D, %M %Y' ) as start_date, DATE_FORMAT( ug.end_date, '%W %D, %M %Y' ) as end_date, ug.status AS status , ug.name AS product, DATE_FORMAT( u.created, '%W %D, %M %Y' ) as created,
 | |
| (SELECT DATE_FORMAT( max(ull.login_time), '%W %D, %M %Y' ) FROM user_login_log as ull WHERE ull.user_id = ug.user_id AND ull.dw_system_id = (SELECT dw_system_id from system where id = 6) AND ull.login_time BETWEEN '2010-06-01' AND '2010-06-30') as 'Last Log In',
 | |
| (SELECT count(id) FROM user_login_log as ull WHERE ull.user_id = ug.user_id AND ull.dw_system_id = (SELECT dw_system_id from system where id = 6) AND ull.login_time BETWEEN '2010-06-01' AND '2010-06-30') as login_count,
 | |
| u.milestone as milestone_level,
 | |
| u.class as class_level
 | |
| FROM users u, ( 
 | |
| SELECT user_id, user_groups.user_type_id, start_date, end_date, user_groups.status, user_types.name
 | |
| FROM user_groups, user_types
 | |
| WHERE user_types.user_type_id IN (54)
 | |
| AND user_groups.user_type_id = user_types.id
 | |
| AND user_groups.status IN ('active')
 | |
| GROUP BY user_id
 | |
| ORDER BY user_type_id DESC ) ug, user_system as us
 | |
| WHERE ug.user_id = u.id
 | |
| AND u.id = us.user_id
 | |
| AND us.system_id IN (6)
 | |
| AND u.status IN ('active')
 | |
| AND ug.start_date BETWEEN '2010-06-01' AND '2010-06-30'
 | |
| ORDER BY DATE(ug.start_date) DESC, u.users_id DESC;
 | |
| 
 | |
| --disable_warnings
 | |
| drop table if exists users;
 | |
| drop table if exists user_login_log;
 | |
| drop table if exists user_groups;
 | |
| drop table if exists user_types;
 | |
| drop table if exists system;
 | |
| drop table if exists user_system;
 | |
| --enable_warnings
 | |
| #
 | |
| 
 |