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

3079 Commits

Author SHA1 Message Date
Joerg Bruehe
1c3f323ac7 Merge main 5.1 to 5.1-build 2008-07-14 12:50:31 +02:00
Sven Sandberg
acf4b576d7 local merge in 5.1-rpl 2008-07-14 10:31:07 +02:00
Joerg Bruehe
b69b20b2d6 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
c1e54765da 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)

mysql-test/include/have_case_insensitive_file_system.inc:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  Added include file.
mysql-test/include/have_lowercase0.inc:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  moved case insensitive file system to a new file, leaving only
  lower_case_table_names.
mysql-test/include/have_lowercase2.inc:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  Added include file.
mysql-test/lib/mtr_report.pl:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  Removed a duplicate row and suppressed warning about setting
  lower_case_table_names to 2 on case sensitive file systems.
mysql-test/r/case_insensitive_file_system.require:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  Added requirement file.
mysql-test/r/lowercase0.require:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  moved case insensitive file system to a new file, leaving only
  lower_case_table_names.
mysql-test/suite/parts/inc/partition_mgm.inc:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  New include file for testing partitioning management functions for different
  settings of lower_case_table_names.
mysql-test/suite/parts/r/partition_mgm_lc0_archive.result:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  New result file.
mysql-test/suite/parts/r/partition_mgm_lc0_innodb.result:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  New result file.
mysql-test/suite/parts/r/partition_mgm_lc0_memory.result:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  New result file.
mysql-test/suite/parts/r/partition_mgm_lc0_myisam.result:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  New result file.
mysql-test/suite/parts/r/partition_mgm_lc0_ndb.result:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  New result file.
mysql-test/suite/parts/r/partition_mgm_lc1_archive.result:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  New result file.
mysql-test/suite/parts/r/partition_mgm_lc1_innodb.result:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  New result file.
mysql-test/suite/parts/r/partition_mgm_lc1_memory.result:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  New result file.
mysql-test/suite/parts/r/partition_mgm_lc1_myisam.result:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  New result file.
mysql-test/suite/parts/r/partition_mgm_lc1_ndb.result:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  New result file.
mysql-test/suite/parts/r/partition_mgm_lc2_archive.result:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  New result file.
mysql-test/suite/parts/r/partition_mgm_lc2_innodb.result:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  New result file.
mysql-test/suite/parts/r/partition_mgm_lc2_memory.result:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  New result file.
mysql-test/suite/parts/r/partition_mgm_lc2_myisam.result:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  New result file.
mysql-test/suite/parts/r/partition_mgm_lc2_ndb.result:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  New result file.
mysql-test/suite/parts/t/partition_mgm_lc0_archive.test:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  New test file.
mysql-test/suite/parts/t/partition_mgm_lc0_innodb.test:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  New test file.
mysql-test/suite/parts/t/partition_mgm_lc0_memory.test:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  New test file.
mysql-test/suite/parts/t/partition_mgm_lc0_myisam.test:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  New test file.
mysql-test/suite/parts/t/partition_mgm_lc0_ndb.test:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  New test file.
mysql-test/suite/parts/t/partition_mgm_lc1_archive-master.opt:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  New opt file.
mysql-test/suite/parts/t/partition_mgm_lc1_archive.test:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  New test file.
mysql-test/suite/parts/t/partition_mgm_lc1_innodb-master.opt:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  New opt file.
mysql-test/suite/parts/t/partition_mgm_lc1_innodb.test:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  New test file.
mysql-test/suite/parts/t/partition_mgm_lc1_memory-master.opt:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  New opt file.
mysql-test/suite/parts/t/partition_mgm_lc1_memory.test:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  New test file.
mysql-test/suite/parts/t/partition_mgm_lc1_myisam-master.opt:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  New opt file.
mysql-test/suite/parts/t/partition_mgm_lc1_myisam.test:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  New test file.
mysql-test/suite/parts/t/partition_mgm_lc1_ndb-master.opt:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  New opt file.
mysql-test/suite/parts/t/partition_mgm_lc1_ndb.test:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  New test file.
mysql-test/suite/parts/t/partition_mgm_lc2_archive-master.opt:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  New opt file.
mysql-test/suite/parts/t/partition_mgm_lc2_archive.test:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  New test file.
mysql-test/suite/parts/t/partition_mgm_lc2_innodb-master.opt:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  New opt file.
mysql-test/suite/parts/t/partition_mgm_lc2_innodb.test:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  New test file.
mysql-test/suite/parts/t/partition_mgm_lc2_memory-master.opt:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  New opt file.
mysql-test/suite/parts/t/partition_mgm_lc2_memory.test:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  New test file.
mysql-test/suite/parts/t/partition_mgm_lc2_myisam-master.opt:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  New opt file.
mysql-test/suite/parts/t/partition_mgm_lc2_myisam.test:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  New test file.
mysql-test/suite/parts/t/partition_mgm_lc2_ndb-master.opt:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  New opt file.
mysql-test/suite/parts/t/partition_mgm_lc2_ndb.test:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  New test file.
mysql-test/t/lowercase_table3.test:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  Moved case sensitive file system to a specific inc-file instead of
  included in lowercase0.inc
sql/ha_partition.cc:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  Problem was that ha_partition had HA_FILE_BASED set
  (since it uses a .par file), but after open it uses the first partitions
  table_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)
sql/handler.cc:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  Renamed check_lowercase_names to get_canonical_filename, and exported it
  so that ha_partition.cc can use the function.
sql/mysql_priv.h:
  Bug#37402: Mysql cant read partitioned table with capital letter in the name
  
  Renamed check_lowercase_names to get_canonical_filename, and exported it
  so that ha_partition.cc can use the function.
