Commit c5522001 authored by unknown's avatar unknown
Browse files

Merge bk-internal:/home/bk/mysql-5.1-new

into  neptunus.(none):/home/msvensson/mysql/mysql-5.1


mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/r/sp.result:
  Auto merged
parents 434c4a92 fe0b818f
Loading
Loading
Loading
Loading
+47 −1
Original line number Diff line number Diff line
@@ -80,6 +80,7 @@ static char *add_load_option(char *ptr, const char *object,
			     const char *statement);
static ulong find_set(TYPELIB *lib, const char *x, uint length,
		      char **err_pos, uint *err_len);
static char *alloc_query_str(ulong size);

static char *field_escape(char *to,const char *from,uint length);
static my_bool  verbose=0,tFlag=0,dFlag=0,quick= 1, extended_insert= 1,
@@ -1313,19 +1314,64 @@ static uint dump_routines_for_db(char *db)
                             routine_name, row[2], strlen(row[2])));
          if (strlen(row[2]))
          {
            char *query_str= NULL;
            char *definer_begin;

            if (opt_drop)
              fprintf(sql_file, "/*!50003 DROP %s IF EXISTS %s */;;\n",
                      routine_type[i], routine_name);

            /*
              Cover DEFINER-clause in version-specific comments.

              TODO: this is definitely a BAD IDEA to parse SHOW CREATE output.
              We should user INFORMATION_SCHEMA instead. The only problem is
              that now INFORMATION_SCHEMA does not provide information about
              routine parameters.
            */

            definer_begin= strstr(row[2], " DEFINER");
            
            if (definer_begin)
            {
              char *definer_end= strstr(definer_begin, " PROCEDURE");

              if (!definer_end)
                definer_end= strstr(definer_begin, " FUNCTION");

              if (definer_end)
              {
                char *query_str_tail;

                /*
                  Allocate memory for new query string: original string
                  from SHOW statement and version-specific comments.
                */
                query_str= alloc_query_str(strlen(row[2]) + 23);

                query_str_tail= strnmov(query_str, row[2],
                                        definer_begin - row[2]);
                query_str_tail= strmov(query_str_tail, "*/ /*!50019");
                query_str_tail= strnmov(query_str_tail, definer_begin,
                                        definer_end - definer_begin);
                query_str_tail= strxmov(query_str_tail, "*/ /*!50003",
                                        definer_end, NullS);
              }
            }

            /*
              we need to change sql_mode only for the CREATE
              PROCEDURE/FUNCTION otherwise we may need to re-quote routine_name
            */;
            fprintf(sql_file, "/*!50003 SET SESSION SQL_MODE=\"%s\"*/;;\n",
                    row[1] /* sql_mode */);
            fprintf(sql_file, "/*!50003 %s */;;\n", row[2]);
            fprintf(sql_file, "/*!50003 %s */;;\n",
                    (query_str != NULL ? query_str : row[2]));
            fprintf(sql_file,
                    "/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/"
                    ";;\n");

            my_free(query_str, MYF(MY_ALLOW_ZERO_PTR));
          }
        } /* end of routine printing */
      } /* end of list of routines */
+11 −0
Original line number Diff line number Diff line
######################################################
# By JBM 2006-03-08 So that the code is not repeated #
# in test cases and can be reused.                   #
######################################################

--exec $NDB_TOOLS_DIR/ndb_restore --no-defaults --ndb-connectstring="localhost:$NDBCLUSTER_PORT_SLAVE" -p 8 -b $the_backup_id -n 1 -m -r --print --print_meta $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT

--exec $NDB_TOOLS_DIR/ndb_restore --no-defaults --ndb-connectstring="localhost:$NDBCLUSTER_PORT_SLAVE" -p 8 -b $the_backup_id -n 2 -r -e --print --print_meta $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT


+6 −0
Original line number Diff line number Diff line
@@ -262,6 +262,12 @@ sub collect_one_test_case($$$$$$$) {
      $tinfo->{'skip'}= 1;
      return;
    }
    if ( ! $::opt_with_ndbcluster )
    {
      # Ndb is not supported, skip them
      $tinfo->{'skip'}= 1;
      return;
    }
  }
  else
  {
+2 −2
Original line number Diff line number Diff line
@@ -2034,7 +2034,7 @@ sub run_testcase ($) {
    if ( $tinfo->{'master_restart'} or
         $master->[0]->{'running_master_is_special'} or
	 # Stop if cluster is started but test cases does not need cluster
	 ( $tinfo->{'ndb_test'} != $using_ndbcluster_master ) )
	 ( $opt_with_ndbcluster && $tinfo->{'ndb_test'} != $using_ndbcluster_master ) )
    {
      stop_masters();
      $master->[0]->{'running_master_is_special'}= 0; # Forget why we stopped
@@ -2087,7 +2087,7 @@ sub run_testcase ($) {

    if ( $tinfo->{'component_id'} eq 'mysqld' and ! $opt_local_master )
    {
      if ( $master->[0]->{'ndbcluster'} )
      if ( $opt_with_ndbcluster and $master->[0]->{'ndbcluster'} )
      {
	# Cluster is not started

+1 −1
Original line number Diff line number Diff line
@@ -680,7 +680,7 @@ drop procedure if exists fn3;
create function fn3 () returns point return GeomFromText("point(1 1)");
show create function fn3;
Function	sql_mode	Create Function
fn3		CREATE FUNCTION `fn3`() RETURNS point
fn3		CREATE DEFINER=`root`@`localhost` FUNCTION `fn3`() RETURNS point
return GeomFromText("point(1 1)")
select astext(fn3());
astext(fn3())
Loading