1
0
mirror of https://github.com/MariaDB/server.git synced 2025-10-18 09:50:33 +03:00
Commit Graph

3804 Commits

Author SHA1 Message Date
Alexander Nozdrin
d476bbb0be Auto-merge from mysql-next-mr. 2009-11-05 15:08:37 +03:00
Alexander Nozdrin
660043abaf Auto-merge from mysql-5.1. 2009-11-05 12:36:34 +03:00
Magne Mahre
bda76437ae Fix compile error on HP/UX.
SIGWINCH is not defined in termios.h on HP/UX.
2009-11-05 10:31:58 +01:00
Alexander Nozdrin
5bbacc5214 Manual merge from mysql-5.1. 2009-11-05 12:23:55 +03:00
Alexander Nozdrin
c063bd171e Manual merge from mysql-5.1. 2009-11-05 12:20:41 +03:00
Alexander Nozdrin
b40aed07bf Auto-merge from mysql-5.1. 2009-11-05 12:14:01 +03:00
Alexander Nozdrin
0fd7ff87bb Auto-merge from mysql-5.1. 2009-11-05 12:02:44 +03:00
Magne Mahre
a5ab2c30df BUG #8368 "mysqldump needs --slave-data option"
Added this option, named as "--dump-slave". The purpose of this option is to be
able to produce a dump from a slave used for making backups of the master. Originally,
dumping from the main master was fine, but as more data accumulated, the dump process
would take over 30 minutes, locking up the master database hence website for 30 minutes.
A slave dedicated to producing backups was the answer, but I needed a dump that could be

used to restore a slave instantly and in order to do that, it has to have three things 
contained in the dump:
  
  1. "STOP SLAVE;" at the beginning
  2. "CHANGE MASTER TO ...<the master - info from 'show slave status'>"
  3. "START SLAVE;" at the end
  
These options in this changeset contain this.
  
  --stop-slave adds "STOP SLAVE" to the beginning of the dump and "STOP SLAVE" 
  to the end of the dump.
  
  --include-host gives the user the option to have the host explicitely added
  to the "CHANGE MASTER TO ..." line.
  
  --dump-slave adds the "CHANGE MASTER ..." to the dump representing not the slave's
  master binlog info, but the slave's master's info from "SHOW SLAVE STATUS" 


client/client_priv.h:
  Added OPT_SLAVE_DATA to client_priv.h
client/mysqldump.c:
  * Added --dump-slave option (name per Brian)
  * Added --stop-slave to print "STOP SLAVE;" into the dump
  * Added --include-host option to include "MASTER_HOST=..." and "MASTER_PORT=..."
    to the dump since unlike --master-data, the host can't be assumed to be
    the local host
  * Added do_start_slave and do_stop_slave to stop the slave sql thread upon
    start of the dump process, and to start the slave sql upon finish of dump process -
    to keep the log information frozen during this time.
  * Added do_show_slave_status for obtaining slave information needed to compose 
    "CHANGE MASTER ..." output to the master of this slave.
  * Added necessary long options and defines required for new options
2009-11-04 14:31:03 +01:00
Luis Soares
fb175a1beb BUG#48048: Deprecated constructs need removal in Betony
NOTE: Backport of:

bzr log -r revid:sp1r-serg@sergbook.mysql.com-20070505200319-38337
------------------------------------------------------------
revno: 2469.263.4
committer: serg@sergbook.mysql.com
timestamp: Sat 2007-05-05 13:03:19 -0700
message:
  Removing deprecated features:
  --master-XXX command-line options
  log_bin_trust_routine_creators
  table_type
  BACKUP TABLE ...
  RESTORE TABLE ...
  SHOW PLUGIN
  LOAD TABLE ... FROM MASTER
  LOAD DATA FROM MASTER
  SHOW INNODB STATUS
  SHOW MUTEX STATUS
  SHOW TABLE TYPES
  ... TIMESTAMP(N)
  ... TYPE=engine
  
  RESET SLAVE don't reset connection parameters anymore
  LOAD DATA: check opt_secure_file_priv before access(filename)
  improved WARN_DEPRECATED macro
