Commit graph

23703 commits

Author SHA1 Message Date
unknown
43717ba1d1 Merge mysql.com:/Users/davi/mysql/bugs/34587-5.1
into  mysql.com:/Users/davi/mysql/mysql-5.1-runtime


sql/sql_view.cc:
  Auto merged
2008-02-20 17:29:29 -03:00
unknown
7114fbb943 Bug#34587 Creating a view inside a stored procedure leads to a server crash
The problem is that when a stored procedure is being parsed for
the first execution, the body is copied to a temporary buffer
which is disregarded sometime after the statement is parsed.
And during this parsing phase, the rule for CREATE VIEW was
holding a reference to the string being parsed for use during
the execution of the CREATE VIEW statement, leading to invalid
memory access later.

The solution is to allocate and copy the SELECT of a CREATE
VIEW statement using the thread memory root, which is set to
the permanent arena of the stored procedure. 


mysql-test/r/view.result:
  Add test case result for Bug#34587
mysql-test/t/view.test:
  Add test case for Bug#34587
sql/sql_lex.h:
  Remove start and end position variables. The SELECT of a
  CREATE VIEW is now allocated at parse time.
sql/sql_view.cc:
  Remove assertion that is not true when the statement is
  being re-executed. Use string that was trimmed of leading
  and trailing whitespace at parse time.
sql/sql_yacc.yy:
  Allocate the SELECT of a CREATE VIEW using the current thread
  memory root and remove any leading and trailing whitespace.
2008-02-20 17:26:50 -03:00
unknown
0b6bc7ef84 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  dipika.(none):/opt/local/work/mysql-5.1-runtime
2008-02-20 00:32:03 +03:00
unknown
533d435463 Fix a compilation failure of the community tree. 2008-02-19 23:47:15 +03:00
unknown
86301df6d4 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  mysql.com:/Users/davi/mysql/mysql-5.1-runtime


sql/sql_update.cc:
  Auto merged
2008-02-19 10:39:14 -03:00
unknown
90313b02e2 Merge mysql.com:/Users/davi/mysql/bugs/23771-5.1
into  mysql.com:/Users/davi/mysql/mysql-5.1-runtime
2008-02-19 10:36:31 -03:00
unknown
9060b50f14 Rename send_eof() to my_eof() for consistency with my_ok() and my_error() 2008-02-19 15:58:08 +03:00
unknown
14021c96c4 Rename send_ok to my_ok. Similarly to my_error, it only records the status,
does not send it to the client.
2008-02-19 15:45:21 +03:00
unknown
ead02981ea Merge bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  dipika.(none):/opt/local/work/mysql-5.1-2pc-opt-merge-push


mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result:
  Auto merged
mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result:
  Auto merged
sql/ha_ndbcluster_binlog.cc:
  Auto merged
sql/log.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/sp.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
mysql-test/suite/rpl_ndb/t/disabled.def:
  Manual merge.
2008-02-19 14:53:22 +03:00
unknown
526798dbb5 A fix and a test case for Bug#12713 "Error in a stored function called from
a SELECT doesn't cause ROLLBACK of statem".

The idea of the fix is to ensure that we always commit the current
statement at the end of dispatch_command(). In order to not issue
redundant disc syncs, an optimization of the two-phase commit
protocol is implemented to bypass the two phase commit if
the transaction is read-only.


mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result:
  Update test results.
mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result:
  Update test results.
mysql-test/suite/rpl_ndb/t/disabled.def:
  Disable the tests, for which this changeset reveals a bug:
  the injector thread does not always add 'statement commit' to the
  rows injected in circular replication set up.
  To be investigated separately.
sql/ha_ndbcluster_binlog.cc:
  Add close_thread_tables() to run_query: this ensures
  that all tables are closed and there is no pending statement transaction.
sql/handler.cc:
  Implement optimisation of read-only transactions.
  If a transaction consists only of DML statements that do not change
  data, we do not perform a two-phase commit for it 
  (run one phase commit only).
