1#### suite/funcs_1/triggers/triggers_03.inc 2#====================================================================== 3# 4# Trigger Tests 5# (test case numbering refer to requirement document TP v1.1) 6#====================================================================== 7# WL#4084: enable disabled parts. 2007-11-15, hhunger 8 9# This test cannot be used for the embedded server because we check here 10# privilgeges. 11--source include/not_embedded.inc 12 13USE test; 14--source suite/funcs_1/include/tb3.inc 15 16 17 18--disable_abort_on_error 19 20########################################### 21################ Section 3.5.3 ############ 22# Check for the global nature of Triggers # 23########################################### 24 25# General setup to be used in all testcases of 3.5.3 26let $message= Testcase 3.5.3:; 27--source include/show_msg.inc 28 29 --disable_warnings 30 drop database if exists priv_db; 31 --enable_warnings 32 create database priv_db; 33 use priv_db; 34 --replace_result $engine_type <engine_to_be_used> 35 eval create table t1 (f1 char(20)) engine= $engine_type; 36 37 create User test_noprivs@localhost; 38 set password for test_noprivs@localhost = password('PWD'); 39 40 create User test_yesprivs@localhost; 41 set password for test_yesprivs@localhost = password('PWD'); 42 43#Section 3.5.3.1 / 3.5.3.2 44# Test case: Ensure TRIGGER privilege is required to create a trigger 45#Section 3.5.3.3 / 3.5.3.4 46# Test case: Ensure that root always has the TRIGGER privilege. 47# OMR - No need to test this since SUPER priv is an existing one and not related 48# or added for triggers (TP 2005-06-06) 49#Section 3.5.3.5 / 3.5.3.6 50# Test case: Ensure that the TRIGGER privilege is required to drop a trigger. 51let $message= Testcase 3.5.3.2/6:; 52--source include/show_msg.inc 53 54 revoke ALL PRIVILEGES, GRANT OPTION FROM test_noprivs@localhost; 55 grant ALL on *.* to test_noprivs@localhost; 56 revoke TRIGGER on *.* from test_noprivs@localhost; 57 show grants for test_noprivs@localhost; 58 59 revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost; 60 grant TRIGGER on *.* to test_yesprivs@localhost; 61# Adding the minimal priv to be able to set to the db 62 grant SELECT on priv_db.t1 to test_yesprivs@localhost; 63 show grants for test_yesprivs@localhost; 64 65 connect (no_privs,localhost,test_noprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK); 66 connect (yes_privs,localhost,test_yesprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK); 67 connection default; 68 69let $message= Testcase 3.5.3.2:; 70--source include/show_msg.inc 71 72 connection no_privs; 73 select current_user; 74 use priv_db; 75 76 --error ER_TABLEACCESS_DENIED_ERROR 77 create trigger trg1_1 before INSERT on t1 for each row 78 set new.f1 = 'trig 3.5.3.2_1-no'; 79 80 connection default; 81 use priv_db; 82 insert into t1 (f1) values ('insert 3.5.3.2-no'); 83 select f1 from t1 order by f1; 84 85 connection yes_privs; 86 select current_user; 87 use priv_db; 88 89 create trigger trg1_2 before INSERT on t1 for each row 90 set new.f1 = 'trig 3.5.3.2_2-yes'; 91 92 connection default; 93 select current_user; 94 use priv_db; 95 96 --error ER_COLUMNACCESS_DENIED_ERROR 97 insert into t1 (f1) values ('insert 3.5.3.2-yes'); 98 select f1 from t1 order by f1; 99 100 grant UPDATE on priv_db.t1 to test_yesprivs@localhost; 101 insert into t1 (f1) values ('insert 3.5.3.2-yes'); 102 select f1 from t1 order by f1; 103 104let $message= Testcase 3.5.3.6:; 105--source include/show_msg.inc 106 107 connection no_privs; 108 use priv_db; 109 110 --error ER_TABLEACCESS_DENIED_ERROR 111 drop trigger trg1_2; 112 113 connection default; 114 use priv_db; 115 insert into t1 (f1) values ('insert 3.5.3.6-yes'); 116 select f1 from t1 order by f1; 117 118 connection yes_privs; 119 use priv_db; 120 121 drop trigger trg1_2; 122 123 connection default; 124 use priv_db; 125 insert into t1 (f1) values ('insert 3.5.3.6-no'); 126 select f1 from t1 order by f1; 127 128# Cleanup 129 --disable_warnings 130 connection default; 131 --error 0, ER_TRG_DOES_NOT_EXIST 132 drop trigger trg1_2; 133 disconnect no_privs; 134 disconnect yes_privs; 135 --enable_warnings 136 137 138#Section 3.5.3.7 139# Test case: Ensure that use of the construct "SET NEW. <column name> = <value>" 140# fails at CREATE TRIGGER time, if the current user does not have the 141# UPDATE privilege on the column specified 142 143# --- 3.5.3.7a - Privs set on a global level 144let $message=Testcase 3.5.3.7a:; 145--source include/show_msg.inc 146 147 revoke ALL PRIVILEGES, GRANT OPTION FROM test_noprivs@localhost; 148 grant ALL on *.* to test_noprivs@localhost; 149 revoke UPDATE on *.* from test_noprivs@localhost; 150 show grants for test_noprivs@localhost; 151 152 revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost; 153 grant TRIGGER, UPDATE on *.* to test_yesprivs@localhost; 154 show grants for test_yesprivs@localhost; 155 156 connect (no_privs_424a,localhost,test_noprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK); 157 connect (yes_privs_424a,localhost,test_yesprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK); 158 159 connection no_privs_424a; 160 select current_user; 161 use priv_db; 162 show grants; 163 select f1 from t1 order by f1; 164 165 create trigger trg4a_1 before INSERT on t1 for each row 166 set new.f1 = 'trig 3.5.3.7-1a'; 167 168 connection default; 169 --error ER_COLUMNACCESS_DENIED_ERROR 170 insert into t1 (f1) values ('insert 3.5.3.7-1a'); 171 select f1 from t1 order by f1; 172 drop trigger trg4a_1; 173 174 connection yes_privs_424a; 175 use priv_db; 176 select current_user; 177 show grants; 178 create trigger trg4a_2 before INSERT on t1 for each row 179 set new.f1 = 'trig 3.5.3.7-2a'; 180 181 connection default; 182 183 insert into t1 (f1) values ('insert 3.5.3.7-2b'); 184 select f1 from t1 order by f1; 185 186# Cleanup 187 --disable_warnings 188 drop trigger trg4a_2; 189 disconnect no_privs_424a; 190 disconnect yes_privs_424a; 191 --enable_warnings 192 193# --- 3.5.3.7b - Privs set on a database level 194let $message= Testcase 3.5.3.7b:; 195--source include/show_msg.inc 196 197 revoke ALL PRIVILEGES, GRANT OPTION FROM test_noprivs@localhost; 198 grant TRIGGER on *.* to test_noprivs; 199 grant ALL on priv_db.* to test_noprivs@localhost; 200 revoke UPDATE on priv_db.* from test_noprivs@localhost; 201 show grants for test_noprivs; 202 203 revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost; 204 grant TRIGGER on *.* to test_yesprivs@localhost; 205 grant UPDATE on priv_db.* to test_yesprivs@localhost; 206 show grants for test_yesprivs@localhost; 207 208 connect (no_privs_424b,localhost,test_noprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK); 209 connect (yes_privs_424b,localhost,test_yesprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK); 210 connection default; 211 212 connection no_privs_424b; 213 show grants; 214 use priv_db; 215 216 create trigger trg4b_1 before UPDATE on t1 for each row 217 set new.f1 = 'trig 3.5.3.7-1b'; 218 219 connection default; 220 insert into t1 (f1) values ('insert 3.5.3.7-1b'); 221 select f1 from t1 order by f1; 222 update t1 set f1 = 'update 3.5.3.7-1b' where f1 = 'insert 3.5.3.7-1b'; 223 select f1 from t1 order by f1; 224 drop trigger trg4b_1; 225 226 connection yes_privs_424b; 227 show grants; 228 use priv_db; 229 create trigger trg4b_2 before UPDATE on t1 for each row 230 set new.f1 = 'trig 3.5.3.7-2b'; 231 232 connection default; 233 234 insert into t1 (f1) values ('insert 3.5.3.7-2b'); 235 select f1 from t1 order by f1; 236 update t1 set f1 = 'update 3.5.3.7-2b' where f1 = 'insert 3.5.3.7-2b'; 237 select f1 from t1 order by f1; 238# Cleanup 239 --disable_warnings 240 drop trigger trg4b_2; 241 disconnect no_privs_424b; 242 disconnect yes_privs_424b; 243 --enable_warnings 244 245# --- 3.5.3.7c - Privs set on a table level 246let $message= Testcase 3.5.3.7c; 247--source include/show_msg.inc 248 249 revoke ALL PRIVILEGES, GRANT OPTION FROM test_noprivs@localhost; 250 grant TRIGGER on *.* to test_noprivs@localhost; 251 grant ALL on priv_db.t1 to test_noprivs@localhost; 252 revoke UPDATE on priv_db.t1 from test_noprivs@localhost; 253 show grants for test_noprivs; 254 255 revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost; 256 grant TRIGGER on *.* to test_yesprivs@localhost; 257 grant UPDATE on priv_db.t1 to test_yesprivs@localhost; 258 show grants for test_yesprivs@localhost; 259 260 connect (no_privs_424c,localhost,test_noprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK); 261 connect (yes_privs_424c,localhost,test_yesprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK); 262 connection default; 263 264 connection no_privs_424c; 265 show grants; 266 use priv_db; 267 268 create trigger trg4c_1 before INSERT on t1 for each row 269 set new.f1 = 'trig 3.5.3.7-1c'; 270 271 connection default; 272 insert into t1 (f1) values ('insert 3.5.3.7-1c'); 273 select f1 from t1 order by f1; 274 drop trigger trg4c_1; 275 276 connection yes_privs_424c; 277 show grants; 278 use priv_db; 279 create trigger trg4c_2 before INSERT on t1 for each row 280 set new.f1 = 'trig 3.5.3.7-2c'; 281 282 connection default; 283 284 insert into t1 (f1) values ('insert 3.5.3.7-2c'); 285 select f1 from t1 order by f1; 286 287# Cleanup 288 --disable_warnings 289 drop trigger trg4c_2; 290 disconnect no_privs_424c; 291 disconnect yes_privs_424c; 292 --enable_warnings 293 294# --- 3.5.3.7d - Privs set on a column level 295--disable_query_log 296let $message= Testcase 3.5.3.7d:; 297--enable_query_log 298--source include/show_msg.inc 299 300 revoke ALL PRIVILEGES, GRANT OPTION FROM test_noprivs@localhost; 301 grant TRIGGER on *.* to test_noprivs@localhost; 302# There is no ALL privs on the column level 303 grant SELECT (f1), INSERT (f1) on priv_db.t1 to test_noprivs@localhost; 304 show grants for test_noprivs; 305 306 revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost; 307 grant TRIGGER on *.* to test_yesprivs@localhost; 308 grant UPDATE (f1) on priv_db.t1 to test_yesprivs@localhost; 309 show grants for test_noprivs; 310 311 connect (no_privs_424d,localhost,test_noprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK); 312 connect (yes_privs_424d,localhost,test_yesprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK); 313 connection default; 314 315 connection no_privs_424d; 316 show grants; 317 use priv_db; 318 create trigger trg4d_1 before INSERT on t1 for each row 319 set new.f1 = 'trig 3.5.3.7-1d'; 320 321 connection default; 322 insert into t1 (f1) values ('insert 3.5.3.7-1d'); 323 select f1 from t1 order by f1; 324 drop trigger trg4d_1; 325 326 connection yes_privs_424d; 327 show grants; 328 use priv_db; 329 create trigger trg4d_2 before INSERT on t1 for each row 330 set new.f1 = 'trig 3.5.3.7-2d'; 331 332 connection default; 333 334 insert into t1 (f1) values ('insert 3.5.3.7-2d'); 335 select f1 from t1 order by f1; 336 337# Cleanup 338 --disable_warnings 339 drop trigger trg4d_2; 340 disconnect no_privs_424d; 341 disconnect yes_privs_424d; 342 --enable_warnings 343 344#Section 3.5.3.8 345# Test case: Ensure that use of the construct "SET <target> = NEW. <Column name>" fails 346# at CREATE TRIGGER time, if the current user does not have the SELECT privilege 347# on the column specified. 348 349# --- 3.5.3.8a - Privs set on a global level 350let $message= Testcase 3.5.3.8a:; 351--source include/show_msg.inc 352 353 revoke ALL PRIVILEGES, GRANT OPTION FROM test_noprivs@localhost; 354 grant ALL on *.* to test_noprivs@localhost; 355 revoke SELECT on *.* from test_noprivs@localhost; 356 show grants for test_noprivs@localhost; 357 358 revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost; 359 grant TRIGGER, SELECT on *.* to test_yesprivs@localhost; 360 show grants for test_yesprivs@localhost; 361 362 connect (no_privs_425a,localhost,test_noprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK); 363 connect (yes_privs_425a,localhost,test_yesprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK); 364 connection default; 365 366 connection no_privs_425a; 367 select current_user; 368 use priv_db; 369 show grants; 370 371 create trigger trg5a_1 before INSERT on t1 for each row 372 set @test_var = new.f1; 373 374 connection default; 375 set @test_var = 'before trig 3.5.3.8-1a'; 376 select @test_var; 377 insert into t1 (f1) values ('insert 3.5.3.8-1a'); 378 select @test_var; 379 drop trigger trg5a_1; 380 381 connection yes_privs_425a; 382 use priv_db; 383 select current_user; 384 show grants; 385 create trigger trg5a_2 before INSERT on t1 for each row 386 set @test_var= new.f1; 387 388 connection default; 389 set @test_var= 'before trig 3.5.3.8-2a'; 390 select @test_var; 391 392 insert into t1 (f1) values ('insert 3.5.3.8-2a'); 393 select @test_var; 394 395# Cleanup 396 --disable_warnings 397 drop trigger trg5a_2; 398 disconnect no_privs_425a; 399 disconnect yes_privs_425a; 400 --enable_warnings 401 402# --- 3.5.3.8b - Privs set on a database level 403let $message= Testcase: 3.5.3.8b; 404--source include/show_msg.inc 405 406 revoke ALL PRIVILEGES, GRANT OPTION FROM test_noprivs@localhost; 407 grant TRIGGER on *.* to test_noprivs@localhost; 408 grant ALL on priv_db.* to test_noprivs@localhost; 409 revoke SELECT on priv_db.* from test_noprivs@localhost; 410 show grants for test_noprivs@localhost; 411 412 revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost; 413 grant TRIGGER on *.* to test_yesprivs@localhost; 414 grant SELECT on priv_db.* to test_yesprivs@localhost; 415 show grants for test_yesprivs@localhost; 416 417 connect (no_privs_425b,localhost,test_noprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK); 418 connect (yes_privs_425b,localhost,test_yesprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK); 419 connection default; 420 421 connection no_privs_425b; 422 show grants; 423 use priv_db; 424 425 create trigger trg5b_1 before UPDATE on t1 for each row 426 set @test_var= new.f1; 427 428 connection default; 429 set @test_var= 'before trig 3.5.3.8-1b'; 430 insert into t1 (f1) values ('insert 3.5.3.8-1b'); 431 select @test_var; 432 update t1 set f1= 'update 3.5.3.8-1b' where f1 = 'insert 3.5.3.8-1b'; 433 select @test_var; 434 drop trigger trg5b_1; 435 436 connection yes_privs_425b; 437 show grants; 438 use priv_db; 439 create trigger trg5b_2 before UPDATE on t1 for each row 440 set @test_var= new.f1; 441 442 connection default; 443 set @test_var= 'before trig 3.5.3.8-2b'; 444 insert into t1 (f1) values ('insert 3.5.3.8-2b'); 445 select @test_var; 446 447 update t1 set f1= 'update 3.5.3.8-2b' where f1 = 'insert 3.5.3.8-2b'; 448 select @test_var; 449# Cleanup 450 --disable_warnings 451 drop trigger trg5b_2; 452 disconnect no_privs_425b; 453 disconnect yes_privs_425b; 454 --enable_warnings 455 456# --- 3.5.3.8c - Privs set on a table level 457let $message= Testcase 3.5.3.8c:; 458--source include/show_msg.inc 459 460 revoke ALL PRIVILEGES, GRANT OPTION FROM test_noprivs@localhost; 461 grant TRIGGER on *.* to test_noprivs@localhost; 462 grant ALL on priv_db.t1 to test_noprivs@localhost; 463 revoke SELECT on priv_db.t1 from test_noprivs@localhost; 464 show grants for test_noprivs@localhost; 465 466 revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost; 467 grant TRIGGER on *.* to test_yesprivs@localhost; 468 grant SELECT on priv_db.t1 to test_yesprivs@localhost; 469 show grants for test_yesprivs@localhost; 470 471 connect (no_privs_425c,localhost,test_noprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK); 472 connect (yes_privs_425c,localhost,test_yesprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK); 473 connection default; 474 475 connection no_privs_425c; 476 show grants; 477 use priv_db; 478 479 create trigger trg5c_1 before INSERT on t1 for each row 480 set @test_var= new.f1; 481 482 connection default; 483 set @test_var= 'before trig 3.5.3.8-1c'; 484 insert into t1 (f1) values ('insert 3.5.3.8-1c'); 485 select @test_var; 486 drop trigger trg5c_1; 487 488 connection yes_privs_425c; 489 show grants; 490 use priv_db; 491 create trigger trg5c_2 before INSERT on t1 for each row 492 set @test_var= new.f1; 493 494 connection default; 495 set @test_var='before trig 3.5.3.8-2c'; 496 497 insert into t1 (f1) values ('insert 3.5.3.8-2c'); 498 select @test_var; 499# Cleanup 500 --disable_warnings 501 drop trigger trg5c_2; 502 disconnect no_privs_425c; 503 disconnect yes_privs_425c; 504 --enable_warnings 505 506# --- 3.5.3.8d - Privs set on a column level 507let $message=Testcase: 3.5.3.8d:; 508--source include/show_msg.inc 509 510 revoke ALL PRIVILEGES, GRANT OPTION FROM test_noprivs@localhost; 511 grant TRIGGER on *.* to test_noprivs@localhost; 512# There is no ALL prov on the column level 513 grant UPDATE (f1), INSERT (f1) on priv_db.t1 to test_noprivs@localhost; 514 show grants for test_noprivs@localhost; 515 516 revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost; 517 grant TRIGGER on *.* to test_yesprivs@localhost; 518 grant SELECT (f1) on priv_db.t1 to test_yesprivs@localhost; 519 show grants for test_noprivs@localhost; 520 521 connect (no_privs_425d,localhost,test_noprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK); 522 connect (yes_privs_425d,localhost,test_yesprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK); 523 connection default; 524 525 connection no_privs_425d; 526 show grants; 527 use priv_db; 528 create trigger trg5d_1 before INSERT on t1 for each row 529 set @test_var= new.f1; 530 531 connection default; 532 set @test_var='before trig 3.5.3.8-1d'; 533 insert into t1 (f1) values ('insert 3.5.3.8-1d'); 534 select @test_var; 535 drop trigger trg5d_1; 536 537 connection yes_privs_425d; 538 show grants; 539 use priv_db; 540 create trigger trg5d_2 before INSERT on t1 for each row 541 set @test_var= new.f1; 542 543 connection default; 544 set @test_var='before trig 3.5.3.8-2d'; 545 546 insert into t1 (f1) values ('insert 3.5.3.8-2d'); 547 select @test_var; 548 549# Cleanup 3.5.3.8 550 --disable_warnings 551 drop trigger trg5d_2; 552 --enable_warnings 553 554# --- 3.5.3.x to test for trigger definer privs in the case of trigger 555# actions (insert/update/delete/select) performed on other 556# tables. 557let $message=Testcase: 3.5.3.x:; 558--source include/show_msg.inc 559 560 use priv_db; 561 --disable_warnings 562 drop table if exists t1; 563 drop table if exists t2; 564 --enable_warnings 565 566 --replace_result $engine_type <engine_to_be_used> 567 eval create table t1 (f1 int) engine= $engine_type; 568 --replace_result $engine_type <engine_to_be_used> 569 eval create table t2 (f2 int) engine= $engine_type; 570 571 revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost; 572 grant TRIGGER on *.* to test_yesprivs@localhost; 573 grant SELECT, UPDATE on priv_db.t1 to test_yesprivs@localhost; 574 grant SELECT on priv_db.t2 to test_yesprivs@localhost; 575 show grants for test_yesprivs@localhost; 576 577 connect (yes_353x,localhost,test_yesprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK); 578 579 connection yes_353x; 580 select current_user; 581 use priv_db; 582 583 create trigger trg1 before insert on t1 for each row 584 insert into t2 values (new.f1); 585 586 connection default; 587 use priv_db; 588 insert into t1 (f1) values (4); 589 revoke SELECT on priv_db.t2 from test_yesprivs@localhost; 590 grant INSERT on priv_db.t2 to test_yesprivs@localhost; 591 insert into t1 (f1) values (4); 592 select f1 from t1 order by f1; 593 select f2 from t2 order by f2; 594 595 connection yes_353x; 596 use priv_db; 597 drop trigger trg1; 598 599 create trigger trg2 before insert on t1 for each row 600 update t2 set f2=new.f1-1; 601 602 connection default; 603 use priv_db; 604 insert into t1 (f1) values (2); 605 revoke INSERT on priv_db.t2 from test_yesprivs@localhost; 606 grant UPDATE on priv_db.t2 to test_yesprivs@localhost; 607 insert into t1 (f1) values (2); 608 select f1 from t1 order by f1; 609 select f2 from t2 order by f2; 610 611 connection yes_353x; 612 use priv_db; 613 drop trigger trg2; 614 615 create trigger trg3 before insert on t1 for each row 616 select f2 into @aaa from t2 where f2=new.f1; 617 618 connection default; 619 use priv_db; 620 insert into t1 (f1) values (1); 621 revoke UPDATE on priv_db.t2 from test_yesprivs@localhost; 622 grant SELECT on priv_db.t2 to test_yesprivs@localhost; 623 insert into t1 (f1) values (1); 624 select f1 from t1 order by f1; 625 select f2 from t2 order by f2; 626 select @aaa; 627 628 connection yes_353x; 629 use priv_db; 630 drop trigger trg3; 631 632 create trigger trg4 before insert on t1 for each row 633 delete from t2; 634 635 connection default; 636 use priv_db; 637 insert into t1 (f1) values (1); 638 revoke SELECT on priv_db.t2 from test_yesprivs@localhost; 639 grant DELETE on priv_db.t2 to test_yesprivs@localhost; 640 insert into t1 (f1) values (1); 641 select f1 from t1 order by f1; 642 select f2 from t2 order by f2; 643 644 645 646# Cleanup 3.5.3 647 --disable_warnings 648 drop database if exists priv_db; 649 drop user test_yesprivs@localhost; 650 drop user test_noprivs@localhost; 651 drop user test_noprivs; 652 --enable_warnings 653 654use test; 655drop table tb3; 656