Commit graph

55384 commits

Author SHA1 Message Date
Gleb Shchepa
a938da539c manual merge 5.0-bugteam --> 5.1-bugteam 2008-09-30 18:16:11 +05:00
Gleb Shchepa
e20b9de18e Fixed bug #17823: 'arc' directories inside database directories.
Server created "arc" directories inside database directories and
maintained there useless copies of .frm files.

Creation and renaming procedures of those copies as well as
creation of "arc" directories has been discontinued.
Removal procedure has been kept untouched to be able to
cleanup existent database directories by the DROP DATABASE
query. Also view renaming procedure has been updated to remove
these directories.
2008-09-30 17:50:28 +05:00
Alexey Botchkov
3bf44a8622 merging 2008-09-30 10:41:30 +05:00
Davi Arnaut
b976918c3f Merge from parent branch. 2008-09-29 14:42:36 -03:00
Alexey Botchkov
b6f4b1c083 Bug#37949 Crash if argument to SP is a subquery that returns more than one row
JOIN for the subselect wasn't cleaned if we came upon an error
     during sub_select() execution. That leads to the assertion failure
     in close_thread_tables()

     part of the 6.0 code backported

per-file comments:
  mysql-test/r/sp-error.result
Bug#37949 Crash if argument to SP is a subquery that returns more than one row 
    test result

  mysql-test/t/sp-error.test
Bug#37949 Crash if argument to SP is a subquery that returns more than one row 
    test case

  sql/sp_head.cc
Bug#37949 Crash if argument to SP is a subquery that returns more than one row 
    lex->unit.cleanup() call added if not substatement
2008-09-29 19:11:34 +05:00
Davi Arnaut
35ffaf10e3 Bug#34306: Can't make copy of log tables when server binary log is enabled
The problem is that when statement-based replication was enabled,
statements such as INSERT INTO .. SELECT FROM .. and CREATE TABLE
.. SELECT FROM need to grab a read lock on the source table that
does not permit concurrent inserts, which would in turn be denied
if the source table is a log table because log tables can't be
locked exclusively.

The solution is to not take such a lock when the source table is
a log table as it is unsafe to replicate log tables under statement
based replication. Furthermore, the read lock that does not permits
concurrent inserts is now only taken if statement-based replication
is enabled and if the source table is not a log table.
2008-09-29 10:53:40 -03:00
He Zhenxing
b0a35c7a6d Auto Merge 2008-09-29 13:36:42 +08:00
He Zhenxing
0d2025e1d4 BUG#38734 rpl_server_id2 sync_with_master failed
Rotate event is automatically generated and written when rotating binary
log or relay log. Rotate events for relay logs are usually ignored by slave
SQL thread becuase they have the same server id as that of the slave.
However, if --replicate-same-server-id is enabled, rotate event
for relay log would be treated as if it's a rotate event from master, and
would be executed by slave to update the rli->group_master_log_name and
rli->group_master_log_pos to a wrong value and cause the MASTER_POS_WAIT
function to fail and return NULL.

This patch fixed this problem by setting a flag bit (LOG_EVENT_RELAY_LOG_F)
in the event to tell the SQL thread to ignore these Rotate events generated
for relay logs.

This patch also added another binlog event flag bit (LOG_EVENT_ARTIFICIAL_F)
to distinquish faked events, the method used before this was by checking if
log_pos was zero.
2008-09-28 15:34:25 +08:00
He Zhenxing
05c0a9de97 BUG#35843 Slow replication slave when using partitioned myisam table
In order to improve the performance when replicating to partitioned
myisam tables with row-based format, the number of rows of current 
rows log event is estimated and used to setup storage engine for bulk
inserts.
2008-09-26 17:39:47 +08:00
Kristofer Pettersson
4223fa0e1e Automerge 2008-09-25 19:08:46 +02:00
Chad MILLER
bf996620cd Bug#35754: mysql_install_db does not work if no hostname is set
Machines with hostname set to "localhost" cause uniqueness errors in 
the SQL bootstrap data.