2009-11-04 12:28:20 +00:00
Magne Mahre
77b8e5d9b5 Bug#26780: automatic vertical output for wide results
Feature from Eric Bergen, CLA signed 2007-06-27.
  
Adds new mysql client option "--auto-vertical-output", which causes
the client to test whether a result table is too wide for the current
window (where available) and emit vertical results in that case.
Otherwise, it sends normal tabular results.


client/client_priv.h:
  Add another enum value to client options, for automatic vertical output.
client/mysql.cc:
  Add another command-line option, "auto-vertical-output".
      
  Add functions to get the terminal width and functions to get the widths of fields.
      
  Use them together to emit vertical output when some output table is too wide to
  fit in the terminal.  If the terminal doesn't support reading its width, then assume
  80-positions wide.
mysql-test/r/mysql.result:
  Show that various select statements do work as expected.  Wide tables become vertical
  and narrow ones do not.
mysql-test/t/mysql.test:
  Show that various select statements do work as expected.
      
  These should be suitable for a wide range of window capabilities and sizes.  Under
  extreme circumstances, the results could be arbitrary.
2009-11-04 13:20:02 +01:00
Magne Mahre
0dae88ca2a Bug#35224: mysqldump --help is very confusing
The presence of "--skip" parameters is obscure, when it should be
obvious from the text.
  
Now, for boolean options, when they're default to ON and the --skip
is more useful parameter, then tell the user of its existence.

Backported from 6.0-codebase, revid  2572.14.1
2009-11-03 10:22:22 +01:00
Vladislav Vaintroub
2377eed362 Bug #47423 mtr connects to wrong database
The reason for the bug is that mysqtest as well as other client tools
running in test suite (mysqlbinlog, mysqldump) will first try to connect 
whatever database has created shared memory with default base name 
"MySQL" and use this. (Same effect could be seen on Unix if mtr would
not care to calculate "port" and "socket" parameter).
      
