Commit 9e636a24 authored by unknown's avatar unknown
Browse files

- 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 420e480e
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -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 */
+4 −1
Original line number Diff line number Diff line
@@ -209,6 +209,9 @@ int test_if_hard_path(register const char *dir_name)
my_bool has_path(const char *name)
{
  return test(strchr(name, FN_LIBCHAR)) 
#if FN_LIBCHAR != '/'
    || test(strchr(name,'/'))
#endif
#ifdef FN_DEVCHAR
    || test(strchr(name, FN_DEVCHAR))
#endif
+1 −0
Original line number Diff line number Diff line
@@ -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;