You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-11-27 08:21:15 +03:00
75 lines
1.5 KiB
Plaintext
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;
|