sql/handler.h:
  Implement optimisation of read-only transactions.
  If a transaction consists only of DML statements that do not change
  data, we do not perform a two-phase commit for it 
  (run one phase commit only).
sql/log.cc:
  Mark the binlog transaction read-write whenever it's started.
  We never read from binlog, so it's safe and least intrusive to add
  this mark up here.
sql/log_event.cc:
  Update to the new layout of thd->transaction.
sql/rpl_injector.cc:
  Always commit statement transaction before committing the global one.
sql/sp.cc:
  Ad comments.
sql/sp_head.cc:
  Add comments.
sql/sql_base.cc:
  Commit transaction at the end of the statement. Always.
sql/sql_class.cc:
  Update thd_ha_data to return the right pointer in the new layout.
  
  Fix select_dumpvar::send_data to properly return operation status.
  A test case from commit.inc would lead to an assertion failure in the 
  diagnostics area (double assignment). Not test otherwise by the test suite.
sql/sql_class.h:
  Implement a new layout of storage engine transaction info in which 
  it is easy to access all members related to the handlerton only
  based on ht->slot.
sql/sql_cursor.cc:
  Update to the new layout of thd->transaction.
sql/sql_delete.cc:
  Remove wrong and now redundant calls to ha_autocommit_or_rollback.
  The transaction is committed in one place, at the end of the statement.
  Remove calls to mysql_unlock_tables, since some engines count locks
  and commit statement transaction in unlock_tables(), which essentially
  equates mysql_unlock_tables to ha_autocommit_or_rollback.
  Previously it was necessary to unlock tables soon because we wanted
  to avoid sending of 'ok' packet to the client under locked tables.
  This is no longer necessary, since OK packet is also sent from one place
  at the end of transaction.
sql/sql_do.cc:
  Add DO always clears the error, we must rollback the current
  statement before this happens. Otherwise the statement will be committed,
  and not rolled back in the end.
sql/sql_insert.cc:
  Remove wrong and now redundant calls to ha_autocommit_or_rollback.
  The transaction is committed in one place, at the end of the statement.
  Remove calls to mysql_unlock_tables, since some engines count locks
  and commit statement transaction in unlock_tables(), which essentially
  equates mysql_unlock_tables to ha_autocommit_or_rollback.
  Previously it was necessary to unlock tables soon because we wanted
  to avoid sending of 'ok' packet to the client under locked tables.
  This is no longer necessary, since OK packet is also sent from one place
  at the end of transaction.
sql/sql_load.cc:
  Remove wrong and now redundant calls to ha_autocommit_or_rollback.
  The transaction is committed in one place, at the end of the statement.
  Remove calls to mysql_unlock_tables, since some engines count locks
  and commit statement transaction in unlock_tables(), which essentially
  equates mysql_unlock_tables to ha_autocommit_or_rollback.
  Previously it was necessary to unlock tables soon because we wanted
  to avoid sending of 'ok' packet to the client under locked tables.
  This is no longer necessary, since OK packet is also sent from one place
  at the end of transaction.
sql/sql_parse.cc:
  Implement optimisation of read-only transactions: bypass 2-phase
  commit for them.
  Always commit statement transaction before commiting the global one.
  Fix an unrelated crash in check_table_access, when called from 
  information_schema.
sql/sql_partition.cc:
  Partitions commit at the end of a DDL operation.
  Make sure that send_ok() is done only if the commit has succeeded.
sql/sql_table.cc:
  Use ha_autocommit_or_rollback and end_active_trans everywhere.
  Add end_trans to mysql_admin_table, so that it leaves no pending
  transaction.
sql/sql_udf.cc:
  Remvove a redundant call to close_thread_tables()
sql/sql_update.cc:
  Remove wrong and now redundant calls to ha_autocommit_or_rollback.
  The transaction is committed in one place, at the end of the statement.
  Remove calls to mysql_unlock_tables, since some engines count locks
  and commit statement transaction in unlock_tables(), which essentially
  equates mysql_unlock_tables to ha_autocommit_or_rollback.
  Previously it was necessary to unlock tables soon because we wanted
  to avoid sending of 'ok' packet to the client under locked tables.
  This is no longer necessary, since OK packet is also sent from one place
  at the end of transaction.
