Commit graph

24997 commits

Author SHA1 Message Date
Alexander Nozdrin
39822f2367 Auto-merge from mysql-5.1. 2009-11-05 12:02:44 +03:00
Alexander Nozdrin
55cb8c77fa Auto-merge from mysql-5.1. 2009-11-05 12:02:03 +03:00
Alexander Nozdrin
09ff80f2a0 Manual merge from mysql-5.1. 2009-11-05 11:48:06 +03:00
Magne Mahre
6eb797f973 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"
2009-11-04 14:31:03 +01:00
Magne Mahre
e30e0b7c7d 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.
2009-11-04 13:20:02 +01:00
Jon Olav Hauglid
df6d4bf1b4 Bug #43867 ALTER TABLE on a partitioned table causes unnecessary
deadlocks

Backport of revno: 2617.68.35

The problem was that if one connection is running a multi-statement 
transaction which involves a single partitioned table, and another 
connection attempts to alter the table to drop a non-existing partition,
(which of course will fail), the first connection still gets 
ER_LOCK_DEADLOCK and cannot proceed anymore.

This bug is no longer reproducable. This has also been tested with the
patch for Bug#46654 "False deadlock on concurrent DML/DDL with partitions, 
inconsistent behavior" which concerned a similar problem but where the 
ALTER TABLE is semantically correct.

Test case added in partition_sync.test.
2009-11-04 12:59:46 +01:00
Magne Mahre
948bb3e6dc Bug#42664: Sign ignored for TIME types when not comparing as longlong
Another code-path dropped sign of TIME, presuming all time is positive.
      
Minds sign now. Patch depends on ChangeSet for 42661.
2009-11-04 11:28:50 +01:00
Georgi Kodinov
c96baff6c1 merge 2009-11-04 11:18:34 +02:00
Magne Mahre
491b8fc755 Backport to 5.6.0 2009-11-04 10:17:39 +01:00
Georgi Kodinov
10ef8dd191 Disabled the rpl_killed_ddl test in 5.0 because of bug #45520 2009-11-04 11:13:22 +02:00
Magne Mahre
b1006c87f7 Bug#42661: sec_to_time() and signedness
Bug#42662: maketime() and signedness
      
Item_time_typecast::val_int() dropped sign from
MYSQL_TIME gotten using from get_time().
      
Propagates sign now.


Backported to 5.5.0  (6.0-codebase revid: 1810.3897.1)
2009-11-04 09:53:38 +01:00
Magne Mahre
b79b3c6581 Bug #36466: Adding days to day_microsecond changes interpretation of microseco
When less than six places are given for microseconds, we zerofill from
the right (leftmost place is always 1/10s). We only did this when all
announced date/time fields were given; now we also format fractional
seconds when more significant fields are left out.
2009-11-03 23:29:16 +01:00
Konstantin Osipov
409160e466 A fix and a test case for
Bug#41756 "Strange error messages about locks from InnoDB".
      
In JT_EQ_REF (join_read_key()) access method, 
don't try to unlock rows in the handler, unless certain that 
a) they were locked
b) they are not used.

Unlocking of rows is done by the logic of the nested join loop,
and is unaware of the possible caching that the access method may
have. This could lead to double unlocking, when a row
was unlocked first after reading into the cache, and then 
when taken from cache, as well as to unlocking of rows which
were actually used (but taken from cache).
      
Delegate part of the unlocking logic to the access method,
and in JT_EQ_REF count how many times a record was actually 
used in the join. Unlock it only if it's usage count is 0.

Implemented review comments.
2009-11-03 20:45:52 +03:00
Magnus Blåudd
273f9b633c Merge bug#47867 to 5.1-bugteam 2009-11-03 18:07:19 +01:00
Konstantin Osipov
d2babeaf3a A fix and a test case for
Bug#41756 "Strange error messages about locks from InnoDB".

