diff options
author | Andrew Hutchings <andrew@linuxjedi.co.uk> | 2019-11-27 14:34:14 +0000 |
---|---|---|
committer | Oleksandr Byelkin <sanja@mariadb.com> | 2020-06-19 21:04:17 +0200 |
commit | 793dcc7368b1a45b0d3d103ed13bf65effe87847 (patch) | |
tree | 01fa6e509ce2d27131ce498d409cd6d64a4ff975 /storage/columnstore | |
parent | 4e16e4fc01921f40d44612b6cad41ae5d45cb502 (diff) | |
download | mariadb-git-793dcc7368b1a45b0d3d103ed13bf65effe87847.tar.gz |
Add stub for building ColumnStore
Diffstat (limited to 'storage/columnstore')
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 |