You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-12-18 13:54:11 +03:00
70 lines
2.8 KiB
Plaintext
70 lines
2.8 KiB
Plaintext
#
|
|
# Cross Engine View
|
|
# Author: Bharath, bharath.bokka@mariadb.com
|
|
#
|
|
-- source ../include/have_columnstore.inc
|
|
|
|
--disable_warnings
|
|
DROP DATABASE IF EXISTS mcs63_db;
|
|
--enable_warnings
|
|
|
|
CREATE DATABASE mcs63_db;
|
|
USE mcs63_db;
|
|
|
|
#
|
|
# Enable cross engine join
|
|
# Configure user and password in Columnstore.xml file
|
|
#
|
|
--exec /usr/bin/mcsSetConfig CrossEngineSupport User 'cejuser'
|
|
--exec /usr/bin/mcsSetConfig CrossEngineSupport Password 'Vagrant1|0000001'
|
|
#
|
|
# 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 tables with Innodb and Columnstore engines
|
|
CREATE TABLE t1 (t1_int INT, t1_char CHAR(5))ENGINE=Innodb;
|
|
CREATE TABLE t2 (t2_int INT, t2_char CHAR(5))ENGINE=Columnstore;
|
|
INSERT INTO t1 VALUES (NULL,''),(1,'aaa'),(2,'bbb'),(3,'ccc'),(4,'ddd'),(5,'eee'),(6,'fff'),(7,'gggg');
|
|
INSERT INTO t2 VALUES (NULL,''),(1,'hhh'),(3,'iii'),(5,'jjj'),(7,'llll'),(9,'kkkk'),(11,'mm'),(13,'n');
|
|
|
|
CREATE VIEW v0 AS SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int;
|
|
SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME='v0' AND TABLE_SCHEMA='mcs63_db';
|
|
SELECT * FROM v0;
|
|
|
|
CREATE VIEW v1 AS SELECT t1.t1_int, t2.t2_int, t1.t1_char, t2.t2_char FROM t1, t2 WHERE t1.t1_int = t2.t2_int;
|
|
SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME='v1' AND TABLE_SCHEMA='mcs63_db';
|
|
SELECT * FROM v1;
|
|
|
|
CREATE VIEW v2 AS SELECT * FROM t1 LEFT JOIN t2 ON t1.t1_int = t2.t2_int;
|
|
SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME='v2' AND TABLE_SCHEMA='mcs63_db';
|
|
SELECT * FROM v2;
|
|
|
|
CREATE VIEW v3 AS SELECT t1.t1_int, t2.t2_int FROM t1 LEFT JOIN t2 ON t1.t1_int = t2.t2_int;
|
|
SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME='v3' AND TABLE_SCHEMA='mcs63_db';
|
|
SELECT * FROM v3;
|
|
|
|
CREATE VIEW v4 AS SELECT * FROM t1 LEFT JOIN t2 ON t1.t1_int = t2.t2_int AND t1.t1_int=1;
|
|
SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME='v4' AND TABLE_SCHEMA='mcs63_db';
|
|
SELECT * FROM v4;
|
|
|
|
CREATE VIEW v5 AS SELECT * FROM t1 RIGHT JOIN t2 ON t1.t1_int = t2.t2_int;
|
|
SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME='v5' AND TABLE_SCHEMA='mcs63_db';
|
|
SELECT * FROM v5;
|
|
|
|
CREATE VIEW v6 AS SELECT t1.t1_char, t2.t2_char FROM t1 RIGHT JOIN t2 ON t1.t1_int = t2.t2_int;
|
|
SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME='v6' AND TABLE_SCHEMA='mcs63_db';
|
|
SELECT * FROM v6;
|
|
|
|
CREATE VIEW v7 AS SELECT * FROM t1 RIGHT JOIN t2 ON t1.t1_int = t2.t2_int AND t2.t2_int=5;
|
|
SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME='v7' AND TABLE_SCHEMA='mcs63_db';
|
|
SELECT * FROM v7;
|
|
|
|
# Clean UP
|
|
DROP USER 'cejuser'@'localhost';
|
|
DROP DATABASE mcs63_db;
|