Now, insert zero lines for cases where the (lowercased) hostname is 
the same as an already-inserted 'localhost' name.  Also, fix a few tests 
that expect certain local accounts to have a certain host name.
2008-09-24 08:59:56 -04:00
Patrick Crews
51c40c5bd0 Bug#38311 - Fix of some cruft from remove_files in ndb_autodiscover.test, clean up of distinct.test,
and replacing error numbers with error names.
2008-09-23 05:24:32 -04:00
Mattias Jonsson
9d7aac9cef merge 2008-09-23 12:24:30 +03:00
Patrick Crews
9a86c50092 merge of changes 2008-09-22 15:33:38 -04:00
Patrick Crews
92a3b67393 Bug#37312 Make tests binlog_row_innodb_stat and binlog_stm_innodb_stat more robust
Trimmed some error-prone and variable portions of the test and added 'flush status' to ensure deterministic test
2008-09-22 15:15:52 -04:00
Magnus Svensson
13e6758df0 Memoize functions that converts between different paths, a given input string will always return the same output. This save a lot of calls to cygpath for example 2008-09-22 19:15:55 +03:00
Magnus Svensson
8764738aef Print tests that has not been run 2008-09-22 18:52:19 +03:00
Magnus Svensson
c955eb6b68 Print 'cygpath -m' command if it fails 2008-09-22 18:44:35 +03:00
Magnus Svensson
773fbd9543 Bug #37312 Make tests binlog_row_innodb_stat and binlog_stm_innodb_stat more robust 2008-09-22 12:03:00 +03:00
Magnus Svensson
623a10868b WL#4189 fix small scheduler loop problem causing report that not all tests were run 2008-09-22 10:02:45 +03:00
Kristofer Pettersson
53cf8914e4 Merge 5.0-bugteam -> 5.1-bugteam 2008-09-20 16:52:34 +02:00
Kristofer Pettersson
cd9aef82d7 Automerge 2008-09-20 16:45:39 +02:00
Magnus Svensson
9e06353040 Use --batch when invoking gdb, to make sure it will exit in case of an error in the command files. 2008-09-20 17:10:22 +03:00
Magnus Svensson
bffebb9cbc Change typo . -> , 2008-09-20 17:00:05 +03:00
Magnus Svensson
02eee93f3a Versional testing support 2008-09-20 16:51:31 +03:00
Magnus Svensson
67580cd220 Make sure the direcory where the test socket is to be created exists 2008-09-20 15:21:29 +03:00
Kristofer Pettersson
18b3eacbc6 Bug#38469 invalid memory read and/or crash with utf8 text field, stored procedure, uservar
A stored procedure involving substrings could crash the server on certain
platforms because of invalid memory reads.
          
During storing the new blob-field value, the cached value's address range
overlapped that of the new field value. This caused problems when the 
cached value storage was reallocated to provide access for a new 
characater set representation. The patch checks the address ranges, and if
they overlap, the new field value is copied to a new storage before it is
converted to the new character set.
2008-09-20 10:51:03 +02:00
Davi Arnaut
04ecf17b77 Restore team tree name. 2008-09-20 03:56:33 -03:00
Mattias Jonsson
7388a9f54a merge (update of local branch before push) 2008-09-20 09:53:23 +03:00
Patrick Crews
2a419a5627 Bug#38311 Some tests use 'rm' which is not portable
Substituted use of MTR's remove_file function in the tests
Started with 5.0 tree and will clean up any offenders discovered during upmerge.
2008-09-20 02:21:28 -04:00
timothy.smith@sun.com
68674082ff Raise version number after cloning 5.0.70 2008-09-19 15:48:46 +02:00
Georgi Kodinov
d815cbb8df fixed a problem with the push of bug #31434 2008-09-19 16:24:32 +03:00
Georgi Kodinov
9ef7803382 merge of bug 39353 5.0-5.1.29-rc -> 5.1-5.1.29-rc 2008-09-19 15:34:37 +03:00
Georgi Kodinov
ac4de74d00 merged 5.0-5.1.29-rc into B39353 tree 2008-09-19 14:31:51 +03:00
Mattias Jonsson
0494d58527 Bug#30573: Ordered range scan over partitioned tables returns some rows twice
and
Bug#33555: Group By Query does not correctly aggregate partitions

Backport of bug-33257 which is the same bug.

