1
0
mirror of https://github.com/MariaDB/server.git synced 2025-10-21 08:47:42 +03:00
Commit Graph

26035 Commits

Author SHA1 Message Date
unknown
d9e9a73e8f Bug #48321 CURRENT_USER() incorrectly replicated for DROP/RENAME USER;
REVOKE/GRANT; ALTER EVENT.

The following statements support the CURRENT_USER() where a user is needed.
  DROP USER 
  RENAME USER CURRENT_USER() ...
  GRANT ... TO CURRENT_USER()
  REVOKE ... FROM CURRENT_USER()
  ALTER DEFINER = CURRENT_USER() EVENT
but, When these statements are binlogged, CURRENT_USER() just is binlogged
as 'CURRENT_USER()', it is not expanded to the real user name. When slave 
executes the log event, 'CURRENT_USER()' is expand to the user of slave 
SQL thread, but SQL thread's user name always NULL. This breaks the replication.

After this patch, All above statements are rewritten when they are binlogged.
The CURRENT_USER() is expanded to the real user's name and host.
2010-01-30 20:49:25 +08:00
Andrei Elkin
b5291fb782 merging to a local bug fixes tree 2010-01-29 21:28:11 +02:00
Georgi Kodinov
6d38c898a6 Bug #49324: more valgrind errors in test_if_skip_sort_order
Fixed 2 problems :
1. test_if_order_by_key() was continuing on the primary key
as if it has a primary key suffix (as the secondary keys do).
This leads to crashes in ORDER BY <pk>,<pk>.
Fixed by not treating the primary key as the secondary one
and not depending on it being clustered with a primary key.
2. The cost calculation was trying to read the records 
per key when operating on ORDER BYs that order on all of the 
secondary key + some of the primary key.
This leads to crashes because of out-of-bounds array access.
Fixed by assuming we'll find 1 record per key in such cases.
2010-01-29 17:04:37 +02:00
Georgi Kodinov
f51a45cdbb merge 2010-01-29 16:54:27 +02:00
Georgi Kodinov
d468e242b3 Bug #50642 : ssl certs in test suite are expiring soon.
Updated the certs to expire on 2015. 
Made sure they work with both yassl and openssl.
2010-01-29 15:55:46 +02:00
Andrei Elkin
8d240586b5 Bug #50192 Strange effect in replication test, trigger, auto_increment
The auto-inc unsafe warning makes sense even though it's just
one auto-inc table could be involved via a trigger or a stored
function.
However its content was not updated by bug@45677 fixes continuing to mention
two tables whereas the fixes refined semantics of replication of auto_increment 
in stored routine.

Fixed with updating the error message, renaming the error and an internal unsafe-condition 
constants.

A documentation notice
======================

      Inserting into an autoincrement column in a stored function or a trigger
      is unsafe for replication.
      Even with just one autoincrement column, if the routine is invoked more than 
      once slave is not guaranteed to execute the statement graph same way as 
      the master.
      And since it's impossible to estimate how many times a routine can be invoked at 
      the query pre-execution phase (see lock_tables), the statement is marked
      pessimistically unsafe. 



mysql-test/suite/binlog/r/binlog_stm_unsafe_warning.result:
  results updated to include the expected unsafe warning.
mysql-test/suite/binlog/t/binlog_stm_unsafe_warning.test:
  regression test for bug#50192 to diplaying the unsafe warning comes out to the user warning stack.
sql/share/errmsg-utf8.txt:
  Updating the auto-inc unsafe message to correspond to bug@45677 fixes' new sematics.
sql/share/errmsg.txt:
  Updating the auto-inc unsafe message to correspond to bug@45677 fixes' new sematics.
sql/sql_base.cc:
  changing a symbolic name to correspond to updated by bug@45677 fixes new sematics.
sql/sql_lex.cc:
  changing a symbolic name to correspond to updated by bug@45677 fixes new sematics.
