1
0
mirror of https://github.com/MariaDB/server.git synced 2025-12-16 22:03:23 +03:00
Commit Graph

3088 Commits

Author SHA1 Message Date
Sven Sandberg
5ca789693b BUG#38269: pushbuild gives valgrind error in ha_statistic_increment for rpl_temporary
This does not fix the bug. It only disables the failing test.
2008-07-21 21:05:06 +02:00
Timothy Smith
6e8eaa8e21 Up-merge of merges, some criss-cross resolved with --weave. 2008-07-19 02:31:33 -06:00
Sven Sandberg
38376746e3 BUG#38077: rpl_incident At line 22: query 'SELECT * ...' Table 'test.t1' doesn't exist
This is not a fix to the bug. It only adds debug info, so
that we can analyze the bug better next time it happens.
Please revert the patch after the bug is fixed.
2008-07-18 15:07:14 +02:00
Andrei Elkin
a5d1e6101e Bug #36818 rpl_server_id1 fails expecting slave has stopped
the reason for the failure is that io thread passes through a sequence of state
changes before it eventually got stuck at the expect running state as NO.
It's unreasonble to wait for the running status while the whole idea of the test is
to get to the IO thread error.

Fixed with changing the waiting condition.
2008-07-18 14:53:16 +03:00
Sven Sandberg
e5d1324d80 BUG#38178: rpl_loaddata_map fails sporadically in pushbuild
Problem: master binlog has 'create table t1'. Master binlog
was removed before slave could replicate it. In test's cleanup
code, master did 'drop table t1', which caused slave sql
thread to stop with an error since slave sql thread did not
know about t1.
Fix: t1 is just an auxiliary construction, only needed on
master. Hence, we turn off binlogging before t1 is created,
drop t1 as soon as we don't need it anymore, and then turn
on binlogging again.
2008-07-18 13:34:19 +02:00
Andrei Elkin
58cb8cbeb4 Bug #34647 rpl_temporary discovers more than one dump thread and fails to select
Many dump threads can exist due to a way the new version of mtr governs suites.

For this immediate problem the test is refined not to use I_S but rather to reconnect
explicitly with preserving logics of a an old target bug fixes verification.
2008-07-18 11:20:55 +03:00
Sven Sandberg
e77957eecb BUG#38170: rpl_variables failed on pushbuild: could not sync with master
Problem: the test set @@global.init_slave to garbage at a time
which was not guaranteed to be after the time when the slave's
SQL thread used it. That would cause the slave's SQL thread to
stop in rare cases.
Fix: The test does not care about the value of
@@global.init_slave, except that it should be different on
master and slave. Hence, we set @@global.init_slave to
something that is valid SQL.
2008-07-17 18:26:59 +02:00
Sven Sandberg
ed8a08ba0c BUG#37733: rpl.rpl_flushlog_loop 'row' fails sporadically on pushbuild
Post-post-push fix. The result file for rpl_rbr_to_sbr needs to be 
updated. While I was there, made rpl_rbr_to_sbr clean up after itself
by reverting @@binlog_format to the value it had before the test
started.
2008-07-16 11:17:10 +02:00
Sven Sandberg
361458c643 BUG#37975: wait_for_slave_* should increase the timeout
Post-push fixes: forgot to commit an updated result file.
2008-07-14 16:06:03 +02:00
Joerg Bruehe
b034f04247 Merge main 5.1 to 5.1-build 2008-07-14 12:50:31 +02:00
Sven Sandberg
c697802855 local merge in 5.1-rpl 2008-07-14 10:31:07 +02:00
Joerg Bruehe
241581fb8d Merge 5.1.26-rc to 5.1-build for further pushing it to the main tree. 2008-07-11 20:51:10 +02:00
Mattias Jonsson
295fc5834a Bug#37402: Mysql cant read partitioned table with capital letter in the name
Problem was that ha_partition had HA_FILE_BASED flag set
(since it uses a .par file), but after open it uses the first partitions
flags, which results in different case handling for create and for
open.

Solution was to change the underlying partition name so it was consistent.
(Only happens when lower_case_table_names = 2, i.e. Mac OS X and storage
engines without HA_FILE_BASED, like InnoDB and Memory.)

(Recommit after adding rename of check_lowercase_names to
get_canonical_filename, and moved it from handler.h to mysql_priv.h)

NOTE: if a mixed case name for a partitioned table was created when
lower_case_table_name = 2 it should be renamed or dropped before using
the updated version (See bug#37402 for more info)
2008-07-11 01:14:13 +02:00
Sven Sandberg
a49577cc2f test case rpl.rpl000018 does not exist but has option files.
removing the option files
2008-07-10 19:25:04 +02:00
Sven Sandberg
78c8bfdddf BUG#37975: wait_for_slave_* should increase the timeout
Problem 1: tests often fail in pushbuild with a timeout when waiting
for the slave to start/stop/receive error.
Fix 1: Updated the wait_for_slave_* macros in the following way:
- The timeout is increased by a factor ten
- Refactored the macros so that wait_for_slave_param does the work for
the other macros.
Problem 2: Tests are often incorrectly written, lacking a
source include/wait_for_slave_to_[start|stop].inc.
Fix 2: Improved the chance to get it right by adding
include/start_slave.inc and include/stop_slave.inc, and updated tests
to use these.
Problem 3: The the built-in test language command
wait_for_slave_to_stop is a misnomer (does not wait for the slave io
thread) and does not give as much debug info in case of failure as
the otherwise equivalent macro
source include/wait_for_slave_sql_to_stop.inc
Fix 3: Replaced all calls to the built-in command by a call to the
macro.
Problem 4: Some, but not all, of the wait_for_slave_* macros had an
implicit connection slave. This made some tests confusing to read,
and made it more difficult to use the macro in circular replication
scenarios, where the connection named master needs to wait.
Fix 4: Removed the implicit connection slave from all
wait_for_slave_* macros, and updated tests to use an explicit
connection slave where necessary.
Problem 5: The macros wait_slave_status.inc and wait_show_pattern.inc
were unused. Moreover, using them is difficult and error-prone.
Fix 5: remove these macros.
Problem 6: log_bin_trust_function_creators_basic failed when running
tests because it assumed @@global.log_bin_trust_function_creators=1,
and some tests modified this variable without resetting it to its
original value.
Fix 6: All tests that use this variable have been updated so that
they reset the value at end of test.
2008-07-10 18:09:39 +02:00
Gleb Shchepa
5d3f1aa09c merge 5.1-main --> 5.1-bugteam 2008-07-10 03:01:41 +05:00
Gleb Shchepa
d1f5280a5c merge 5.0-main --> 5.0-bugteam 2008-07-10 00:54:20 +05:00
Matthias Leich
c9ca782890 Upmerge 5.0 -> 5.1 2008-07-09 20:55:23 +02:00
Mattias Jonsson
5398187ba7 merge 2008-07-09 15:15:11 +02:00
Mats Kindahl
87d1603700 Ensuring that master and slave both issue a RESET MASTER and RESET SLAVE
when resetting replication tests.  If not, circular replication setups
will leave cruft in the slaves binary log.
2008-07-09 14:34:00 +02:00
Matthias Leich
7248199783 1. Fix for Bug#37160
"funcs_2: The tests do not check if optional character
               sets exist."
2. Minor cleanup
2008-07-09 13:22:07 +02:00
Mattias Jonsson
e438f9f29d Bug#35736 Test 'parts.partition_basic_symlink_myisam' depends on output of 'ls'
The problem is that relying on the output of the 'ls' command is not
portable as its behavior is not the same between systems and it might
even not be available at all in (Windows).

So I added list_files that relies on the portable mysys library instead.
(and also list_files_write_file and list_files_append_file,
since the test was using '--exec ls' in that way.)
2008-07-09 13:19:04 +02:00
Marc Alff
449d359fa0 Fixed remaining test failure 2008-07-08 13:17:28 -06:00
Marc Alff
d61bc87c58 Bug#37525 funcs_1: <engine>_storedproc.test fail
Fixed the test to expect the correct result.
The previous test script was in fact affected by 26030,
and wrongly expected a ER_PARSE_ERROR error.
2008-07-08 10:32:02 -06:00
Sven Sandberg
9a10e967b3 merged in disabled test cases 2008-07-08 12:59:23 +02: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
Sven Sandberg
56dd330e05 merged fix for bug#37373 into 5.1-rpl 2008-07-07 18:24:04 +02:00
Mattias Jonsson
da29c528d3 Bug#35161: --myisam-recover does not work for partitioned MyISAM tables
Problem was that auto_repair, is_crashed and check_and_repair was not
implemented in ha_partition.

Solution, implemented them as loop over all partitions for is_crashed and
check_and_repair, and using the first partition for auto_repair.

(Recommit after fixing review comments)
2008-07-07 17:54:42 +02: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
a38f6fe4cd merge with local changes for bug#37906 2008-07-07 16:01:25 +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
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
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
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
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
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
Matthias Leich
ecfdc88feb Upmerge 5.0 -> 5.1 2008-07-01 14:21:50 +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
Gleb Shchepa
6cf0fcbf9e auto merge 5.1-main --> 5.1-bugteam 2008-06-25 14:44:55 +05:00
Matthias Leich mleich@mysql.com
12846f416e Automatic merge 2008-06-20 14:55:17 +02:00
Andrei Elkin
e06de90ecc merging prior to push Bug #36443 2008-06-20 13:57:25 +03:00
Andrei Elkin
b8d449505d Bug#36443 Server crashes when executing insert when insert trigger on table
The crash appeared to be a result of allocating an instance of Discrete_interval 
      automatically that that was referred in out-of-declaration scope.
                        
      Fixed with correcting backing up and restoring scheme of
      auto_inc_intervals_forced, introduced by bug#33029, by means of shallow copying;
      added simulation code that forces executing those fixes of the former bug that
      targeted at master-and-slave having incompatible bug#33029-prone versions.
2008-06-19 21:47:59 +03:00
Gleb Shchepa
954fba4739 Fixed bug #37076: TIMESTAMP/DATETIME/DATE values are not
replicated correctly between machines with
                  mixed endiannes
2008-06-19 18:02:04 +05:00
Tatiana A. Nurnberg
0905d04071 re 36818: rpl_server_id1 fails expecting slave has stopped
On a slow environment like valgrind the test is vulnerable
because it does not check if slave has stopped at time
of the new session is requested `start slave;' -- disabling
test till it is fixed.
2008-06-19 12:39:48 +02:00