In JT_EQ_REF (join_read_key()) access method,
don't try to unlock rows in the handler, unless certain that
a) they were locked
b) they are not used.

Unlocking of rows is done by the logic of the nested join loop,
and is unaware of the possible caching that the access method may
have. This could lead to double unlocking, when a row
was unlocked first after reading into the cache, and then
when taken from cache, as well as to unlocking of rows which
were actually used (but taken from cache).

Delegate part of the unlocking logic to the access method,
and in JT_EQ_REF count how many times a record was actually
used in the join. Unlock it only if it's usage count is 0.

Implemented review comments.
2009-11-03 19:58:54 +03:00
Kristofer Pettersson
6eec4b9824 automerge 2009-11-03 17:23:05 +01:00
Kristofer Pettersson
4b7a8a294b Moved test case for bug 31157 from query_cache.test to subselect.test 2009-11-03 17:18:43 +01:00
Sergey Vojtovich
2ebdc9098f Merge of innodb-zip-ss6129 snapshot. 2009-11-03 18:44:39 +04:00
Sergey Vojtovich
af3c70af45 Clean-up after applying innodb-zip-ss6129 snapshot:
- re-enabled main.innodb_bug44369;
- re-enabled main.innodb_bug47777;
- re-enabled innodb.innodb_information_schema.
2009-11-03 18:41:04 +04:00
Jonathan Perkin
1fd7c1038a Additional change required for bug#46834, find the std_data directory
correctly in RPMs.
2009-11-03 13:56:35 +00:00
Jorgen Loland
7f9a504745 Bug#48177 - SELECTs with NOT IN subqueries containing NULL
values return too many records

WHERE clauses with "outer_value_list NOT IN subselect" were
handled incorrectly if the outer value list contained multiple 
items where at least one of these could be NULL. The first 
outer record with NULL value was handled correctly, but if a 
second record with NULL value existed, the optimizer would 
choose to reuse the result it got on the last execution of the 
subselect. This is incorrect if the outer value list has 
multiple items.
     
The fix is to make Item_in_optimizer::val_int (in 
item_cmpfunc.cc) reuse the result of the latest execution
for NULL values only if all values in the outer_value_list 
are NULL.
2009-11-03 13:48:59 +01:00
Mikael Ronstrom
fc863ba96f Merge 2009-11-03 12:37:02 +01:00
Sergey Vojtovich
7f5c5e4d20 Applying InnoDB plugin snashot
Detailed revision comments:

r6101 | jyang | 2009-10-23 11:45:50 +0300 (Fri, 23 Oct 2009) | 7 lines
branches/zip: Update test result with the WARN_LEVEL_ERROR
to WARN_LEVEL_WARN change. This is the same result as 
submitted in rb://172 review, which approved by Sunny Bains
and Marko.
2009-11-03 14:21:39 +04:00
Sergey Vojtovich
b56899a1de Applying InnoDB plugin snashot
Detailed revision comments:

r6100 | jyang | 2009-10-22 06:51:07 +0300 (Thu, 22 Oct 2009) | 6 lines
branches/zip: As a request from mysql, WARN_LEVEL_ERROR cannot
be used for push_warning_* call any more. Switch to 
WARN_LEVEL_WARN. Bug #47233.
rb://172 approved by Sunny Bains and Marko.
2009-11-03 14:20:18 +04:00
c3345f3e47 Manual Merge 2009-11-03 18:20:08 +08:00
Sergey Vojtovich
594de658d0 Applying InnoDB plugin snashot
Detailed revision comments:

r6095 | vasil | 2009-10-19 16:04:59 +0300 (Mon, 19 Oct 2009) | 7 lines
branches/zip:

Fix Bug#47808 innodb_information_schema.test fails when run under valgrind 