sql/sql_lex.h:
  changing a symbolic name to correspond to updated by bug@45677 fixes new sematics
  and description comments.
2010-01-29 15:55:35 +02:00
Horst.Hunger
f594cc4b3b New patch for bug#49579, now with "have_ipv4_mapped.inc". 2010-01-29 11:48:11 +01:00
Ramil Kalimullin
172af3722e Fix for bug#49897: crash in ptr_compare when char(0) NOT NULL
column is used for ORDER BY

Problem: filesort isn't meant for null length sort data
(e.g. char(0)), that leads to a server crash.

Fix: disregard sort order if sort data record length is 0 (nothing
to sort).


mysql-test/r/select.result:
  Fix for bug#49897: crash in ptr_compare when char(0) NOT NULL 
  column is used for ORDER BY
    - test result.
mysql-test/t/select.test:
  Fix for bug#49897: crash in ptr_compare when char(0) NOT NULL 
  column is used for ORDER BY
    - test case.
sql/filesort.cc:
  Fix for bug#49897: crash in ptr_compare when char(0) NOT NULL 
  column is used for ORDER BY
    - assert added as filesort cannot handle null length sort data.
sql/sql_select.cc:
  Fix for bug#49897: crash in ptr_compare when char(0) NOT NULL 
  column is used for ORDER BY
    - don't sort null length data e.g. in case of ORDER BY CHAR(0).
2010-01-29 13:17:57 +04:00
Omer BarNir
013dcdbd67 Modified and added tests following review of WL#4738.
- Added tests for innodb and semisync plugin
 - Modified existing tests to include variable values in I_S tables
 - Updated the all_vars test to include optional checkes for INNODB and semisync plugin 
   if loaded

mysql-test/suite/sys_vars/r/innodb_adaptive_flushing_basic.result:
  New result file
mysql-test/suite/sys_vars/r/innodb_adaptive_hash_index_basic.result:
  New result file
mysql-test/suite/sys_vars/r/innodb_change_buffering_basic.result:
  New result file
mysql-test/suite/sys_vars/r/innodb_file_format_basic.result:
  New result file
mysql-test/suite/sys_vars/r/innodb_file_format_check_basic.result:
  New result file
mysql-test/suite/sys_vars/r/innodb_io_capacity_basic.result:
  New result file
mysql-test/suite/sys_vars/r/innodb_old_blocks_pct_basic.result:
  New result file
mysql-test/suite/sys_vars/r/innodb_old_blocks_time_basic.result:
  New result file
mysql-test/suite/sys_vars/r/innodb_read_ahead_threshold_basic.result:
  New result file
mysql-test/suite/sys_vars/r/innodb_read_io_threads_basic.result:
  New result file
mysql-test/suite/sys_vars/r/innodb_replication_delay_basic.result:
  New result file
mysql-test/suite/sys_vars/r/innodb_spin_wait_delay_basic.result:
  New result file
mysql-test/suite/sys_vars/r/innodb_stats_on_metadata_basic.result:
  New result file
mysql-test/suite/sys_vars/r/innodb_stats_sample_pages_basic.result:
  New result file
mysql-test/suite/sys_vars/r/innodb_strict_mode_basic.result:
  New result file
mysql-test/suite/sys_vars/r/innodb_thread_sleep_delay_basic.result:
  Updated result file
mysql-test/suite/sys_vars/r/innodb_use_sys_malloc_basic.result:
  New result file
mysql-test/suite/sys_vars/r/innodb_version_basic.result:
  New result file
mysql-test/suite/sys_vars/r/innodb_write_io_threads_basic.result:
  New result file
mysql-test/suite/sys_vars/r/last_insert_id_basic.result:
  Updated result file
mysql-test/suite/sys_vars/r/lc_messages_basic.result:
  Updated result file
mysql-test/suite/sys_vars/r/log_slow_queries_basic.result:
  Updated result file
