summaryrefslogtreecommitdiff
path: root/storage/columnstore
diff options
context:
space:
mode:
authorAndrew Hutchings <andrew@linuxjedi.co.uk>2019-11-27 14:34:14 +0000
committerOleksandr Byelkin <sanja@mariadb.com>2020-06-19 21:04:17 +0200
commit793dcc7368b1a45b0d3d103ed13bf65effe87847 (patch)
tree01fa6e509ce2d27131ce498d409cd6d64a4ff975 /storage/columnstore
parent4e16e4fc01921f40d44612b6cad41ae5d45cb502 (diff)
downloadmariadb-git-793dcc7368b1a45b0d3d103ed13bf65effe87847.tar.gz
Add stub for building ColumnStore
Diffstat (limited to 'storage/columnstore')
-rw-r--r--storage/columnstore/CMakeLists.txt20
m---------storage/columnstore/columnstore0
-rw-r--r--storage/columnstore/mysql-test/columnstore/include/cleanup_columnstore.inc4
-rw-r--r--storage/columnstore/mysql-test/columnstore/include/have_columnstore.inc13
-rw-r--r--storage/columnstore/mysql-test/columnstore/r/basic.result17
-rw-r--r--storage/columnstore/mysql-test/columnstore/suite.opt1
-rw-r--r--storage/columnstore/mysql-test/columnstore/suite.pm7
-rw-r--r--storage/columnstore/mysql-test/columnstore/t/basic.test20
8 files changed, 82 insertions, 0 deletions
diff --git a/storage/columnstore/CMakeLists.txt b/storage/columnstore/CMakeLists.txt
new file mode 100644
index 00000000000..cc7a52eea5b
--- /dev/null
+++ b/storage/columnstore/CMakeLists.txt
@@ -0,0 +1,20 @@
+set(PLUGIN_COLUMNSTORE "NO" CACHE STRING "Enable ColumnStore engine")
+
+if("NO" STREQUAL "${PLUGIN_COLUMNSTORE}")
+ return()
+endif()
+
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DCOLUMNSTORE_MATURITY=MariaDB_PLUGIN_MATURITY_GAMMA")
+add_subdirectory(columnstore)
+
+# Needed to bump the component changes up to the main scope
+SET(CPACK_COMPONENTS_ALL ${CPACK_COMPONENTS_ALL} PARENT_SCOPE)
+IF (RPM)
+ SET(CPACK_RPM_columnstore-platform_USER_FILELIST ${CPACK_RPM_columnstore-platform_USER_FILELIST} PARENT_SCOPE)
+ SET(CPACK_RPM_columnstore-libs_USER_FILELIST ${CPACK_RPM_columnstore-libs_USER_FILELIST} PARENT_SCOPE)
+ SET(CPACK_RPM_columnstore-engine_USER_FILELIST ${CPACK_RPM_columnstore-engine_USER_FILELIST} PARENT_SCOPE)
+ SET(CPACK_RPM_columnstore-platform_PACKAGE_REQUIRES ${CPACK_RPM_columnstore-platform_PACKAGE_REQUIRES} PARENT_SCOPE)
+ SET(CPACK_RPM_columnstore-platform_PRE_INSTALL_SCRIPT_FILE ${CPACK_RPM_columnstore-platform_PRE_INSTALL_SCRIPT_FILE} PARENT_SCOPE)
+ SET(CPACK_RPM_columnstore-platform_POST_INSTALL_SCRIPT_FILE ${CPACK_RPM_columnstore-platform_POST_INSTALL_SCRIPT_FILE} PARENT_SCOPE)
+ SET(CPACK_RPM_columnstore-platform_PRE_UNINSTALL_SCRIPT_FILE ${CPACK_RPM_columnstore-platform_PRE_UNINSTALL_SCRIPT_FILE} PARENT_SCOPE)
+ENDIF ()
diff --git a/storage/columnstore/columnstore b/storage/columnstore/columnstore
new file mode 160000
+Subproject 384764da3fdc1fa2b60ac5b903b1339b37e97b4
diff --git a/storage/columnstore/mysql-test/columnstore/include/cleanup_columnstore.inc b/storage/columnstore/mysql-test/columnstore/include/cleanup_columnstore.inc
new file mode 100644
index 00000000000..c1286a5ea64
--- /dev/null
+++ b/storage/columnstore/mysql-test/columnstore/include/cleanup_columnstore.inc
@@ -0,0 +1,4 @@
+--disable_query_log
+DROP FUNCTION IF EXISTS mcssystemready;
+--enable_query_log
+
diff --git a/storage/columnstore/mysql-test/columnstore/include/have_columnstore.inc b/storage/columnstore/mysql-test/columnstore/include/have_columnstore.inc
new file mode 100644
index 00000000000..f6b97fed471
--- /dev/null
+++ b/storage/columnstore/mysql-test/columnstore/include/have_columnstore.inc
@@ -0,0 +1,13 @@
+if (`SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.ENGINES WHERE engine = 'columnstore' AND support IN ('YES', 'DEFAULT', 'ENABLED')`)
+{
+ --skip Test requires engine ColumnStore.
+}
+
+--disable_query_log
+CREATE FUNCTION mcssystemready RETURNS INTEGER SONAME 'ha_columnstore.so';
+--enable_query_log
+
+if (`SELECT mcssystemready() = 0`)
+{
+ --skip Test requires ColumnStore to be running
+}
diff --git a/storage/columnstore/mysql-test/columnstore/r/basic.result b/storage/columnstore/mysql-test/columnstore/r/basic.result
new file mode 100644
index 00000000000..3be76759732
--- /dev/null
+++ b/storage/columnstore/mysql-test/columnstore/r/basic.result
@@ -0,0 +1,17 @@
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 (a INT, b VARCHAR(255)) ENGINE=columnstore;
+INSERT INTO t1 (a, b) VALUES (1, 'columnstore'), (2, 'test');
+SELECT * FROM t1;
+a b
+1 columnstore
+2 test
+UPDATE t1 SET a=a+100;
+SELECT * FROM t1;
+a b
+101 columnstore
+102 test
+DELETE FROM t1 WHERE a=101;
+SELECT * FROM t1;
+a b
+102 test
+DROP TABLE t1;
diff --git a/storage/columnstore/mysql-test/columnstore/suite.opt b/storage/columnstore/mysql-test/columnstore/suite.opt
new file mode 100644
index 00000000000..fbd322fdd72
--- /dev/null
+++ b/storage/columnstore/mysql-test/columnstore/suite.opt
@@ -0,0 +1 @@
+--plugin-load-add=$HA_COLUMNSTORE_SO
diff --git a/storage/columnstore/mysql-test/columnstore/suite.pm b/storage/columnstore/mysql-test/columnstore/suite.pm
new file mode 100644
index 00000000000..5579df4048e
--- /dev/null
+++ b/storage/columnstore/mysql-test/columnstore/suite.pm
@@ -0,0 +1,7 @@
+package My::Suite::ColumnStore;
+
+use My::SysInfo;
+
+@ISA = qw(My::Suite);
+
+bless { };
diff --git a/storage/columnstore/mysql-test/columnstore/t/basic.test b/storage/columnstore/mysql-test/columnstore/t/basic.test
new file mode 100644
index 00000000000..34ab07d7f64
--- /dev/null
+++ b/storage/columnstore/mysql-test/columnstore/t/basic.test
@@ -0,0 +1,20 @@
+--source include/have_columnstore.inc
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+CREATE TABLE t1 (a INT, b VARCHAR(255)) ENGINE=columnstore;
+
+INSERT INTO t1 (a, b) VALUES (1, 'columnstore'), (2, 'test');
+SELECT * FROM t1;
+
+UPDATE t1 SET a=a+100;
+SELECT * FROM t1;
+
+DELETE FROM t1 WHERE a=101;
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+--source include/cleanup_columnstore.inc