1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

MDEV-7283 UDF: CREATE OR REPLACE, CREATE IF NOT EXISTS, DROP IF EXISTS

MDEV-7282 SP: CREATE OR REPLACE, CREATE IF NOT EXISTS
This commit is contained in:
Alexander Barkov
2014-12-15 17:41:15 +04:00
parent 48ed8ab215
commit 2dbd26932d
23 changed files with 1011 additions and 147 deletions

View File

@ -0,0 +1,38 @@
CREATE FUNCTION IF NOT EXISTS metaphon RETURNS STRING SONAME "UDF_EXAMPLE_LIB";
SELECT ret FROM mysql.func WHERE name like 'metaphon';
ret
0
CREATE FUNCTION metaphon RETURNS INT SONAME "$UDF_EXAMPLE_SO";
ERROR HY000: Function 'metaphon' already exists
SELECT ret FROM mysql.func WHERE name like 'metaphon';
ret
0
CREATE FUNCTION IF NOT EXISTS metaphon RETURNS REAL SONAME "UDF_EXAMPLE_LIB";
Warnings:
Note 1125 Function 'metaphon' already exists
SELECT ret FROM mysql.func WHERE name like 'metaphon';
ret
0
DROP FUNCTION IF EXISTS metaphon;
CREATE FUNCTION IF NOT EXISTS metaphon RETURNS REAL SONAME "UDF_EXAMPLE_LIB";
SELECT ret FROM mysql.func WHERE name like 'metaphon';
ret
1
CREATE OR REPLACE FUNCTION IF NOT EXISTS metaphon RETURNS STRING SONAME "udf_example.so";
ERROR HY000: Incorrect usage of OR REPLACE and IF NOT EXISTS
SELECT ret FROM mysql.func WHERE name like 'metaphon';
ret
1
CREATE OR REPLACE FUNCTION metaphon RETURNS STRING SONAME "UDF_EXAMPLE_LIB";
SELECT ret FROM mysql.func WHERE name like 'metaphon';
ret
0
CREATE FUNCTION metaphon RETURNS STRING SONAME "udf_example.so";
ERROR HY000: Function 'metaphon' already exists
SELECT metaphon('mariadb');
metaphon('mariadb')
MRTB
DROP FUNCTION metaphon;
DROP FUNCTION IF EXISTS metaphon;
Warnings:
Note 1305 FUNCTION test.metaphon does not exist