mysql-test/suite/sys_vars/r/lower_case_file_system_basic.result:
  Updated result file
mysql-test/suite/sys_vars/r/lower_case_table_names_basic.result:
  Updated result file
mysql-test/suite/sys_vars/r/max_join_size_basic.result:
  Updated result file
mysql-test/suite/sys_vars/r/old_alter_table_basic.result:
  Updated result file
mysql-test/suite/sys_vars/r/optimizer_switch_basic.result:
  Updated result file
mysql-test/suite/sys_vars/r/profiling_basic.result:
  Updated result file
mysql-test/suite/sys_vars/r/profiling_history_size_basic.result:
  Updated result file
mysql-test/suite/sys_vars/r/pseudo_thread_id_basic.result:
  Updated result file
mysql-test/suite/sys_vars/r/rand_seed1_basic.result:
  Updated result file
mysql-test/suite/sys_vars/r/rand_seed2_basic.result:
  Updated result file
mysql-test/suite/sys_vars/r/relay_log_recovery_basic.result:
  Updated result file
mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result:
  New result file
mysql-test/suite/sys_vars/r/rpl_semi_sync_master_timeout_basic.result:
  New result file
mysql-test/suite/sys_vars/r/rpl_semi_sync_master_trace_level_basic.result:
  New result file
mysql-test/suite/sys_vars/r/rpl_semi_sync_master_wait_no_slave_basic.result:
  New result file
mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result:
  New result file
mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_trace_level_basic.result:
  New result file
mysql-test/suite/sys_vars/r/sql_log_update_basic.result:
  Added check for variable values in I_S tables
mysql-test/suite/sys_vars/r/sql_max_join_size_basic.result:
  Added check for variable values in I_S tables
mysql-test/suite/sys_vars/r/sql_select_limit_basic.result:
  Added check for variable values in I_S tables
mysql-test/suite/sys_vars/r/thread_cache_size_basic.result:
  Added check for variable values in I_S tables
mysql-test/suite/sys_vars/t/all_vars-master.opt:
  Added opt file for all_vars.test
mysql-test/suite/sys_vars/t/all_vars.test:
  Modified test to check for semisync plugin and innodb
mysql-test/suite/sys_vars/t/innodb_adaptive_flushing_basic.test:
  Added test for innodb variable
mysql-test/suite/sys_vars/t/innodb_adaptive_hash_index_basic.test:
  Added test for innodb variable
mysql-test/suite/sys_vars/t/innodb_change_buffering_basic.test:
  Added test for innodb variable
mysql-test/suite/sys_vars/t/innodb_file_format_basic.test:
  Added test for innodb variable
mysql-test/suite/sys_vars/t/innodb_file_format_check_basic.test:
  Added test for innodb variable
mysql-test/suite/sys_vars/t/innodb_io_capacity_basic.test:
  Added test for innodb variable
mysql-test/suite/sys_vars/t/innodb_old_blocks_pct_basic.test:
  Added test for innodb variable
mysql-test/suite/sys_vars/t/innodb_old_blocks_time_basic.test:
  Added test for innodb variable
mysql-test/suite/sys_vars/t/innodb_read_ahead_threshold_basic.test:
  Added test for innodb variable
mysql-test/suite/sys_vars/t/innodb_read_io_threads_basic.test:
  Added test for innodb variable
mysql-test/suite/sys_vars/t/innodb_replication_delay_basic.test:
  Added test for innodb variable
mysql-test/suite/sys_vars/t/innodb_spin_wait_delay_basic.test:
  Added test for innodb variable
mysql-test/suite/sys_vars/t/innodb_stats_on_metadata_basic.test:
  Added test for innodb variable
mysql-test/suite/sys_vars/t/innodb_stats_sample_pages_basic.test:
  Added test for innodb variable
mysql-test/suite/sys_vars/t/innodb_strict_mode_basic.test:
  Added test for innodb variable
mysql-test/suite/sys_vars/t/innodb_thread_sleep_delay_basic.test:
  Added test for innodb variable
mysql-test/suite/sys_vars/t/innodb_use_sys_malloc_basic.test:
  Added test for innodb variable
mysql-test/suite/sys_vars/t/innodb_version_basic.test:
  Added test for innodb variable
mysql-test/suite/sys_vars/t/innodb_write_io_threads_basic.test:
  Added test for innodb variable
mysql-test/suite/sys_vars/t/last_insert_id_basic.test:
  Added check for variable values in I_S tables
mysql-test/suite/sys_vars/t/lc_messages_basic.test:
  Added check for variable values in I_S tables
mysql-test/suite/sys_vars/t/log_slow_queries_basic.test:
  Added check for variable values in I_S tables
mysql-test/suite/sys_vars/t/lower_case_file_system_basic.test:
  Added check for variable values in I_S tables
mysql-test/suite/sys_vars/t/lower_case_table_names_basic.test:
  Added check for variable values in I_S tables
mysql-test/suite/sys_vars/t/max_join_size_basic.test:
  Added check for variable values in I_S tables
mysql-test/suite/sys_vars/t/old_alter_table_basic.test:
  Added check for variable values in I_S tables
mysql-test/suite/sys_vars/t/optimizer_switch_basic.test:
  Added check for variable values in I_S tables
mysql-test/suite/sys_vars/t/profiling_basic.test:
  Added check for variable values in I_S tables
mysql-test/suite/sys_vars/t/profiling_history_size_basic.test:
  Added check for variable values in I_S tables
mysql-test/suite/sys_vars/t/pseudo_thread_id_basic.test:
  Added check for variable values in I_S tables and check for session variable 
  being numeric
mysql-test/suite/sys_vars/t/rand_seed1_basic.test:
  Added check for variable values in I_S tables
mysql-test/suite/sys_vars/t/rand_seed2_basic.test:
  Added check for variable values in I_S tables
mysql-test/suite/sys_vars/t/relay_log_recovery_basic.test:
  Added check for variable values in I_S tables
mysql-test/suite/sys_vars/t/rpl_semi_sync_master_enabled_basic-master.opt:
  Added option file for semisync variable test
mysql-test/suite/sys_vars/t/rpl_semi_sync_master_enabled_basic.test:
  Added test file for semisync variable
mysql-test/suite/sys_vars/t/rpl_semi_sync_master_timeout_basic-master.opt:
  Added option file for semisync variable test
mysql-test/suite/sys_vars/t/rpl_semi_sync_master_timeout_basic.test:
  Added test file for semisync variable
mysql-test/suite/sys_vars/t/rpl_semi_sync_master_trace_level_basic-master.opt:
  Added option file for semisync variable test
mysql-test/suite/sys_vars/t/rpl_semi_sync_master_trace_level_basic.test:
  Added test file for semisync variable
mysql-test/suite/sys_vars/t/rpl_semi_sync_master_wait_no_slave_basic-master.opt:
  Added option file for semisync variable test
mysql-test/suite/sys_vars/t/rpl_semi_sync_master_wait_no_slave_basic.test:
  Added test file for semisync variable
mysql-test/suite/sys_vars/t/rpl_semi_sync_slave_enabled_basic-master.opt:
  Added option file for semisync variable test
mysql-test/suite/sys_vars/t/rpl_semi_sync_slave_enabled_basic.test:
  Added test file for semisync variable
mysql-test/suite/sys_vars/t/rpl_semi_sync_slave_trace_level_basic-master.opt:
  Added option file for semisync variable test
mysql-test/suite/sys_vars/t/rpl_semi_sync_slave_trace_level_basic.test:
  Added test file for semisync variable
mysql-test/suite/sys_vars/t/sql_log_update_basic.test:
  Added check for variable values in I_S tables and check for ON/OFF value changes
mysql-test/suite/sys_vars/t/sql_max_join_size_basic.test:
  Added check for variable values in I_S tables
