mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
WL#3629 - Replication of Invocation and Invoked Features
This patch changes test to remove Windows-specific limitations and potential rounding errors in the calculation of a UDF. Also corrects a minor merge conflict.
This commit is contained in:
@ -34,6 +34,7 @@ eval CREATE FUNCTION myfunc_int RETURNS INTEGER SONAME "$UDF_EXAMPLE_LIB";
|
|||||||
--replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB
|
--replace_result $UDF_EXAMPLE_LIB UDF_EXAMPLE_LIB
|
||||||
--error ER_CANT_FIND_DL_ENTRY
|
--error ER_CANT_FIND_DL_ENTRY
|
||||||
eval CREATE FUNCTION myfunc_nonexist RETURNS INTEGER SONAME "$UDF_EXAMPLE_LIB";
|
eval CREATE FUNCTION myfunc_nonexist RETURNS INTEGER SONAME "$UDF_EXAMPLE_LIB";
|
||||||
|
--replace_column 3 UDF_LIB
|
||||||
SELECT * FROM mysql.func;
|
SELECT * FROM mysql.func;
|
||||||
--disable_info
|
--disable_info
|
||||||
|
|
||||||
@ -105,7 +106,7 @@ DROP TABLE t1;
|
|||||||
--echo "Running on the master"
|
--echo "Running on the master"
|
||||||
--enable_info
|
--enable_info
|
||||||
CREATE FUNCTION myfuncsql_int(i INT) RETURNS INTEGER DETERMINISTIC RETURN i;
|
CREATE FUNCTION myfuncsql_int(i INT) RETURNS INTEGER DETERMINISTIC RETURN i;
|
||||||
CREATE FUNCTION myfuncsql_double(d DOUBLE) RETURNS INTEGER DETERMINISTIC RETURN d * 0.95;
|
CREATE FUNCTION myfuncsql_double(d DOUBLE) RETURNS INTEGER DETERMINISTIC RETURN d * 2.00;
|
||||||
SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
|
SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
|
||||||
--disable_info
|
--disable_info
|
||||||
|
|
||||||
|
@ -16,8 +16,8 @@ CREATE FUNCTION myfunc_nonexist RETURNS INTEGER SONAME "UDF_EXAMPLE_LIB";
|
|||||||
ERROR HY000: Can't find symbol 'myfunc_nonexist' in library
|
ERROR HY000: Can't find symbol 'myfunc_nonexist' in library
|
||||||
SELECT * FROM mysql.func;
|
SELECT * FROM mysql.func;
|
||||||
name ret dl type
|
name ret dl type
|
||||||
myfunc_double 1 udf_example.dll function
|
myfunc_double 1 UDF_LIB function
|
||||||
myfunc_int 2 udf_example.dll function
|
myfunc_int 2 UDF_LIB function
|
||||||
affected rows: 2
|
affected rows: 2
|
||||||
"Running on the slave"
|
"Running on the slave"
|
||||||
SELECT * FROM mysql.func;
|
SELECT * FROM mysql.func;
|
||||||
@ -78,17 +78,17 @@ affected rows: 0
|
|||||||
"Running on the master"
|
"Running on the master"
|
||||||
CREATE FUNCTION myfuncsql_int(i INT) RETURNS INTEGER DETERMINISTIC RETURN i;
|
CREATE FUNCTION myfuncsql_int(i INT) RETURNS INTEGER DETERMINISTIC RETURN i;
|
||||||
affected rows: 0
|
affected rows: 0
|
||||||
CREATE FUNCTION myfuncsql_double(d DOUBLE) RETURNS INTEGER DETERMINISTIC RETURN d * 0.95;
|
CREATE FUNCTION myfuncsql_double(d DOUBLE) RETURNS INTEGER DETERMINISTIC RETURN d * 2.00;
|
||||||
affected rows: 0
|
affected rows: 0
|
||||||
SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
|
SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
|
||||||
db name type param_list body comment
|
db name type param_list body comment
|
||||||
test myfuncsql_double FUNCTION d DOUBLE RETURN d * 0.95
|
test myfuncsql_double FUNCTION d DOUBLE RETURN d * 2.00
|
||||||
test myfuncsql_int FUNCTION i INT RETURN i
|
test myfuncsql_int FUNCTION i INT RETURN i
|
||||||
affected rows: 2
|
affected rows: 2
|
||||||
"Running on the slave"
|
"Running on the slave"
|
||||||
SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
|
SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
|
||||||
db name type param_list body comment
|
db name type param_list body comment
|
||||||
test myfuncsql_double FUNCTION d DOUBLE RETURN d * 0.95
|
test myfuncsql_double FUNCTION d DOUBLE RETURN d * 2.00
|
||||||
test myfuncsql_int FUNCTION i INT RETURN i
|
test myfuncsql_int FUNCTION i INT RETURN i
|
||||||
affected rows: 2
|
affected rows: 2
|
||||||
"Running on the master"
|
"Running on the master"
|
||||||
@ -104,18 +104,18 @@ INSERT INTO t1 VALUES(myfuncsql_int(1), myfuncsql_double(500.00));
|
|||||||
affected rows: 1
|
affected rows: 1
|
||||||
SELECT * FROM t1 ORDER BY sum;
|
SELECT * FROM t1 ORDER BY sum;
|
||||||
sum price
|
sum price
|
||||||
1 475
|
1 1000
|
||||||
10 5
|
10 10
|
||||||
100 47
|
100 100
|
||||||
200 24
|
200 50
|
||||||
affected rows: 4
|
affected rows: 4
|
||||||
"Running on the slave"
|
"Running on the slave"
|
||||||
SELECT * FROM t1 ORDER BY sum;
|
SELECT * FROM t1 ORDER BY sum;
|
||||||
sum price
|
sum price
|
||||||
1 475
|
1 1000
|
||||||
10 5
|
10 10
|
||||||
100 47
|
100 100
|
||||||
200 24
|
200 50
|
||||||
affected rows: 4
|
affected rows: 4
|
||||||
"Running on the master"
|
"Running on the master"
|
||||||
ALTER FUNCTION myfuncsql_int COMMENT "This was altered.";
|
ALTER FUNCTION myfuncsql_int COMMENT "This was altered.";
|
||||||
@ -124,13 +124,13 @@ ALTER FUNCTION myfuncsql_double COMMENT "This was altered.";
|
|||||||
affected rows: 0
|
affected rows: 0
|
||||||
SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
|
SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
|
||||||
db name type param_list body comment
|
db name type param_list body comment
|
||||||
test myfuncsql_double FUNCTION d DOUBLE RETURN d * 0.95 This was altered.
|
test myfuncsql_double FUNCTION d DOUBLE RETURN d * 2.00 This was altered.
|
||||||
test myfuncsql_int FUNCTION i INT RETURN i This was altered.
|
test myfuncsql_int FUNCTION i INT RETURN i This was altered.
|
||||||
affected rows: 2
|
affected rows: 2
|
||||||
"Running on the slave"
|
"Running on the slave"
|
||||||
SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
|
SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
|
||||||
db name type param_list body comment
|
db name type param_list body comment
|
||||||
test myfuncsql_double FUNCTION d DOUBLE RETURN d * 0.95 This was altered.
|
test myfuncsql_double FUNCTION d DOUBLE RETURN d * 2.00 This was altered.
|
||||||
test myfuncsql_int FUNCTION i INT RETURN i This was altered.
|
test myfuncsql_int FUNCTION i INT RETURN i This was altered.
|
||||||
affected rows: 2
|
affected rows: 2
|
||||||
SELECT myfuncsql_int(25);
|
SELECT myfuncsql_int(25);
|
||||||
@ -139,7 +139,7 @@ myfuncsql_int(25)
|
|||||||
affected rows: 1
|
affected rows: 1
|
||||||
SELECT myfuncsql_double(75.00);
|
SELECT myfuncsql_double(75.00);
|
||||||
myfuncsql_double(75.00)
|
myfuncsql_double(75.00)
|
||||||
71
|
150
|
||||||
affected rows: 1
|
affected rows: 1
|
||||||
"Running on the master"
|
"Running on the master"
|
||||||
DROP FUNCTION myfuncsql_double;
|
DROP FUNCTION myfuncsql_double;
|
||||||
@ -168,8 +168,8 @@ CREATE FUNCTION myfunc_nonexist RETURNS INTEGER SONAME "UDF_EXAMPLE_LIB";
|
|||||||
ERROR HY000: Can't find symbol 'myfunc_nonexist' in library
|
ERROR HY000: Can't find symbol 'myfunc_nonexist' in library
|
||||||
SELECT * FROM mysql.func;
|
SELECT * FROM mysql.func;
|
||||||
name ret dl type
|
name ret dl type
|
||||||
myfunc_int 2 udf_example.dll function
|
myfunc_int 2 UDF_LIB function
|
||||||
myfunc_double 1 udf_example.dll function
|
myfunc_double 1 UDF_LIB function
|
||||||
affected rows: 2
|
affected rows: 2
|
||||||
"Running on the slave"
|
"Running on the slave"
|
||||||
SELECT * FROM mysql.func;
|
SELECT * FROM mysql.func;
|
||||||
@ -230,17 +230,17 @@ affected rows: 0
|
|||||||
"Running on the master"
|
"Running on the master"
|
||||||
CREATE FUNCTION myfuncsql_int(i INT) RETURNS INTEGER DETERMINISTIC RETURN i;
|
CREATE FUNCTION myfuncsql_int(i INT) RETURNS INTEGER DETERMINISTIC RETURN i;
|
||||||
affected rows: 0
|
affected rows: 0
|
||||||
CREATE FUNCTION myfuncsql_double(d DOUBLE) RETURNS INTEGER DETERMINISTIC RETURN d * 0.95;
|
CREATE FUNCTION myfuncsql_double(d DOUBLE) RETURNS INTEGER DETERMINISTIC RETURN d * 2.00;
|
||||||
affected rows: 0
|
affected rows: 0
|
||||||
SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
|
SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
|
||||||
db name type param_list body comment
|
db name type param_list body comment
|
||||||
test myfuncsql_double FUNCTION d DOUBLE RETURN d * 0.95
|
test myfuncsql_double FUNCTION d DOUBLE RETURN d * 2.00
|
||||||
test myfuncsql_int FUNCTION i INT RETURN i
|
test myfuncsql_int FUNCTION i INT RETURN i
|
||||||
affected rows: 2
|
affected rows: 2
|
||||||
"Running on the slave"
|
"Running on the slave"
|
||||||
SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
|
SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
|
||||||
db name type param_list body comment
|
db name type param_list body comment
|
||||||
test myfuncsql_double FUNCTION d DOUBLE RETURN d * 0.95
|
test myfuncsql_double FUNCTION d DOUBLE RETURN d * 2.00
|
||||||
test myfuncsql_int FUNCTION i INT RETURN i
|
test myfuncsql_int FUNCTION i INT RETURN i
|
||||||
affected rows: 2
|
affected rows: 2
|
||||||
"Running on the master"
|
"Running on the master"
|
||||||
@ -256,18 +256,18 @@ INSERT INTO t1 VALUES(myfuncsql_int(1), myfuncsql_double(500.00));
|
|||||||
affected rows: 1
|
affected rows: 1
|
||||||
SELECT * FROM t1 ORDER BY sum;
|
SELECT * FROM t1 ORDER BY sum;
|
||||||
sum price
|
sum price
|
||||||
1 475
|
1 1000
|
||||||
10 5
|
10 10
|
||||||
100 47
|
100 100
|
||||||
200 24
|
200 50
|
||||||
affected rows: 4
|
affected rows: 4
|
||||||
"Running on the slave"
|
"Running on the slave"
|
||||||
SELECT * FROM t1 ORDER BY sum;
|
SELECT * FROM t1 ORDER BY sum;
|
||||||
sum price
|
sum price
|
||||||
1 475
|
1 1000
|
||||||
10 5
|
10 10
|
||||||
100 47
|
100 100
|
||||||
200 24
|
200 50
|
||||||
affected rows: 4
|
affected rows: 4
|
||||||
"Running on the master"
|
"Running on the master"
|
||||||
ALTER FUNCTION myfuncsql_int COMMENT "This was altered.";
|
ALTER FUNCTION myfuncsql_int COMMENT "This was altered.";
|
||||||
@ -276,13 +276,13 @@ ALTER FUNCTION myfuncsql_double COMMENT "This was altered.";
|
|||||||
affected rows: 0
|
affected rows: 0
|
||||||
SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
|
SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
|
||||||
db name type param_list body comment
|
db name type param_list body comment
|
||||||
test myfuncsql_double FUNCTION d DOUBLE RETURN d * 0.95 This was altered.
|
test myfuncsql_double FUNCTION d DOUBLE RETURN d * 2.00 This was altered.
|
||||||
test myfuncsql_int FUNCTION i INT RETURN i This was altered.
|
test myfuncsql_int FUNCTION i INT RETURN i This was altered.
|
||||||
affected rows: 2
|
affected rows: 2
|
||||||
"Running on the slave"
|
"Running on the slave"
|
||||||
SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
|
SELECT db, name, type, param_list, body, comment FROM mysql.proc WHERE db = 'test' AND name LIKE 'myfuncsql%';
|
||||||
db name type param_list body comment
|
db name type param_list body comment
|
||||||
test myfuncsql_double FUNCTION d DOUBLE RETURN d * 0.95 This was altered.
|
test myfuncsql_double FUNCTION d DOUBLE RETURN d * 2.00 This was altered.
|
||||||
test myfuncsql_int FUNCTION i INT RETURN i This was altered.
|
test myfuncsql_int FUNCTION i INT RETURN i This was altered.
|
||||||
affected rows: 2
|
affected rows: 2
|
||||||
SELECT myfuncsql_int(25);
|
SELECT myfuncsql_int(25);
|
||||||
@ -291,7 +291,7 @@ myfuncsql_int(25)
|
|||||||
affected rows: 1
|
affected rows: 1
|
||||||
SELECT myfuncsql_double(75.00);
|
SELECT myfuncsql_double(75.00);
|
||||||
myfuncsql_double(75.00)
|
myfuncsql_double(75.00)
|
||||||
71
|
150
|
||||||
affected rows: 1
|
affected rows: 1
|
||||||
"Running on the master"
|
"Running on the master"
|
||||||
DROP FUNCTION myfuncsql_double;
|
DROP FUNCTION myfuncsql_double;
|
||||||
|
@ -481,7 +481,7 @@ ALTER TABLE event ADD COLUMN originator INT(10) NOT NULL;
|
|||||||
ALTER TABLE event MODIFY COLUMN status ENUM('ENABLED','DISABLED','SLAVESIDE_DISABLED') NOT NULL default 'ENABLED';
|
ALTER TABLE event MODIFY COLUMN status ENUM('ENABLED','DISABLED','SLAVESIDE_DISABLED') NOT NULL default 'ENABLED';
|
||||||
|
|
||||||
ALTER TABLE event ADD COLUMN time_zone char(64) CHARACTER SET latin1
|
ALTER TABLE event ADD COLUMN time_zone char(64) CHARACTER SET latin1
|
||||||
NOT NULL DEFAULT 'SYSTEM' AFTER comment;
|
NOT NULL DEFAULT 'SYSTEM' AFTER originator;
|
||||||
|
|
||||||
#
|
#
|
||||||
# TRIGGER privilege
|
# TRIGGER privilege
|
||||||
|
Reference in New Issue
Block a user