2008-07-11 01:14:13 +02:00
Sven Sandberg
a21ba3a736 test case rpl.rpl000018 does not exist but has option files.
removing the option files

mysql-test/suite/rpl/t/rpl000018-master.opt:
  removed unused file
mysql-test/suite/rpl/t/rpl000018-slave.opt:
  removed unused file
2008-07-10 19:25:04 +02:00
Sven Sandberg
6e69536956 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.


mysql-test/extra/rpl_tests/rpl_extraMaster_Col.test:
  Replaced wait_for_slave_to_stop by include/wait_for_slave_sql_to_stop.inc
mysql-test/extra/rpl_tests/rpl_extraSlave_Col.test:
  Replaced wait_for_slave_to_stop by include/wait_for_slave_sql_to_stop.inc
  Added connection slave since includ/wait_for_slave_sql_to_stop.inc
  does not do that anymore.
mysql-test/extra/rpl_tests/rpl_log.test:
  Replaced start slave+wait_slave_status by start_slave.inc
mysql-test/include/reset_master_and_slave.inc:
  replaced start/stop slave by start_slave.inc/stop_slave.inc
mysql-test/include/sync_slave_io_with_master.inc:
  Improved comments and error message.
mysql-test/include/wait_for_slave_io_to_stop.inc:
  Refactored to use wait_for_slave_param.inc.
  Removed connection slave.
mysql-test/include/wait_for_slave_param.inc:
  - Improved usage instructions
  - Added more debug info in case of timeout
  - Added parameters $slave_param_comparison, $slave_timeout,
  $slave_keep_connection, $slave_error_message
mysql-test/include/wait_for_slave_sql_error.inc:
  Refactored to use wait_for_slave_param.inc.
  Removed connection slave.
mysql-test/include/wait_for_slave_sql_to_start.inc:
  Refactored to use wait_for_slave_param.inc.
  Removed connection slave.
mysql-test/include/wait_for_slave_sql_to_stop.inc:
  Refactored to use wait_for_slave_param.inc.
  Removed connection slave.
mysql-test/include/wait_for_slave_to_start.inc:
  Refactored to use wait_for_slave_param.inc.
  Removed connection slave.
mysql-test/include/wait_for_slave_to_stop.inc:
  Refactored to use wait_for_slave_param.inc.
  Removed connection slave.
mysql-test/include/wait_show_pattern.inc:
  Removed unused (and error-prone) file
mysql-test/include/wait_slave_status.inc:
  Removed unused (and error-prone) file
mysql-test/suite/binlog/t/binlog_auto_increment_bug33029.test:
  Renamed $keep_connection to $slave_keep_connection.
mysql-test/suite/rpl/t/rpl_bug26395.test:
  Replace stop slave by stop_slave.inc
mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.test:
  Replace start/stop slave by start_slave.inc/stop_slave.inc.
  Replace wait_for_slave_param by wait_for_slave_sql_to_stop.inc.
mysql-test/suite/rpl/t/rpl_dual_pos_advance.test:
  Renamed $keep_connection to $slave_keep_connection.
mysql-test/suite/rpl/t/rpl_flushlog_loop.test:
  Replace wait_slave_status by start_slave.inc
mysql-test/suite/rpl/t/rpl_idempotency.test:
  Added connection slave since wait_for_slave_sql_to_stop.inc does not
  do that any more.
mysql-test/suite/rpl/t/rpl_incident.test:
  Replaced wait_for_slave_to_stop by wait_for_slave_sql_to_stop.inc
mysql-test/suite/rpl/t/rpl_init_slave.test:
  Replaced start/stop slave by start_slave.inc/stop_slave.inc.
  Replaced save_master_pos;connection slave;sync_with_master by
  sync_slave_with_master.
mysql-test/suite/rpl/t/rpl_log_pos.test:
  Replaced start/stop slave by start_slave.inc/stop_slave.inc.
  Replaced wait_for_slave_param by other wait_for_slave_* macros.
mysql-test/suite/rpl/t/rpl_packet.test:
  Replaced start/stop slave by start_slave.inc/stop_slave.inc.
mysql-test/suite/rpl/t/rpl_row_inexist_tbl.test:
  Replaced start/stop slave by start_slave.inc/stop_slave.inc.
mysql-test/suite/rpl/t/rpl_row_stop_middle_update.test:
  Replaced start/stop slave by start_slave.inc/stop_slave.inc.
mysql-test/suite/rpl/t/rpl_row_until.test:
  Replaced start/stop slave by start_slave.inc/stop_slave.inc.
  Replaced save_master_pos;connection slave;sync_with_master by
  sync_slave_with_master.
mysql-test/suite/rpl/t/rpl_server_id1.test:
  Replaced start/stop slave by start_slave.inc/stop_slave.inc.
mysql-test/suite/rpl/t/rpl_slave_grp_exec.test:
  Replaced start/stop slave by start_slave.inc/stop_slave.inc.
mysql-test/suite/rpl/t/rpl_slave_skip.test:
  Replaced start/stop slave by start_slave.inc/stop_slave.inc.
mysql-test/suite/rpl/t/rpl_slave_status.test:
  Replaced start/stop slave by start_slave.inc/stop_slave.inc.
mysql-test/suite/rpl/t/rpl_sp.test:
  Restore @@global.log_bin_trust_function_creators at end of test.
mysql-test/suite/rpl/t/rpl_sp_effects.test:
  Restore @@global.log_bin_trust_function_creators at end of test.
