Commit 721ba061 authored by unknown's avatar unknown

- Backport of the patch to fix BUG#10687 (Merge engine fails

  on Windows): applied required patches on top of the 4.1.12
  release (will be published as 4.1.12a for Windows)


myisammrg/myrg_open.c:
  - Backport of the patch to fix BUG#10687 (Merge engine fails 
    under Windows): use fn_format to convert pathnames if the files 
    in the merge file have a pathname
mysys/my_getwd.c:
  - Backport of the patch to fix BUG#10687 (Merge engine fails 
    on Windows): Added test to see if FN_LIBCHAR != '/' before
    doing comparison to avoid redundant comparison
sql/ha_myisammrg.cc:
  - Backport of the patch to fix BUG#10687 (Merge engine fails 
    on Windows): added extra debug output
parent e0d3e956
......@@ -67,7 +67,7 @@ MYRG_INFO *myrg_open(const char *name, int mode, int handle_locking)
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 @@ MYRG_INFO *myrg_open(const char *name, int mode, int handle_locking)
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 */
......
......@@ -208,7 +208,10 @@ int test_if_hard_path(register const char *dir_name)
my_bool has_path(const char *name)
{
return test(strchr(name, FN_LIBCHAR))
return test(strchr(name, FN_LIBCHAR))
#if FN_LIBCHAR != '/'
|| test(strchr(name,'/'))
#endif
#ifdef FN_DEVCHAR
|| test(strchr(name, FN_DEVCHAR))
#endif
......
......@@ -422,6 +422,7 @@ int ha_myisammrg::create(const char *name, register TABLE *form,
}
else
table_name=(*tbl)->path;
DBUG_PRINT("info",("MyISAM table_name: '%s'", table_name));
*pos++= table_name;
}
*pos=0;
......
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