into bk-internal.mysql.com:/data0/bk/mysql-5.1-kt
mysql-test/r/show_check.result:
Auto merged
sql/log.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/set_var.h:
Auto merged
sql/sql_delete.cc:
Auto merged
mysql-test/r/partition_error.result:
result fix
sql/log.cc:
use open_slow_log() instead of open_query_log() for slow query log
sql/log.h:
after merge fix
sql/set_var.cc:
after merge fix
use open_slow_log() instead of open_query_log() for slow query log
into may.pils.ru:/home/svoj/devel/mysql/BUG18036/mysql-5.1
configure.in:
Auto merged
include/my_global.h:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/myisam.result:
Auto merged
sql/item_func.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_update.cc:
Auto merged
tests/mysql_client_test.c:
Auto merged
mysql-test/t/myisam.test:
Manual merge.
The bug was found in rpl_stm_000001 testing. In essence the following happens
SLAVE thread receives what happens
start
init THD and its temp_table (tt0)
stop
storing tt0 pointer to rli->save...
start
restoring temp_tables - new pointer tt1
executing regular binlog event DROP temp_table
at the end of which tt1-refered list
must be empty (slave_open_temp_tables == 0)
but the pointer refers to tt0 location!
shutdown
end_slave calls cleaning of temp_tables and crashes.
The reason of the crash is that tt1 values is not zero upon DROPing the single temp table.
This is due to alg of removing links from temp_tables list which "adapted" 5.0 code
but w/o accounting that thd->temporary_tables in slave thread in prone to freeing.
Upon freeing there is no more original '0' value available to denote empty list.
temporary_tables must not refer to any "external" location, one of which thd->temporary_tables represents (since belong to THD instance).
The fix done in sql_base.cc for two functions, look at there for details.
sql/sql_base.cc:
refining prepend and remove link operation to thd->temporary_tables.
The list turns to be "flat" double-linked, i.e "prev" accessor refers to an item instead of pointer to one as it was previously with "open_prev".
On removal an invariant involving slave_open_temp_tables counter is checked.
When it is zero thd->temporary_tables is set to zero explicitly. This can not be done, for what previous code hoped, because thd object changes when slave stop/start while
slave's temporary_tables are maintained all the time, until reset/shutdow
into bk-internal.mysql.com:/data0/bk/mysql-5.1-kt
mysql-test/r/join.result:
Auto merged
mysql-test/t/join.test:
Auto merged
sql/log.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_show.cc:
Auto merged
BUG#18036 - update of table joined to self reports table as crashed
Set exclude_from_table_unique_test value back to FALSE. It is needed for
further check in multi_update::prepare whether to use record cache.
sql/sql_update.cc:
Set exclude_from_table_unique_test value back to FALSE. It is needed for
further check in multi_update::prepare whether to use record cache.
into mysql.com:/users/lthalmann/bk/MERGE/mysql-5.1-merge
mysql-test/t/archive.test:
Auto merged
sql/log.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_table.cc:
Auto merged
Certain updates of table joined to self results in unexpected
behavior.
The problem was that record cache was mistakenly enabled for
self-joined table updates. Normally record cache must be disabled
for such updates.
Fixed wrong condition in code that determines whether to use
record cache for self-joined table updates.
Only MyISAM tables were affected.
mysql-test/r/myisam.result:
Test case for BUG#18036.
mysql-test/t/myisam.test:
Test case for BUG#18036.
sql/sql_update.cc:
Fixed wrong condition in code that determines whether to use
record cache for self-joined table updates.
Fixed failing test case
field.cc, item_cmpfunc.cc, select.result:
After merge fix
mysql-test/r/select.result:
After merge fix
mysql-test/r/rpl_stm_log.result:
Fixed failing test case
sql/item_cmpfunc.cc:
After merge fix
sql/field.cc:
After merge fix
mysql-test/extra/rpl_tests/rpl_log.test:
Fixed failing test case
into moonbone.local:/work/tmp_merge-5.0-opt-mysql
configure.in:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
sql/item_func.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
tests/mysql_client_test.c:
Auto merged
configure.in:
Auto merged
client/mysqlbinlog.cc:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/archive.result:
Auto merged
mysql-test/r/auto_increment.result:
Auto merged
mysql-test/r/cast.result:
Auto merged
mysql-test/r/ctype_utf8.result:
Auto merged
mysql-test/r/func_group.result:
Auto merged
mysql-test/r/func_str.result:
Auto merged
mysql-test/r/func_time.result:
Auto merged
mysql-test/r/multi_update.result:
Auto merged
mysql-test/r/ndb_lock.result:
Auto merged
mysql-test/r/replace.result:
Auto merged
mysql-test/r/union.result:
Auto merged
mysql-test/t/archive.test:
Auto merged
mysql-test/t/auto_increment.test:
Auto merged
mysql-test/t/delayed.test:
Auto merged
mysql-test/t/func_time.test:
Auto merged
mysql-test/t/multi_update.test:
Auto merged
mysql-test/t/ndb_lock.test:
Auto merged
mysql-test/t/select.test:
Auto merged
sql/field.cc:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/opt_range.cc:
Auto merged
sql/opt_sum.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_select.h:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/structs.h:
Auto merged
storage/archive/ha_archive.cc:
Auto merged
tests/mysql_client_test.c:
Auto merged
into moonbone.local:/work/tmp_merge-5.0-opt-mysql
configure.in:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/archive.result:
Auto merged
mysql-test/r/auto_increment.result:
Auto merged
mysql-test/r/ndb_lock.result:
Auto merged
mysql-test/r/rpl_log.result:
Auto merged
mysql-test/t/archive.test:
Auto merged
mysql-test/t/auto_increment.test:
Auto merged
mysql-test/t/ndb_lock.test:
Auto merged
mysql-test/t/rpl_log.test:
Auto merged
sql/ha_archive.cc:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
tests/mysql_client_test.c:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/archive.result:
Auto merged
mysql-test/r/auto_increment.result:
Auto merged
mysql-test/r/func_time.result:
Auto merged
mysql-test/r/ndb_lock.result:
Auto merged
mysql-test/r/rpl_log.result:
Auto merged
mysql-test/r/select.result:
Auto merged
mysql-test/t/archive.test:
Auto merged
mysql-test/t/auto_increment.test:
Auto merged
mysql-test/t/func_time.test:
Auto merged
mysql-test/t/ndb_lock.test:
Auto merged
mysql-test/t/rpl_log.test:
Auto merged
mysql-test/t/select.test:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/item_timefunc.h:
Auto merged
sql/sql_lex.cc:
Auto merged
tests/mysql_client_test.c:
Auto merged
Changes for Netware
sql/net_serv.cc:
Netware needs <sys/select.h>
configure.in:
Call of "comp_err" has moved, changed code for Netware that
edits make files to reflect this
netware/BUILD/compile-netware-END:
After correcting "configure.in" to edit make files correctly,
removed obsolete "sed" of "extra/Makefile.am" for Netware
into moonbone.local:/work/tmp_merge-5.0-opt-mysql
mysql-test/r/cast.result:
Auto merged
mysql-test/r/func_str.result:
Auto merged
mysql-test/t/func_str.test:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/item_strfunc.cc:
Auto merged
configure.in:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/item_timefunc.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
Fix for bug#16716 for --ps-protocol mode.
item_cmpfunc.cc:
Fix for a memory allocation/freeing problem in agg_cmp_type() after fix
for bug#16377. Few language corrections.
sql/item_cmpfunc.cc:
Fix for a memory allocation/freeing problem in agg_cmp_type(). Few language corrections.
sql/item_strfunc.cc:
Fix for bug#16716 for --ps-protocol mode.
INSERT triggers".
In cases when REPLACE was internally executed via update and table had
on update (on delete) triggers defined we exposed the fact that such
optimization used by callng on update (not calling on delete) triggers.
Such behavior contradicts our documentation which describes REPLACE as
INSERT with optional DELETE.
This fix just disables this optimization for tables with on delete triggers.
The optimization is still applied for tables which have on update but have
no on delete triggers, we just don't invoke on update triggers in this case
and thus don't expose information about optimization to user.
Also added test coverage for values returned by ROW_COUNT() function (and
thus for values returned by mysql_affected_rows()) for various forms of
INSERT.
mysql-test/r/insert.result:
Added test for values returned by ROW_COUNT() function (and thus for values
returned by mysql_affected_rows()) for various forms of INSERT. We didn't
have coverage for this before and since this fix touches related code it is
better to add it now.
mysql-test/r/trigger.result:
Adjusted test after fixing bug#13479 "REPLACE activates UPDATE trigger, not
the DELETE and INSERT triggers".
mysql-test/t/insert.test:
Added test for values returned by ROW_COUNT() function (and thus for values
returned by mysql_affected_rows()) for various forms of INSERT. We didn't
have coverage for this before and since this fix touches related code it is
better to add it now.
mysql-test/t/trigger.test:
Adjusted test after fixing bug#13479 "REPLACE activates UPDATE trigger, not
the DELETE and INSERT triggers".
sql/sql_insert.cc:
write_record():
We should not expose that internally we sometimes execute REPLACE
via UPDATE instead of documented INSERT + DELETE pair. So we should not
use this optimization for tables with on delete triggers. OTOH it is ok
to use it for tables which have on update but have no on delete triggers,
we just should not invoke on update triggers in this case.