mirror of
https://github.com/MariaDB/server.git
synced 2025-01-21 06:22:28 +01:00
Merge bk-internal:/home/bk/mysql-5.0
into neptunus.(none):/home/msvensson/mysql/mysql-5.0
This commit is contained in:
commit
faee70040a
15 changed files with 69 additions and 12 deletions
|
@ -28,3 +28,4 @@ select * from t1 ignore index (primary) where tt like 'AA%';
|
||||||
id tt
|
id tt
|
||||||
select * from t1 where tt like '%AA%';
|
select * from t1 where tt like '%AA%';
|
||||||
id tt
|
id tt
|
||||||
|
drop table t1;
|
||||||
|
|
|
@ -356,3 +356,17 @@ insert into mysql.user select * from t1;
|
||||||
drop table t1, t2;
|
drop table t1, t2;
|
||||||
drop database TESTDB;
|
drop database TESTDB;
|
||||||
flush privileges;
|
flush privileges;
|
||||||
|
grant all privileges on test.* to `a@`@localhost;
|
||||||
|
grant execute on * to `a@`@localhost;
|
||||||
|
create table t2 (s1 int);
|
||||||
|
insert into t2 values (1);
|
||||||
|
drop function if exists f2;
|
||||||
|
create function f2 () returns int begin declare v int; select s1 from t2
|
||||||
|
into v; return v; end//
|
||||||
|
select f2();
|
||||||
|
f2()
|
||||||
|
1
|
||||||
|
drop function f2;
|
||||||
|
drop table t2;
|
||||||
|
REVOKE ALL PRIVILEGES, GRANT OPTION FROM `a@`@localhost;
|
||||||
|
drop user `a@`@localhost;
|
||||||
|
|
|
@ -38,7 +38,6 @@ f1
|
||||||
5
|
5
|
||||||
delete from t1;
|
delete from t1;
|
||||||
ERROR 42000: DELETE command denied to user 'ssl_user4'@'localhost' for table 't1'
|
ERROR 42000: DELETE command denied to user 'ssl_user4'@'localhost' for table 't1'
|
||||||
delete from mysql.user where user='ssl_user%';
|
drop user ssl_user1@localhost, ssl_user2@localhost,
|
||||||
delete from mysql.db where user='ssl_user%';
|
ssl_user3@localhost, ssl_user4@localhost;
|
||||||
flush privileges;
|
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
|
@ -24,7 +24,8 @@ Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File
|
||||||
stop slave;
|
stop slave;
|
||||||
change master to master_user='root',master_password='', master_ssl=0;
|
change master to master_user='root',master_password='', master_ssl=0;
|
||||||
start slave;
|
start slave;
|
||||||
|
drop user replssl@localhost;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
show slave status;
|
show slave status;
|
||||||
Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
|
Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
|
||||||
# 127.0.0.1 root MASTER_MYPORT 1 master-bin.000001 474 # # master-bin.000001 Yes Yes 0 0 474 # None 0 No MYSQL_TEST_DIR/std_data/cacert.pem MYSQL_TEST_DIR/std_data/client-cert.pem MYSQL_TEST_DIR/std_data/client-key.pem #
|
# 127.0.0.1 root MASTER_MYPORT 1 master-bin.000001 564 # # master-bin.000001 Yes Yes 0 0 564 # None 0 No MYSQL_TEST_DIR/std_data/cacert.pem MYSQL_TEST_DIR/std_data/client-cert.pem MYSQL_TEST_DIR/std_data/client-key.pem #
|
||||||
|
|
|
@ -322,6 +322,7 @@ Warnings:
|
||||||
Warning 1287 'SHOW INNODB STATUS' is deprecated; use 'SHOW ENGINE INNODB STATUS' instead
|
Warning 1287 'SHOW INNODB STATUS' is deprecated; use 'SHOW ENGINE INNODB STATUS' instead
|
||||||
GRANT EXECUTE ON PROCEDURE p1 TO user_bug7787@localhost;
|
GRANT EXECUTE ON PROCEDURE p1 TO user_bug7787@localhost;
|
||||||
DROP DATABASE db_bug7787;
|
DROP DATABASE db_bug7787;
|
||||||
|
drop user user_bug7787@localhost;
|
||||||
use test;
|
use test;
|
||||||
|
|
||||||
---> connection: root
|
---> connection: root
|
||||||
|
|
|
@ -204,3 +204,4 @@ drop procedure bug10100pv|
|
||||||
drop procedure bug10100pd|
|
drop procedure bug10100pd|
|
||||||
drop procedure bug10100pc|
|
drop procedure bug10100pc|
|
||||||
drop view v1|
|
drop view v1|
|
||||||
|
drop table t3|
|
||||||
|
|
|
@ -949,7 +949,7 @@ insert into t1 values
|
||||||
create function f2() returns int return (select max(b) from t2);
|
create function f2() returns int return (select max(b) from t2);
|
||||||
insert into t2 select a, f2() from t1;
|
insert into t2 select a, f2() from t1;
|
||||||
load data infile '../std_data_ln/words.dat' into table t1 (a) set b:= f1();
|
load data infile '../std_data_ln/words.dat' into table t1 (a) set b:= f1();
|
||||||
drop table t1;
|
drop table t1, t2;
|
||||||
drop function f1;
|
drop function f1;
|
||||||
drop function f2;
|
drop function f2;
|
||||||
DROP TABLE IF EXISTS t1;
|
DROP TABLE IF EXISTS t1;
|
||||||
|
|
|
@ -28,3 +28,5 @@ select * from t1 ignore index (primary) where tt like 'AA%';
|
||||||
select * from t1 where tt like '%AA%';
|
select * from t1 where tt like '%AA%';
|
||||||
|
|
||||||
# End of 4.1 tests
|
# End of 4.1 tests
|
||||||
|
|
||||||
|
drop table t1;
|
||||||
|
|
|
@ -465,3 +465,29 @@ drop table t1, t2;
|
||||||
drop database TESTDB;
|
drop database TESTDB;
|
||||||
flush privileges;
|
flush privileges;
|
||||||
|
|
||||||
|
#
|
||||||
|
# BUG#13310 incorrect user parsing by SP
|
||||||
|
#
|
||||||
|
|
||||||
|
grant all privileges on test.* to `a@`@localhost;
|
||||||
|
grant execute on * to `a@`@localhost;
|
||||||
|
connect (bug13310,localhost,'a@',,test);
|
||||||
|
connection bug13310;
|
||||||
|
create table t2 (s1 int);
|
||||||
|
insert into t2 values (1);
|
||||||
|
--disable_warnings
|
||||||
|
drop function if exists f2;
|
||||||
|
--enable_warnings
|
||||||
|
delimiter //;
|
||||||
|
create function f2 () returns int begin declare v int; select s1 from t2
|
||||||
|
into v; return v; end//
|
||||||
|
delimiter ;//
|
||||||
|
select f2();
|
||||||
|
|
||||||
|
drop function f2;
|
||||||
|
drop table t2;
|
||||||
|
disconnect bug13310;
|
||||||
|
|
||||||
|
connection default;
|
||||||
|
REVOKE ALL PRIVILEGES, GRANT OPTION FROM `a@`@localhost;
|
||||||
|
drop user `a@`@localhost;
|
||||||
|
|
|
@ -48,9 +48,9 @@ select * from t1;
|
||||||
delete from t1;
|
delete from t1;
|
||||||
|
|
||||||
connection default;
|
connection default;
|
||||||
delete from mysql.user where user='ssl_user%';
|
drop user ssl_user1@localhost, ssl_user2@localhost,
|
||||||
delete from mysql.db where user='ssl_user%';
|
ssl_user3@localhost, ssl_user4@localhost;
|
||||||
flush privileges;
|
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
# End of 4.1 tests
|
# End of 4.1 tests
|
||||||
|
|
|
@ -53,6 +53,7 @@ stop slave;
|
||||||
change master to master_user='root',master_password='', master_ssl=0;
|
change master to master_user='root',master_password='', master_ssl=0;
|
||||||
start slave;
|
start slave;
|
||||||
connection master;
|
connection master;
|
||||||
|
drop user replssl@localhost;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
save_master_pos;
|
save_master_pos;
|
||||||
connection slave;
|
connection slave;
|
||||||
|
|
|
@ -545,6 +545,7 @@ GRANT EXECUTE ON PROCEDURE p1 TO user_bug7787@localhost;
|
||||||
# Cleanup.
|
# Cleanup.
|
||||||
|
|
||||||
DROP DATABASE db_bug7787;
|
DROP DATABASE db_bug7787;
|
||||||
|
drop user user_bug7787@localhost;
|
||||||
use test;
|
use test;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -258,5 +258,6 @@ drop procedure bug10100pv|
|
||||||
drop procedure bug10100pd|
|
drop procedure bug10100pd|
|
||||||
drop procedure bug10100pc|
|
drop procedure bug10100pc|
|
||||||
drop view v1|
|
drop view v1|
|
||||||
|
drop table t3|
|
||||||
|
|
||||||
delimiter ;|
|
delimiter ;|
|
||||||
|
|
|
@ -1111,7 +1111,7 @@ insert into t1 values
|
||||||
create function f2() returns int return (select max(b) from t2);
|
create function f2() returns int return (select max(b) from t2);
|
||||||
insert into t2 select a, f2() from t1;
|
insert into t2 select a, f2() from t1;
|
||||||
load data infile '../std_data_ln/words.dat' into table t1 (a) set b:= f1();
|
load data infile '../std_data_ln/words.dat' into table t1 (a) set b:= f1();
|
||||||
drop table t1;
|
drop table t1, t2;
|
||||||
drop function f1;
|
drop function f1;
|
||||||
drop function f2;
|
drop function f2;
|
||||||
|
|
||||||
|
|
|
@ -992,6 +992,7 @@ static int check_connection(THD *thd)
|
||||||
|
|
||||||
char *user= end;
|
char *user= end;
|
||||||
char *passwd= strend(user)+1;
|
char *passwd= strend(user)+1;
|
||||||
|
uint user_len= passwd - user - 1;
|
||||||
char *db= passwd;
|
char *db= passwd;
|
||||||
char db_buff[NAME_LEN+1]; // buffer to store db in utf8
|
char db_buff[NAME_LEN+1]; // buffer to store db in utf8
|
||||||
char user_buff[USERNAME_LENGTH+1]; // buffer to store user in utf8
|
char user_buff[USERNAME_LENGTH+1]; // buffer to store user in utf8
|
||||||
|
@ -1017,11 +1018,19 @@ static int check_connection(THD *thd)
|
||||||
db= db_buff;
|
db= db_buff;
|
||||||
}
|
}
|
||||||
|
|
||||||
user_buff[copy_and_convert(user_buff, sizeof(user_buff)-1,
|
user_buff[user_len= copy_and_convert(user_buff, sizeof(user_buff)-1,
|
||||||
system_charset_info, user, strlen(user),
|
system_charset_info, user, user_len,
|
||||||
thd->charset(), &dummy_errors)]= '\0';
|
thd->charset(), &dummy_errors)]= '\0';
|
||||||
user= user_buff;
|
user= user_buff;
|
||||||
|
|
||||||
|
/* If username starts and ends in "'", chop them off */
|
||||||
|
if (user_len > 1 && user[0] == '\'' && user[user_len - 1] == '\'')
|
||||||
|
{
|
||||||
|
user[user_len-1]= 0;
|
||||||
|
user++;
|
||||||
|
user_len-= 2;
|
||||||
|
}
|
||||||
|
|
||||||
if (thd->main_security_ctx.user)
|
if (thd->main_security_ctx.user)
|
||||||
x_free(thd->main_security_ctx.user);
|
x_free(thd->main_security_ctx.user);
|
||||||
if (!(thd->main_security_ctx.user= my_strdup(user, MYF(0))))
|
if (!(thd->main_security_ctx.user= my_strdup(user, MYF(0))))
|
||||||
|
|
Loading…
Reference in a new issue