Commit graph

54798 commits

Author SHA1 Message Date
Sven Sandberg
9a10e967b3 merged in disabled test cases 2008-07-08 12:59:23 +02:00
Sven Sandberg
6af2959400 BUG#37962: *_func tests containing sleeps/race conditions
This is not a fix, it just disables the erroneous test cases.
2008-07-08 12:56:05 +02:00
Mats Kindahl
a129837f66 Manual merge with mysql-5.0-bugteam 2008-07-08 10:37:42 +02:00
Mattias Jonsson
de35ca0da9 merge (update of 51-bugteam, during testing for pushing...) 2008-07-08 01:05:16 +02:00
Marc Alff
8454773a97 Manual merge of bug#26030 in mysql-5.1-bugteam 2008-07-07 15:53:20 -06:00
Mattias Jonsson
6cc1fcc9a0 merge 2008-07-07 23:08:29 +02:00
Mattias Jonsson
c499df928c Bug#35745: SELECT COUNT(*) is not correct for some partitioned tables.
problem was that ha_partition::records was not implemented, thus
using the default handler::records, which is not correct if the engine
does not support HA_STATS_RECORDS_IS_EXACT.
Solution was to implement ha_partition::records as a wrapper around
the underlying partitions records.

The rows column in explain partitions will now include the total
number of records in the partitioned table.

(recommit after removing out-commented code)
2008-07-07 22:42:19 +02:00
Marc Alff
68925ec2b8 Merge 2008-07-07 13:59:07 -06:00
Sven Sandberg
56dd330e05 merged fix for bug#37373 into 5.1-rpl 2008-07-07 18:24:04 +02:00
Marc Alff
f3ff1aeb9c Bug#26030 (Parsing fails for stored routine w/multi-statement execution
enabled)

Before this fix, the lexer and parser would treat the ';' character as a
different token (either ';' or END_OF_INPUT), based on convoluted logic,
which failed in simple cases where a stored procedure is implemented as a
single statement, and used in a multi query.

With this fix:
- the character ';' is always parsed as a ';' token in the lexer,
- parsing multi queries is implemented in the parser, in the 'query:' rules,
- the value of thd->client_capabilities, which is the capabilities
  negotiated between the client and the server during bootstrap,
  is immutable and not arbitrarily modified during parsing (which was the
  root cause of the bug)
2008-07-07 10:00:08 -06:00
Sven Sandberg
f873578aab BUG#37933: Test "rpl_insert" fails - timing problem in replication test ?
Problem: the test syncs slave by a 'wait_condition' waiting until
table t1 has 5000 rows. However, there is no guarantee that t1
makes it to the slave before the wait_condition.
Fix: sync_slave_with_master just after t1 was created.
2008-07-07 17:38:47 +02:00
Sven Sandberg
75c6124b4e merged fixes for bug#37858 2008-07-07 16:10:31 +02:00
Sven Sandberg
a38f6fe4cd merge with local changes for bug#37906 2008-07-07 16:01:25 +02:00
Sven Sandberg
af7ed3f9be Post-merge fixes.
The file tree in mtr's vardir has changed so an old
hard-coded path in mysql-test/t/subselect.test didn't
work.
Fix: update the paths in the test.
2008-07-07 14:20:08 +02:00
Sven Sandberg
dc6d984eb4 rpl_row_inexist_tbl gave a merge conflict because the binlog
positions changed. Fixed by removing binlog positions from
output, and also:
 - removed code not used to verify the tested property
 - added comments
2008-07-07 11:18:09 +02:00
Georgi Kodinov
0a638f6b0d Bug#37627: addendum :
- moved the test into a separate file to check for presence of the test variable
2008-07-07 11:43:56 +03:00
Mats Kindahl
b9d6d4c0d8 Bug #37150 Risk for crash in User_var_log_event::exec_event()
On certain kinds of errors (e.g., out of stack), a call to Item_func_
set_user_var::fix_fields() might fail.  Since the return value of this
call was not checked inside User_var_log_event::exec_event(), continuing
execution after this will cause a crash inside Item_func_set_user_var::
update_hash().

