You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* ALTER LIBRARY.
* LIBRARY Comment.
* SHOW LIBRARY STATUS.
* ALTER ROUTINE USING list.
* Bug#37375233 Warning on missing imports.
* Bug#37501823 ALTER LIBRARY in prepared statements.
Change-Id: I14e1b456bfc361d8219198955b28a585d647c8de
Copy file name to clipboardExpand all lines: mysql-test/common/rpl/rpl_sp.test
+37-2Lines changed: 37 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -488,17 +488,42 @@ DROP FUNCTION IF EXISTS f1;
488
488
489
489
/*!90200 CREATE FUNCTION test_function(n INTEGER) RETURNS INTEGER LANGUAGE JAVASCRIPT USING (test_library) AS $$ return test_library.f(n) $$ */;
490
490
491
+
/*!90200 CREATE FUNCTION function_with_comment(n INTEGER) RETURNS INTEGER LANGUAGE JAVASCRIPT USING (test_library) AS $$ return test_library.f(n) $$ */;
492
+
493
+
/*!90300 CREATE LIBRARY library_with_comment COMMENT "library comment" LANGUAGE JAVASCRIPT AS $$ export function f(n) { return n } $$ */;
494
+
495
+
/*!90300 ALTER LIBRARY library_with_comment COMMENT 'library comment - updated' */;
496
+
497
+
/*!90300 ALTER FUNCTION function_with_comment COMMENT "Updated function comment" USING (library_with_comment AS test_library) */;
498
+
499
+
/*!90200 CREATE LIBRARY deleted_library LANGUAGE JAVASCRIPT AS $$ export function f(n) { return n } $$ */;
500
+
501
+
/*!90200 CREATE FUNCTION orphaned_function(n INTEGER) RETURNS INTEGER LANGUAGE JAVASCRIPT USING (deleted_library) AS $$ return deleted_library.f(n) $$ */;
502
+
503
+
/*!90200 CREATE FUNCTION orphaned_function_modified(n INTEGER) RETURNS INTEGER LANGUAGE JAVASCRIPT USING (library_with_comment) AS $$ return library_with_comment.f(n) $$ */;
504
+
505
+
/*!90200 DROP LIBRARY deleted_library */;
506
+
507
+
--error ER_SP_DOES_NOT_EXIST
508
+
/*!90300 ALTER FUNCTION orphaned_function_modified USING (deleted_library AS library_with_comment) */;
509
+
491
510
--echo
492
511
--echo ---> Checking on master...
493
512
494
513
SHOW CREATE PROCEDURE p1;
495
514
SHOW CREATE FUNCTION f1;
496
515
SHOW CREATE LIBRARY test_library;
497
516
SHOW CREATE FUNCTION test_function;
517
+
SHOW CREATE LIBRARY library_with_comment;
518
+
SHOW CREATE FUNCTION function_with_comment;
519
+
SHOW CREATE FUNCTION orphaned_function;
520
+
SHOW CREATE FUNCTION orphaned_function_modified;
498
521
SELECT * FROM INFORMATION_SCHEMA.ROUTINE_LIBRARIES
499
522
ORDER BY ROUTINE_SCHEMA, ROUTINE_NAME, ROUTINE_TYPE, LIBRARY_CATALOG, LIBRARY_SCHEMA, LIBRARY_NAME, LIBRARY_VERSION;
500
523
--replace_column 6 <created> 7 <modified>
501
-
SELECT * FROM INFORMATION_SCHEMA.LIBRARIES;
524
+
SELECT * FROM INFORMATION_SCHEMA.LIBRARIES ORDER BY LIBRARY_NAME;
525
+
--replace_column 5 <modified> 6 <created>
526
+
SHOW LIBRARY STATUS like "library_%";
502
527
503
528
--echo
504
529
--echo ---> Synchronizing slave with master...
@@ -514,10 +539,16 @@ SHOW CREATE PROCEDURE p1;
514
539
SHOW CREATE FUNCTION f1;
515
540
SHOW CREATE LIBRARY test_library;
516
541
SHOW CREATE FUNCTION test_function;
542
+
SHOW CREATE LIBRARY library_with_comment;
543
+
SHOW CREATE FUNCTION function_with_comment;
544
+
SHOW CREATE FUNCTION orphaned_function;
545
+
SHOW CREATE FUNCTION orphaned_function_modified;
517
546
SELECT * FROM INFORMATION_SCHEMA.ROUTINE_LIBRARIES
518
547
ORDER BY ROUTINE_SCHEMA, ROUTINE_NAME, ROUTINE_TYPE, LIBRARY_CATALOG, LIBRARY_SCHEMA, LIBRARY_NAME, LIBRARY_VERSION;
519
548
--replace_column 6 <created> 7 <modified>
520
-
SELECT * FROM INFORMATION_SCHEMA.LIBRARIES;
549
+
SELECT * FROM INFORMATION_SCHEMA.LIBRARIES ORDER BY LIBRARY_NAME;
550
+
--replace_column 5 <modified> 6 <created>
551
+
SHOW LIBRARY STATUS like "library_%";
521
552
522
553
# Cleanup.
523
554
@@ -532,6 +563,10 @@ DROP PROCEDURE p1;
532
563
DROP FUNCTION f1;
533
564
DROP FUNCTION test_function;
534
565
DROP LIBRARY test_library;
566
+
DROP FUNCTION function_with_comment;
567
+
DROP LIBRARY library_with_comment;
568
+
DROP FUNCTION orphaned_function;
569
+
DROP FUNCTION orphaned_function_modified;
535
570
SELECT * FROM INFORMATION_SCHEMA.ROUTINE_LIBRARIES
536
571
ORDER BY ROUTINE_SCHEMA, ROUTINE_NAME, ROUTINE_TYPE, LIBRARY_CATALOG, LIBRARY_SCHEMA, LIBRARY_NAME, LIBRARY_VERSION;
537
572
--echo # Ensure that drop statement with 'IF EXISTS' is written to binlog, even though the library does not actually exist
LIBRARIES CREATE ALGORITHM=UNDEFINED DEFINER=`mysql.infoschema`@`localhost` SQL SECURITY DEFINER VIEW `LIBRARIES` AS select `cat`.`name` AS `LIBRARY_CATALOG`,`sch`.`name` AS `LIBRARY_SCHEMA`,`rtn`.`name` AS `LIBRARY_NAME`,if(can_access_routine(`sch`.`name`,`rtn`.`name`,`rtn`.`type`,`rtn`.`definer`,true),`rtn`.`definition_utf8`,NULL) AS `LIBRARY_DEFINITION`,`rtn`.`external_language` AS `LANGUAGE`,`rtn`.`created` AS `CREATED`,`rtn`.`last_altered` AS `LAST_ALTERED`,`rtn`.`sql_mode` AS `SQL_MODE`,`rtn`.`definer` AS `CREATOR` from ((`mysql`.`routines` `rtn` join `mysql`.`schemata` `sch` on((`rtn`.`schema_id` = `sch`.`id`))) join `mysql`.`catalogs` `cat` on((`cat`.`id` = `sch`.`catalog_id`))) where ((0 <> can_access_routine(`sch`.`name`,`rtn`.`name`,`rtn`.`type`,`rtn`.`definer`,false)) and (`rtn`.`type` = 'LIBRARY')) utf8mb3 utf8mb3_general_ci
22
+
LIBRARIES CREATE ALGORITHM=UNDEFINED DEFINER=`mysql.infoschema`@`localhost` SQL SECURITY DEFINER VIEW `LIBRARIES` AS select `cat`.`name` AS `LIBRARY_CATALOG`,`sch`.`name` AS `LIBRARY_SCHEMA`,`rtn`.`name` AS `LIBRARY_NAME`,if(can_access_routine(`sch`.`name`,`rtn`.`name`,`rtn`.`type`,`rtn`.`definer`,true),`rtn`.`definition_utf8`,NULL) AS `LIBRARY_DEFINITION`,`rtn`.`external_language` AS `LANGUAGE`,`rtn`.`created` AS `CREATED`,`rtn`.`last_altered` AS `LAST_ALTERED`,`rtn`.`sql_mode` AS `SQL_MODE`,`rtn`.`comment` AS `LIBRARY_COMMENT`,`rtn`.`definer` AS `CREATOR` from ((`mysql`.`routines` `rtn` join `mysql`.`schemata` `sch` on((`rtn`.`schema_id` = `sch`.`id`))) join `mysql`.`catalogs` `cat` on((`cat`.`id` = `sch`.`catalog_id`))) where ((0 <> can_access_routine(`sch`.`name`,`rtn`.`name`,`rtn`.`type`,`rtn`.`definer`,false)) and (`rtn`.`type` = 'LIBRARY')) utf8mb3 utf8mb3_general_ci
23
23
SELECT * FROM information_schema.columns
24
24
WHERE table_schema = 'information_schema'
25
25
AND table_name = 'LIBRARIES'
@@ -33,7 +33,8 @@ def information_schema LIBRARIES LANGUAGE 5 SQL NO varchar 64 192 NULL NULL NULL
33
33
def information_schema LIBRARIES CREATED 6 NULL NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp select NULL
SQL_MODE set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','NOT_USED_9','NOT_USED_10','NOT_USED_11','NOT_USED_12','NOT_USED_13','NOT_USED_14','NOT_USED_15','NOT_USED_16','NOT_USED_17','NOT_USED_18','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','ALLOW_INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NOT_USED_29','HIGH_NOT_PRECEDENCE','NO_ENGINE_SUBSTITUTION','PAD_CHAR_TO_FULL_LENGTH','TIME_TRUNCATE_FRACTIONAL') NO NULL
0 commit comments