Commit 20530c30 authored by monty@hundin.mysql.fi's avatar monty@hundin.mysql.fi
Browse files

merge

parents b9d3a552 40fcae6d
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -42,3 +42,4 @@ bell@sanja.is.com.ua
kaj@work.mysql.com
mwagner@cash.mwagner.org
tom@basil-firewall.home.com
jani@rhols221.adsl.netsonic.fi
+21 −21
Original line number Diff line number Diff line
@@ -48296,7 +48296,7 @@ Fixed bug with empty expression for boolean fulltext search.
@item
Fixed core dump bug in updating fulltext key from/to @code{NULL}.
@item
ODBC compatibility: Added @code{BIT_LENGTH()} 
ODBC compatibility: Added @code{BIT_LENGTH()}.
@item
Fixed core dump bug in @code{GROUP BY BINARY column}.
@item
@@ -48315,7 +48315,7 @@ For more information, read @ref{Cast Functions}.
@code{CREATE ... SELECT} on @code{DATE} and @code{TIME} functions now
create columns of the expected type.
@item
Changed order of how keys are created in tables.
Changed order in which keys are created in tables.
@item
Added a new columns @code{Null} and @code{Index_type} to @code{SHOW INDEX}.
@end itemize
@@ -48330,17 +48330,17 @@ Fixed bug when @code{HANDLER} was used with some unsupported table type.
@code{mysqldump} now puts @code{ALTER TABLE table_name DISABLE KEYS} and
@code{ALTER TABLE table_name DISABLE KEYS} in the sql dump.
@item
Added @code{mysql_fix_extensions} script
Added @code{mysql_fix_extensions} script.
@item
Fixed stack overrun problem @code{LOAD DATA FROM MASTER} on OSF1.
@item
Fixed shutdown problem on HPUX.
Fixed shutdown problem on HP-UX.
@item
Added functions @code{des_encrypt()} and @code{des_decrypt()}.
@item
Added statement @code{FLUSH DES_KEY_FILE}.
@item
Added mysqld option @code{--des-key-file}.
Added @code{mysqld} option @code{--des-key-file}.
@item
@code{HEX(string)} now returns the characters in string converted to
hexadecimal.
@@ -48352,7 +48352,7 @@ Changed @code{SELECT ... IN SHARE MODE} to
@item
A new query cache to cache results from identical @code{SELECT} queries.
@item
Fixed core dump bug on 64 bit machines when it got a wrong communication
Fixed core dump bug on 64-bit machines when it got an incorrect communication
packet.
@item
@code{MATCH ... AGAINST(... IN BOOLEAN MODE)} can now work
@@ -48370,7 +48370,7 @@ of @code{FULLTEXT} indexes.
Fixed bug in @code{DELETE ... WHERE ... MATCH ...}.
@item
Added support for @code{MATCH ... AGAINST(... IN BOOLEAN MODE)}.
@strong{Note: you have to rebuild your tables with
@strong{Note: you must rebuild your tables with
@code{ALTER TABLE tablename TYPE=MyISAM} to be
able to use boolean fulltext search}.
@item
@@ -48391,7 +48391,7 @@ Added boolean fulltext search code. It should be considered early alpha.
Extended @code{MODIFY} and @code{CHANGE} in @code{ALTER TABLE} to accept
the @code{AFTER} keyword.
@item
Index are now used with @code{ORDER BY} on a whole @code{InnoDB} table.
Indexes are now used with @code{ORDER BY} on a whole @code{InnoDB} table.
@end itemize
@node News-4.0.0,  , News-4.0.1, News-4.0.x
@@ -48446,28 +48446,28 @@ Speed up all internal list handling.
@item
Speed up @code{IS NULL}, @code{ISNULL()} and some other internal primitives.
@item
Creating full text indexes are now much faster.
Full text index creation now is much faster.
@item
Tree-like cache to speed up bulk inserts and
@code{myisam_bulk_insert_tree_size} variable.
@item
Searching on packed (@code{CHAR}/@code{VARCHAR}) keys are now much faster.
Searching on packed (@code{CHAR}/@code{VARCHAR}) keys is now much faster.
@item
Optimised queries of type:
@code{SELECT DISTINCT * from table_name ORDER by key_part1 LIMIT #}
@code{SELECT DISTINCT * from table_name ORDER by key_part1 LIMIT #}.
@item
@code{SHOW CREATE TABLE} now shows all table attributes.
@item
@code{ORDER BY ... DESC} can now use keys.
@item
@code{LOAD DATA FROM MASTER} "auto-magically" sets up a slave.
@code{LOAD DATA FROM MASTER} ``auto-magically'' sets up a slave.
@item
Renamed @code{safe_mysqld} to @code{mysqld_safe}.
@item
Added support for symbolic links to @code{MyISAM} tables. Symlink handling is
now enabled by default for Windows.
@item
@code{LOAD DATA FROM MASTER} "auto-magically" sets up a slave.
@code{LOAD DATA FROM MASTER} ``auto-magically'' sets up a slave.
@item
Added @code{SQL_CALC_FOUND_ROWS} and @code{FOUND_ROWS()}. This makes it
possible to know how many rows a query would have returned
@@ -48486,15 +48486,15 @@ Added @code{ORDER BY} syntax to @code{UPDATE} and @code{DELETE}.
Added @code{ALTER TABLE table_name DISABLE KEYS} and
@code{ALTER TABLE table_name ENABLE KEYS} commands.
@item
Allow one to use @code{IN} instead of @code{FROM} in @code{SHOW} commands.
Allow use of @code{IN} as a synonym for @code{FROM} in @code{SHOW} commands.
@item
Implemented ``repair by sort'' for @code{FULLTEXT} indexes.
@code{REPAIR TABLE}, @code{ALTER TABLE}, and @code{OPTIMIZE TABLE}
for tables with @code{FULLTEXT} indexes are now up to 100 times faster.
@item
Allow ANSI SQL syntax @code{X'hexadecimal-number'}
Allow ANSI SQL syntax @code{X'hexadecimal-number'}.
@item
Cleaned up global lock handling for @code{FLUSH TABLES WITH READ LOCK}
Cleaned up global lock handling for @code{FLUSH TABLES WITH READ LOCK}.
@item
Fixed problem with @code{DATETIME = constant} in @code{WHERE} optimisation.
@item
@@ -48610,13 +48610,13 @@ Restrict InnoDB keys to 500 bytes.
@item
InnoDB now supports @code{NULL} in keys.
@item
Fixed shutdown problem on HPUX. (Introduced in 3.23.46)
Fixed shutdown problem on HP-UX. (Introduced in 3.23.46)
@item
Fixed core-dump bug in replication when using SELECT RELEASE_LOCK();
Fixed core-dump bug in replication when using @code{SELECT RELEASE_LOCK()}.
@item
Added new command: @code{DO expression,[expression]}
@item
Added @code{slave-skip-errors} option
Added @code{slave-skip-errors} option.
@item
Added statistics variables for all MySQL commands. (@code{SHOW STATUS} is
now much longer).
@@ -48627,7 +48627,7 @@ Fixed that @code{GROUP BY expr DESC} works.
@item
Fixed bug when using @code{t1 LEFT JOIN t2 ON t2.key=constant}.
@item
@code{mysql_config} now also work with binary (relocated) distributions.
@code{mysql_config} now also works with binary (relocated) distributions.
@end itemize
@node News-3.23.46, News-3.23.45, News-3.23.47, News-3.23.x
+51 −6
Original line number Diff line number Diff line
@@ -15,7 +15,8 @@
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */

/* mysqltest test tool
 * See man page for more information.
 * See the manual for more information
 * TODO: document better how mysqltest works
 *
 * Written by:
 *   Sasha Pachev <sasha@mysql.com>
@@ -26,9 +27,6 @@
/**********************************************************************
  TODO:

- Print also the queries that returns a result to the log file;  This makes
  it much easier to find out what's wrong.

- Do comparison line by line, instead of doing a full comparison of
  the text file.  This will save space as we don't need to keep many
  results in memory.  It will also make it possible to do simple
@@ -43,7 +41,7 @@

**********************************************************************/

#define MTEST_VERSION "1.13"
#define MTEST_VERSION "1.14"

#include <my_global.h>
#include <mysql_embed.h>
@@ -88,6 +86,12 @@
#define CON_RETRY_SLEEP 2
#define MAX_CON_TRIES   5

#ifndef OS2
#define SLAVE_POLL_INTERVAL 300000 /* 0.3 of a sec */
#else
#defile SLAVE_POLL_INTERVAL 0.3
#endif

enum {OPT_MANAGER_USER=256,OPT_MANAGER_HOST,OPT_MANAGER_PASSWD,
      OPT_MANAGER_PORT,OPT_MANAGER_WAIT_TIMEOUT};

@@ -187,6 +191,7 @@ Q_DISABLE_RPL_PARSE, Q_EVAL_RESULT,
Q_ENABLE_QUERY_LOG, Q_DISABLE_QUERY_LOG,
Q_ENABLE_RESULT_LOG, Q_DISABLE_RESULT_LOG,
Q_SERVER_START, Q_SERVER_STOP,Q_REQUIRE_MANAGER,
Q_WAIT_FOR_SLAVE_TO_STOP,
Q_UNKNOWN,                             /* Unknown command.   */
Q_COMMENT,                             /* Comments, ignored. */
Q_COMMENT_WITH_COMMAND
@@ -222,7 +227,7 @@ const char *command_names[] = {
  "enable_query_log", "disable_query_log",
  "enable_result_log", "disable_result_log",
  "server_start", "server_stop",
  "require_manager",
  "require_manager", "wait_for_slave_to_stop",
  0
};

@@ -653,6 +658,45 @@ int open_file(const char* name)
  return 0;
}

/* ugly long name, but we are following the convention */
int do_wait_for_slave_to_stop(struct st_query* __attribute__((unused)) q)
{
  MYSQL* mysql = &cur_con->mysql;
#ifndef OS2 
  struct timeval t;
#endif
  for (;;)
  {
    MYSQL_RES* res;
    MYSQL_ROW row;
    int done;
    LINT_INIT(res);
    
    if (mysql_query(mysql,"show status like 'Slave_running'")
	|| !(res=mysql_store_result(mysql)))
      die("Query failed while probing slave for stop: %s",
	  mysql_error(mysql));
    if (!(row=mysql_fetch_row(res)) || !row[1])
    {
      mysql_free_result(res);
      die("Strange result from query while probing slave for stop");
    }
    done = !strcmp(row[1],"OFF");
    mysql_free_result(res);
    if (done)
      break;
#ifndef OS2  
    t.tv_sec=0;
    t.tv_usec=SLAVE_POLL_INTERVAL;
    select(0,0,0,0,&t); /* sleep */
#else
    DosSleep(OS2_SLAVE_POLL_INTERVAL);
#endif
  }
  
  return 0;
}

int do_require_manager(struct st_query* __attribute__((unused)) q)
{
  if (!manager)
@@ -2335,6 +2379,7 @@ int main(int argc, char** argv)
      case Q_DISABLE_RESULT_LOG: disable_result_log=1; break;
      case Q_SOURCE: do_source(q); break;
      case Q_SLEEP: do_sleep(q); break;
      case Q_WAIT_FOR_SLAVE_TO_STOP: do_wait_for_slave_to_stop(q); break;
      case Q_REQUIRE_MANAGER: do_require_manager(q); break;
#ifndef EMBEDDED_LIBRARY	
      case Q_SERVER_START: do_server_start(q); break;
+1 −1
Original line number Diff line number Diff line
@@ -28,7 +28,7 @@ noinst_HEADERS = config-win.h \
			my_dir.h mysys_err.h my_base.h \
			my_nosys.h my_alarm.h queues.h \
			my_tree.h hash.h thr_alarm.h thr_lock.h \
			getopt.h t_ctype.h violite.h md5.h \
			getopt.h my_getopt.h t_ctype.h violite.h md5.h \
			mysql_version.h.in

# mysql_version.h are generated

include/my_getopt.h

0 → 100644
+46 −0
Original line number Diff line number Diff line
/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2 of the License, or
   (at your option) any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */

struct my_optarg
{
  char *arg;         /* option argument */
  int  pos;          /* next element in ARGV */
  int  verbose;      /* 0 = inhibit warnings of unrecognized options */
  int  unrecognized; /* position of the unrecognized option */
};


enum get_opt_var_type { GET_NO_ARG, GET_INT, GET_LL, GET_STR };
enum get_opt_arg_type { NO_ARG, OPT_ARG, REQUIRED_ARG };

struct my_option
{
  const char *name;                     /* Name of the option */
  const char *comment;                  /* option comment, for autom. --help */
  char       *value;                    /* The variable value */
  const char **str_values;              /* Pointer to possible values */
  enum get_opt_var_type var_type;
  enum get_opt_arg_type arg_type;
  int        id;                        /* unique id or short option */
  long long  def_value;                 /* Default value */
  long long  min_value;                 /* Min allowed value */
  long long  max_value;                 /* Max allowed value */
  long long  sub_size;                  /* Subtract this from given value */
  long       block_size;                /* Value should be a mult. of this */
  int        app_type;                  /* To be used by an application */
  my_bool    changeable_var;            /* If true, the option is a variable */
};
Loading