You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

83 lines
3.5 KiB

  1. use test;
  2. drop procedure if exists bug14233;
  3. drop function if exists bug14233;
  4. drop table if exists t1;
  5. drop view if exists v1;
  6. create procedure bug14233()
  7. set @x = 42;
  8. create function bug14233_f() returns int
  9. return 42;
  10. create table t1 (id int);
  11. create trigger t1_ai after insert on t1 for each row call bug14233();
  12. alter table mysql.proc drop type;
  13. call bug14233();
  14. ERROR HY000: Failed to load routine test.bug14233. The table mysql.proc is missing, corrupt, or contains bad data (internal code -5)
  15. create view v1 as select bug14233_f();
  16. ERROR HY000: Failed to load routine test.bug14233_f. The table mysql.proc is missing, corrupt, or contains bad data (internal code -5)
  17. insert into t1 values (0);
  18. ERROR HY000: Failed to load routine test.bug14233. The table mysql.proc is missing, corrupt, or contains bad data (internal code -5)
  19. flush table mysql.proc;
  20. call bug14233();
  21. ERROR HY000: Incorrect information in file: './mysql/proc.frm'
  22. create view v1 as select bug14233_f();
  23. ERROR HY000: Incorrect information in file: './mysql/proc.frm'
  24. insert into t1 values (0);
  25. ERROR HY000: Incorrect information in file: './mysql/proc.frm'
  26. flush table mysql.proc;
  27. call bug14233();
  28. ERROR 42S02: Table 'mysql.proc' doesn't exist
  29. create view v1 as select bug14233_f();
  30. ERROR 42S02: Table 'mysql.proc' doesn't exist
  31. insert into t1 values (0);
  32. ERROR 42S02: Table 'mysql.proc' doesn't exist
  33. flush table mysql.proc;
  34. flush privileges;
  35. delete from mysql.proc where name like 'bug14233%';
  36. insert into mysql.proc
  37. (
  38. db, name, type, specific_name, language, sql_data_access, is_deterministic,
  39. security_type, param_list, returns, body, definer, created, modified,
  40. sql_mode, comment
  41. )
  42. values
  43. (
  44. 'test', 'bug14233_1', 'FUNCTION', 'bug14233_1', 'SQL', 'READS_SQL_DATA', 'NO',
  45. 'DEFINER', '', 'int(10)',
  46. 'select count(*) from mysql.user',
  47. 'root@localhost', NOW() , '0000-00-00 00:00:00', '', ''
  48. ),
  49. (
  50. 'test', 'bug14233_2', 'FUNCTION', 'bug14233_2', 'SQL', 'READS_SQL_DATA', 'NO',
  51. 'DEFINER', '', 'int(10)',
  52. 'begin declare x int; select count(*) into x from mysql.user; end',
  53. 'root@localhost', NOW() , '0000-00-00 00:00:00', '', ''
  54. ),
  55. (
  56. 'test', 'bug14233_3', 'PROCEDURE', 'bug14233_3', 'SQL', 'READS_SQL_DATA','NO',
  57. 'DEFINER', '', '',
  58. 'alksj wpsj sa ^#!@ ',
  59. 'root@localhost', NOW() , '0000-00-00 00:00:00', '', ''
  60. );
  61. select bug14233_1();
  62. ERROR HY000: Failed to load routine test.bug14233_1. The table mysql.proc is missing, corrupt, or contains bad data (internal code -6)
  63. create view v1 as select bug14233_1();
  64. ERROR HY000: Failed to load routine test.bug14233_1. The table mysql.proc is missing, corrupt, or contains bad data (internal code -6)
  65. select bug14233_2();
  66. ERROR HY000: Failed to load routine test.bug14233_2. The table mysql.proc is missing, corrupt, or contains bad data (internal code -6)
  67. create view v1 as select bug14233_2();
  68. ERROR HY000: Failed to load routine test.bug14233_2. The table mysql.proc is missing, corrupt, or contains bad data (internal code -6)
  69. call bug14233_3();
  70. ERROR HY000: Failed to load routine test.bug14233_3. The table mysql.proc is missing, corrupt, or contains bad data (internal code -6)
  71. drop trigger t1_ai;
  72. create trigger t1_ai after insert on t1 for each row call bug14233_3();
  73. insert into t1 values (0);
  74. ERROR HY000: Failed to load routine test.bug14233_3. The table mysql.proc is missing, corrupt, or contains bad data (internal code -6)
  75. drop trigger t1_ai;
  76. drop table t1;
  77. drop function bug14233_1;
  78. drop function bug14233_2;
  79. drop procedure bug14233_3;
  80. show procedure status;
  81. Db Name Type Definer Modified Created Security_type Comment
  82. show function status;
  83. Db Name Type Definer Modified Created Security_type Comment