From: Date: May 23 2005 6:55pm Subject: bk commit into 4.1 tree (reggie:1.2286) BUG#10687 List-Archive: http://lists.mysql.com/internals/25181 X-Bug: 10687 Message-Id: <200505231655.j4NGtr8Q022243@mdk10> Below is the list of changes that have just been committed into a local 4.1 repository of reggie. When reggie does a push these changes will be propagated to the main repository and, within 24 hours after the push, to the public repository. For information on how to access the public repository see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html ChangeSet 1.2286 05/05/23 11:53:16 reggie@mdk10.(none) +2 -0 BUG# 10687: MERGE Engine fails on Windows This is a replacement for the original patch given by Ingo. This one comes from Monty. The problem is that merge files now use unix style pathnames on all platforms. The merge file open code was not properly converting those pathnames back to non-unix when necessary. mysys/my_getwd.c 1.14 05/05/23 11:53:08 reggie@mdk10.(none) +1 -1 add a test for '/' in the code that determines if a string inlucdes a pathname myisammrg/myrg_open.c 1.29 05/05/23 11:53:07 reggie@mdk10.(none) +3 -1 use fn_format to convert pathnames if the files in the merge file have a pathname # This is a BitKeeper patch. What follows are the unified diffs for the # set of deltas contained in the patch. The rest of the patch, the part # that BitKeeper cares about, is below these diffs. # User: reggie # Host: mdk10.(none) # Root: /home/reggie/bk/mysql-4.1 --- 1.28/myisammrg/myrg_open.c 2005-04-28 11:28:44 -05:00 +++ 1.29/myisammrg/myrg_open.c 2005-05-23 11:53:07 -05:00 @@ -67,7 +67,7 @@ while ((length=my_b_gets(&file,buff,FN_REFLEN-1))) { if ((end=buff+length)[-1] == '\n') - end[-1]='\0'; + *--end='\0'; if (!buff[0]) continue; /* Skip empty lines */ if (buff[0] == '#') @@ -86,6 +86,8 @@ sizeof(name_buff)-1-dir_length)); VOID(cleanup_dirname(buff,name_buff)); } + else + fn_format(buff, buff, "", "", 0); if (!(isam=mi_open(buff,mode,(handle_locking?HA_OPEN_WAIT_IF_LOCKED:0)))) goto err; if (!m_info) /* First file */ --- 1.13/mysys/my_getwd.c 2005-04-28 11:28:44 -05:00 +++ 1.14/mysys/my_getwd.c 2005-05-23 11:53:08 -05:00 @@ -208,7 +208,7 @@ my_bool has_path(const char *name) { - return test(strchr(name, FN_LIBCHAR)) + return test(strchr(name, FN_LIBCHAR)) || test(strchr(name,'/')) #ifdef FN_DEVCHAR || test(strchr(name, FN_DEVCHAR)) #endif