read_range_*() calls was not passed to the partition handlers,
but was translated to index_read/next family calls.
Resulting in duplicates rows and wrong aggregations.
2008-09-18 22:49:34 +03:00
Matthias Leich
ba93a357cf Merge 5.0 -> 5.1
no conflicts, no real code changes
2008-09-18 15:46:27 +02:00
Matthias Leich
47ba1e8196 Merge actual tree -> local tree
no conflicts
2008-09-18 15:32:06 +02:00
Matthias Leich
336acaf7b7 Merge actual bugteam tree -> local tree 2008-09-18 15:05:19 +02:00
Georgi Kodinov
0a61c6d7c9 Bug #39353: Multiple conditions on timestamp column crashes server
The fix for bug 31887 was incomplete : it assumes that all the 
field types returned by the IS_NUM macro are descendants of 
Item_num and tries to zero-fill the values before doing constant
substitution with such fields when they are compared to constant string
values.
The only exception to this is Field_timestamp : it's in the IS_NUM
macro, but is not a descendant of Field_num.
Fixed by excluding timestamp fields (Field_timestamp) when zero-filling
when converting the constant to compare with to a string.
Note that this will not exclude the timestamp columns from const 
propagation.
2008-09-18 15:55:36 +03:00
Gleb Shchepa
cb8a39e78c Post-push fix for bug #26020: User-Defined Variables are not consistence with columns data types.
--ps-protocol problem has been fixed.
2008-09-18 17:24:09 +05:00
Tatiana A. Nurnberg
3f966ec74b auto-merge 2008-09-18 13:15:19 +02:00
Tatiana A. Nurnberg
4661508601 manual merge 2008-09-18 11:32:54 +02:00
Tatiana A. Nurnberg
86775b103f Bug#37114: sql_mode NO_BACKSLASH_ESCAPES does not work properly with LOAD DATA Bug#37114: sql_mode NO_BACKSLASH_ESCAPES does not work properly with LOAD DATA INFILE
tweaked test to make embedded server happy
2008-09-18 11:24:50 +02:00
Mattias Jonsson
fbd8f03dc2 Bug#37803: Test "partition_alter2_innodb" exhausts resources (time and/or memory)
It is a very big test and as such it takes a lot of time.

Solution is to divide the test in two parts, one for testing increasing
column size and one for decreasing size.

The innodb branch does extended tests (that myisam is not) due to the
$do_pk_tests variabel, that is the reason why the innodb branch takes
longer.

No increase of memory usage in innodb was found when analyzing, (tested
with looping some millions time of create/drop and alter commands)

The memory exhaust discovered in the test is due to mysqltest which
stores the result in memory (result-file) and this was the biggest
result file in the test framework, so by dividing the test into two
parts also cuts the memory usage of mysqltest.
2008-09-18 12:02:48 +03:00
Gleb Shchepa
db1d38c910 Bug#26020: User-Defined Variables are not consistent with
columns data types

The "SELECT @lastId, @lastId := Id FROM t" query returns
different result sets depending on the type of the Id column
(INT or BIGINT).

Note: this fix doesn't cover the case when a select query
references an user variable and stored function that
updates a value of that variable, in this case a result
is indeterminate.


The server uses incorrect assumption about a constantness of
an user variable value as a select list item: 

The server caches a last query number where that variable
was changed and compares this number with a current query
number. If these numbers are different, the server guesses,
that the variable is not updating in the current query, so
a respective select list item is a constant. However, in some
common cases the server updates cached query number too late.


The server has been modified to memorize user variable
assignments during the parse phase to take them into account
on the next (query preparation) phase independently of the
order of user variable references/assignments in a select
item list.
2008-09-18 13:38:44 +05:00
Chad MILLER
edf10751ef Merge Bug#37312. 2008-09-18 03:57:59 -04:00
Tatiana A. Nurnberg
7d19a76a7b auto-merge 2008-09-17 18:12:23 +02:00
Tatiana A. Nurnberg
d9e0a4b78e auto-merge 2008-09-17 17:44:15 +02:00
Tatiana A. Nurnberg
f90e4c3758 auto-merge 2008-09-17 14:54:50 +02:00
Tatiana A. Nurnberg
a89d13a7f0 Bug#37114: sql_mode NO_BACKSLASH_ESCAPES does not work properly with LOAD DATA INFILE
NO_BACKSLASH_ESCAPES was not heeded in LOAD DATA INFILE
and SELECT INTO OUTFILE.  It is now.
2008-09-17 08:34:00 +02:00