1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-11-27 08:21:15 +03:00
Files
mariadb-columnstore-engine/mtr/basic/t/mcs16_functions_define_call_drop.test
mariadb-RomanNavrotskiy 73b4147cf3 move mtr suites here
2021-01-31 01:38:31 +02:00

75 lines
1.5 KiB
Plaintext

#
# Basic Stored Functions
# Author: Bharath, bharath.bokka@mariadb.com
#
-- source ../include/have_columnstore.inc
--disable_warnings
DROP DATABASE IF EXISTS mcs16_db;
--enable_warnings
CREATE DATABASE mcs16_db;
USE mcs16_db;
CREATE TABLE t1(x INT, y CHAR(10))ENGINE=Columnstore;
INSERT INTO t1 VALUES(1,'aaaaa'),(100,'bbbbbb'),(100,'ccccccc'),(300,'ddddddd');
# function declaration
CREATE FUNCTION f1(z INT) RETURNS INT DETERMINISTIC
RETURN (SELECT x FROM t1 WHERE x = z);
CREATE FUNCTION f2(z INT) RETURNS INT DETERMINISTIC
RETURN (SELECT * FROM t1 WHERE x = z);
# function call
SELECT f1(1);
SELECT f1(300);
SELECT f1(11);
--error 1318
SELECT f1();
--error 1242
SELECT f1(100);
--error 1241
SELECT f2(1);
# function drop
DROP FUNCTION f1;
DROP FUNCTION f2;
--error 1305
DROP FUNCTION f2;
DELIMITER //;
CREATE FUNCTION f3(i INT) RETURNS INT DETERMINISTIC
BEGIN
INSERT INTO t2 VALUES(i+1);
RETURN 42;
END //
DELIMITER ;//
CREATE TABLE t2(col1 INT)ENGINE=Columnstore;
--error 1054
SELECT f3(a);
SELECT f3(123);
SELECT f3(86);
SELECT f3(07);
SELECT * FROM t2;
DROP FUNCTION f3;
DELIMITER //;
CREATE FUNCTION func1() RETURNS INT COMMENT 'comment for func1' LANGUAGE SQL DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER
BEGIN
RETURN 1;
END//
DELIMITER ;//
SHOW CREATE FUNCTION func1;
SELECT func1();
DELIMITER //;
CREATE FUNCTION func2() RETURNS CHAR(10) COMMENT 'comment for func2' LANGUAGE SQL NOT DETERMINISTIC NO SQL SQL SECURITY INVOKER
BEGIN
RETURN 'func2';
END//
DELIMITER ;//
SHOW CREATE FUNCTION func2;
SELECT func2();
DROP DATABASE mcs16_db;