diff --git a/mysql-test/columnstore/basic/t/mcs192_corr_function.test b/mysql-test/columnstore/basic/t/mcs192_corr_function.test index 02a18076c..9ba181b90 100644 --- a/mysql-test/columnstore/basic/t/mcs192_corr_function.test +++ b/mysql-test/columnstore/basic/t/mcs192_corr_function.test @@ -11,11 +11,26 @@ DROP DATABASE IF EXISTS mcs192_db; CREATE DATABASE mcs192_db; USE mcs192_db; +let $func_exists=`SELECT COUNT(*) FROM mysql.func WHERE name='corr'`; +--disable_query_log +if (!$func_exists) +{ + --eval CREATE AGGREGATE FUNCTION corr RETURNS REAL SONAME '$LIBREGR_MYSQL_SO'; +} +--enable_query_log + CREATE TABLE t1 (x INT, y MEDIUMINT, z CHAR(5))ENGINE=Columnstore; INSERT INTO t1 VALUES (NULL, NULL, ''),(20, 1, 'aaa'),(39, 2, 'aaa'),(48, 3, 'bbb'),(57, 4, 'bbb'),(66, 5, 'aaa'),(75, 6, 'aaa'),(84, 7, 'bbb'); SELECT CORR(y, x) FROM t1; SELECT z, CORR(y, x) FROM t1 GROUP BY z ORDER BY z; +--disable_query_log +if (!$func_exists) +{ + DROP FUNCTION corr; +} +--enable_query_log + # Clean UP DROP DATABASE mcs192_db; diff --git a/mysql-test/columnstore/basic/t/mcs193_covar_pop_function.test b/mysql-test/columnstore/basic/t/mcs193_covar_pop_function.test index 138b88e3f..3dd7f8ce6 100644 --- a/mysql-test/columnstore/basic/t/mcs193_covar_pop_function.test +++ b/mysql-test/columnstore/basic/t/mcs193_covar_pop_function.test @@ -8,6 +8,15 @@ DROP DATABASE IF EXISTS mcs193_db; --enable_warnings +let $func_exists=`SELECT COUNT(*) FROM mysql.func WHERE name='covar_pop'`; +--disable_query_log +if (!$func_exists) +{ + --eval CREATE AGGREGATE FUNCTION covar_pop RETURNS REAL SONAME '$LIBREGR_MYSQL_SO'; +} +--enable_query_log + + CREATE DATABASE mcs193_db; USE mcs193_db; @@ -17,5 +26,12 @@ INSERT INTO t1 VALUES (NULL, NULL, ''),(20, 1, 'aaa'),(39, 2, 'aaa'),(48, 3, 'bb SELECT COVAR_POP(y, x) FROM t1; SELECT z, COVAR_POP(y, x) FROM t1 GROUP BY z ORDER BY z; +--disable_query_log +if (!$func_exists) +{ + DROP FUNCTION covar_pop; +} +--enable_query_log + # Clean UP DROP DATABASE mcs193_db; diff --git a/mysql-test/columnstore/basic/t/mcs194_covar_samp_function.test b/mysql-test/columnstore/basic/t/mcs194_covar_samp_function.test index 3c7d3eab1..3be1738d7 100644 --- a/mysql-test/columnstore/basic/t/mcs194_covar_samp_function.test +++ b/mysql-test/columnstore/basic/t/mcs194_covar_samp_function.test @@ -11,11 +11,26 @@ DROP DATABASE IF EXISTS mcs194_db; CREATE DATABASE mcs194_db; USE mcs194_db; +let $func_exists=`SELECT COUNT(*) FROM mysql.func WHERE name='covar_samp'`; +--disable_query_log +if (!$func_exists) +{ + --eval CREATE AGGREGATE FUNCTION covar_samp RETURNS REAL SONAME '$LIBREGR_MYSQL_SO'; +} +--enable_query_log + CREATE TABLE t1 (x INT, y MEDIUMINT, z CHAR(5))ENGINE=Columnstore; INSERT INTO t1 VALUES (NULL, NULL, ''),(20, 1, 'aaa'),(39, 2, 'aaa'),(48, 3, 'bbb'),(57, 4, 'bbb'),(66, 5, 'aaa'),(75, 6, 'aaa'),(84, 7, 'bbb'); SELECT COVAR_SAMP(y, x) FROM t1; SELECT z, COVAR_SAMP(y, x) FROM t1 GROUP BY z ORDER BY z; +--disable_query_log +if (!$func_exists) +{ + DROP FUNCTION covar_samp; +} +--enable_query_log + # Clean UP DROP DATABASE mcs194_db; diff --git a/mysql-test/columnstore/basic/t/mcs195_regr_avgx_avgy_function.test b/mysql-test/columnstore/basic/t/mcs195_regr_avgx_avgy_function.test index 9c7dc165e..40e97cc95 100644 --- a/mysql-test/columnstore/basic/t/mcs195_regr_avgx_avgy_function.test +++ b/mysql-test/columnstore/basic/t/mcs195_regr_avgx_avgy_function.test @@ -11,6 +11,15 @@ DROP DATABASE IF EXISTS mcs195_db; CREATE DATABASE mcs195_db; USE mcs195_db; +let $func_exists=`SELECT COUNT(*) FROM mysql.func WHERE name='regr_avgx'`; +--disable_query_log +if (!$func_exists) +{ + --eval CREATE AGGREGATE FUNCTION regr_avgx RETURNS REAL SONAME '$LIBREGR_MYSQL_SO'; + --eval CREATE AGGREGATE FUNCTION regr_avgy RETURNS REAL SONAME '$LIBREGR_MYSQL_SO'; +} +--enable_query_log + CREATE TABLE t1 (x INT, y MEDIUMINT, z CHAR(5))ENGINE=Columnstore; INSERT INTO t1 VALUES (NULL, NULL, ''),(20, 1, 'aaa'),(39, 2, 'aaa'),(48, 3, 'bbb'),(57, 4, 'bbb'),(66, 5, 'aaa'),(75, 6, 'aaa'),(84, 7, 'bbb'); @@ -20,5 +29,13 @@ SELECT z, REGR_AVGX(y, x) FROM t1 GROUP BY z ORDER BY z; SELECT REGR_AVGY(y, x) FROM t1; SELECT z, REGR_AVGY(y, x) FROM t1 GROUP BY z ORDER BY z; +--disable_query_log +if (!$func_exists) +{ + DROP FUNCTION regr_avgx; + DROP FUNCTION regr_avgy; +} +--enable_query_log + # Clean UP DROP DATABASE mcs195_db; diff --git a/mysql-test/columnstore/basic/t/mcs196_regr_sxx_sxy_syy_functions.test b/mysql-test/columnstore/basic/t/mcs196_regr_sxx_sxy_syy_functions.test index 4a379c0f4..5bca480cb 100644 --- a/mysql-test/columnstore/basic/t/mcs196_regr_sxx_sxy_syy_functions.test +++ b/mysql-test/columnstore/basic/t/mcs196_regr_sxx_sxy_syy_functions.test @@ -11,6 +11,16 @@ DROP DATABASE IF EXISTS mcs196_db; CREATE DATABASE mcs196_db; USE mcs196_db; +let $func_exists=`SELECT COUNT(*) FROM mysql.func WHERE name='regr_sxx'`; +--disable_query_log +if (!$func_exists) +{ + --eval CREATE AGGREGATE FUNCTION regr_sxx RETURNS REAL SONAME '$LIBREGR_MYSQL_SO'; + --eval CREATE AGGREGATE FUNCTION regr_sxy RETURNS REAL SONAME '$LIBREGR_MYSQL_SO'; + --eval CREATE AGGREGATE FUNCTION regr_syy RETURNS REAL SONAME '$LIBREGR_MYSQL_SO'; +} +--enable_query_log + CREATE TABLE t1 (x INT, y MEDIUMINT, z CHAR(5))ENGINE=Columnstore; INSERT INTO t1 VALUES (NULL, NULL, ''),(20, 1, 'aaa'),(39, 2, 'aaa'),(48, 3, 'bbb'),(57, 4, 'bbb'),(66, 5, 'aaa'),(75, 6, 'aaa'),(84, 7, 'bbb'); @@ -23,5 +33,14 @@ SELECT z, REGR_SXY(y, x) FROM t1 GROUP BY z ORDER BY z; SELECT REGR_SYY(y, x) FROM t1; SELECT z, REGR_SYY(y, x) FROM t1 GROUP BY z ORDER BY z; +--disable_query_log +if (!$func_exists) +{ + DROP FUNCTION regr_sxx; + DROP FUNCTION regr_sxy; + DROP FUNCTION regr_syy; +} +--enable_query_log + # Clean UP DROP DATABASE mcs196_db; diff --git a/mysql-test/columnstore/basic/t/mcs197_regr_count_function.test b/mysql-test/columnstore/basic/t/mcs197_regr_count_function.test index 319d526cd..a808225bd 100644 --- a/mysql-test/columnstore/basic/t/mcs197_regr_count_function.test +++ b/mysql-test/columnstore/basic/t/mcs197_regr_count_function.test @@ -11,6 +11,14 @@ DROP DATABASE IF EXISTS mcs197_db; CREATE DATABASE mcs197_db; USE mcs197_db; +let $func_exists=`SELECT COUNT(*) FROM mysql.func WHERE name='regr_count'`; +--disable_query_log +if (!$func_exists) +{ + --eval CREATE AGGREGATE FUNCTION regr_count RETURNS INTEGER SONAME '$LIBREGR_MYSQL_SO'; +} +--enable_query_log + CREATE TABLE t1 (x INT, y MEDIUMINT, z CHAR(5))ENGINE=Columnstore; INSERT INTO t1 VALUES (NULL, NULL, ''),(20, 1, 'aaa'),(39, 2, 'aaa'),(48, 3, 'bbb'),(57, 4, 'bbb'),(66, 5, 'aaa'),(75, 6, 'aaa'),(84, 7, 'bbb'); @@ -20,5 +28,12 @@ SELECT z, REGR_COUNT(y, x) FROM t1 GROUP BY z ORDER BY z; --error 1123 SELECT REGR_COUNT(y) FROM t1; +--disable_query_log +if (!$func_exists) +{ + DROP FUNCTION regr_count; +} +--enable_query_log + # Clean UP DROP DATABASE mcs197_db; diff --git a/mysql-test/columnstore/basic/t/mcs198_regr_intercept_function.test b/mysql-test/columnstore/basic/t/mcs198_regr_intercept_function.test index 39b67a397..53b962173 100644 --- a/mysql-test/columnstore/basic/t/mcs198_regr_intercept_function.test +++ b/mysql-test/columnstore/basic/t/mcs198_regr_intercept_function.test @@ -11,6 +11,14 @@ DROP DATABASE IF EXISTS mcs198_db; CREATE DATABASE mcs198_db; USE mcs198_db; +let $func_exists=`SELECT COUNT(*) FROM mysql.func WHERE name='regr_intercept'`; +--disable_query_log +if (!$func_exists) +{ + --eval CREATE AGGREGATE FUNCTION regr_intercept RETURNS REAL SONAME '$LIBREGR_MYSQL_SO'; +} +--enable_query_log + CREATE TABLE t1 (x INT, y MEDIUMINT, z CHAR(5))ENGINE=Columnstore; INSERT INTO t1 VALUES (NULL, NULL, ''),(20, 1, 'aaa'),(39, 2, 'aaa'),(48, 3, 'bbb'),(57, 4, 'bbb'),(66, 5, 'aaa'),(75, 6, 'aaa'),(84, 7, 'bbb'); @@ -20,5 +28,12 @@ SELECT z, REGR_INTERCEPT(y, x) FROM t1 GROUP BY z ORDER BY z; --error 1123 SELECT REGR_INTERCEPT(y) FROM t1; +--disable_query_log +if (!$func_exists) +{ + DROP FUNCTION regr_intercept; +} +--enable_query_log + # Clean UP DROP DATABASE mcs198_db; diff --git a/mysql-test/columnstore/basic/t/mcs199_regr_r2_function.test b/mysql-test/columnstore/basic/t/mcs199_regr_r2_function.test index ac66d523a..bda80d23b 100644 --- a/mysql-test/columnstore/basic/t/mcs199_regr_r2_function.test +++ b/mysql-test/columnstore/basic/t/mcs199_regr_r2_function.test @@ -11,6 +11,14 @@ DROP DATABASE IF EXISTS mcs199_db; CREATE DATABASE mcs199_db; USE mcs199_db; +let $func_exists=`SELECT COUNT(*) FROM mysql.func WHERE name='regr_r2'`; +--disable_query_log +if (!$func_exists) +{ + --eval CREATE AGGREGATE FUNCTION regr_r2 RETURNS REAL SONAME '$LIBREGR_MYSQL_SO'; +} +--enable_query_log + CREATE TABLE t1 (x INT, y MEDIUMINT, z CHAR(5))ENGINE=Columnstore; INSERT INTO t1 VALUES (NULL, NULL, ''),(20, 1, 'aaa'),(39, 2, 'aaa'),(48, 3, 'bbb'),(57, 4, 'bbb'),(66, 5, 'aaa'),(75, 6, 'aaa'),(84, 7, 'bbb'); @@ -20,5 +28,12 @@ SELECT z, REGR_R2(y, x) FROM t1 GROUP BY z ORDER BY z; --error 1123 SELECT REGR_R2(y) FROM t1; +--disable_query_log +if (!$func_exists) +{ + DROP FUNCTION regr_r2; +} +--enable_query_log + # Clean UP DROP DATABASE mcs199_db; diff --git a/mysql-test/columnstore/basic/t/mcs200_regr_slope_function.test b/mysql-test/columnstore/basic/t/mcs200_regr_slope_function.test index 0156cc62f..6260a7653 100644 --- a/mysql-test/columnstore/basic/t/mcs200_regr_slope_function.test +++ b/mysql-test/columnstore/basic/t/mcs200_regr_slope_function.test @@ -11,6 +11,14 @@ DROP DATABASE IF EXISTS mcs200_db; CREATE DATABASE mcs200_db; USE mcs200_db; +let $func_exists=`SELECT COUNT(*) FROM mysql.func WHERE name='regr_slope'`; +--disable_query_log +if (!$func_exists) +{ + --eval CREATE AGGREGATE FUNCTION regr_slope RETURNS REAL SONAME '$LIBREGR_MYSQL_SO'; +} +--enable_query_log + CREATE TABLE t1 (x INT, y MEDIUMINT, z CHAR(5))ENGINE=Columnstore; INSERT INTO t1 VALUES (NULL, NULL, ''),(20, 1, 'aaa'),(39, 2, 'aaa'),(48, 3, 'bbb'),(57, 4, 'bbb'),(66, 5, 'aaa'),(75, 6, 'aaa'),(84, 7, 'bbb'); @@ -20,5 +28,12 @@ SELECT z, REGR_SLOPE(y, x) FROM t1 GROUP BY z ORDER BY z; --error 1123 SELECT REGR_SLOPE(y) FROM t1; +--disable_query_log +if (!$func_exists) +{ + DROP FUNCTION regr_slope; +} +--enable_query_log + # Clean UP DROP DATABASE mcs200_db; diff --git a/utils/regr/CMakeLists.txt b/utils/regr/CMakeLists.txt index 618e190a0..68756286d 100755 --- a/utils/regr/CMakeLists.txt +++ b/utils/regr/CMakeLists.txt @@ -22,3 +22,5 @@ add_library(regr_mysql SHARED ${regr_mysql_LIB_SRCS}) install(TARGETS regr_mysql DESTINATION ${MARIADB_PLUGINDIR} COMPONENT columnstore-engine) +set_target_properties(regr_mysql PROPERTIES + LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/../../../)