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.
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.
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.
into dl145h.mysql.com:/data0/mkindahl/mysql-5.1
mysql-test/mysql-test-run.pl:
Auto merged
sql/rpl_rli.cc:
Auto merged
sql/rpl_rli.h:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_binlog.cc:
Auto merged
(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.
because it uses BINLOG statement, which is not supported in embedded mode.
Fix: disable the test in embedded mode.
mysql-test/suite/binlog/t/binlog_base64_flag.test:
Must disable this test when running embedded, since BINLOG statements
don't work. This fixes the pushbuild problem on the debx86-b machine on
https://intranet.mysql.com/secure/pushbuild/showpush.pl?dir=mysql-5.1-new-rpl&order=469
Problem: mysqlbinlog does not free memory if an error happens.
Fix: binlog-processing functions do not call exit() anymore. Instead, they
print an error and return an error code. Error codes are propagated all
the way back to main, and all allocated memory is freed on the way.
client/mysqlbinlog.cc:
- New error handling policy: functions processing binlogs don't just
exit() anymore. Instead, they print a message and return an error
status.
- New policy for the global `mysql' and `glob_description_event': these
are not passed as parameters anymore. The global pointer is used
instead.
- More error situations are detected and reported.
- Better error messages: the program never terminates with exit status 1
without explanation any more. Fixed spelling errors. Use consistent
format of messages (a single line beginning with "ERROR: " or
"WARNING: " and ending with "." is printed to stderr.)
- New memory handling: memory is always freed on program termination.
- Better comments: more functions are explained, doxygen is used, and
more precise formulations in some existing comments.
mysql-test/suite/binlog/r/binlog_base64_flag.result:
Result file updated since output format of mysqlbinlog changed while the
test was disabled.
mysql-test/suite/binlog/t/binlog_killed.test:
Mysqlbinlog now works as described when the binlog is open. Hence, the
--force-if-open flag must be passed
mysql-test/suite/binlog/t/binlog_killed_simulate.test:
Mysqlbinlog now works as described when the binlog is open. Hence, the
--force-if-open flag must be passed
mysql-test/suite/binlog/t/disabled.def:
Now that mysqlbinlog cleans up after itself on abnormal termination, we
can enable this test again.
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
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.
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.
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.
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.
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.
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.
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