mysql-test/include/commit.inc:
  New BitKeeper file ``mysql-test/include/commit.inc''
mysql-test/r/commit_1innodb.result:
  New BitKeeper file ``mysql-test/r/commit_1innodb.result''
mysql-test/t/commit_1innodb.test:
  New BitKeeper file ``mysql-test/t/commit_1innodb.test''
2008-02-19 14:43:01 +03:00
unknown
da1a6127d6 Merge quad.:/mnt/raid/alik/MySQL/devel/5.1
into  quad.:/mnt/raid/alik/MySQL/devel/5.1-rt-merged


client/mysqlbinlog.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/slave.h:
  Auto merged
sql/sql_class.cc:
  Auto merged
2008-02-18 18:12:37 +03:00
unknown
622635b663 Merge quad.:/mnt/raid/alik/MySQL/devel/5.0-rt
into  quad.:/mnt/raid/alik/MySQL/devel/5.1-rt-merged


client/mysqlbinlog.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/slave.h:
  Auto merged
2008-02-18 18:12:05 +03:00
unknown
5704c7fe2c A patch for Bug#18834: ALTER TABLE ADD INDEX on table with
two timestamp fields.
  
The actual problem here was that CREATE TABLE allowed zero
date as a default value for a TIMESTAMP column in NO_ZERO_DATE mode.
  
The thing is that for TIMESTAMP date type specific rule is applied:
  column_name TIMESTAMP == column_name TIMESTAMP DEFAULT 0
whever for any other date data type
  column_name TYPE == column_name TYPE DEFAULT NULL
  
The fix is to raise an error when we're in NO_ZERO_DATE mode and
there is TIMESTAMP column w/o default value.


mysql-test/r/create.result:
  Update result file.
mysql-test/t/create.test:
  Test case for Bug#18834: ALTER TABLE ADD INDEX on table with
  two timestamp fields.
sql/sql_table.cc:
  Report an error if NO_ZERO_MODE is set and we have zero date
  as a default.
2008-02-14 18:13:40 +03:00
unknown
29169c6b47 Fixes to try to handle valgrind warnings identical to those in
BUG#24387, which is closed since long.


sql/mysqld.cc:
  Moving my_thread_end() to before pthread_cond_broadcast() since
  it might cause other threads to start using resources that are
  about to be released, or tries to proceed assuming that the
  resources have already been released.
2008-02-14 09:53:01 +01:00
unknown
c1d0dd94bb Fix for Bug#32538: View definition picks up character set,
but not collation.

The problem here was that text literals in a view were always
dumped with character set introducer. That lead to loosing
collation information.

The fix is to dump character set introducer only if it was
in the original query. That is now possible because there 
is no problem any more of loss of character set of string
literals in views -- after WL#4052 the view is dumped 
in the original character set.


mysql-test/r/case.result:
  Update result file.
mysql-test/r/compress.result:
  Update result file.
mysql-test/r/ctype_collate.result:
  Update result file.
mysql-test/r/date_formats.result:
  Update result file.
mysql-test/r/ddl_i18n_koi8r.result:
  Update result file.
mysql-test/r/ddl_i18n_utf8.result:
  Update result file.
mysql-test/r/fulltext.result:
  Update result file.
mysql-test/r/func_crypt.result:
  Update result file.
mysql-test/r/func_encrypt.result:
  Update result file.
mysql-test/r/func_if.result:
  Update result file.
mysql-test/r/func_in.result:
  Update result file.
mysql-test/r/func_like.result:
  Update result file.
mysql-test/r/func_regexp.result:
  Update result file.
mysql-test/r/func_set.result:
  Update result file.
mysql-test/r/func_str.result:
  Update result file.
mysql-test/r/func_time.result:
  Update result file.