mysql-test/suite/rpl/t/rpl_stm_until.test:
  Replaced start/stop slave by start_slave.inc/stop_slave.inc.
  Replaced save_master_pos;connection slave;sync_with_master by
  sync_slave_with_master.
mysql-test/suite/rpl_ndb/t/rpl_ndb_basic.test:
  Replaced start slave by start_slave.inc.
  Added explicit connection slave since wait_for_slave_sql_to_stop.inc
  does not do that anymore.
mysql-test/t/disabled.def:
  Disabled failing test.
mysql-test/t/func_time.test:
  Restore @@global.log_bin_trust_function_creators at end of test.
mysql-test/t/grant.test:
  Restore @@global.log_bin_trust_function_creators at end of test.
mysql-test/t/grant2.test:
  Restore @@global.log_bin_trust_function_creators at end of test.
mysql-test/t/innodb_notembedded.test:
  Restore @@global.log_bin_trust_function_creators at end of test.
mysql-test/t/log_bin_trust_function_creators_func.test:
  Restore @@global.log_bin_trust_function_creators at end of test.
  Clean up at end of test by dropping the created user.
mysql-test/t/query_cache.test:
  Restore @@global.log_bin_trust_function_creators at end of test.
mysql-test/t/query_cache_notembedded.test:
  Restore @@global.log_bin_trust_function_creators at end of test.
mysql-test/t/rpl_init_slave_func.test:
  Replaced start/stop slave by start_slave.inc/stop_slave.inc.
mysql-test/t/timezone2.test:
  Restore @@global.log_bin_trust_function_creators at end of test.
2008-07-10 18:09:39 +02:00
Gleb Shchepa
2334691f87 merge 5.1-main --> 5.1-bugteam 2008-07-10 03:01:41 +05:00
Gleb Shchepa
fa00dfe6b9 merge 5.0-main --> 5.0-bugteam 2008-07-10 00:54:20 +05:00
Matthias Leich
1d9fab7f4d Upmerge 5.0 -> 5.1 2008-07-09 20:55:23 +02:00
Mattias Jonsson
c4b408f96d merge 2008-07-09 15:15:11 +02:00
Mats Kindahl
d034ae598f 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.

mysql-test/include/master-slave-reset.inc:
  Adding RESET MASTER on slave and RESET SLAVE on master. In order to avoid
  having to re-generate all the replication test result files, I disable the
  query log for the added statements.
mysql-test/suite/rpl/t/rpl_flushlog_loop.test:
  Adding code to clean up after test. Disabling query log for the cleanup code.
2008-07-09 14:34:00 +02:00
Matthias Leich
a81572bc42 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
d4b0fcc90a 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.)

client/mysqltest.c:
  Bug#35736 Test 'parts.partition_basic_symlink_myisam' depends on output of 'ls'
  
  To be able to replace the use of '--exec ls' I have added
  list_files, list_files_write_file and list_files_append_file.
  
  list_files <dirname> [<filename incl. wild-cards>]
  is equivalent to 'ls <dirname>/[<filename incl. wild-cards>]'
  
  list_files_write_file creates/overwrites a file with the content
  list_files_append_file creates/appends a file with the content
  list_files* return a sorted output.
mysql-test/r/mysqltest.result:
  Bug#35736 Test 'parts.partition_basic_symlink_myisam' depends on output of 'ls'
  
  result file change, due to added test of the new list_files command.
mysql-test/suite/parts/inc/partition_check_drop.inc:
  Bug#35736 Test 'parts.partition_basic_symlink_myisam' depends on output of 'ls'
  
  Using the new list_files instead of 'ls'.
  
  Changed the use of local variables (ls_file, file_list)
  and server variable (@aux).
mysql-test/suite/parts/inc/partition_layout.inc:
  Bug#35736 Test 'parts.partition_basic_symlink_myisam' depends on output of 'ls'
  
  Using the new list_files instead of 'ls'.
mysql-test/suite/parts/inc/partition_layout_check1.inc:
  Bug#35736 Test 'parts.partition_basic_symlink_myisam' depends on output of 'ls'
  
  Using the new list_files instead of 'ls'.
mysql-test/suite/parts/inc/partition_layout_check2.inc:
  Bug#35736 Test 'parts.partition_basic_symlink_myisam' depends on output of 'ls'
  
  Replaces '--exec ls' with list_files.
  Removal of the directory part of file listing.
mysql-test/suite/parts/r/partition_alter1_1_2_myisam.result:
  Bug#35736 Test 'parts.partition_basic_symlink_myisam' depends on output of 'ls'
  
  Replaces '--exec ls' with list_files.
  Removal of the directory part of file listing.
mysql-test/suite/parts/r/partition_alter1_1_myisam.result:
  Bug#35736 Test 'parts.partition_basic_symlink_myisam' depends on output of 'ls'
  
  Replaces '--exec ls' with list_files.
  Removal of the directory part of file listing.
mysql-test/suite/parts/r/partition_alter1_2_myisam.result:
  Bug#35736 Test 'parts.partition_basic_symlink_myisam' depends on output of 'ls'
  
  Replaces '--exec ls' with list_files.
  Removal of the directory part of file listing.
mysql-test/suite/parts/r/partition_alter2_myisam.result:
  Bug#35736 Test 'parts.partition_basic_symlink_myisam' depends on output of 'ls'
  
  Replaces '--exec ls' with list_files.
  Removal of the directory part of file listing.
mysql-test/suite/parts/r/partition_alter3_innodb.result:
  Bug#35736 Test 'parts.partition_basic_symlink_myisam' depends on output of 'ls'
  
  Replaces '--exec ls' with list_files.
  Removal of the directory part of file listing.