The fix ensures that all client tools and  running in mtr use unique  
per-database shared memory base parameters, so there is no possibility
to clash with already installed one. We use socket name for shared memory 
base (it's known to be unique). This shared-memory-base is written to the
MTR config file to the [client] and [mysqld] sections. Fix made also made 
sure all client tools understand and correctly handle --shared-memory-base.
Prior to this patch  it was not the case for  mysqltest, mysqlbinlog and 
mysql_client_test.
      
All new connections done from mtr scripts via connect() will by default 
set shared-memory-base. And finally, there is a possibility to force 
shared memory or pipe connection and overwrite shared memory/pipe base name
from within mtr scripts via optional PIPE or SHM modifier. This functionality
was manually backported from 6.0
(original patch  http://lists.mysql.com/commits/74749)
2009-11-03 01:19:37 +01:00
Vladislav Vaintroub
b51777484f merge 2009-11-03 01:52:57 +01:00
Alexander Nozdrin
a708ba6524 Manual merge from mysql-next-mr. 2009-11-02 14:10:04 +03:00
Tatiana A. Nurnberg
1b0be8c5b8 Bug#47655: Memory free error when connecting to 4.1 server from 5.1+ client
When starting the (5.1+) mysql command-line client, we try to get
"select @@version_comment" from the server to present it to the
user. Recent clients are aware that older servers do not have that
variable and fall back on other info to be able to present *something*
at least. This fallback string was allocated through the POSIX interface,
but released through the my*() suite, which rightfully complained about
the imbalance in calls when compiled with --debug. While this wasn't
as bad as it looked (no double-free, use of uninitialized or freed
buffer, etc.), it did look funky.

Using my_strdup() now for what will be my_free()d later.

client/mysql.cc:
  Use my_strdup() for server_version, as we'll my_free() it later
  and don't want to upset the mysql client's memory accounting.
2009-11-02 00:46:00 -08:00
Sergei Golubchik
319847a4ec backport of dbug extensions from 6.0:
function/ syntax
  glob(7) wildcards
  unit tests
2009-10-30 19:13:58 +01:00
Georgi Kodinov
27c2af97f7 merge 2009-10-30 16:57:16 +02:00
Georgi Kodinov
ecef6c3308 merge from 5.0-main 2009-10-30 16:34:54 +02:00
Alexander Nozdrin
f236f9a9dc Automerge from mysql-next-mr. 2009-10-29 18:03:30 +03:00
Alexey Botchkov
36299d59ef WL#4991 mysql_upgrade --fix-privilege-tables
(backport)
   mysql_upgrade script accepts --upgrade-system-tables option,
   fixing only system tables in this case.

per-file comments:
  client/mysql_upgrade.c
WL#4991 mysql_upgrade --fix-privilege-tables
    --upgrade-system-tables option added.
   if it is set, the tool won't look for the mysqlcheck then
   run_mysqlcheck_fixnames() and run_mysqlcheck_upgrade won't be called.
  mysql-test/r/mysql_upgrade.result
WL#4991 mysql_upgrade --fix-privilege-tables
    test result added
  mysql-test/t/mysql_upgrade.test
WL#4991 mysql_upgrade --fix-privilege-tables
    test case added
2009-10-28 14:02:00 +04:00
Alexander Nozdrin
22fe8e10e2 Merge from mysql-next-mr. 2009-10-28 10:55:44 +03:00
Alexander Nozdrin
55b8f07a99 Automerge from mysql-next-mr. 2009-10-28 10:48:53 +03:00
unknown
30625323e9 Bug #34777 mysqlbinlog: --help output for --base64-output is hard to understand
Append the description of the 'decode-rows' value for --base64-output argument.
2009-10-28 15:04:06 +08:00
Alexander Nozdrin
47c9089ef5 Automerge from mysql-next-mr. 2009-10-27 12:59:09 +03:00
Alexander Nozdrin
cd6e159890 Automerge from mysql-next-mr. 2009-10-27 12:57:44 +03:00
unknown
37743aedda Merge from mysql-5.0.87-release 2009-10-26 19:20:02 +01:00
Alexander Nozdrin
2dc132b209 Merge from mysql-next-mr. 2009-10-23 15:22:21 +04:00
Luis Soares
f1bb8c3c55 manual merge: mysql-5.1-rep+2-delivery1 --> mysql-5.1-rpl-merge
Conflicts
=========

Text conflict in .bzr-mysql/default.conf
Text conflict in libmysqld/CMakeLists.txt
Text conflict in libmysqld/Makefile.am
Text conflict in mysql-test/collections/default.experimental
Text conflict in mysql-test/extra/rpl_tests/rpl_row_sp006.test
Text conflict in mysql-test/suite/binlog/r/binlog_tmp_table.result
Text conflict in mysql-test/suite/rpl/r/rpl_loaddata.result
Text conflict in mysql-test/suite/rpl/r/rpl_loaddata_fatal.result
Text conflict in mysql-test/suite/rpl/r/rpl_row_create_table.result
Text conflict in mysql-test/suite/rpl/r/rpl_row_sp006_InnoDB.result
Text conflict in mysql-test/suite/rpl/r/rpl_stm_log.result
Text conflict in mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_simplex.result
Text conflict in mysql-test/suite/rpl_ndb/r/rpl_ndb_sp006.result
Text conflict in mysql-test/t/mysqlbinlog.test
Text conflict in sql/CMakeLists.txt
Text conflict in sql/Makefile.am
Text conflict in sql/log_event_old.cc
Text conflict in sql/rpl_rli.cc
Text conflict in sql/slave.cc
Text conflict in sql/sql_binlog.cc
Text conflict in sql/sql_lex.h
21 conflicts encountered.

NOTE
====
 mysql-5.1-rpl-merge has been made a mirror of mysql-next-mr:
 - "mysql-5.1-rpl-merge$ bzr pull ../mysql-next-mr"

 This is the first cset (merge/...) committed after pulling 
 from mysql-next-mr.
2009-10-22 23:30:28 +01:00
Alexander Nozdrin
a8c6e84a42 Automerge from mysql-next-mr. 2009-10-23 00:24:32 +04:00
Alexander Nozdrin
20eac04d7c Automerge from mysql-next-mr. 2009-10-23 00:20:44 +04:00
Alexander Nozdrin
564952afb0 Automerge from mysql-next-mr. 2009-10-22 22:06:01 +04:00
Bjorn Munch
e26a2f3b61 new merge from next-mr 2009-10-22 09:36:39 +02:00
Bjorn Munch
3a2434d432 new merge from trunk 2009-10-22 09:13:44 +02:00
Alexander Barkov
c15f970dc8 WL#1349 Use operating system localization to send it as a default client character set 2009-10-21 17:59:47 +05:00
Alexander Barkov
dcb8bb23c2 Merging mysql-next-mr-merge to mysql-next-mr. 2009-10-21 15:48:22 +05:00
Bjorn Munch
0632e9a407 merge from next-mr 2009-10-21 12:18:33 +02:00
unknown
52db2f3646 Bug #34777 mysqlbinlog: --help output for --base64-output is hard to understand
There are some problems about help text:
- It is stated that "auto" is the default twice. It need be stated only once.
- It is stated that --base64-output is short for --base64-output=always. But that sounds
like the default is "always", not "auto".

Make the help text clear as following:
Determine when the output statements should be base64-encoded BINLOG 
statements: 'never' disables it and works only for binlogs without 
row-based events; 'auto' prints base64 only when necessary (i.e., 
for row-based events and format description events); 'always' prints 
base64 whenever possible. 'always' is for debugging only and should 
not be used in a production system. If this argument is not given, 
the default is 'auto'; if it is given with no argument, 'always' is used.
2009-10-20 13:16:09 +08:00
Tatiana A. Nurnberg
5ef63a4f1c Bug#28141: Control C on query waiting on lock causes ERROR 1053 (server shutdown)
If a thread is killed in the server, we throw "shutdown" only if one is actually in
progress; otherwise, we throw "query interrupted".

Control-C in the mysql command-line client is "incremental" now.
First Control-C sends KILL QUERY (when connected to 5.0+ server, otherwise, see next)
Next  Control-C sends KILL CONNECTION
Next  Control-C aborts client.

As the first two steps only pertain to an existing query,
Control-C will abort the client right away if no query is running.

client will give more detailed/consistent feedback on Control-C now.


client/mysql.cc:
  Extends Control-C handling; enhances up feedback to user.
  
  On 5.0+ servers, we try to be nice and send KILL QUERY first
  if Control-C is pressed in the command-line client, but if
  that doesn't work, we now give the user the opportunity to
  send KILL CONNECTION with another Control-C (and to kill the
  client with another Control-C if that somehow doesn't work
  either).
mysql-test/t/flush_read_lock_kill.test:
  we're getting correct "thread killed" rather than
  "in shutdown" error now
mysql-test/t/kill.test:
  we're getting correct "thread killed" rather than
  "in shutdown" error now
mysql-test/t/rpl000001.test:
  we're getting correct "thread killed" rather than
  "in shutdown" error now
mysql-test/t/rpl_error_ignored_table.test:
  we're getting correct "thread killed" rather than
  "in shutdown" error now
sql/records.cc:
  make error messages on KILL uniform for rr_*()
  by folding that handling into rr_handle_error()
sql/sql_class.h:
  Only throw "shutdown" when we have one flagged as being in progress;
  otherwise, throw "query interrupted" as it's likely to be "KILL CONNECTION"
  or related.
2009-10-19 21:42:10 -07:00
Georgi Kodinov
88084d6763 merged 5.1-main-> 5.1-bugteam 2009-10-23 15:12:26 +03:00
Tatiana A. Nurnberg
495cde347b auto-merge 2009-10-20 20:37:33 -07:00
Tatiana A. Nurnberg
3f0d0d0633 manual merge of 28141 2009-10-20 11:00:07 -07:00
Alexander Nozdrin
bd60794fd8 Merge from mysql-trunk-merge. 2009-10-19 17:36:19 +04:00
Bjorn Munch
cf7afa1164 merge from next-mr 2009-10-18 10:08:07 +02:00
Bjorn Munch
72c96cbd0e merge from 5.1 main 2009-10-16 23:25:05 +02:00
Alexander Nozdrin
b7c3a76cfe Pull from mysql-next-mr-runtime. 2009-10-16 20:30:20 +04:00
Alexander Nozdrin
2397e6593d Backporting patch for Bug#38992 from 6.0.
Original revision:
revno: 2617.55.2
committer: Alexander Nozdrin <alik@sun.com>
branch nick: azalea-bf-bug38992
timestamp: Fri 2009-06-19 16:41:16 +0400
message:
  Fix for Bug#38992: Server crashes sporadically with
  'waiting for initial ...' msg on windows.
  
  The problem is that connection timeout is too small
  for busy windows box.
  
  The fix is to
    - add support for connect_timeout command line argument
      to mysqltest;
    - set default value of the connect_timeout option to
      120 seconds.
2009-10-16 19:14:39 +04:00
Konstantin Osipov
3138ee3be1 Backport of 2617.65.4 from 6.0-codebase.
A fix and a test case for Bug#34898 "mysql_info() reports 0 warnings
while mysql_warning_count() reports 1"

Review the patch by Chad Miller, implement review comments
(since Chad left) and push the patch.

This bug is actually not a bug. At least according to Monty.
See Bug#841 "wrong number of warnings" reported back in July 2003
and closed as "not a bug".
mysql_info() was printing the number of truncated columns, not
the number of warnings.
But since the message of mysql_info() was "Warnings: <number of truncated
columns>", people would expect to get the number
of warnings in it, not the number of truncated columns.

So a possible fix would be to change the message of mysql_info()
to say Rows changed: <n>, truncated: <m>.

Instead, put the number of warnings there. That is, remove the
feature that thd->cuted_fields (the number of truncated fields)
is exposed to the client. The number of truncated columns can be
calculated on the client, by analyzing SHOW WARNINGS output,
and in future we may remove thd->cuted_fields altogether.
So let's have one less thing to worry about.

client/mysqltest.cc:
  Fix a bug in mysqltest program which used to return
  a wrong number of affected rows in ps-protocol, and a wrong
  mysql_info() information in both protocols in presence of warnings.
mysql-test/r/insert.result:
  Update results (Bug#34898)
mysql-test/suite/rpl/r/rpl_udf.result:
  Update to the changed output of mysqltest: mysql_info() is now printed
  before warnings.
mysql-test/t/insert.test:
  Add a test case for Bug#34898.
sql/sql_table.cc:
  A fix for Bug#34898 - report statement warn count, not the
  number of truncated values in mysql_info().
sql/sql_update.cc:
  A fix for Bug#34898 - report statement warn count, not the
  number of truncated values in mysql_info().
2009-10-16 17:41:43 +04:00
Konstantin Osipov
3bb00f1946 Backport of:
------------------------------------------------------------
revno: 2476.657.208
committer: anozdrin/alik@station.
timestamp: Tue 2007-12-04 17:22:53 +0300
message:
Remove rpl_probe, enable_rpl_parse and disable_rpl_parse commands
from mysqltest, the corresponding funtctions have been removed from
MySQL C API



client/mysqltest.cc:
  Remove unused functions.
libmysql/CMakeLists.txt:
  Remove manager.c from Windows build.
sql-common/client.c:
  A post-merge fix.
2009-10-16 01:11:42 +04:00
Sergey Glukhov
d8c3f2263f WL#751 Error message construction, backport 2009-10-15 17:23:43 +05:00
Hery Ramilison
7df70d09a9 Added make targets 'test-bt-fast' and 'test-bt-debug-fast'
Put variable declaration at the beginning of a block
2009-10-15 00:40:40 +02:00