mysql-test/r/gis.result:
  Update result file.
mysql-test/r/group_min_max.result:
  Update result file.
mysql-test/r/mysqldump.result:
  Update result file.
mysql-test/r/negation_elimination.result:
  Update result file.
mysql-test/r/null.result:
  Update result file.
mysql-test/r/select.result:
  Update result file.
mysql-test/r/show_check.result:
  Update result file.
mysql-test/r/sp-code.result:
  Update result file.
mysql-test/r/ssl.result:
  Update result file.
mysql-test/r/ssl_compress.result:
  Update result file.
mysql-test/r/subselect.result:
  Update result file.
mysql-test/r/temp_table.result:
  Update result file.
mysql-test/r/type_blob.result:
  Update result file.
mysql-test/r/view.result:
  Update result file.
mysql-test/suite/binlog/r/binlog_stm_blackhole.result:
  Update result file.
mysql-test/suite/rpl/r/rpl_get_lock.result:
  Update result file.
mysql-test/suite/rpl/r/rpl_master_pos_wait.result:
  Update result file.
mysql-test/t/view.test:
  Add a test case for Bug#32538.
sql/item.cc:
  Do not dump character set introducer if it was not specified
  explicitly in the original query.
sql/item.h:
  Add 'cs_specified' property to Item_string.
sql/sql_yacc.yy:
  Set Item_string::cs_specified property to TRUE
  when character set introducer is explicitly specified.
2008-02-12 22:09:16 +03:00
unknown
215625b143 Fix for Bug#31222: com_% global status counters
behave randomly with mysql_change_user.
  
The problem was that global status variables were not updated
in THD::check_user(), so thread statistics were lost after
COM_CHANGE_USER.
  
The fix is to update global status variables with the thread ones
before preparing the thread for new user.


mysql-test/r/change_user.result:
  Update result file.
mysql-test/t/change_user.test:
  Add a test case for Bug#31222: com_% global status counters
  behave randomly with mysql_change_user.
sql/sql_class.cc:
  Update global status variables when we're handling
  COM_CHANGE_USER for a thread.
2008-02-12 20:59:09 +03:00
unknown
abe4c14ae9 Various fixes to fix memory leaks after merging replication
tree with main.


sql/sql_binlog.cc:
  Adding code to free memory after execution of BINLOG statement.
  It caused a memory leak in the case that the execution failed
  for any reason.
sql/sql_class.cc:
  Since rli_fake is checked for NULL at various occations to mean
  that no rli_fake is assigned, NULL is assigned to rli_fake after
  deleting the instance.
2008-02-12 18:21:17 +01:00
unknown
8d51c6ad68 Bug#23771 AFTER UPDATE trigger not invoked when there are no changes of the data
The problem is that AFTER UPDATE triggers will fire only if the
new data is different from the old data on the row. The trigger
should fire regardless of whether there are changes to the data.

The solution is to fire the trigger on UPDATE even if there are
no changes to the value (because the value is the same).


mysql-test/r/trigger.result:
  Add test case result for Bug#23771
mysql-test/t/trigger.test:
  Add test case for Bug#23771
sql/sql_update.cc:
  Move the invocation of the after update trigger so that
  the trigger will fire even if the records are the same.
2008-02-12 09:44:27 -02:00
unknown
3a002636fb Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.1
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl-merge


configure.in:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_binlog.cc:
  Auto merged
2008-02-11 18:10:56 +01:00
unknown
99933c18d2 Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl-merge
2008-02-11 18:09:17 +01:00
unknown
c9d0934a8f Disabling declaration of debug variable for non-debug builds.
(originally from Mats)


sql/slave.cc:
  Disabling declaration in non-debug builds.
2008-02-11 14:05:27 +03:00
unknown
6f6fabb7f9 Patch to eliminate some valgrind warnings in debug printout code.
(originally from Mats)


sql/rpl_rli.cc:
  Adding variable to mark an instance of Relay_log_info as fake.
sql/rpl_rli.h:
  Adding variable to mark an instance of Relay_log_info as fake.
