Commit ed74119e authored by serg@serg.mysql.com's avatar serg@serg.mysql.com
Browse files

Merge

parents 77805812 b83bf332
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -287,6 +287,7 @@ libmysqld/sql_command
libmysqld/sql_crypt.cc
libmysqld/sql_db.cc
libmysqld/sql_delete.cc
libmysqld/sql_do.cc
libmysqld/sql_handler.cc
libmysqld/sql_insert.cc
libmysqld/sql_lex.cc
@@ -367,6 +368,7 @@ scripts/mysql_config
scripts/mysql_convert_table_format
scripts/mysql_explain_log
scripts/mysql_find_rows
scripts/mysql_fix_extensions
scripts/mysql_fix_privilege_tables
scripts/mysql_install_db
scripts/mysql_setpermission
@@ -398,6 +400,7 @@ sql-bench/test-connect
sql-bench/test-create
sql-bench/test-insert
sql-bench/test-select
sql-bench/test-transactions
sql-bench/test-wisconsin
sql/.gdbinit
sql/gen_lex_hash
@@ -445,5 +448,3 @@ vio/test-ssl
vio/test-sslclient
vio/test-sslserver
vio/viotest-ssl
sql-bench/test-transactions
libmysqld/sql_do.cc
+27 −10
Original line number Diff line number Diff line
@@ -8050,6 +8050,10 @@ version 4.0;
@itemize @bullet
@item
To use @code{MATCH ... AGAINST (... IN BOOLEAN MODE)} with your tables,
you need to rebuild them with @code{ALTER TABLE table_name TYPE=MyISAM},
@strong{even} if they are of @code{MyISAM} type.
@item
@code{LOCATE()} and @code{INSTR()} are case sensitive if neither
argument is a binary string.
@item
@@ -22090,8 +22094,12 @@ is @code{localhost}.
Lock all tables before starting the dump.  The tables are locked with
@code{READ LOCAL} to allow concurrent inserts in the case of @code{MyISAM}
tables.
@item -K, --no-disable-keys.
@code{/*!40000 ALTER TABLE tb_name DISABLE KEYS */;} and
@code{/*!40000 ALTER TABLE tb_name ENABLE KEYS */;}
will not be put in the output.
@item -n, --no-create-db
'CREATE DATABASE /*!32312 IF NOT EXISTS*/ db_name;' will not be put in the
@code{CREATE DATABASE /*!32312 IF NOT EXISTS*/ db_name;} will not be put in the
output. The above line will be added otherwise, if --databases or
--all-databases option was given.
@item -t, --no-create-info
@@ -22140,6 +22148,10 @@ Verbose mode. Print out more information on what the program does.
Print version information and exit.
@item -w, --where='where-condition'
Dump only selected records. Note that quotes are mandatory:
@item -X, --xml
Dumps a database as well formed XML
@item -x, --first-slave
Locks all tables across all databases.
@example
"--where=user='jimf'" "-wuserid>1" "-wuserid<1"
@@ -34566,15 +34578,6 @@ options, MySQL simply renames the files that correspond to the table
@code{tbl_name}.  There is no need to create the temporary table.
@xref{RENAME TABLE,, @code{RENAME TABLE}}.
@item
Since @strong{MySQL 4.0} the above feature can be activated explicitly.
@code{ALTER TABLE ... DISABLE KEYS} makes MySQL to stop updating
non-unique indexes for @code{MyISAM} table.
@code{ALTER TABLE ... ENABLE KEYS} then should be used to recreate missing
indexes. As MySQL does it with special algorithm which is much
faster then inserting keys one by one, disabling keys could give a
considerable speedup on bulk inserts.
@item
@code{create_definition} clauses use the same syntax for @code{ADD} and
@code{CHANGE} as for @code{CREATE TABLE}.  Note that this syntax includes
@@ -34674,6 +34677,15 @@ If you use @code{ALTER TABLE} on a @code{MyISAM} table, all non-unique
indexes are created in a separate batch (like in @code{REPAIR}).
This should make @code{ALTER TABLE} much faster when you have many indexes.
@item
Since @strong{MySQL 4.0} the above feature can be activated explicitly.
@code{ALTER TABLE ... DISABLE KEYS} makes MySQL to stop updating
non-unique indexes for @code{MyISAM} table.
@code{ALTER TABLE ... ENABLE KEYS} then should be used to recreate missing
indexes. As MySQL does it with special algorithm which is much
faster then inserting keys one by one, disabling keys could give a
considerable speedup on bulk inserts.
@item
@findex mysql_info()
With the C API function @code{mysql_info()}, you can find out how many
@@ -47828,6 +47840,11 @@ Our TODO section contains what we plan to have in 4.0. @xref{TODO MySQL 4.0}.
@itemize @bullet
@item
@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
@item
Fixed stack overrun problem @code{LOAD DATA FROM MASTER} on OSF1.
@item
Fixed shutdown problem on HPUX.
+56 −44
Original line number Diff line number Diff line
@@ -73,7 +73,7 @@ static my_bool verbose=0,tFlag=0,cFlag=0,dFlag=0,quick=0, extended_insert = 0,
		ignore=0,opt_drop=0,opt_keywords=0,opt_lock=0,opt_compress=0,
                opt_delayed=0,create_options=0,opt_quoted=0,opt_databases=0,
	        opt_alldbs=0,opt_create_db=0,opt_first_slave=0,
                opt_autocommit=0, opt_master_data, opt_xml=0;
                opt_autocommit=0,opt_master_data,opt_disable_keys=0,opt_xml=0;