mysql-test/suite/parts/r/partition_alter3_myisam.result:
  Bug#35736 Test 'parts.partition_basic_symlink_myisam' depends on output of 'ls'
  
  Replaces '--exec ls' with list_files.
  Removal of the directory part of file listing.
mysql-test/suite/parts/r/partition_basic_innodb.result:
  Bug#35736 Test 'parts.partition_basic_symlink_myisam' depends on output of 'ls'
  
  Replaces '--exec ls' with list_files.
  Removal of the directory part of file listing.
mysql-test/suite/parts/r/partition_basic_myisam.result:
  Bug#35736 Test 'parts.partition_basic_symlink_myisam' depends on output of 'ls'
  
  Replaces '--exec ls' with list_files.
  Removal of the directory part of file listing.
mysql-test/suite/parts/r/partition_basic_symlink_myisam.result:
  Bug#35736 Test 'parts.partition_basic_symlink_myisam' depends on output of 'ls'
  
  Replaces '--exec ls' with list_files.
  Removal of the directory part of file listing.
mysql-test/suite/parts/r/partition_engine_myisam.result:
  Bug#35736 Test 'parts.partition_basic_symlink_myisam' depends on output of 'ls'
  
  Replaces '--exec ls' with list_files.
  Removal of the directory part of file listing.
mysql-test/suite/parts/r/partition_syntax_myisam.result:
  Bug#35736 Test 'parts.partition_basic_symlink_myisam' depends on output of 'ls'
  
  Replaces '--exec ls' with list_files.
  Removal of the directory part of file listing.
mysql-test/t/mysqltest.test:
  Bug#35736 Test 'parts.partition_basic_symlink_myisam' depends on output of 'ls'
  
  Adding test for the new mysqltest commands list_files,
  list_files_write_file and list_files_append_file.
2008-07-09 13:19:04 +02:00
Marc Alff
5cf61bd344 Fixed remaining test failure 2008-07-08 13:17:28 -06:00
Marc Alff
1c9cf4b06c 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
967916534e merged in disabled test cases 2008-07-08 12:59:23 +02:00
Mattias Jonsson
c2c4cd1e28 merge 2008-07-07 23:08:29 +02:00
Mattias Jonsson
d11d5cfca8 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
df1a197642 merged fix for bug#37373 into 5.1-rpl 2008-07-07 18:24:04 +02:00
Mattias Jonsson
ce30b928b7 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)

mysql-test/lib/mtr_report.pl:
  Bug#35161: --myisam-recover does not work for partitioned MyISAM tables
  
  Added filter for crashed tables, when testing auto repair
mysql-test/std_data/corrupt_t1#P#p1.MYI:
  Bug#35161: --myisam-recover does not work for partitioned MyISAM tables
  
  Corrupt MYI file for testing auto repair
mysql-test/std_data/corrupt_t1.MYI:
  Bug#35161: --myisam-recover does not work for partitioned MyISAM tables
  
  Corrupt MYI file for testing auto repair
mysql-test/suite/parts/r/partition_repair_myisam.result:
  Bug#35161: --myisam-recover does not work for partitioned MyISAM tables
  
  Result file for testing auto repair of crashed myisam partitions
mysql-test/suite/parts/t/partition_repair_myisam-master.opt:
  Bug#35161: --myisam-recover does not work for partitioned MyISAM tables
  
  opt file for testing auto repair of crashed myisam partitions
mysql-test/suite/parts/t/partition_repair_myisam.test:
  Bug#35161: --myisam-recover does not work for partitioned MyISAM tables
  
  Test file for testing auto repair of crashed myisam partitions
sql/ha_partition.cc:
  Bug#35161: --myisam-recover does not work for partitioned MyISAM tables
  
  Added auto_repair as returning the first partitions auto_repair
  Added is_crashed and check_and_repair as loop over all partitions
sql/ha_partition.h:
  Bug#35161: --myisam-recover does not work for partitioned MyISAM tables
  
  Activating check_and_repair, auto_repair and is_crashed
2008-07-07 17:54:42 +02:00
Sven Sandberg
db674c9f87 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.


mysql-test/suite/rpl/t/rpl_insert.test:
  Added sync_slave_with_master to ensure that table t1 is on
  slave before the slave executes wait_condition.
2008-07-07 17:38:47 +02:00
Sven Sandberg
4443880376 merge with local changes for bug#37906 2008-07-07 16:01:25 +02:00
Sven Sandberg
1bcd20bf7c 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


mysql-test/suite/rpl/r/rpl_row_inexist_tbl.result:
  Updated result file.
mysql-test/suite/rpl/t/rpl_row_inexist_tbl-slave.opt:
  Removed option file: it's not needed any more.
mysql-test/suite/rpl/t/rpl_row_inexist_tbl.test:
  Improved the test in the following ways:
   - The table t2 was not used to verify the property to test,
  so t2 has been removed.
   - Now printing only the relevant column from SHOW SLAVE STATUS
   - Added comments.
2008-07-07 11:18:09 +02:00
Sven Sandberg
d9249cad45 Merge 5.1 -> 5.1-rpl 2008-07-06 19:07:30 +02:00
Sven Sandberg
1fb36976d6 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.


mysql-test/include/sync_slave_io_with_master.inc:
  Like sync_slave_with_master, but only waits until the IO thread has
  synced; the SQL thread may still be behind.
mysql-test/suite/rpl/r/rpl_bug26395.result:
  New result file.
mysql-test/suite/rpl/t/rpl_bug26395-master.opt:
  New option file.
