Loading Docs/manual.texi +3 −0 Original line number Diff line number Diff line Loading @@ -7694,6 +7694,9 @@ able to mix @code{INSERT} and @code{SELECT}. Currently we use mutexes to emulate @code{pread()}/@code{pwrite()}. We will in the long run replace the file level interface with a virtual interface so that we can use the @code{readfile()}/@code{writefile()} interface on NT to get more speed. The current implementation will however limit the number of open files @strong{MySQL} can use to 1024, which means that you will not be able to run as many concurrent threads on NT as on Unix. @item Blocking read @strong{MySQL} uses a blocking read for each connection. myisam/mi_close.c +1 −1 Original line number Diff line number Diff line Loading @@ -36,7 +36,7 @@ int mi_close(register MI_INFO *info) if (info->lock_type == F_EXTRA_LCK) info->lock_type=F_UNLCK; /* HA_EXTRA_NO_USER_CHANGE */ if (share->reopen == 1) if (share->reopen == 1 && share->kfile >= 0) _mi_decrement_open_count(info); if (info->lock_type != F_UNLCK) Loading myisam/mi_extra.c +2 −0 Original line number Diff line number Diff line Loading @@ -241,6 +241,8 @@ int mi_extra(MI_INFO *info, enum ha_extra_function function) error=my_errno; info->lock_type = F_UNLCK; } if (share->kfile >= 0) _mi_decrement_open_count(info); if (share->kfile >= 0 && my_close(share->kfile,MYF(0))) error=my_errno; { Loading myisam/myisamlog.c +23 −7 Original line number Diff line number Diff line Loading @@ -355,7 +355,7 @@ static int examine_log(my_string file_name, char **table_names) } command=(uint) head[0]; if (command < sizeof(com_count)/sizeof(com_count[0][0])/3 && (!curr_file_info || curr_file_info->used)) (!table_names[0] || (curr_file_info && curr_file_info->used))) { com_count[command][0]++; if (result) Loading @@ -363,9 +363,12 @@ static int examine_log(my_string file_name, char **table_names) } switch ((enum myisam_log_commands) command) { case MI_LOG_OPEN: if (!table_names[0]) { com_count[command][0]--; /* Must be counted explicite */ if (result) com_count[command][1]--; } if (curr_file_info) printf("\nWarning: %s is opened twice with same process and filenumber\n", Loading Loading @@ -502,6 +505,8 @@ static int examine_log(my_string file_name, char **table_names) { if (!recover) goto com_err; if (verbose) printf_log("error: Didn't find row to delete with mi_rrnd"); com_count[command][2]++; /* Mark error */ } mi_result=mi_delete(curr_file_info->isam,curr_file_info->record); Loading @@ -512,6 +517,9 @@ static int examine_log(my_string file_name, char **table_names) goto com_err; if (mi_result) com_count[command][2]++; /* Mark error */ if (verbose) printf_log("error: Got result %d from mi_delete instead of %d", mi_result, result); } } break; Loading Loading @@ -550,6 +558,8 @@ static int examine_log(my_string file_name, char **table_names) result=0; goto com_err; } if (verbose) printf_log("error: Didn't find row to update with mi_rrnd"); if (recover == 1 || result || find_record_with_key(curr_file_info,buff)) { Loading @@ -564,6 +574,9 @@ static int examine_log(my_string file_name, char **table_names) { if (!recover) goto com_err; if (verbose) printf_log("error: Got result %d from mi_update instead of %d", mi_result, result); if (mi_result) com_count[command][2]++; /* Mark error */ } Loading @@ -576,15 +589,18 @@ static int examine_log(my_string file_name, char **table_names) { if (!recover) goto com_err; if (verbose) printf_log("error: Got result %d from mi_write instead of %d", mi_result, result); if (mi_result) com_count[command][2]++; /* Mark error */ } if (!recover && filepos != curr_file_info->isam->lastpos) { printf("Warning: Wrote at position: %s, should have been %s", printf("error: Wrote at position: %s, should have been %s", llstr(curr_file_info->isam->lastpos,llbuff), llstr(filepos,llbuff2)); goto com_err; goto end; } } } Loading sql-bench/limits/mysql-3.23.cfg +5 −4 Original line number Diff line number Diff line #This file is automaticly generated by crash-me 1.48 #This file is automaticly generated by crash-me 1.49 NEG=yes # update of column= -column Need_cast_for_null=no # Need to cast NULL for arithmetic Loading Loading @@ -36,7 +36,7 @@ constraint_check=no # Column constraints constraint_check_table=no # Table constraints constraint_null=yes # NULL constraint (SyBase style) crash_me_safe=no # crash me safe crash_me_version=1.48 # crash me version crash_me_version=1.49 # crash me version create_default=yes # default value for column create_default_func=no # default value function for column create_if_not_exists=yes # create table if not exists Loading Loading @@ -378,8 +378,9 @@ quote_ident_with_`=yes # ` as identifier quote quote_with_"=yes # Allows ' and " as string markers remember_end_space=no # Remembers end space in char() remember_end_space_varchar=no # Remembers end space in varchar() rename_table=yes # rename table repeat_string_size=1048576 # return string size from function right_outer_join=no # right outer join right_outer_join=yes # right outer join rowid=auto_increment # Type for row id select_constants=yes # Select constants select_limit=with LIMIT # LIMIT number of rows Loading @@ -387,7 +388,7 @@ select_limit2=yes # SELECT with LIMIT #,# select_string_size=1048565 # constant string size in SELECT select_table_update=no # Update with sub select select_without_from=yes # SELECT without FROM server_version=MySQL 3.23.22 beta debug # server version server_version=MySQL 3.23.25 beta debug # server version simple_joins=yes # ANSI SQL simple joins storage_of_float=round # Storage of float values subqueries=no # subqueries Loading Loading
Docs/manual.texi +3 −0 Original line number Diff line number Diff line Loading @@ -7694,6 +7694,9 @@ able to mix @code{INSERT} and @code{SELECT}. Currently we use mutexes to emulate @code{pread()}/@code{pwrite()}. We will in the long run replace the file level interface with a virtual interface so that we can use the @code{readfile()}/@code{writefile()} interface on NT to get more speed. The current implementation will however limit the number of open files @strong{MySQL} can use to 1024, which means that you will not be able to run as many concurrent threads on NT as on Unix. @item Blocking read @strong{MySQL} uses a blocking read for each connection.
myisam/mi_close.c +1 −1 Original line number Diff line number Diff line Loading @@ -36,7 +36,7 @@ int mi_close(register MI_INFO *info) if (info->lock_type == F_EXTRA_LCK) info->lock_type=F_UNLCK; /* HA_EXTRA_NO_USER_CHANGE */ if (share->reopen == 1) if (share->reopen == 1 && share->kfile >= 0) _mi_decrement_open_count(info); if (info->lock_type != F_UNLCK) Loading
myisam/mi_extra.c +2 −0 Original line number Diff line number Diff line Loading @@ -241,6 +241,8 @@ int mi_extra(MI_INFO *info, enum ha_extra_function function) error=my_errno; info->lock_type = F_UNLCK; } if (share->kfile >= 0) _mi_decrement_open_count(info); if (share->kfile >= 0 && my_close(share->kfile,MYF(0))) error=my_errno; { Loading
myisam/myisamlog.c +23 −7 Original line number Diff line number Diff line Loading @@ -355,7 +355,7 @@ static int examine_log(my_string file_name, char **table_names) } command=(uint) head[0]; if (command < sizeof(com_count)/sizeof(com_count[0][0])/3 && (!curr_file_info || curr_file_info->used)) (!table_names[0] || (curr_file_info && curr_file_info->used))) { com_count[command][0]++; if (result) Loading @@ -363,9 +363,12 @@ static int examine_log(my_string file_name, char **table_names) } switch ((enum myisam_log_commands) command) { case MI_LOG_OPEN: if (!table_names[0]) { com_count[command][0]--; /* Must be counted explicite */ if (result) com_count[command][1]--; } if (curr_file_info) printf("\nWarning: %s is opened twice with same process and filenumber\n", Loading Loading @@ -502,6 +505,8 @@ static int examine_log(my_string file_name, char **table_names) { if (!recover) goto com_err; if (verbose) printf_log("error: Didn't find row to delete with mi_rrnd"); com_count[command][2]++; /* Mark error */ } mi_result=mi_delete(curr_file_info->isam,curr_file_info->record); Loading @@ -512,6 +517,9 @@ static int examine_log(my_string file_name, char **table_names) goto com_err; if (mi_result) com_count[command][2]++; /* Mark error */ if (verbose) printf_log("error: Got result %d from mi_delete instead of %d", mi_result, result); } } break; Loading Loading @@ -550,6 +558,8 @@ static int examine_log(my_string file_name, char **table_names) result=0; goto com_err; } if (verbose) printf_log("error: Didn't find row to update with mi_rrnd"); if (recover == 1 || result || find_record_with_key(curr_file_info,buff)) { Loading @@ -564,6 +574,9 @@ static int examine_log(my_string file_name, char **table_names) { if (!recover) goto com_err; if (verbose) printf_log("error: Got result %d from mi_update instead of %d", mi_result, result); if (mi_result) com_count[command][2]++; /* Mark error */ } Loading @@ -576,15 +589,18 @@ static int examine_log(my_string file_name, char **table_names) { if (!recover) goto com_err; if (verbose) printf_log("error: Got result %d from mi_write instead of %d", mi_result, result); if (mi_result) com_count[command][2]++; /* Mark error */ } if (!recover && filepos != curr_file_info->isam->lastpos) { printf("Warning: Wrote at position: %s, should have been %s", printf("error: Wrote at position: %s, should have been %s", llstr(curr_file_info->isam->lastpos,llbuff), llstr(filepos,llbuff2)); goto com_err; goto end; } } } Loading
sql-bench/limits/mysql-3.23.cfg +5 −4 Original line number Diff line number Diff line #This file is automaticly generated by crash-me 1.48 #This file is automaticly generated by crash-me 1.49 NEG=yes # update of column= -column Need_cast_for_null=no # Need to cast NULL for arithmetic Loading Loading @@ -36,7 +36,7 @@ constraint_check=no # Column constraints constraint_check_table=no # Table constraints constraint_null=yes # NULL constraint (SyBase style) crash_me_safe=no # crash me safe crash_me_version=1.48 # crash me version crash_me_version=1.49 # crash me version create_default=yes # default value for column create_default_func=no # default value function for column create_if_not_exists=yes # create table if not exists Loading Loading @@ -378,8 +378,9 @@ quote_ident_with_`=yes # ` as identifier quote quote_with_"=yes # Allows ' and " as string markers remember_end_space=no # Remembers end space in char() remember_end_space_varchar=no # Remembers end space in varchar() rename_table=yes # rename table repeat_string_size=1048576 # return string size from function right_outer_join=no # right outer join right_outer_join=yes # right outer join rowid=auto_increment # Type for row id select_constants=yes # Select constants select_limit=with LIMIT # LIMIT number of rows Loading @@ -387,7 +388,7 @@ select_limit2=yes # SELECT with LIMIT #,# select_string_size=1048565 # constant string size in SELECT select_table_update=no # Update with sub select select_without_from=yes # SELECT without FROM server_version=MySQL 3.23.22 beta debug # server version server_version=MySQL 3.23.25 beta debug # server version simple_joins=yes # ANSI SQL simple joins storage_of_float=round # Storage of float values subqueries=no # subqueries Loading