Commit 871201db authored by Alexey Botchkov's avatar Alexey Botchkov
Browse files

merging

parents dd47146d 69657f97
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -577,6 +577,7 @@ extern int my_close(File Filedes,myf MyFlags);
extern File my_dup(File file, myf MyFlags);
extern int my_mkdir(const char *dir, int Flags, myf MyFlags);
extern int my_readlink(char *to, const char *filename, myf MyFlags);
extern int my_is_symlink(const char *filename);
extern int my_realpath(char *to, const char *filename, myf MyFlags);
extern File my_create_with_symlink(const char *linkname, const char *filename,
				   int createflags, int access_flags,
+4 −0
Original line number Diff line number Diff line
@@ -256,6 +256,10 @@ extern my_bool myisam_flush,myisam_delay_key_write,myisam_single_user;
extern my_off_t myisam_max_temp_length;
extern ulong myisam_bulk_insert_tree_size, myisam_data_pointer_size;

/* usually used to check if a symlink points into the mysql data home */
/* which is normally forbidden                                        */
extern int (*myisam_test_invalid_symlink)(const char *filename);

	/* Prototypes for myisam-functions */

extern int mi_close(struct st_myisam_info *file);
+2 −2
Original line number Diff line number Diff line
@@ -113,9 +113,9 @@ set @@sql_mode=@org_mode;
create table t1 (a int)
partition by key (a)
(partition p0 DATA DIRECTORY 'part-data' INDEX DIRECTORY 'part-data');
ERROR 42000: Incorrect table name 'part-data'
ERROR HY000: Incorrect arguments to DATA DIRECTORY
create table t1 (a int)
partition by key (a)
(partition p0,
partition p1 DATA DIRECTORY 'part-data' INDEX DIRECTORY 'part-data');
ERROR 42000: Incorrect table name 'part-data'
ERROR HY000: Incorrect arguments to DATA DIRECTORY
+2 −2
Original line number Diff line number Diff line
@@ -154,7 +154,7 @@ set @@sql_mode=@org_mode;
#
# Bug 21350: Data Directory problems
#
-- error ER_WRONG_TABLE_NAME
-- error ER_WRONG_ARGUMENTS
create table t1 (a int)
partition by key (a)
(partition p0 DATA DIRECTORY 'part-data' INDEX DIRECTORY 'part-data');
@@ -163,7 +163,7 @@ partition by key (a)
# Insert a test that manages to create the first partition and fails with
# the second, ensure that we clean up afterwards in a proper manner.
#
--error ER_WRONG_TABLE_NAME
--error ER_WRONG_ARGUMENTS
create table t1 (a int)
partition by key (a)
(partition p0,
+24 −23
Original line number Diff line number Diff line
@@ -108,24 +108,26 @@ int my_symlink(const char *content, const char *linkname, myf MyFlags)
#define BUFF_LEN FN_LEN
#endif


int my_is_symlink(const char *filename __attribute__((unused)))
{
  struct stat stat_buff;
  return !lstat(filename, &stat_buff) && S_ISLNK(stat_buff.st_mode);
}


int my_realpath(char *to, const char *filename,
		myf MyFlags __attribute__((unused)))
{
#if defined(HAVE_REALPATH) && !defined(HAVE_purify) && !defined(HAVE_BROKEN_REALPATH)
  int result=0;
  char buff[BUFF_LEN];
  struct stat stat_buff;
  char *ptr;
  DBUG_ENTER("my_realpath");

  if (!(MyFlags & MY_RESOLVE_LINK) ||
      (!lstat(filename,&stat_buff) && S_ISLNK(stat_buff.st_mode)))
  {
    char *ptr;
  DBUG_PRINT("info",("executing realpath"));
  if ((ptr=realpath(filename,buff)))
    {
      strmake(to,ptr,FN_REFLEN-1);
    }
  else
  {
    /*
@@ -140,7 +142,6 @@ int my_realpath(char *to, const char *filename,
    my_load_path(to, filename, NullS);
    result= -1;
  }
  }
  DBUG_RETURN(result);
#else
  my_load_path(to, filename, NullS);
Loading