sql/slave.cc:
  Not printing debug information if we are working with a fake
  instance of Relay_log_info. This because the result of calling
  update is nonsense, and trying to print it generates valgrind
  warnings.
sql/sql_binlog.cc:
  Marking newly created instance of Relay_log_info as a fake instance.
2008-02-11 14:04:30 +03:00
unknown
f1f2bd8c0d Merge bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  dipika.(none):/opt/local/work/mysql-5.1-runtime
2008-02-09 14:42:26 +03:00
unknown
17af021c36 Fix a buffer overflow with strmake(). 2008-02-09 10:31:22 +03:00
unknown
a7df0e2dc4 Fixed buffer overflow 2008-02-08 19:37:57 -07:00
unknown
13e44e30eb Fix -ansi -pedantic compilation error 2008-02-08 19:33:24 +03:00
unknown
81ac684b06 Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  dipika.(none):/opt/local/work/mysql-5.1-runtime


include/my_sys.h:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/suite/binlog/r/binlog_row_binlog.result:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/log.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/set_var.h:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql-common/client.c:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
2008-02-08 18:55:07 +03:00
unknown
65c7d3004e Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  dipika.(none):/opt/local/work/mysql-5.0-runtime
2008-02-08 18:51:07 +03:00
unknown
d157f5fd43 Don't complain about a failure to write a log message if we were
simply killed.


sql/log.cc:
  Don't complain if were simply killed.