The bug is fixed by aborting execution of the event with an error if
fix_fields() fails, since it is not possible to continue execution anyway.
2008-07-07 09:58:27 +02:00
Sven Sandberg
e467919d18 BUG#37906: innodb_max_dirty_pages_pct_func does not clean up after itself
Made the test innodb_max_dirty_pages_pct_func clean up after itself.
2008-07-06 19:14:41 +02:00
Sven Sandberg
500aa80db3 Merge 5.1 -> 5.1-rpl 2008-07-06 19:07:30 +02:00
Sven Sandberg
bb63582ed9 BUG#37373: rpl_ndb_transaction fails sporadically in pb on sol10-amd64-a and sol10-sparc-a
Problem: rpl_ndb_transaction fails because it assumes nothing
is written to the binlog at a certain point. However, ndb may
binlog updates in ndb system tables at a nondeterministic
time point after an ndb table update has been committed.
Fix: break the test into two. rpl_ndb_transaction still does
the ndb updates needed by the first half of the test. The new
test case rpl_bug26395 includes the part that assumes nothing
more will be written to the binlog.
2008-07-06 12:53:25 +02:00
Daniel Fischer
43af930e71 ild can not be expected on all matching installs 2008-07-05 09:44:10 +02:00
Chad MILLER
124dea7f24 Merge from 5.0. Add new 5.1 files. Drop bdb. 2008-07-04 14:48:25 -04:00
Chad MILLER
8e222b0d22 Merge bug. 2008-07-04 13:30:26 -04:00
Chad MILLER
43ba41548e Bug#30563: Is not possible to create rpl_ or innodb test if needed \
to use ANSI_QUOTES

Make all have_* tests universally safe by using ANSI quotes.
2008-07-04 12:41:27 -04:00
Georgi Kodinov
bc9a436253 atutomatic merge of 5.1-bugteam into bug37627 2008-07-04 18:15:15 +03:00
Georgi Kodinov
730847898d Bug#37627: Killing query with sum(exists()) or avg(exists()) reproducibly crashes server
When there is an error executing EXISTS predicates they return NULL as their string
or decimal value but don't set the NULL value flag.
Fixed by returning 0 (as a decimal or a string) on error exectuting the subquery.
Note that we can't return NULL as EXISTS is not supposed to return NULL.
2008-07-04 17:02:17 +03:00
Sven Sandberg
eb05cd9e4f BUG#37858: loaddata,rpl_slave_skip,rpl_innodb_mixed_dml fail if datafile not world-readable
Problem 1: main.loaddata tried to trigger an error caused by
reading files outside the vardir, by reading itself. However,
if loaddata.test is not world-readable (e.g., umask=0077),
then another error is triggered.
Fix 1: allow the other error too.
Problem 2: rpl_slave_skip and rpl_innodb_mixed_dml tried to
copy a file from mysql-test/suite/rpl/data to mysql-test/var
and then read it. That failed too if umask=0077, since the
file would not become world-readable.
Fix 2: move the files from mysql-test/suite/rpl/data to
mysql-test/std_data and update tests accordingly. Remove
the directory mysql-test/suite/rpl/data.
2008-07-04 11:33:34 +02:00
Konstantin Osipov
29defdb5f0 A fix for
Bug#12093 "SP not found on second PS execution if another thread 
drops other SP in between" and
Bug#21294 "executing a prepared statement that executes a stored 
function which was recreat"

Stored functions are resolved at prepared statement prepare only.
If someone flushes the stored functions cache between prepare and
execute, execution fails.

The fix is to detect the situation of the cache flush and automatically
reprepare the prepared statement after it.
2008-07-03 23:41:22 +04:00
Sven Sandberg
0da3a20150 merge 2008-07-03 10:29:11 +02:00
Sven Sandberg
d47bf970ce BUG#37200: rpl_switch_stm_row_mixed fails sporadically in pushbuild
This bug has been fixed in two slightly different ways in
6.0-rpl and {5.1,6.0}-bugteam. To avoid future merge
problems, I'm now copying the 6.0-rpl fix to 5.1-bugteam.
2008-07-03 10:27:25 +02:00
Timothy Smith
ab9c6beccd Up-merge syntax fix from 5.0-bugteam. 2008-07-02 17:54:54 +02:00
Sven Sandberg
b2c852d8fc BUG#37200: rpl_switch_stm_row_mixed fails sporadically in pushbuild
The previous fix for the bug was incomplete. The test failed
because t2 did not exist on the slave (since the slave was
lagging) when the
wait_condition was executed. Fixed by inserting
sync_slave_with_master just after t2 was created.
2008-07-02 17:04:45 +02:00
Timothy Smith
bbdcf6ca21 Fix "C++ code in C file" syntax error in mysys/default.c 2008-07-02 16:37:29 +02:00
Patrick Crews
fdd878a0a1 upmerge into 5.1 2008-07-01 15:07:34 -04:00
Patrick Crews
8d5dc3a5f5 Bug#37380 - Test funcs_1.is_columns_myisam_embedded fails on OS X
Test was failing due to the addition of a '\x05' character in result sets
Latest builds of the server have shown this problem to have disappeared.
Removing code within the test that disables the test on Mac OS X.

Recommit due to tree error on earlier, approved patch.
2008-07-01 14:44:47 -04:00
Mattias Jonsson
846494a48e Bug#36732: many disabled ndb tests in test suite parts
REORGANIZE TEST parts WHERE ENGINE='NDB' ;)