mysql-test/suite/sys_vars/t/sql_select_limit_basic.test:
  Added check for variable values in I_S tables
mysql-test/suite/sys_vars/t/thread_cache_size_basic.test:
  Added check for variable values in I_S tables
2010-01-28 22:33:00 -08:00
Alexander Nozdrin
2423a7b68f Make the following tests experimental:
- main.outfile_loaddata @solaris due to Bug#46895
  - main.signal_demo3 @solaris due to Bug#47791
  - main.sp @solaris due to Bug#47791
  - rpl.rpl_slave_load_remove_tmpfile @windows due to Bug#50474
2010-01-28 21:49:00 +03:00
Davi Arnaut
d6ab925c5e Bug#50423: Crash on second call of a procedure dropping a trigger
The problem was that a DROP TRIGGER statement inside a stored
procedure could cause a crash in subsequent invocations. This
was due to the addition, on the first execution, of a temporary
table reference to the stored procedure query table list. In
a subsequent invocation, there would be a attempt to reinitialize
the temporary table reference, which by then was already gone.

The solution is to backup and reset the query table list each
time a trigger needs to be dropped. This ensures that any temp
changes to the query table list are discarded. It is safe to
do so at this time as drop trigger is restricted from more
complicated scenarios (ie, not allowed within stored functions,
etc).

mysql-test/r/sp-bugs.result:
  Add test case result for Bug#50423
mysql-test/t/sp-bugs.test:
  Add test case for Bug#50423
sql/sql_trigger.cc:
  Backup and reset the query table list.
  Remove now unnecessary manual reset of the query table list.
2010-01-28 12:41:14 -02:00
Sergey Vojtovich
8aeafbd53f Merge fix for BUG48438 to mysql-5.1-bugteam. 2010-02-12 16:47:43 +04:00
Sergey Vojtovich
6bc7d3830b Merge fix for BUG48757 to mysql-5.1-bugteam. 2010-02-12 16:38:00 +04:00
Sergey Vojtovich
e3eafe84f5 Merge fix for BUG49628 to mysql-5.1-bugteam. 2010-02-12 16:37:05 +04:00
Sergey Vojtovich
91f0212c68 BUG#48757 - missing .ARZ file causes server crash
Server crashes when accessing ARCHIVE table with missing
.ARZ file.

When opening a table, ARCHIVE didn't properly pass through
error code from lower level azopen() to higher level open()
method.

mysql-test/r/archive.result:
  A test case for BUG#48757.
mysql-test/t/archive.test:
  A test case for BUG#48757.
storage/archive/ha_archive.cc:
  Pass through error code from azopen().
2010-02-12 16:33:03 +04:00
Sergey Vojtovich
62933c50df BUG#49628 - corrupt table after legal SQL, LONGTEXT column
Bulk REPLACE or bulk INSERT ... ON DUPLICATE KEY UPDATE may
break dynamic record MyISAM table.

The problem is limited to bulk REPLACE and INSERT ... ON
DUPLICATE KEY UPDATE, because only these operations may
be done via UPDATE internally and may request write cache.

When flushing write cache, MyISAM may write remaining
cached data at wrong position. Fixed by requesting write
cache to seek to a correct position.

mysql-test/r/myisam.result:
  A test case for BUG#49628.
mysql-test/t/myisam.test:
  A test case for BUG#49628.
storage/myisam/mi_dynrec.c:
  delete_dynamic_record() may change data file position.
  IO cache must be notified as it may still have cached
  data, which has to be flushed later.
2010-02-12 16:30:04 +04:00
Sergey Vojtovich
9d0c1ce535 BUG#48438 - crash with error in unioned query against merge
table and view...

Invalid memory reads after a query referencing MyISAM table
multiple times with write lock. Invalid memory reads may
lead to server crash, valgrind warnings, incorrect values
in INFORMATION_SCHEMA.TABLES.{TABLE_ROWS, DATA_LENGTH,
INDEX_LENGTH, ...}.

This may happen when one of the table instances gets closed
after a query, e.g. out of slots in open tables cache. UNION,
MERGE and VIEW are irrelevant.

The problem was that MyISAM didn't restore state info
pointer to default value.

myisam/mi_locking.c:
  When a query is referencing MyISAM table multiple times
  with a write lock, all table instances share the same
  state info, pointing to MI_INFO::save_state of
  "primary" table instance.
  
  When lock is released, state pointer was restored only
  for the primary table instance. Secondary table instances
  are still pointing to save_state of primary table
  instance.
  
  Primary table instance may get closed, leaving secondary
  table instances state pointer pointing to freed memory.
  
  That's mostly ok, since next lock will update state info
  pointer to correct value. But there're some cases, when
  this secondary table instance state info is accessed
  without a lock, e.g. INFORMATION_SCHEMA, MERGE (in 5.1
  and up), MyISAM itself for DBUG purposes.
  
  Restore default value of state pointer unconditionally,
  for both primary and secondary table instances.
mysql-test/r/myisam.result:
  A test case for BUG#48438.
mysql-test/t/myisam.test:
  A test case for BUG#48438.
2010-02-12 15:28:38 +04:00
Sergey Glukhov
46cffd7f5b Bug#48294 assertion when creating a view based on some row() construct in select query
In case of 'CREATE VIEW' subselect transformation does not happen(see JOIN::prepare).
During fix_fields Item_row may call is_null() method for its arugmens which
leads to item calculation(wrong subselect in our case as
transformation did not happen before). This is_null() call
does not make sence for 'CREATE VIEW'.
Note:
Only Item_row is affected because other items don't call is_null() 
during fix_fields() for arguments.

mysql-test/r/view.result:
  test case
mysql-test/t/view.test:
  test case
sql/item_row.cc:
  skip is_null() call in case of 'CREATE VIEW' as unnecessary.
2010-02-12 13:44:20 +04:00
Davi Arnaut
80164ae9a0 Move test case. Embedded server does not support privilege
related bits.
2010-02-12 00:54:14 -02:00
Davi Arnaut
63817720b4 Bug#48449: hang on show create view after upgrading when view contains function of view
SHOW CREATE TABLE on a view (v1) that contains a function whose
statement uses another view (v2), could trigger a infinite loop
if the view referenced within the function causes a warning to
be raised while opening the said view (v2).

The problem was a infinite loop over the stack of internal error
handlers. The problem would be triggered if the stack contained
two or more handlers and the first two handlers didn't handle the
raised condition. In this case, the loop variable would always
point to the second handler in the stack.

The solution is to correct the loop variable assignment so that
the loop is able to iterate over all handlers in the stack.

mysql-test/r/view.result:
  Add test case result for Bug#48449.
mysql-test/std_data/bug48449.frm:
  Add a incomplete view definition that causes a warning to be
  issued.
mysql-test/t/view.test:
  Add test case for Bug#48449
sql/sql_class.cc:
  Iterate over all handlers in the stack.
2010-02-10 16:11:08 -02:00
Bjorn Munch
235e7b8f11 merge 49210 2010-01-28 15:19:18 +01:00
Bjorn Munch
314fb8f62e upmerge 49210 2010-01-28 13:02:19 +01:00
Bjorn Munch
480054c64d upmerge 49210 2010-01-28 13:01:01 +01:00
Ramil Kalimullin
7805a2c7c0 Auto-merge. 2010-01-29 15:08:49 +04:00
Georgi Kodinov
443003a467 Bug #49552 : sql_buffer_result cause crash + not found records
in multitable delete/subquery