mysql-test/suite/rpl/t/rpl_bug26395-slave.opt:
  New option file.
mysql-test/suite/rpl/t/rpl_bug26395.test:
  - Moved second half of rpl_ndb_transaction here.
  - Improved the test case: instead of using a sleep,
  it waits for the slave's io thread to sync up to a proper
  position, and for the slave's sql thread to sync up to
  another position.
  - Added a warning that no more tests should be added at the
  end of the file.
mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_engines_transactions.result:
  Updated and renamed result file.
mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_engines_transactions-master.opt:
  No need for the special debug flag any more, it was used by
  the second part of the test which is now in rpl_bug26395.
  Also renamed the file.
mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_engines_transactions-slave.opt:
  Renamed option file.
mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_engines_transactions.test:
  - Moved second half of the test to another test (rpl_bug26395)
  - Improved comments.
  - Extended the mixed transaction test to include also innodb.
  - Used 'source include/diff_tables.inc' instead of listing
  several identical tables in the result file.
  - Renamed the test.
2008-07-06 12:53:25 +02:00
Sven Sandberg
fb17cbe42e 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.


mysql-test/r/loaddata.result:
  Updated result file.
mysql-test/std_data/rpl_bug28618.dat:
  Moved this file to std_data.
mysql-test/std_data/rpl_mixed.dat:
  Moved this file to std_data.
mysql-test/suite/rpl/data:
  Removed directory that is now unused.
mysql-test/suite/rpl/include/rpl_mixed_dml.inc:
  The rpl_mixed.dat file has been moved. Updated the test to
  use the new location.
mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result:
  Updated result file.
mysql-test/suite/rpl/r/rpl_slave_skip.result:
  Updated result file.
mysql-test/suite/rpl/t/rpl_slave_skip.test:
  The rpl_bug28618.dat file has been moved. Updated the test
  to use the new location.
mysql-test/t/loaddata.test:
  Allow more error messages. ER_TEXTFILE_NOT_READABLE may
  happen if the file is not world-readable (which may happen,
  e.g., if the user has umask=0077).
2008-07-04 11:33:34 +02:00
Sven Sandberg
25b6b026a7 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
ec73d940b1 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
12607d4b66 upmerge into 5.1 2008-07-01 15:07:34 -04:00
Patrick Crews
9393ae3dff 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
67174b712b 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.

mysql-test/suite/parts/inc/part_supported_sql_funcs_delete.inc:
  Bug#36732: many disabled ndb tests in test suite parts
  
  Added variable for NDB (since it does not support
  DROP PARTITION)
mysql-test/suite/parts/inc/partition_alter_11.inc:
  Bug#36732: many disabled ndb tests in test suite parts
  
  Assigning directly to variable without going
  through the server.
mysql-test/suite/parts/inc/partition_bigint.inc:
  Bug#36732: many disabled ndb tests in test suite parts
  
  Added --sorted_result for consistency
  lowered number of partitions for use with NDB
  (NDB can only do maximum of 8 partitions)
mysql-test/suite/parts/inc/partition_int.inc:
  Bug#36732: many disabled ndb tests in test suite parts
  
  Added --sorted_result for consistency
  lowered number of partitions for use with NDB
  (NDB can only do maximum of 8 partitions)
mysql-test/suite/parts/inc/partition_mediumint.inc:
  Bug#36732: many disabled ndb tests in test suite parts
  
  Added --sorted_result for consistency
  lowered number of partitions for use with NDB
  (NDB can only do maximum of 8 partitions)
mysql-test/suite/parts/inc/partition_smallint.inc:
  Bug#36732: many disabled ndb tests in test suite parts
  
  Added --sorted_result for consistency
  lowered number of partitions for use with NDB
  (NDB can only do maximum of 8 partitions)
mysql-test/suite/parts/inc/partition_supported_sql_funcs.inc:
  Bug#36732: many disabled ndb tests in test suite parts
  
  Made it work better with NDB
mysql-test/suite/parts/inc/partition_tinyint.inc:
  Bug#36732: many disabled ndb tests in test suite parts
  
  Added --sorted_result for consistency
  lowered number of partitions for use with NDB
  (NDB can only do maximum of 8 partitions)
mysql-test/suite/parts/r/ndb_blob_partition.result:
  Bug#36732: many disabled ndb tests in test suite parts
  
  Removing this duplicate test since it already
  exists (and updated) in suite/ndb
mysql-test/suite/parts/r/ndb_dd_backuprestore.result:
  Bug#36732: many disabled ndb tests in test suite parts
  
  Updated result file
mysql-test/suite/parts/r/ndb_partition_error.result:
  Bug#36732: many disabled ndb tests in test suite parts
  
  Removing this duplicate test since it already
  exists (and updated) in suite/ndb
mysql-test/suite/parts/r/ndb_partition_key.result:
  Bug#36732: many disabled ndb tests in test suite parts
  
  Removing this duplicate test since it already
  exists (and updated) in suite/ndb
mysql-test/suite/parts/r/ndb_partition_list.result:
  Bug#36732: many disabled ndb tests in test suite parts
  
  Removing this duplicate test since it already
  exists (and updated) in suite/ndb
mysql-test/suite/parts/r/ndb_partition_range.result:
  Bug#36732: many disabled ndb tests in test suite parts
  
  Removing this duplicate test since it already
  exists (and updated) in suite/ndb
mysql-test/suite/parts/r/part_supported_sql_func_ndb.result:
  Bug#36732: many disabled ndb tests in test suite parts
  
  Updated result file
mysql-test/suite/parts/r/partition_alter1_1_innodb.result:
  Bug#36732: many disabled ndb tests in test suite parts
  
  Updated result file
