Commit c3ac502a authored by unknown's avatar unknown

Merge bk-internal:/home/bk/mysql-4.1

into  mysql.com:/home/jimw/my/mysql-4.1-clean

parents 019b9732 6c8c4fda
...@@ -499,3 +499,8 @@ set names latin1; ...@@ -499,3 +499,8 @@ set names latin1;
select @@have_innodb; select @@have_innodb;
@@have_innodb @@have_innodb
# #
set @test = @@query_prealloc_size;
set @@query_prealloc_size = @test;
select @@query_prealloc_size = @test;
@@query_prealloc_size = @test
1
...@@ -388,7 +388,6 @@ set character_set_results=NULL; ...@@ -388,7 +388,6 @@ set character_set_results=NULL;
select ifnull(@@character_set_results,"really null"); select ifnull(@@character_set_results,"really null");
set names latin1; set names latin1;
# End of 4.1 tests
# #
# Bug #9613: @@have_innodb # Bug #9613: @@have_innodb
...@@ -396,3 +395,12 @@ set names latin1; ...@@ -396,3 +395,12 @@ set names latin1;
--replace_column 1 # --replace_column 1 #
select @@have_innodb; select @@have_innodb;
#
# Bug #13334: query_prealloc_size default less than minimum
#
set @test = @@query_prealloc_size;
set @@query_prealloc_size = @test;
select @@query_prealloc_size = @test;
# End of 4.1 tests
...@@ -5349,7 +5349,8 @@ The minimum value for this variable is 4096.", ...@@ -5349,7 +5349,8 @@ The minimum value for this variable is 4096.",
"Persistent buffer for query parsing and execution", "Persistent buffer for query parsing and execution",
(gptr*) &global_system_variables.query_prealloc_size, (gptr*) &global_system_variables.query_prealloc_size,
(gptr*) &max_system_variables.query_prealloc_size, 0, GET_ULONG, (gptr*) &max_system_variables.query_prealloc_size, 0, GET_ULONG,
REQUIRED_ARG, QUERY_ALLOC_PREALLOC_SIZE, 16384, ~0L, 0, 1024, 0}, REQUIRED_ARG, QUERY_ALLOC_PREALLOC_SIZE, QUERY_ALLOC_PREALLOC_SIZE,
~0L, 0, 1024, 0},
{"range_alloc_block_size", OPT_RANGE_ALLOC_BLOCK_SIZE, {"range_alloc_block_size", OPT_RANGE_ALLOC_BLOCK_SIZE,
"Allocation block size for storing ranges during optimization", "Allocation block size for storing ranges during optimization",
(gptr*) &global_system_variables.range_alloc_block_size, (gptr*) &global_system_variables.range_alloc_block_size,
......
...@@ -193,6 +193,7 @@ static my_bool acl_load(THD *thd, TABLE_LIST *tables) ...@@ -193,6 +193,7 @@ static my_bool acl_load(THD *thd, TABLE_LIST *tables)
my_bool return_val= 1; my_bool return_val= 1;
bool check_no_resolve= specialflag & SPECIAL_NO_RESOLVE; bool check_no_resolve= specialflag & SPECIAL_NO_RESOLVE;
char tmp_name[NAME_LEN+1]; char tmp_name[NAME_LEN+1];
int password_length;
DBUG_ENTER("acl_load"); DBUG_ENTER("acl_load");
priv_version++; /* Privileges updated */ priv_version++; /* Privileges updated */
...@@ -250,7 +251,9 @@ static my_bool acl_load(THD *thd, TABLE_LIST *tables) ...@@ -250,7 +251,9 @@ static my_bool acl_load(THD *thd, TABLE_LIST *tables)
init_read_record(&read_record_info,thd,table=tables[1].table,NULL,1,0); init_read_record(&read_record_info,thd,table=tables[1].table,NULL,1,0);
VOID(my_init_dynamic_array(&acl_users,sizeof(ACL_USER),50,100)); VOID(my_init_dynamic_array(&acl_users,sizeof(ACL_USER),50,100));
if (table->field[2]->field_length < SCRAMBLED_PASSWORD_CHAR_LENGTH_323) password_length= table->field[2]->field_length /
table->field[2]->charset()->mbmaxlen;
if (password_length < SCRAMBLED_PASSWORD_CHAR_LENGTH_323)
{ {
sql_print_error("Fatal error: mysql.user table is damaged or in " sql_print_error("Fatal error: mysql.user table is damaged or in "
"unsupported 3.20 format."); "unsupported 3.20 format.");
...@@ -258,10 +261,10 @@ static my_bool acl_load(THD *thd, TABLE_LIST *tables) ...@@ -258,10 +261,10 @@ static my_bool acl_load(THD *thd, TABLE_LIST *tables)
} }
DBUG_PRINT("info",("user table fields: %d, password length: %d", DBUG_PRINT("info",("user table fields: %d, password length: %d",
table->fields, table->field[2]->field_length)); table->fields, password_length));
pthread_mutex_lock(&LOCK_global_system_variables); pthread_mutex_lock(&LOCK_global_system_variables);
if (table->field[2]->field_length < SCRAMBLED_PASSWORD_CHAR_LENGTH) if (password_length < SCRAMBLED_PASSWORD_CHAR_LENGTH)
{ {
if (opt_secure_auth) if (opt_secure_auth)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment