Commit be4548d4 authored by unknown's avatar unknown

Merge april.(none):/home/svoj/devel/mysql/BUG17917/mysql-4.1

into  april.(none):/home/svoj/devel/mysql/BUG17917/mysql-5.0


sql/mysqld.cc:
  Auto merged
myisam/mi_packrec.c:
  Manual merge.
parents ac0ec778 a875afd6
...@@ -1189,24 +1189,30 @@ my_bool _mi_memmap_file(MI_INFO *info) ...@@ -1189,24 +1189,30 @@ my_bool _mi_memmap_file(MI_INFO *info)
MYISAM_SHARE *share=info->s; MYISAM_SHARE *share=info->s;
DBUG_ENTER("mi_memmap_file"); DBUG_ENTER("mi_memmap_file");
if (!info->s->file_map) if (!share->file_map)
{ {
my_off_t data_file_length= share->state.state.data_file_length;
if (data_file_length > (my_off_t) (~((size_t) 0)) - MEMMAP_EXTRA_MARGIN)
{
DBUG_PRINT("warning", ("File is too large for mmap"));
DBUG_RETURN(0);
}
if (my_seek(info->dfile,0L,MY_SEEK_END,MYF(0)) < if (my_seek(info->dfile,0L,MY_SEEK_END,MYF(0)) <
share->state.state.data_file_length+MEMMAP_EXTRA_MARGIN) data_file_length + MEMMAP_EXTRA_MARGIN)
{ {
DBUG_PRINT("warning",("File isn't extended for memmap")); DBUG_PRINT("warning",("File isn't extended for memmap"));
DBUG_RETURN(0); DBUG_RETURN(0);
} }
file_map=(byte*) file_map=(byte*)
my_mmap(0,(size_t)(share->state.state.data_file_length+MEMMAP_EXTRA_MARGIN),PROT_READ, my_mmap(0, (size_t) (data_file_length + MEMMAP_EXTRA_MARGIN), PROT_READ,
MAP_SHARED | MAP_NORESERVE,info->dfile,0L); MAP_SHARED | MAP_NORESERVE, info->dfile, 0L);
if (file_map == (byte*) MAP_FAILED) if (file_map == (byte*) MAP_FAILED)
{ {
DBUG_PRINT("warning",("mmap failed: errno: %d",errno)); DBUG_PRINT("warning",("mmap failed: errno: %d",errno));
my_errno=errno; my_errno=errno;
DBUG_RETURN(0); DBUG_RETURN(0);
} }
info->s->file_map=file_map; share->file_map= file_map;
} }
info->opt_flag|= MEMMAP_USED; info->opt_flag|= MEMMAP_USED;
info->read_record=share->read_record=_mi_read_mempack_record; info->read_record=share->read_record=_mi_read_mempack_record;
......
...@@ -5677,7 +5677,7 @@ The minimum value for this variable is 4096.", ...@@ -5677,7 +5677,7 @@ The minimum value for this variable is 4096.",
(gptr*) &max_system_variables.max_length_for_sort_data, 0, GET_ULONG, (gptr*) &max_system_variables.max_length_for_sort_data, 0, GET_ULONG,
REQUIRED_ARG, 1024, 4, 8192*1024L, 0, 1, 0}, REQUIRED_ARG, 1024, 4, 8192*1024L, 0, 1, 0},
{"max_prepared_stmt_count", OPT_MAX_PREPARED_STMT_COUNT, {"max_prepared_stmt_count", OPT_MAX_PREPARED_STMT_COUNT,
"Maximum numbrer of prepared statements in the server.", "Maximum number of prepared statements in the server.",
(gptr*) &max_prepared_stmt_count, (gptr*) &max_prepared_stmt_count, (gptr*) &max_prepared_stmt_count, (gptr*) &max_prepared_stmt_count,
0, GET_ULONG, REQUIRED_ARG, 16382, 0, 1*1024*1024, 0, 1, 0}, 0, GET_ULONG, REQUIRED_ARG, 16382, 0, 1*1024*1024, 0, 1, 0},
{"max_relay_log_size", OPT_MAX_RELAY_LOG_SIZE, {"max_relay_log_size", OPT_MAX_RELAY_LOG_SIZE,
......
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