mysql-test/suite/parts/r/partition_alter1_1_myisam.result:
  Bug#36732: many disabled ndb tests in test suite parts
  
  Updated result file
mysql-test/suite/parts/r/partition_alter1_2_innodb.result:
  Bug#36732: many disabled ndb tests in test suite parts
  
  Updated result file.
  Diff bigger than necessary, due to bzr diff bug.
mysql-test/suite/parts/r/partition_alter1_2_myisam.result:
  Bug#36732: many disabled ndb tests in test suite parts
  
  Updated result file
mysql-test/suite/parts/r/partition_alter2_innodb.result:
  Bug#36732: many disabled ndb tests in test suite parts
  
  Updated result file
mysql-test/suite/parts/r/partition_alter2_myisam.result:
  Bug#36732: many disabled ndb tests in test suite parts
  
  Updated result file
mysql-test/suite/parts/r/partition_engine_ndb.result:
  Bug#36732: many disabled ndb tests in test suite parts
  
  Updated result file
mysql-test/suite/parts/r/partition_int_innodb.result:
  Bug#36732: many disabled ndb tests in test suite parts
  
  Updated result file
mysql-test/suite/parts/r/partition_int_myisam.result:
  Bug#36732: many disabled ndb tests in test suite parts
  
  Updated result file
mysql-test/suite/parts/r/partition_int_ndb.result:
  Bug#36732: many disabled ndb tests in test suite parts
  
  Updated result file
mysql-test/suite/parts/r/rpl_ndb_dd_partitions.result:
  Bug#36732: many disabled ndb tests in test suite parts
  
  Removing this duplicate test since it already
  exists (and updated) in suite/rpl_ndb
mysql-test/suite/parts/t/disabled.def:
  Bug#36732: many disabled ndb tests in test suite parts
  
  Removed some duplicate tests, fixed some tests.
  Removed the 'runs too long on PB' test from
  disabled.def and made them to require 'big-test'.
mysql-test/suite/parts/t/ndb_blob_partition.test:
  Bug#36732: many disabled ndb tests in test suite parts
  
  Removing this duplicate test since it already
  exists (and updated) in suite/ndb
mysql-test/suite/parts/t/ndb_dd_backuprestore.test:
  Bug#36732: many disabled ndb tests in test suite parts
  
  Added new=on for allowing test of
  hash/range and list partitioning.
mysql-test/suite/parts/t/ndb_partition_error.test:
  Bug#36732: many disabled ndb tests in test suite parts
  
  Removing this duplicate test since it already
  exists (and updated) in suite/ndb
mysql-test/suite/parts/t/ndb_partition_key.test:
  Bug#36732: many disabled ndb tests in test suite parts
  
  Removing this duplicate test since it already
  exists (and updated) in suite/ndb
mysql-test/suite/parts/t/ndb_partition_list.test:
  Bug#36732: many disabled ndb tests in test suite parts
  
  Removing this duplicate test since it already
  exists (and updated) in suite/ndb
mysql-test/suite/parts/t/ndb_partition_range.test:
  Bug#36732: many disabled ndb tests in test suite parts
  
  Removing this duplicate test since it already
  exists (and updated) in suite/ndb
mysql-test/suite/parts/t/part_supported_sql_func_ndb.test:
  Bug#36732: many disabled ndb tests in test suite parts
  
  Added new=on for allowing test of
  hash/range and list partitioning.
  Added ndb restriction variables.
mysql-test/suite/parts/t/partition_alter1_1_2_ndb.test:
  Bug#36732: many disabled ndb tests in test suite parts
  
  requiring big-test instead of disable it.
mysql-test/suite/parts/t/partition_alter1_1_ndb.test:
  Bug#36732: many disabled ndb tests in test suite parts
  
  requiring big-test instead of disable it.
mysql-test/suite/parts/t/partition_alter1_2_ndb.test:
  Bug#36732: many disabled ndb tests in test suite parts
  
  requiring big-test instead of disable it.
mysql-test/suite/parts/t/partition_alter2_ndb.test:
  Bug#36732: many disabled ndb tests in test suite parts
  
  Added new=on for allowing test of
  hash/range and list partitioning.
mysql-test/suite/parts/t/partition_basic_ndb.test:
  Bug#36732: many disabled ndb tests in test suite parts
  
  Added new=on for allowing test of
  hash/range and list partitioning.
mysql-test/suite/parts/t/partition_bit_ndb.test:
  Bug#36732: many disabled ndb tests in test suite parts
  
  Added new=on for allowing test of
  hash/range and list partitioning.
mysql-test/suite/parts/t/partition_engine_ndb.test:
  Bug#36732: many disabled ndb tests in test suite parts
  
  Added new=on for allowing test of
  hash/range and list partitioning.
mysql-test/suite/parts/t/partition_int_ndb.test:
  Bug#36732: many disabled ndb tests in test suite parts
  
  Added new=on for allowing test of
  hash/range and list partitioning.
mysql-test/suite/parts/t/partition_syntax_ndb.test:
  Bug#36732: many disabled ndb tests in test suite parts
  
  Added new=on for allowing test of
  hash/range and list partitioning.
mysql-test/suite/parts/t/partition_value_ndb.test:
  Bug#36732: many disabled ndb tests in test suite parts
  
  Added new=on for allowing test of
  hash/range and list partitioning.
mysql-test/suite/parts/t/rpl_ndb_dd_partitions.test:
  Bug#36732: many disabled ndb tests in test suite parts
  
  Removing this duplicate test since it already
  exists (and updated) in suite/rpl_ndb
2008-07-01 20:38:15 +02:00
Matthias Leich
2ed83dd95f Upmerge 5.0 -> 5.1 2008-07-01 14:21:50 +02:00
Matthias Leich
52fee16e88 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
711305e2c5 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.


mysql-test/extra/rpl_tests/rpl_row_basic.test:
  Adding test cases for replicating UTF-8 fields of lengths
  of 256 or more (bytes).
mysql-test/suite/binlog/r/binlog_base64_flag.result:
  Result file change.
mysql-test/suite/binlog/t/binlog_base64_flag.test:
  Adding tests to trigger check that an error is generated when replicating from a
  5.1.25 server for tables with a CHAR(128) but not when replicating a table with a
  CHAR(63). Although the bug indicates that the limit is 83, we elected to use CHAR(63)
  since 6.0 uses 4-byte UTF-8, and anything exceeding 63 would then cause the test to fail
  when the patch is merged to 6.0.
mysql-test/suite/bugs/combinations:
  Adding combinations file to run all bug reports in all binlog modes (where
  applicable).
mysql-test/suite/bugs/r/rpl_bug37426.result:
  Result file change.
mysql-test/suite/bugs/t/rpl_bug37426.test:
  Added test for reported bug.
mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result:
  Result file change.
mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result:
  Result file change.
sql/field.cc:
  Encoding an extra two bits in the most significant nibble (4 bits)
  of the metadata word. Adding assertions to ensure that no attempt
  is made to use lengths longer than supported.
  
  Extending compatible_field_size() function with an extra parameter
  holding a Relay_log_instace for error reporting.
  
  Field_string::compatible_field_size() now reports an error if field
  size for a CHAR is >255.
sql/field.h:
  Field length is now computed from most significant 4 bits
  of metadata word, or is equal to the row pack length if
  there is no metadata.
  
  Extending compatible_field_size() function with an extra parameter
  holding a Relay_log_instace for error reporting.
sql/rpl_utility.cc:
  Adding relay log parameter to compatible_field_size().
  
  Minor refactoring to eliminate duplicate code.
sql/slave.cc:
  Extending rpl_master_has_bug() with a single-argument predicate function and
  a parameter to the predicate function. The predicate function can be used to
  test for extra conditions for the bug before writing an error message.
sql/slave.h:
  Extending rpl_master_has_bug() with a single-argument predicate function and
  a parameter to the predicate function. The predicate function can be used to
  test for extra conditions for the bug before writing an error message.
  
  Also removing gratuitous default argument.
sql/sql_insert.cc:
  Changing calls to rpl_master_has_bug() to adapt to changed signature.
2008-06-30 22:11:18 +02:00
Sven Sandberg
0a60bd2243 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
696c03e47c auto merge 5.1-main --> 5.1-bugteam 2008-06-25 14:44:55 +05:00
Matthias Leich mleich@mysql.com
0969405012 Automatic merge 2008-06-20 14:55:17 +02:00
Andrei Elkin
edc787333f merging prior to push Bug #36443 2008-06-20 13:57:25 +03:00
Andrei Elkin
e66ba2a74b 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.

mysql-test/suite/bugs/r/rpl_bug33029.result:
  new results file
mysql-test/suite/bugs/t/rpl_bug33029.test:
  test merely checks no crash happens on slave.
sql/slave.cc:
  forcing to execute special logics implemented for bug#33029 if
  simulate_bug33029 the debug option is set.
sql/sql_class.cc:
  swaps of backed and the actual auto_inc_intervals_forced basing on shallow coping.
