Server IP : 185.86.78.101 / Your IP : 216.73.216.124 Web Server : Apache System : Linux 675867-vds-valikoshka1996.gmhost.pp.ua 5.4.0-150-generic #167-Ubuntu SMP Mon May 15 17:35:05 UTC 2023 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /www/server/mysql/mysql-test/t/ |
Upload File : |
##============================================================================ ## Notes ##============================================================================ # Test case for Bug#11230 # The point of this test is to make sure that '#', '-- ' and '/* ... */' # comments, as well as empty lines, are sent from the client to the server. # This is to ensure better error reporting, and to keep comments in the code # for stored procedures / functions / triggers (Bug#11230). # As a result, be careful when editing comments in this script, they do # matter. # # Also, note that this is a script for **mysql**, not mysqltest. # This is critical, as the mysqltest client interprets comments differently. ##============================================================================ ## Setup ##============================================================================ ## See mysql_comments.test for initial cleanup # Test tables # # t1 is reused throughout the file, and dropped at the end. # drop table if exists t1; create table t1 ( id char(16) not null default '', data int not null ); ##============================================================================ ## Comments outside statements ##============================================================================ # Ignored 1a -- Ignored 1b /* Ignored 1c */ select 1; ##============================================================================ ## Comments inside statements ##============================================================================ select # comment 1a # comment 2a -- comment 2b /* comment 2c */ 2 ; # not strictly inside, but on same line # ignored ##============================================================================ ## Comments inside functions ##============================================================================ drop function if exists foofct ; create function foofct (x char(20)) returns char(20) /* not inside the body yet */ return -- comment 1a # comment 1b /* comment 1c */ x; # after body, on same line select foofct("call 1"); show create function foofct; drop function foofct; delimiter | create function foofct(x char(20)) returns char(20) begin -- comment 1a # comment 1b /* comment 1c */ -- empty line below -- empty line above return x; end| delimiter ; select foofct("call 2"); show create function foofct; drop function foofct; ##============================================================================ ## Comments inside stored procedures ##============================================================================ # Empty statement drop procedure if exists empty; create procedure empty() begin end; call empty(); show create procedure empty; drop procedure empty; drop procedure if exists foosp; ## These comments are before the create, and will be lost # Comment 1a -- Comment 1b /* Comment 1c */ create procedure foosp() /* Comment not quiet in the body yet */ insert into test.t1 ## These comments are part of the procedure body, and should be kept. # Comment 2a -- Comment 2b /* Comment 2c */ -- empty line below -- empty line above values ("foo", 42); # comment 3, still part of the body ## After the ';', therefore not part of the body # comment 4a -- Comment 4b /* Comment 4c */ call foosp(); select * from t1; delete from t1; show create procedure foosp; drop procedure foosp; drop procedure if exists nicesp; delimiter | create procedure nicesp(a int) begin -- declare some variables here declare b int; declare c float; -- do more stuff here -- commented nicely and so on -- famous last words ... end| delimiter ; show create procedure nicesp; drop procedure nicesp; ##============================================================================ ## Comments inside triggers ##============================================================================ drop trigger if exists t1_empty; create trigger t1_empty after delete on t1 for each row begin end; show create trigger t1_empty; drop trigger if exists t1_bi; delimiter | create trigger t1_bi before insert on t1 for each row begin # comment 1a -- comment 1b /* comment 1c */ -- declare some variables here declare b int; declare c float; -- do more stuff here -- commented nicely and so on -- famous last words ... set NEW.data := 12; end| delimiter ; show create trigger t1_bi; # also make sure the trigger still works insert into t1(id) value ("trig"); select * from t1; ##============================================================================ ## Cleanup ##============================================================================ drop table t1;