by using the wait_until_rows_count macro that loops until the number of
rows becomes 14 instead of sleep 0.1, which is obviously very fragile.
2009-11-03 14:04:18 +04:00
133bfc7fdb BUG#48216 Replication fails on all slaves after upgrade to 5.0.86 on master
When a sessione is closed, all temporary tables of the session are automatically 
dropped and are binlogged. But it will be binlogged with wrong database names when
the length of the temporary tables' database names are greater than the 
length of the current database name or the current database is not set.

Query_log_event's db_len is forgot to set when Query_log_event's db is set.
This patch wrote code to set db_len immediately after db has set.
2009-11-03 17:00:41 +08:00
Sergey Vojtovich
c88db02f02 Clean-ups after applying InnoDB snapshot 5.1-ss6129:
- disabled main.innodb_bug47777.test with InnoDB plugin
  until fix for plugin is applied.
- disabled main.innodb-autoinc.test (failing)
- re-enabled main.innodb_bug39438.test
- added error message suppression to innodb_bug39438, as
  requested by InnoDB/Oracle
- reverted change to main.innodb_bug34300 as plugin specific.
2009-11-03 12:46:04 +04:00
Vladislav Vaintroub
7d5e759907 merge 2009-11-03 01:52:57 +01:00
Vladislav Vaintroub
2f075a1e37 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
Mikael Ronstrom
1daca0f9d7 Fixed test failure 2009-11-02 21:19:56 +01:00
Sergei Golubchik
d101d144df WL#4903 Plugin Service API part I
(mysql-next-mr backport)
2009-11-02 21:05:42 +01:00
Alexander Barkov
9d13264835 Merging a postfix for Bug#46633 Obsolete Serbian locale
from mysql-next-mr-bar
2009-11-02 21:21:37 +04:00
Luis Soares
48887ae12c Auto-merging mysql-5.1-bugteam-gca into mysql-5.1-bugteam latest. 2009-11-02 16:02:55 +00:00
Luis Soares
ff6eacbcae Auto-merging bzr bundle from bug report in mysql-5.1-bugteam-gca 2009-11-02 15:57:25 +00:00
Sergey Vojtovich
7171cbaa5b Applying InnoDB snashot 5.1-ss6129
Detailed revision comments:

r6127 | vasil | 2009-10-30 11:18:25 +0200 (Fri, 30 Oct 2009) | 18 lines
branches/5.1:

Backport c6121 from branches/zip:

  ------------------------------------------------------------------------
  r6121 | sunny | 2009-10-30 01:42:11 +0200 (Fri, 30 Oct 2009) | 7 lines
  Changed paths:
     M /branches/zip/mysql-test/innodb-autoinc.result
  
  branches/zip: This test has been problematic for sometime now. The underlying
  bug is that the data dictionaries get out of sync. In the AUTOINC code we
  try and apply salve to the symptoms. In the past MySQL made some unrelated
  change and the dictionaries stopped getting out of sync and this test started
  to fail. Now, it seems they have reverted that changed and the test is
  passing again. I suspect this is not he last time that this test will change.
  
  ------------------------------------------------------------------------
2009-11-02 19:06:58 +04:00
Sergey Vojtovich
842c568d2a Applying InnoDB snashot 5.1-ss6129
Detailed revision comments:

r6122 | jyang | 2009-10-30 05:18:38 +0200 (Fri, 30 Oct 2009) | 7 lines
branches/5.1: Chnage WARN_LEVEL_ERROR to WARN_LEVEL_WARN
for push_warning_printf() call in innodb.
Fix Bug#47233: Innodb calls push_warning(MYSQL_ERROR::WARN_LEVEL_ERROR)

rb://170 approved by Marko.
2009-11-02 18:59:44 +04:00
Sergey Vojtovich
ee39a3de64 Applying InnoDB snashot 5.1-ss6129
Detailed revision comments:

r6052 | sunny | 2009-10-12 07:09:56 +0300 (Mon, 12 Oct 2009) | 4 lines
branches/5.1: Reset the statement level autoinc counter on ROLLBACK. Fix
the test results too.
rb://164

