Commit 5cf25d80 authored by unknown's avatar unknown
Browse files

Merge spachev@bk-internal.mysql.com:/home/bk/mysql-4.1

into  asksasha.com:/reiser-data/mysql-dev/mysql-4.1-bug11139

parents ce7e95d4 f903f8e3
Loading
Loading
Loading
Loading
+32 −11
Original line number Diff line number Diff line
@@ -97,6 +97,10 @@
#define DEFAULT_DELIMITER ";"
#define MAX_DELIMITER 16

#define RESULT_OK 0
#define RESULT_CONTENT_MISMATCH 1
#define RESULT_LENGTH_MISMATCH 2

enum {OPT_MANAGER_USER=256,OPT_MANAGER_HOST,OPT_MANAGER_PASSWD,
      OPT_MANAGER_PORT,OPT_MANAGER_WAIT_TIMEOUT, OPT_SKIP_SAFEMALLOC,
      OPT_SSL_SSL, OPT_SSL_KEY, OPT_SSL_CERT, OPT_SSL_CA, OPT_SSL_CAPATH,
@@ -650,7 +654,7 @@ int dyn_string_cmp(DYNAMIC_STRING* ds, const char *fname)
  {
    DBUG_PRINT("info",("Size differs:  result size: %u  file size: %u",
		       ds->length, stat_info.st_size));
    DBUG_RETURN(2);
    DBUG_RETURN(RESULT_LENGTH_MISMATCH);
  }
  if (!(tmp = (char*) my_malloc(stat_info.st_size + 1, MYF(MY_WME))))
    die(NullS);
@@ -667,7 +671,7 @@ int dyn_string_cmp(DYNAMIC_STRING* ds, const char *fname)
    res_ptr = res_ds.str;
    if ((res_len = res_ds.length) != ds->length)
    {
      res = 2;
      res= RESULT_LENGTH_MISMATCH;
      goto err;
    }
  }
@@ -677,7 +681,8 @@ int dyn_string_cmp(DYNAMIC_STRING* ds, const char *fname)
    res_len = stat_info.st_size;
  }

  res = (memcmp(res_ptr, ds->str, res_len)) ?  1 : 0;
  res= (memcmp(res_ptr, ds->str, res_len)) ?
    RESULT_CONTENT_MISMATCH : RESULT_OK;

err:
  if (res && eval_result)