sql/structs.h:
  Removing the deep _copy() and methods associated with it;
  adding methods to Discrete_intervals_list:
      
  private `=', copy constructor to prevent using;
  private set_members();
  public  copy_shallow(), swap(), get_{head, tail, current}();
          empty_no_free() through set_members().
2008-06-19 21:47:59 +03:00
Gleb Shchepa
c8bc6a5d1b Fixed bug #37076: TIMESTAMP/DATETIME/DATE values are not
replicated correctly between machines with
                  mixed endiannes


mysql-test/extra/rpl_tests/rpl_row_basic.test:
  Added regression test for bug#37076.
mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result:
  Added regression test for bug#37076.
mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result:
  Added regression test for bug#37076.
mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result:
  Added regression test for bug#37076.
sql/field.h:
  Fixed bug #37076: TIMESTAMP/DATETIME/DATE values are not
                    replicated correctly between machines with
                    mixed endiannes
  
  pack and unpack virtual methods have been overloaded for
  Field_timestamp (TIMESTAMP domain), Field_datetime (DATETIME
  domain) and Field_date (DATE domain) classes to replicate data
  between platforms with different endiannes in a correct way
  like in Field_long and Field_longlong classes.
  
  Common code have been moved to private handle_int32 and 
  handle_int64 private methods.
2008-06-19 18:02:04 +05:00
Tatiana A. Nurnberg
b4a45a7121 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.

mysql-test/suite/rpl/t/disabled.def:
  disable rpl_server_id1 until test is fixed.
2008-06-19 12:39:48 +02:00
Matthias Leich mleich@mysql.com
672cb2c950 1. Upmerge of fix for the bugs
37167 funcs_1: Many tests fail if the embedded
                  server is used.
   37164 funcs_1: Some tests fail if an optional
                  character set is missing.
   + some cleanup within the testsuite related to the
     fixes above
   + some adjustments to open bugs on Mac OS X
2. Skip tests which suffer from bug
   37456 funcs_1: Several tests crash when used
                  with embedded server
3. Minor cleanup in some tests
2008-06-18 19:23:55 +02:00
Magnus Svensson
8b7a3b972f Fix paths 2008-06-18 17:49:32 +02:00
Matthias Leich mleich@mysql.com
28f9704737 Fix for
Bug#37167 funcs_1: Many tests fail if the embedded server is used.
   Bug#37164 funcs_1: Some tests fail if an optional character set is missing.
+ some cleanup within the testsuite related to the fixes above
+ some adjustments to open bugs on Mac OS X

Details:
- Remove the initial loading of data from tests if these data
  are not somewhere retrieved
- Remove any use of columns with attribute unicode
  (-> UCS2 is no more needed) from tests where unicode
  properties are not checked or somehow required
- Create a separate branch of the Character maximum length test
  (CML). If UCS2 is available than this test gets applied to
  every available type of string column with attribute unicode
  This prevents any loss of coverage by the points above.
- Disable the execution of is_tables_ndb which gives wrong
  results because of a bug. Correct the exepected results of
  this test.
- In case of tests failing when applied to the embedded server
    1) Create a variant of this test for the embedded server
  or
    2) Skip the test in case of embedded server
  depending on purpose and complexity of test.
- Skip the tests which could suffer from
  Bug 28309 First insert violates unique constraint - was "memory" table empty ?
  Bug 37380 Test funcs_1.is_columns_myisam_embedded fails on OS X
  (both bugs Mac OS X, embedded server, MySQL 5.0 only)
- Minor improvements like remove typos
2008-06-16 20:39:58 +02:00
Matthias Leich mleich@mysql.com
8d7fcad196 Upmerge of fix for
Bug 36788 Multiple funcs_1 'trig' tests are failing on vanilla builds
2008-06-03 12:21:48 +02:00
Matthias Leich mleich@mysql.com
1544026443 Bug#36788 Multiple funcs_1 'trig' tests are failing on vanilla builds
Fix for this bug and additional improvements/fixes
In detail:
- Remove unicode attribute from several columns
  (unicode properties were nowhere needed/tested)
  of the table tb3
  -> The runnability of these tests depends no more on
     the availibility of some optional collations.
- Use a table tb3 with the same layout for all
  engines to be tested and unify the engine name
  within the protocols.
  -> <engine>_trig_<abc>.result have the same content
- Do not load data into tb3 if these rows have no
  impact on result sets
- Add tests for NDB (they exist already in 5.1)
- "--replace_result" at various places because
  NDB variants of tests failed with "random" row
  order in results
  This fixes a till now unknown weakness within the
  funcs_1 NDB tests existing in 5.1 and 6.0
- Fix the expected result of ndb_trig_1011ext
  which suffered from Bug 32656
  + disable this test
- funcs_1 could be executed with the mysql-test-run.pl
  option "--reorder", which saves some runtime by
  optimizing server restarts.
  Runtimes on tmpfs (one attempt only):
  with    reorder 132 seconds
  without reorder 183 seconds
- Adjust two "check" statements within func_misc.test
  which were incorrect (We had one run with result set
  difference though the server worked good.)
- minor fixes in comments
2008-06-02 21:57:11 +02:00
Magnus Svensson
867b60e08b Merge 5.1->5.1-rpl
Fix paths and name of a few files to make it work with new mtr.pl
2008-05-30 11:12:07 +02:00
Patrick Crews
914bb34b38 Bug#36721 - Test funcs1.<engine>_func_view failing for multiple engines
Bug#36724 - Test funcs_1.<engine>_storedproc_02 needs to be updated
Bug#36726 - Test funcs_1.<engine>_storedproc failing - Needs to be updated on 5.1+

func_view bug:  re-records .result files to account for addition of charset and collation data 
                to SHOW CREATE VIEW output
storedproc bugs:  Added expected errors for those storedprocs that use SQLSTATE:00000
                  in their handlers.  re-recorded .result files to account for these
                  expected errors.

mysql-test/suite/funcs_1/r/innodb_func_view.result:
  Update result set for changes to SHOW CREATE VIEW output
mysql-test/suite/funcs_1/r/memory_func_view.result:
  Updated result set due to changes in SHOW CREATE VIEW output
mysql-test/suite/funcs_1/r/myisam_func_view.result:
  Updated result set due to changes in SHOW CREATE VIEW output
2008-05-27 19:30:07 -04:00
Sven Sandberg
605ba6867f BUG#36826: rpl_slave_status fails sporadically in pushbuild
rpl_slave_status failed on pushbuild. The slave stopped with an
error. Adding sync_slave_with_master fixes the problem. Updated
test case. 

mysql-test/suite/rpl/r/rpl_slave_status.result:
  Updated result file.
mysql-test/suite/rpl/t/rpl_slave_status.test:
  - Added comment explaining what the test does.
  - Added sync_slave_with_master in two places where it was missing. This
    caused sporadic pushbuild errors.
  - Added wait_for_slave_to_{start,stop} after {START,STOP} SLAVE queries.
  - Removed 'drop table if exists' from setup code.
  - Replaced save_master_pos;connection slave;sync_with_master by
    sync_slave_with_master.
  - Replaced 'delete from mysql.user' by 'drop user'.
  - Wrapped 'show slave status' inside query_get_value(), so that only what
    we test is in the output.
2008-05-26 15:06:49 +02:00
Chad MILLER
78cda882ae Bug#36818: rpl_server_id1 fails expecting slave has stopped
The test is vulnerable because it does not check if slave has stopped at time
of the new session is requested `start slave;'

Fixed with deploying explicitly wait_for_slave_to_stop synchronization macro.
2008-05-20 11:14:03 -04:00