You've already forked mariadb-columnstore-engine
							
							
				mirror of
				https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
				synced 2025-11-03 17:13:17 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			69 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
#
 | 
						|
# Test EXISTS clause
 | 
						|
# Author: Bharath, bharath.bokka@mariadb.com
 | 
						|
#
 | 
						|
-- source include/have_innodb.inc
 | 
						|
-- source ../include/have_columnstore.inc
 | 
						|
 | 
						|
if (!$MASTER_MYPORT)
 | 
						|
{
 | 
						|
  # Running with --extern
 | 
						|
  let $MASTER_MYPORT=`SELECT @@port`;
 | 
						|
}
 | 
						|
 | 
						|
--disable_warnings
 | 
						|
DROP DATABASE IF EXISTS mcs79_db;
 | 
						|
--enable_warnings
 | 
						|
 | 
						|
CREATE DATABASE mcs79_db;
 | 
						|
USE mcs79_db;
 | 
						|
 | 
						|
#
 | 
						|
# Enable cross engine join
 | 
						|
# Configure user and password in Columnstore.xml file
 | 
						|
#
 | 
						|
--exec $MCS_MCSSETCONFIG CrossEngineSupport User 'cejuser'
 | 
						|
--exec $MCS_MCSSETCONFIG CrossEngineSupport Password 'Vagrant1|0000001'
 | 
						|
--exec $MCS_MCSSETCONFIG CrossEngineSupport Port $MASTER_MYPORT
 | 
						|
 | 
						|
#
 | 
						|
# Create corresponding in the server
 | 
						|
#
 | 
						|
--disable_warnings
 | 
						|
CREATE USER IF NOT EXISTS 'cejuser'@'localhost' IDENTIFIED BY 'Vagrant1|0000001';
 | 
						|
--enable_warnings
 | 
						|
GRANT ALL PRIVILEGES ON *.* TO 'cejuser'@'localhost';
 | 
						|
FLUSH PRIVILEGES;
 | 
						|
 | 
						|
CREATE TABLE t1 (t1_int INT, t1_char CHAR(5))ENGINE=Columnstore;
 | 
						|
CREATE TABLE t2 (t2_int INT, t2_char CHAR(5))ENGINE=Columnstore;
 | 
						|
CREATE TABLE t3 (t3_int INT, t3_char CHAR(5))ENGINE=Innodb;
 | 
						|
CREATE TABLE t4 (t4_int INT, t4_char CHAR(5))ENGINE=Myisam;
 | 
						|
INSERT INTO t1 VALUES (NULL, NULL),(1, 'aaa'),(2, 'aaa'),(3, 'ccc'),(4, 'ddd'),(5, 'aaa'),(6, ''),(7, 'eee');
 | 
						|
INSERT INTO t2 VALUES (NULL, NULL),(1, 'eee'),(3, 'ccc'),(5, 'jjj'),(6, ''),(7, 'lll'),(9, 'eee'),(11, 'nnn');
 | 
						|
INSERT INTO t3 SELECT * FROM t2;
 | 
						|
INSERT INTO t4 SELECT * FROM t1;
 | 
						|
 | 
						|
SELECT t1_int FROM t1 WHERE EXISTS (SELECT t2_int FROM t2 WHERE t1.t1_int = t2.t2_int) ORDER BY 1;
 | 
						|
SELECT t1_int, t1_char FROM t1 WHERE NOT EXISTS (SELECT t2_int FROM t2 WHERE t1.t1_int = t2.t2_int) ORDER BY t1_char;
 | 
						|
SELECT * FROM t2 WHERE EXISTS (SELECT t1_int FROM t1 WHERE t1.t1_int = t2.t2_int) ORDER BY t2_int;
 | 
						|
SELECT t1_char FROM t1 WHERE NOT EXISTS (SELECT t2_int FROM t2 WHERE t1.t1_int = t2.t2_int) ORDER BY t1_char;
 | 
						|
SELECT t1_char FROM t1 WHERE EXISTS (SELECT 1 FROM t2 WHERE t2_int IS NULL) ORDER BY 1;
 | 
						|
SELECT t1_char, t1_int FROM t1 WHERE EXISTS (SELECT 1 FROM t2 WHERE t2_int IS NULL) AND t1_int > 5 ORDER BY 1;
 | 
						|
 | 
						|
# cross engine
 | 
						|
SELECT t1_int FROM t1 WHERE EXISTS (SELECT t3_int FROM t3 WHERE t1.t1_int = t3.t3_int);
 | 
						|
SELECT t1_int FROM t1 WHERE NOT EXISTS (SELECT t3_int FROM t3 WHERE t1.t1_int = t3.t3_int);
 | 
						|
SELECT t3_int FROM t3 WHERE EXISTS (SELECT t2_int FROM t2 WHERE t3.t3_int = t2.t2_int);
 | 
						|
SELECT t3_int FROM t3 WHERE NOT EXISTS (SELECT t2_int FROM t2 WHERE t3.t3_int = t2.t2_int);
 | 
						|
SELECT t1_int FROM t1 WHERE EXISTS (SELECT t4_int FROM t4 WHERE t1.t1_int = t4.t4_int);
 | 
						|
SELECT t1_int FROM t1 WHERE NOT EXISTS (SELECT t4_int FROM t4 WHERE t1.t1_int = t4.t4_int);
 | 
						|
SELECT t4_int FROM t4 WHERE EXISTS (SELECT t2_int FROM t2 WHERE t4.t4_int = t2.t2_int);
 | 
						|
SELECT t4_int FROM t4 WHERE NOT EXISTS (SELECT t2_int FROM t2 WHERE t4.t4_int = t2.t2_int);
 | 
						|
	
 | 
						|
# Clean UP
 | 
						|
--disable_warnings
 | 
						|
DROP USER 'cejuser'@'localhost';
 | 
						|
--enable_warnings
 | 
						|
DROP DATABASE mcs79_db;
 |