static MYSQL  mysql_connection,*sock=0;
static char  insert_pat[12 * 1024],*opt_password=0,*current_user=0,
             *current_host=0,*path=0,*fields_terminated=0,
@@ -118,6 +118,7 @@ static struct option long_options[] =
  {"no-create-db",      no_argument,    0,      'n'},
  {"no-create-info",	no_argument,    0,	't'},
  {"no-data",		no_argument,    0,	'd'},
  {"no-disable-keys",   no_argument,    0,	'K'},
  {"opt",		no_argument,    0,	OPT_OPTIMIZE},
  {"password",          optional_argument,	0, 'p'},
#ifdef __WIN__
@@ -214,6 +215,9 @@ static void usage(void)
puts("\
  -l, --lock-tables     Lock all tables for read.\n\
  --no-autocommit       Wrap tables with autocommit/commit statements.\n\
  -K, --no-disable-keys '/*!40000 ALTER TABLE tb_name DISABLE KEYS */;\n\
                        and '/*!40000 ALTER TABLE tb_name ENABLE KEYS */;\n\
                        will not be put in the output.\n\
  -n, --no-create-db    'CREATE DATABASE /*!32312 IF NOT EXISTS*/ db_name;'\n\
                        will not be put in the output. The above line will\n\
                        be added otherwise, if --databases or\n\
@@ -305,7 +309,7 @@ static int get_options(int *argc,char ***argv)
  load_defaults("my",load_default_groups,argc,argv);
  set_all_changeable_vars(md_changeable_vars);
  while ((c=getopt_long(*argc,*argv,
			"#::p::h:u:O:P:r:S:T:EBaAcCdefFlnqtvVw:?IxX",
			"#::p::h:u:O:P:r:S:T:EBaAcCdefFKlnqtvVw:?IxX",
			long_options, &option_index)) != EOF)
  {
    switch(c) {
@@ -341,6 +345,9 @@ static int get_options(int *argc,char ***argv)
      my_free(current_host,MYF(MY_ALLOW_ZERO_PTR));
      current_host=my_strdup(optarg,MYF(MY_WME));
      break;
    case 'K':
      opt_disable_keys=1;
      break;
    case 'n':
      opt_create_db = 1;
      break;
@@ -408,7 +415,7 @@ static int get_options(int *argc,char ***argv)
    case 'w':
      where=optarg;
      break;
    case 'X': opt_xml = 1; break;
    case 'X': opt_xml = 1; opt_disable_keys=1; break;
    case 'x':
      opt_first_slave=1;
      break;
@@ -883,6 +890,8 @@ static uint getTableStructure(char *table, char* db)
      fputs(";\n", sql_file);
    }
  }
  if (!opt_disable_keys)
    fprintf(sql_file,"\n/*!40000 ALTER TABLE %s DISABLE KEYS */;\n",table_name);
  if (cFlag)
  {
    strpos=strmov(strpos,") VALUES ");
@@ -982,7 +991,7 @@ static void dumpTable(uint numFields, char *table)
    end= add_load_option(end, lines_terminated, " LINES TERMINATED BY");
    *end= '\0';

    sprintf(buff," FROM %s",table);
    sprintf(buff," FROM %s",quote_name(table,table_buff));
    end= strmov(end,buff);
    if (where)
      end= strxmov(end, " WHERE ",where,NullS);
@@ -1189,6 +1198,9 @@ static void dumpTable(uint numFields, char *table)
      safe_exit(EX_CONSCHECK);
      return;
    }
    if (!opt_disable_keys)
      fprintf(md_result_file,"\n/*!40000 ALTER TABLE %s ENABLE KEYS */;\n",
                                            quote_name(table,table_buff));
    if (opt_lock)
      fputs("UNLOCK TABLES;\n", md_result_file);
    if (opt_autocommit)
+3 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ bin_SCRIPTS = @server_scripts@ \
			msql2mysql \
			mysql_config \
			mysql_fix_privilege_tables \
                        mysql_fix_extensions \
			mysql_setpermission \
			mysql_zap \
			mysqlaccess \
@@ -35,6 +36,7 @@ EXTRA_SCRIPTS = make_binary_distribution.sh \
			msql2mysql.sh \
			mysql_config.sh \
			mysql_fix_privilege_tables.sh \
                        mysql_fix_extensions.sh \
			mysql_install_db.sh \
			mysql_setpermission.sh \
			mysql_zap.sh \
@@ -61,6 +63,7 @@ CLEANFILES = @server_scripts@ \
			msql2mysql \
			mysql_config \
			mysql_fix_privilege_tables \
                        mysql_fix_extensions \
			mysql_setpermission \
			mysql_zap \
			mysqlaccess \
+16 −0
Original line number Diff line number Diff line
#!@PERL@
# This is a utility for MySQL. It is not needed by any standard part
# of MySQL.

# Usage: mysql_fix_extentions datadir
# does not work with RAID, with InnoDB or BDB tables
# makes .frm lowercase and .MYI/MYD/ISM/ISD uppercase
# useful when datafiles are copied from windows

die "Usage: $0 datadir\n" unless -d $ARGV[0];

for $a (<$ARGV[0]/*/*.*>) { $_=$a;
  s/\.frm$/.frm/i;
  s/\.(is[md]|my[id])$/\U$&/;
  rename ($a, $_) || warn "Cannot rename $a => $_ : $!";
}
Loading