2008-02-08 17:25:20 +03:00
unknown
d6391bec22 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  dipika.(none):/opt/local/work/mysql-5.1-runtime
2008-02-08 15:54:21 +03:00
unknown
ba068d64b4 Silence the slow log errors (they won't make it to the client anyway). 2008-02-08 15:53:57 +03:00
unknown
25888fe3f6 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  mysql.com:/Users/davi/mysql/mysql-5.1-runtime
2008-02-08 10:48:16 -02:00
unknown
0c551b72de Manual merge of Bug 33798
mysql-test/extra/binlog_tests/binlog.test:
  Manual merge of binlog test case for Bug#33798
mysql-test/suite/binlog/r/binlog_row_binlog.result:
  Add test case result for Bug#33798
mysql-test/suite/binlog/r/binlog_stm_binlog.result:
  Add test case result for Bug#33798
sql/item.cc:
  Use new method which accepts a unsigned flag.
2008-02-08 10:47:25 -02:00
unknown
57c180c103 Merge mysql.com:/Users/davi/mysql/mysql-5.0-runtime
into  mysql.com:/Users/davi/mysql/mysql-5.1-runtime


mysql-test/r/ps.result:
  Auto merged
mysql-test/t/ps.test:
  Auto merged
sql/item.cc:
  Auto merged
mysql-test/extra/binlog_tests/binlog.test:
  Manual merge.
mysql-test/suite/binlog/r/binlog_stm_binlog.result:
  Manual merge.
2008-02-08 10:21:58 -02:00
unknown
7d98c21cdf Bug#33798 prepared statements improperly handle large unsigned ints
The unsignedness of large integer user variables was not being
properly preserved when feeded to prepared statements. This was
happening because the unsigned flags wasn't being updated when
converting the user variable is converted to a parameter.

The solution is to copy the unsigned flag when converting the
user variable to a parameter and take the unsigned flag into
account when converting the integer to a string.


mysql-test/r/binlog.result:
  Add test case result for Bug#33798
mysql-test/r/ps.result:
  Add test case result for Bug#33798
mysql-test/t/binlog.test:
  Add test case for Bug#33798
mysql-test/t/ps.test:
  Add test case for Bug#33798
sql/item.cc:
  Take the unsigned flag into account when converting the
  user variable.
2008-02-08 08:55:55 -02:00
unknown
fa8421271c Merge bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  dipika.(none):/opt/local/work/mysql-5.1-runtime
2008-02-08 13:36:39 +03:00
unknown
ed312cb579 Give a more informative message if we failed to write to mysql.general_log
table.
2008-02-08 13:35:11 +03:00
unknown
d9831ae532 Bug#31891 Meaningful stack trace
On crashes generate a user-friendly resolved and demangled stack
trace when libc provides the necessary functions (newer libc on i386,
x86_64, powerpc, ia64, alpha and s390). Otherwise print a numeric
stack trace as before, relying on resolve_stack_dump utility.


configure.in:
  Add check for backtrace headers, backtrace functions and if
  __cxa_demangle (libstdc++) is available at link time.
sql/mysqld.cc:
  Print the value of the THD::killed variable when dumping. In
  some circumstances knowing if the thread was killed makes
  debugging easier.
sql/stacktrace.c:
  Use the glibc backtrace function when available and demangle
  C++ function names if the __cxa_demangle function is available.
sql/stacktrace.h:
  Locally export and wrap in C linkage the C++ function __cxa_demangle
  if available.
2008-02-07 19:58:06 -02:00
unknown
187e5c5fa3 WL#4078: Document binary format of binlog entries
Documented Table_map_log_event and packed integer format. Improved
other documentation. No change outside comments.


sql/log_event.h:
  Documented Table_map_log_event and packed integer format. Improved
  other documentation. No change outside comments.
2008-02-07 19:21:23 +01:00
unknown
7b59d1e6c8 Merge mysql.com:/Users/davi/mysql/bugs/32633-5.1
into  mysql.com:/Users/davi/mysql/mysql-5.1-runtime


sql/sp.cc:
  Auto merged
2008-02-07 16:14:39 -02:00
unknown
1b6b7010a6 Bug#32633 Can not create any routine if SQL_MODE=no_engine_substitution
The problem is that one can not create a stored routine if sql_mode
contains NO_ENGINE_SUBSTITUTION or PAD_CHAR_TO_FULL_LENGTH. Also when
a event is created, the mode is silently lost if sql_mode contains one
of the aforementioned.  This was happening because the table definitions
which stored sql_mode values weren't being updated to accept new values
of sql_mode.

The solution is to update, in a backwards compatible manner, the various
table definitions (columns) that store the sql_mode value to take into
account the new possible values. One incompatible change is that if a event
that is being created can't be stored to the mysql.event table, an error
will be raised.

The tests case also ensure that new SQL modes will be added to the mysql.proc
and mysql.event tables, otherwise the tests will fail.


mysql-test/r/events_bugs.result:
  Add test case result for Bug#32633
mysql-test/r/information_schema.result:
  Update the sql_mode column definition.
mysql-test/r/sp.result:
  Add test case result for Bug#32633
mysql-test/r/system_mysql_db.result:
  Update the sql_mode column definition.
mysql-test/t/events_bugs.test:
  Add test case for Bug#32633
mysql-test/t/sp.test:
  Add test case for Bug#32633
mysql-test/t/system_mysql_db_fix50117.test:
  Update the sql_mode column definition.
scripts/mysql_system_tables.sql:
  Update the sql_mode column definition.
scripts/mysql_system_tables_fix.sql:
  Update the sql_mode column definition.
sql/event_db_repository.cc:
  Reset and restore SQL modes when storing and loading a
  event from the data dictionary. Also throw out a error
  if a store fails.
sql/mysqld.cc:
  Add warning to avoid this problem in the future.
sql-common/my_user.c:
  Truncate length if user name or host name does not fit
  in the buffer.
sql/sp.cc:
  SQL mode of the thread must not effect data dictionary operations.
2008-02-07 08:47:39 -02:00
unknown
3b44afb07f Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.1
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl


sql/slave.cc:
  Auto merged
2008-02-07 08:48:31 +01:00
unknown
7144184ced Disabling declaration of debug variable for non-debug builds.
sql/slave.cc:
  Disabling declaration in non-debug builds.
2008-02-07 08:41:32 +01:00
unknown
5cb34d741d Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.1
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl


sql/slave.cc:
  Auto merged
sql/sql_binlog.cc:
  Auto merged
2008-02-07 07:30:06 +01:00
unknown
ea7ecda29b Merge riska.(none):/home/sven/bk/b34355-backslash_in_path_name_under_win/5.0-rpl
into  riska.(none):/home/sven/bk/b34355-backslash_in_path_name_under_win/5.1-new-rpl


client/mysqlbinlog.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/slave.h:
  Auto merged
2008-02-06 21:07:45 +01:00
unknown
2a6ea13dd7 Merge mysql.com:/Users/davi/mysql/bugs/21801-5.1
into  mysql.com:/Users/davi/mysql/mysql-5.1-runtime
2008-02-06 12:50:22 -02:00
unknown
be5a46a69b Patch to eliminate some valgrind warnings in debug printout code.
sql/rpl_rli.cc:
  Adding variable to mark an instance of Relay_log_info as fake.
sql/rpl_rli.h:
  Adding variable to mark an instance of Relay_log_info as fake.
sql/slave.cc:
  Not printing debug information if we are working with a fake
  instance of Relay_log_info. This because the result of calling
  update is nonsense, and trying to print it generates valgrind
  warnings.
sql/sql_binlog.cc:
  Marking newly created instance of Relay_log_info as a fake instance.
2008-02-06 14:44:47 +01:00
unknown
3616b9136f Bug#32710: SHOW INNODB STATUS requires SUPER
Changed "SHOW ENGINE ... STATUS" and "SHOW ENGINE ... MUTEX"
to require the PROCESS privilege, instead of SUPER.

Fixed by Damien Katz


mysql-test/r/show_check.result:
  Add test case result for Bug#32710
mysql-test/t/show_check.test:
  Add test case for Bug#32710
sql/sql_parse.cc:
  Require PROCESS privilege instead of SUPER.
2008-02-06 11:20:15 -02:00
unknown
3b6a71a4b0 Bug #34305 show slave status handling segfaults when slave io is about
to leave

The artifact was caused by
a flaw in concurrent accessing the slave's io thd by
the io itself and a handling show slave status thread.
Namely, show_master_info did not acquire mi->run_lock mutex that is
specified for mi->io_thd member.

Fixed with deploying the mutex locking and unlocking. The mutex is kept
short time and without interleaving with mi->data_lock mutex.

Todo: to report and fix an issue with 
    sys_var_slave_skip_counter::{methods} 
seem to acquire incorrectly
     active_mi->rli.run_lock
instead of the specified
     active_mi->rli.data_lock

A test case is difficult to compose, so rpl_packet should continue serving
as the indicator.


sql/slave.cc:
  implementing a TODO left at 4.1 time:
  mending access to mi->io_thd with the specified mutex;
sql/slave.h:
  adding a member name to the list of that run_lock guards.
2008-02-05 17:36:26 +02:00
unknown
a63ef17fca Merge mkindahl@bk-internal.mysql.com:/home/bk/mysql-5.1-new-rpl
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl


include/my_base.h:
  Auto merged
mysql-test/include/show_binlog_events2.inc:
  Auto merged
mysql-test/suite/binlog/t/binlog_old_versions.test:
  Auto merged
mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result:
  Auto merged
mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result:
  Auto merged
mysql-test/suite/rpl/t/rpl_loaddata_map-master.opt:
  Auto merged
mysql-test/suite/rpl/t/rpl_loaddata_map-slave.opt:
  Auto merged
sql/log_event_old.cc:
  Auto merged
sql/sql_binlog.cc:
  Auto merged
mysql-test/suite/rpl/r/rpl_loaddata_map.result:
  Manual merge.
mysql-test/suite/rpl/r/rpl_user.result:
  Manual merge.
mysql-test/suite/rpl/t/rpl_loaddata_map.test:
  Manual merge.
mysql-test/suite/rpl/t/rpl_user.test:
  Manual merge.
sql/log_event.cc:
  Manual merge.
sql/rpl_record.cc:
  Manual merge.
2008-02-05 14:52:20 +01:00