Updated tests for better matching NDB's limitations.

Removed some duplicate tests.
2008-07-01 20:38:15 +02:00
Joerg Bruehe
05e47e6c1e Merge from main 5.1 to 5.1-build 2008-07-01 17:54:45 +02:00
Matthias Leich
ecfdc88feb Upmerge 5.0 -> 5.1 2008-07-01 14:21:50 +02:00
Joerg Bruehe
09d543ea3a Version 5.1.26 is labeled "rc". 2008-06-30 22:52:26 +02:00
Matthias Leich
dd7bc1a662 Fix for
Bug#36787 Test funcs_1.charset_collation_1 failing
Details:
1. Skip charset_collation_1 if charset "ucs2_bin" is
   missing (property which distincts "vanilla" builds
   from the others)
2. Let builds with version_comment LIKE "%Advanced%"
   (found them for 5.1) execute charset_collation_3.
3. Update comments charset_collation.inc so that they
   reflect the current experiences.
2008-06-30 22:16:06 +02:00
Mats Kindahl
2a089557a6 BUG#37426: RBR breaks for CHAR() UTF-8 fields > 85 chars
In order to handle CHAR() fields, 8 bits were reserved for
the size of the CHAR field. However, instead of denoting the
number of characters in the field, field_length was used which
denotes the number of bytes in the field.

Since UTF-8 fields can have three bytes per character (and
has been extended to have four bytes per character in 6.0),
an extra two bits have been encoded in the field metadata
work for fields of type Field_string (i.e., CHAR fields).

Since the metadata word is filled, the extra bits have been
encoded in the upper 4 bits of the real type (the most 
significant byte of the metadata word) by computing the
bitwise xor of the extra two bits. Since the upper 4 bits
of the real type always is 1111 for Field_string, this 
means that for fields of length <256, the encoding is
identical to the encoding used in pre-5.1.26 servers, but
for lengths of 256 or more, an unrecognized type is formed,
causing an old slave (that does not handle lengths of 256
or more) to stop.
2008-06-30 22:11:18 +02:00
Sven Sandberg
05a33978e4 BUG#37200: rpl_switch_stm_row_mixed fails sporadically in pushbuild
Problem: rpl_switch_stm_row_mixed did not wait until row events generated by
INSERT DELAYED were written to the master binlog before it synchronized slave
with master. This caused sporadic errors where these rows were missing on
slave.
Fix: wait until all rows appear on the slave.
This is a backport, applying the same to 5.1-bugteam as was previously
applied to 6.0-rpl
2008-06-30 13:06:41 +02:00
Joerg Bruehe
d021db69fc We may need 5.1.27 for selected pushes, so reserve the number. 2008-06-30 12:54:18 +02:00
Timothy Smith
b3a29b428e Up-merge from 5.0: Merge from upstream (my:5.0-bugteam) 2008-06-27 17:11:10 -06:00
Timothy Smith
7553eecefd Merge from upstream (my:5.0-bugteam) 2008-06-27 16:30:44 -06:00
Timothy Smith
e3fc449452 Up-merge from 5.0: Fix for Bug#20748, Configuration files should not be read more than once
Differences in 5.1: include "/etc/mysql/" in include directories; no OS/2 support.
2008-06-27 14:53:27 -06:00
Gleb Shchepa
9d84892b23 auto merge from local tree 2008-06-27 23:54:16 +05:00
Gleb Shchepa
fc827ae387 Fixed bug #36632: SELECT DISTINCT from a simple view on an
InnoDB table, where all selected columns
                  belong to the same unique index key, returns
                  incorrect results

Server executes some queries via QUICK_GROUP_MIN_MAX_SELECT
(MIN/MAX optimization for queries with GROUP BY or DISTINCT
clause) and that optimization implies loose index scan, so all
grouping is done by the QUICK_GROUP_MIN_MAX_SELECT::get_next
method.

The server does not set the precomputed_group_by flag for some
QUICK_GROUP_MIN_MAX_SELECT queries and duplicates grouping by
call to the end_send_group function.

Fix: when the test_if_skip_sort_order function selects loose 
index scan as a best way to satisfy an ORDER BY/GROUP BY type
of query, the precomputed_group_by flag has been set to use 
end_send/end_write functions instead of end_send_group/
end_write_group functions.
2008-06-27 23:50:53 +05:00
Joerg Bruehe
e346a69074 Take the fix for bug#37623 (Suffix "-64bit" is duplicated)
into the 5.0-build team tree.
2008-06-27 19:42:31 +02:00
Joerg Bruehe
5672b953cc Merge the fix for bug#37623 (Suffix "-64bit" is duplicated)
from 5.0 into the 5.1.26 release clone.
2008-06-27 19:36:45 +02:00