SQL_BUFFER_RESULT should not have an effect on non-SELECT 
statements according to our documentation.
Fixed by not passing it through to multi-table DELETE (similarly
to how it's done for multi-table UPDATE).
2010-01-29 11:36:28 +02:00
Andrei Elkin
1750b79fd1 merging from 5.1-bt to a local bugfix branch 2010-01-28 12:22:19 +02:00
Andrei Elkin
0c0eb1d44a merging from 5.1-bt to a local bugfix branch 2010-01-28 11:51:57 +02:00
Alexander Nozdrin
2f3d117ae3 Manual merge from mysql-trunk-merge.
Conflicts:
  - mysql-test/extra/rpl_tests/rpl_mixing_engines.inc
  - sql/log.cc
  - sql/mysqld.cc
  - sql/set_var.cc
  - sql/sql_class.h
2010-01-28 01:07:44 +03:00
Alexander Nozdrin
f928e0b03d Auto-merge from mysql-trunk-merge. 2010-01-28 00:32:29 +03:00
Alexander Nozdrin
cf97ed0c1b Manual merge from mysql-trunk-merge.
Conflicts:
  - sql/ha_partition.cc
  - sql/sql_partition.cc

The following tests started to fail:
  - main.partition_innodb (a crash)
2010-01-28 00:24:35 +03:00
Alexander Nozdrin
eab68c5d48 Auto-merge from mysql-next-mr. 2010-01-27 22:58:19 +03:00
Alexander Nozdrin
be53d298e1 Manual merge from mysql-trunk-merge.
Conflicts:
  - sql/sql_partition.cc
2010-01-27 22:55:51 +03:00
Alexander Nozdrin
8d4a842729 Enable all active test suites for daily testing in next-mr and 6.0. 2010-01-27 22:53:45 +03:00
Alexander Nozdrin
992fc07377 Auto-merge from mysql-trunk-merge. 2010-01-27 22:35:04 +03:00
Alexander Nozdrin
7252bdfa90 Typo fix for result file. 2010-01-27 21:59:10 +03:00
Alexander Nozdrin
7cd628cfab Auto-merge from mysql-trunk-merge. 2010-01-27 21:44:01 +03:00
Andrei Elkin
a589499986 bug#47142
merging patches prepared for 5.0 to 5.1-bt. That caused a few changes in the test file
2010-01-27 19:27:49 +02:00
Marc Alff
4a7a3371c5 Merge mysql-next-mr (revno 2965) --> mysql-next-mr-marc 2010-01-27 09:34:13 -07:00
Bjorn Munch
38e924b995 Bug #49210 Enable MTR timeout configuration through environment variables
Define env. vars for both timeout settings
Also incorporated 5.0 patch into mtr version 1
2010-01-27 16:32:59 +01:00
Marc Alff
af37c866de Misc cleanup 2010-01-27 08:26:05 -07:00
Bjorn Munch
b13ed2975d Bug #49210 Enable MTR timeout configuration through environment variables
Define env. vars for both timeout settings
  This patch is for 5.0 (mtr v1) and should replaces for 5.1 up
2010-01-27 15:21:41 +01:00
Davi Arnaut
ee66332ce4 Bug#47734: Assertion failed: ! is_set() when locking a view with non-existing definer
The problem was that a failure to open a view wasn't being
properly handled. When opening a view with unknown definer,
the open procedure would be treated as successful and would
later crash when attempting to lock the view (which wasn't
opened to begin with).

The solution is to skip further processing when opening a
table if it fails with a fatal error.

mysql-test/r/view.result:
  Add test case result for Bug#47734.
mysql-test/t/view.test:
  Add test case for Bug#47734.
sql/sql_base.cc:
  Skip further processing if opening a table failed due to
  a fatal error (for the statement).
2010-01-27 11:10:53 -02:00
Staale Smedseng
f4a16558c8 Bug #47905 stored procedures with conditional statements not
being logged to slow query log

The problem is that the execution time for a multi-statement
stored procedure as a whole may not be accurate, and thus not
be entered into the slow query log even if the total time
exceeds long_query_time. The reason for this is that
THD::utime_after_lock used for time calculation may be reset
at the start of each new statement, possibly leaving the total
SP execution equal to the time spent executing the last
statement in the SP.

This patch stores the utime on start of SP execution, and
restores it on exit of SP execution. A test is added.


mysql-test/suite/sys_vars/r/slow_query_log_func.result:
  New test results for #47905.
mysql-test/suite/sys_vars/t/slow_query_log_func.test:
  New test case for #47905.
sql/sp_head.cc:
  Save and restore the THD::utime_after_lock on entry and 
  exit of execute_procedure().
2010-02-11 21:10:13 +01:00
Martin Hansson
323a8ddc83 Merge of Bug#49534 2010-02-11 15:56:24 +01:00
Martin Hansson
630fa243c9 Bug#49534: multitable IGNORE update with sql_safe_updates
error causes debug assertion

The IGNORE option of the multiple-table UPDATE command was
not intended to suppress errors caused by the
sql_safe_updates mode. This flag will raise an error if the
execution of UPDATE does not use a key for row retrieval,
and should continue do so regardless of the IGNORE option.

However the implementation of IGNORE does not support
exceptions to the rule; it always converts errors to
warnings and cannot be extended. The Internal_error_handler
interface offers the infrastructure to handle individual
errors, making sure that the error raised by
sql_safe_updates is not silenced.

Fixed by implementing an Internal_error_handler and using it
for UPDATE IGNORE commands.
2010-02-10 15:37:34 +01:00
Magne Mahre
35c6bb89e6 WL#5182 Remove more deprecated 4.1/5.0 features
WL#5182 is a follow-up to WL#5154, deprecating a few more options
and system variables.


client/client_priv.h:
  The warning message has been changed to not include
  a specific version number in the text.
client/mysql.cc:
  --no-tee is deprecated
client/mysqldump.c:
  --all is deprecated
  -a now points to create-options
mysql-test/r/mysqlbinlog.result:
  Warning text changed
mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result:
  Warning text changed
sql/mysql_priv.h:
  The warning message has been changed to not include
  a specific version number in the text.
sql/mysqld.cc:
  --use-symbolic-links is deprecated
  -s now points to --symbolic-links
  --warnings is deprecated
  -W now points to --log-warnings
          
  myisam_max_extra_sort_file_size is deprecated
  record_buffer is deprecated
          
  --log-update is deprecated
  --sql-bin-update-same is deprecated
  --skip-locking is deprecated
  --skip-symlink is deprecated
  --enable-locking is deprecated
  --delay-key-write-for-all-tables is deprecated
2010-01-27 13:23:28 +01:00
unknown
c12c9780cd Bug #49191 rpl_get_master_version_and_clock failed on PB2: COM_REGISTER_SLAVE failed
The 'rpl_get_master_version_and_clock' test verifies if the slave I/O
thread tries to reconnect to master when it tries to get the values of
the UNIX_TIMESTAMP, SERVER_ID from master under network disconnection.
So the master server is restarted for making the transient network
disconnection, during the period the COM_REGISTER_SLAVE failures are
produced in server log file when the slave I/O thread tries to
register on master.

To fix the problem, suppress COM_REGISTER_SLAVE failures in server log
file by mtr suppression, because they are expected.


mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result:
  Removed mtr.add_suppression("Get master clock failed with error: ")
  and mtr.add_suppression("Get master SERVER_ID failed with error: ").
  Because they are suppressed globally.
2010-01-27 10:52:13 +08:00
Vladislav Vaintroub
cdb8cafb27 Fixed typos and failed mysqld--help test. 2010-01-26 22:05:41 +01:00
Luis Soares
1b6391e930 Removed test cases from experimental list:
- rpl.rpl_slave_load_remove_tmpfile
  - rpl.rpl_sync
2010-01-26 10:11:16 +00:00
Luis Soares
3ad1e4edf9 Automerge from bug branch. 2010-01-26 10:08:56 +00:00