r6053 | sunny | 2009-10-12 07:37:49 +0300 (Mon, 12 Oct 2009) | 6 lines
branches/5.1: Copy the maximum AUTOINC value from the old table to the new
table when MySQL does a CREATE INDEX ON T. This is required because MySQL
does a table copy, rename and drops the old table.
Fix Bug#47125: auto_increment start value is ignored if an index is created and engine=innodb
rb://168
2009-11-02 18:58:09 +04:00
Sergey Vojtovich
764a50b26a Applying InnoDB snashot 5.1-ss6129
Detailed revision comments:

r6051 | sunny | 2009-10-12 07:05:00 +0300 (Mon, 12 Oct 2009) | 6 lines
branches/5.1: Ignore negative values supplied by the user when calculating the
next value to store in dict_table_t. Setting autoincrement columns top negative
values is undefined behavior and this change should bring the behavior of
InnoDB closer to what users expect. Added several tests to check.
rb://162
2009-11-02 18:43:20 +04:00
Sergey Vojtovich
1df8c9fab6 Applying InnoDB snashot 5.1-ss6129
Detailed revision comments:

r6045 | jyang | 2009-10-08 02:27:08 +0300 (Thu, 08 Oct 2009) | 7 lines
branches/5.1: Fix bug #47777. Treat the Geometry data same as
Binary BLOB in ha_innobase::store_key_val_for_row(), since the
Geometry data is stored as Binary BLOB in Innodb.

Review: rb://180 approved by Marko Makela.
2009-11-02 18:41:40 +04:00
Mikael Ronstrom
296a0fdcca Fixed a few bugs in hex string generation, in call to val_str for partition expressions, also made code reusable for DEFAULT handling to fix BUG#48464 by introducing function get_cs_converted_string_value, added partition_utf8 test case for UTF8 outputs 2009-11-02 14:49:26 +01:00
Martin Hansson
f539e0c825 Bug#47925: regression of range optimizer and date comparison in 5.1.39!
When a query was using a DATE or DATETIME value formatted
using any other separator characters beside hyphen '-', a
query with a greater-or-equal '>=' condition matching only
the greatest value in an indexed column, the result was
empty if index range scan was employed.

The range optimizer got a new feature between 5.1.38 and
5.1.39 that changes a greater-or-equal condition to a
greater-than if the value matching that in the query was not
present in the table. But the value comparison function
compared the dates as strings instead of dates.

The bug was fixed by splitting the function
get_date_from_str in two: One part that parses and does
error checking. This function is now visible outside the
module. The old get_date_from_str now calls the new
function.
2009-11-02 13:24:07 +01:00
Davi Arnaut
9a08362897 Bug#48370: Absolutely wrong calculations with GROUP BY and decimal fields when using IF
Bug#45261: Crash, stored procedure + decimal

Revert fix for Bug#45261 due to unforeseen bugs.
2009-11-02 09:21:39 -02:00
Sergey Vojtovich
e5676d0a0b Merge innodb-5.1-ss6129 to mysql-5.1-bugteam. 2009-11-03 13:19:02 +04:00
Alexander Nozdrin
8c95f3c53b Manual merge from mysql-next-mr. 2009-11-02 14:10:04 +03:00
Mikael Ronstrom
3a2d15730b Merge to latest mysql-next-mr 2009-11-02 11:09:15 +01:00
Mikael Ronstrom
e4549b4d99 Added test case for UTF8 strings in partition constants 2009-11-02 11:03:40 +01:00
Tatiana A. Nurnberg
25a7332535 auto-merge 2009-11-02 00:13:13 -08:00
Luis Soares
3498200440 BUG#42829: manually merged approved bzr bundle from bug report.
Conflicts
=========

Text conflict in sql/sql_class.cc
1 conflicts encountered.
2009-11-01 23:13:11 +00:00
Sergey Vojtovich
612a8ccb2c Merge fix for BUG#43171. 2009-10-31 14:50:25 +04:00