@@ -694,21 +699,21 @@ int dyn_string_cmp(DYNAMIC_STRING* ds, const char *fname)
static int check_result(DYNAMIC_STRING* ds, const char *fname,
			my_bool require_option)
{
  int error = 0;
  int error= RESULT_OK;
  int res= dyn_string_cmp(ds, fname);

  if (res && require_option)
    abort_not_supported_test();
  switch (res) {
  case 0:
  case RESULT_OK:
    break; /* ok */
  case 2:
  case RESULT_LENGTH_MISMATCH:
    verbose_msg("Result length mismatch");
    error = 1;
    error= RESULT_LENGTH_MISMATCH;
    break;
  case 1:
  case RESULT_CONTENT_MISMATCH:
    verbose_msg("Result content mismatch");
    error = 1;
    error= RESULT_CONTENT_MISMATCH;
    break;
  default: /* impossible */
    die("Unknown error code from dyn_string_cmp()");
@@ -3738,8 +3743,9 @@ int main(int argc, char **argv)
{
  int error = 0;
  struct st_query *q;
  my_bool require_file=0, q_send_flag=0;
  my_bool require_file=0, q_send_flag=0, query_executed= 0;
  char save_file[FN_REFLEN];
  MY_STAT res_info;
  MY_INIT(argv[0]);
  {
  DBUG_ENTER("main");
@@ -3932,6 +3938,7 @@ int main(int argc, char **argv)
	  save_file[0]=0;
	}
	error |= run_query(&cur_con->mysql, q, flags);
	query_executed= 1;
        q->last_argument= q->end;
	break;
      }
@@ -3952,6 +3959,7 @@ int main(int argc, char **argv)
	  is given on this connection.
	 */
	error |= run_query(&cur_con->mysql, q, QUERY_SEND);
	query_executed= 1;
        q->last_argument= q->end;
	break;
      case Q_RESULT:
@@ -3992,6 +4000,7 @@ int main(int argc, char **argv)
	break;
      case Q_EXEC:
	do_exec(q);
	query_executed= 1;
	break;
      case Q_START_TIMER:
	/* Overwrite possible earlier start of timer */
@@ -4048,6 +4057,18 @@ int main(int argc, char **argv)
    parser.current_line += current_line_inc;
  }

  if (!query_executed && result_file && my_stat(result_file, &res_info, 0))
  {
    /*
      my_stat() successful on result file. Check if we have not run a
      single query, but we do have a result file that contains data.
      Note that we don't care, if my_stat() fails. For example for
      non-existing or non-readable file we assume it's fine to have
      no query output from the test file, e.g. regarded as no error.
    */
    if (res_info.st_size)
      error|= (RESULT_CONTENT_MISMATCH | RESULT_LENGTH_MISMATCH);
  }
  if (result_file && ds_res.length && !error)
  {
    if (!record)

man/which.2

deleted100644 → 0
+0 −54
Original line number Diff line number Diff line
.TH WHICH 1 "20 December 2000" 
.SH NAME 
which - Jani please supply one. 
.SH USAGE 
which [options] [--] programname [...]
.SH SYNOPSIS 
.B which 
.RB [ \-\-version | \-[vV] ] 
.RB [ \-\-skip\-dot ] 
.RB [ \-\-skip\-tilde ] 
.RB [ \-\-show\-dot ] 
.RB [ \-\-show\-tilde ] 
.RB [ \-\-tty\-only ] 
.RB [ \-\-all | \-a ] 
.RB [ \-\-read\-alias | \-i ] 
.RB [ \-\-skip\-alias ] 
.SH DESCRIPTION 
.TP
.BR which
supports by executing
.TP
.BR \-\-version | \-[vV]
Print version and exit successfully.
.TP
.BR \-\-skip\-dot
Skip directories in PATH that start with a dot.
.TP
.BR \-\-skip\-tilde
Skip directories in PATH that start with a tilde.
.TP
.BR \-\-show\-dot
Don\'t expand a dot to current directory in output.
.TP
.BR \-\-show\-tilde
Output a tilde for HOME directory for non-root.
.TP
.BR \-\-tty\-only 
Stop processing options on the right if not on tty.
.TP
.BR \-\-all | \-a 
Print all matches in PATH, not just the first
.TP
.BR \-\-read\-alias | \-i
Read list of aliases from stdin.
.TP
.BR \-\-skip\-alias
Ignore option 
.BR --read-alias; 
don\'t read stdin.
.SH "SEE ALSO" 
isamchk (1), isamlog (1), mysqlaccess (1), mysqladmin (1), mysqlbug (1), mysqld (1), mysqldump (1), mysqlshow (1), msql2mysql (1), perror (1), replace (1), mysqld_safe (1), which1 (1), zap (1),
.SH AUTHOR 
Ver 1.0, distribution 3.23.29a Michael (Monty) Widenius (monty@tcx.se), TCX Datakonsult AB (http://www.tcx.se). This software comes with no warranty. Manual page by L. (Kill-9) Pedersen (kill-9@kill-9.dk), Mercurmedia Data Model Architect / system developer (http://www.mercurmedia.com) 
.\" end of man page 
 No newline at end of file
+16 −5
Original line number Diff line number Diff line
@@ -258,6 +258,7 @@ our $opt_user;
our $opt_user_test;

our $opt_valgrind;
our $opt_valgrind_mysqltest;
our $opt_valgrind_all;
our $opt_valgrind_options;

@@ -512,6 +513,7 @@ sub command_line_setup () {
             'gcov'                     => \$opt_gcov,
             'gprof'                    => \$opt_gprof,
             'valgrind:s'               => \$opt_valgrind,
             'valgrind-mysqltest:s'     => \$opt_valgrind_mysqltest,
             'valgrind-all:s'           => \$opt_valgrind_all,
             'valgrind-options=s'       => \$opt_valgrind_options,

@@ -696,9 +698,15 @@ sub command_line_setup () {
  #   ""           option set with no argument
  #   "somestring" option is name/path of valgrind executable

  if ( defined $opt_valgrind_all and ! $opt_valgrind )
  # Take executable path from any of them, if any
  $opt_valgrind= $opt_valgrind_mysqltest if $opt_valgrind_mysqltest;
  $opt_valgrind= $opt_valgrind_all       if $opt_valgrind_all;

  # If valgrind flag not defined, define if other valgrind flags are
  unless ( defined $opt_valgrind )
  {
    $opt_valgrind= $opt_valgrind_all;
    $opt_valgrind= ""
      if defined $opt_valgrind_mysqltest or defined $opt_valgrind_all;
  }

  if ( ! $opt_testcase_timeout )
@@ -2110,7 +2118,7 @@ sub run_mysqltest ($) {

  mtr_init_args(\$args);

  if ( defined $opt_valgrind )
  if ( defined $opt_valgrind_mysqltest )
  {
    valgrind_arguments($args, \$exe);
  }
@@ -2208,6 +2216,8 @@ sub valgrind_arguments {
  mtr_add_arg($args, "--alignment=8");
  mtr_add_arg($args, "--leak-check=yes");
  mtr_add_arg($args, "--num-callers=16");
  mtr_add_arg($args, "--suppressions=%s/valgrind.supp", $glob_mysql_test_dir)
    if -f "$glob_mysql_test_dir/valgrind.supp";

  if ( defined $opt_valgrind_all )
  {
@@ -2293,10 +2303,11 @@ Options for coverage, profiling etc

  gcov                  FIXME
  gprof                 FIXME
  valgrind[=exe]        Run the "mysqltest" executable as well as the "mysqld"
  valgrind[=EXE]        Run the "mysqltest" executable as well as the "mysqld"
                        server using valgrind, optionally specifying the
                        executable path/name
  valgrind-all          FIXME
  valgrind-mysqltest[=EXE] In addition, run the "mysqltest" executable with valgrind
  valgrind-all[=EXE]    Adds verbose flag, and --show-reachable to valgrind
  valgrind-options=ARGS Extra options to give valgrind

Misc options
+9 −0
Original line number Diff line number Diff line
@@ -1685,3 +1685,12 @@ explain select * from t1 order by a,b,c,d;
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
1	SIMPLE	t1	ALL	NULL	NULL	NULL	NULL	3	Using filesort
drop table t1;
create table t1 (a char(1), b char(1), key(a, b)) engine=innodb;
insert into t1 values ('8', '6'), ('4', '7');
select min(a) from t1;
min(a)
4
select min(b) from t1 where a='8';
min(b)
6
drop table t1;
+9 −0
Original line number Diff line number Diff line
@@ -1230,4 +1230,13 @@ select * from t1 order by a,b,c,d;
explain select * from t1 order by a,b,c,d;
drop table t1;

#
# BUG#11039,#13218 Wrong key length in min()
#

create table t1 (a char(1), b char(1), key(a, b)) engine=innodb;
insert into t1 values ('8', '6'), ('4', '7');
select min(a) from t1;
select min(b) from t1 where a='8';
drop table t1;
# End of 4.1 tests
Loading