For queries with GROUP BY and without hidden GROUP BY fields DISTINCT is
optimized away becuase such queries produce result set without duplicates.
But ROLLUP can add rows which may be same to some rows and this fact was
ignored.
Added check so if ROLLUP is present DISTINCT can't be optimized away.
sql/sql_select.cc:
Fix bug #12887 Distinct is not always applied after rollup
mysql-test/r/olap.result:
Test case for bug #12887 Distinct is not always applied after rollup
mysql-test/t/olap.test:
Test case for bug #12887 Distinct is not always applied after rollup
into selena.:H:/MYSQL/src/fin-mysql-5.0
BitKeeper/etc/ignore:
auto-union
BitKeeper/deleted/.del-isam.test~834fb0ee8196c445:
Auto merged
BitKeeper/deleted/.del-rpl_trunc_binlog.test~961b1f6ac73d37c8:
Auto merged
mysql-test/r/flush_block_commit.result:
Auto merged
mysql-test/r/flush_table.result:
Auto merged
mysql-test/r/lock_multi.result:
Auto merged
mysql-test/r/rpl_server_id1.result:
Auto merged
mysql-test/r/rpl_server_id2.result:
Auto merged
mysql-test/t/bool.test:
Auto merged
mysql-test/t/cast.test:
Auto merged
mysql-test/r/rpl_start_stop_slave.result:
Auto merged
mysql-test/t/create_select_tmp.test:
Auto merged
mysql-test/t/func_concat.test:
Auto merged
mysql-test/t/ctype_latin1_de.test:
Auto merged
mysql-test/t/flush_block_commit.test:
Auto merged
mysql-test/t/func_if.test:
Auto merged
mysql-test/t/grant.test:
Auto merged
mysql-test/t/grant_cache.test:
Auto merged
mysql-test/t/innodb-deadlock.test:
Auto merged
mysql-test/t/loaddata.test:
Auto merged
mysql-test/t/innodb-lock.test:
Auto merged
mysql-test/t/lock_multi.test:
Auto merged
mysql-test/t/lowercase_table.test:
Auto merged
mysql-test/t/lowercase_table3.test:
Auto merged
mysql-test/t/mix_innodb_myisam_binlog.test:
Auto merged
mysql-test/t/mysqlbinlog.test:
Auto merged
mysql-test/t/mysqldump.test:
Auto merged
mysql-test/t/query_cache.test:
Auto merged
mysql-test/t/rpl_change_master.test:
Auto merged
mysql-test/t/rpl_EE_error.test:
Auto merged
mysql-test/t/rpl_empty_master_crash.test:
Auto merged
mysql-test/t/rpl_flush_log_loop.test:
Auto merged
mysql-test/t/rpl_get_lock.test:
Auto merged
mysql-test/t/rpl_drop.test:
Auto merged
mysql-test/t/rpl_error_ignored_table.test:
Auto merged
mysql-test/t/rpl_heap.test:
Auto merged
mysql-test/t/rpl_insert_id.test:
Auto merged
mysql-test/t/rpl_loaddata.test:
Auto merged
mysql-test/t/rpl_loaddata_rule_m.test:
Auto merged
mysql-test/t/rpl_loaddata_rule_s.test:
Auto merged
mysql-test/t/rpl_loaddatalocal.test:
Auto merged
mysql-test/t/rpl_max_relay_size.test:
Auto merged
mysql-test/t/rpl_reset_slave.test:
Auto merged
mysql-test/t/system_mysql_db.test:
Auto merged
mysql-test/t/system_mysql_db_fix.test:
Auto merged
mysql-test/t/rpl_server_id2.test:
Auto merged
mysql-test/r/analyze.result:
Turn off EOLN_NATIVE flag
mysql-test/r/create_select_tmp.result:
Turn off EOLN_NATIVE flag
mysql-test/r/flush_block_commit.result:
Turn off EOLN_NATIVE flag
mysql-test/r/flush_table.result:
Turn off EOLN_NATIVE flag
mysql-test/r/have_moscow_leap_timezone.require:
Turn off EOLN_NATIVE flag
mysql-test/r/have_outfile.require:
Turn off EOLN_NATIVE flag
mysql-test/r/innodb-lock.result:
Turn off EOLN_NATIVE flag
mysql-test/r/lock_multi.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_commit_after_flush.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_drop.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_free_items.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_multi_delete2.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_multi_update.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_multi_update2.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_server_id1.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_server_id2.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_set_charset.result:
Turn off EOLN_NATIVE flag
mysql-test/r/rpl_start_stop_slave.result:
Turn off EOLN_NATIVE flag
mysql-test/r/timezone3.result:
Turn off EOLN_NATIVE flag
into mysql.com:/home/my/mysql-4.1
BitKeeper/etc/ignore:
auto-union
BitKeeper/deleted/.del-ctype_cp1251-master.opt~68be9a59ec8ee106:
Auto merged
BitKeeper/deleted/.del-ctype_tis620-master.opt~38b79f80b9348a14:
Auto merged
BitKeeper/deleted/.del-ansi-master.opt~4d337eb61642a838:
Auto merged
BitKeeper/deleted/.del-convert.test~f4ceb743194dfe72:
Auto merged
BitKeeper/deleted/.del-grant_cache-master.opt~1b04b4b1116a7a2:
Auto merged
BitKeeper/deleted/.del-repair_part2-master.sh~f44a8c15d6c36585:
Auto merged
BitKeeper/deleted/.del-repair_part2.test~c20f60783b04d001:
Auto merged
BitKeeper/deleted/.del-ctype_ujis-master.opt~9f5cc09930fc1cf9:
Auto merged
BitKeeper/deleted/.del-query_cache_notembedded.test:
Auto merged
BitKeeper/deleted/.del-rpl000016-slave.opt~ef76f85ddcc13b87:
Auto merged
mysql-test/t/analyze.test:
Auto merged
mysql-test/t/ansi.test:
Auto merged
mysql-test/t/backup-master.sh:
Auto merged
mysql-test/t/bdb-alter-table-2-master.opt:
Auto merged
mysql-test/t/bdb-deadlock.test:
Auto merged
mysql-test/t/bdb_cache-master.opt:
Auto merged
mysql-test/t/bdb_cache.test:
Auto merged
mysql-test/t/bool.test:
Auto merged
mysql-test/t/cast.test:
Auto merged
mysql-test/t/constraints.test:
Auto merged
mysql-test/t/create_select_tmp.test:
Auto merged
mysql-test/t/ctype_cp1251.test:
Auto merged
mysql-test/t/ctype_latin1_de-master.opt:
Auto merged
mysql-test/t/ctype_latin1_de.test:
Auto merged
mysql-test/t/ctype_tis620.test:
Auto merged
mysql-test/t/ctype_ujis.test:
Auto merged
mysql-test/t/drop_temp_table.test:
Auto merged
mysql-test/t/func_concat.test:
Auto merged
mysql-test/t/func_encrypt-master.opt:
Auto merged
mysql-test/t/flush_block_commit.test:
Auto merged
mysql-test/t/func_if.test:
Auto merged
mysql-test/t/func_isnull.test:
Auto merged
mysql-test/t/gcc296.test:
Auto merged
mysql-test/t/grant.test:
Auto merged
mysql-test/t/grant_cache.test:
Auto merged
mysql-test/t/init_file-master.opt:
Auto merged
mysql-test/t/init_file.test:
Auto merged
mysql-test/t/innodb-deadlock.test:
Auto merged
mysql-test/t/innodb-lock.test:
Auto merged
mysql-test/t/innodb_cache-master.opt:
Auto merged
mysql-test/t/innodb_cache.test:
Auto merged
mysql-test/t/innodb_handler.test:
Auto merged
mysql-test/t/isam.test:
Auto merged
mysql-test/t/loaddata.test:
Auto merged
mysql-test/t/lock_tables_lost_commit-master.opt:
Auto merged
mysql-test/t/lock_tables_lost_commit.test:
Auto merged
mysql-test/t/lowercase_table-master.opt:
Auto merged
mysql-test/t/lowercase_table.test:
Auto merged
mysql-test/t/lowercase_table2.test:
Auto merged
mysql-test/t/lowercase_table3-master.opt:
Auto merged
mysql-test/t/lowercase_table3.test:
Auto merged
mysql-test/t/mix_innodb_myisam_binlog.test:
Auto merged
mysql-test/t/multi_update-master.opt:
Auto merged
mysql-test/t/lock_multi.test:
Auto merged
mysql-test/t/myisam-blob-master.opt:
Auto merged
mysql-test/t/myisam-blob.test:
Auto merged
mysql-test/t/mysqlbinlog-master.opt:
Auto merged
mysql-test/t/mysqlbinlog.test:
Auto merged
mysql-test/t/mysqldump.test:
Auto merged
mysql-test/t/packet.test:
Auto merged
mysql-test/t/query_cache.test:
Auto merged
mysql-test/t/query_cache_merge.test:
Auto merged
mysql-test/t/repair.test:
Auto merged
mysql-test/t/rpl_EE_error.test:
Auto merged
mysql-test/t/rpl_alter.test:
Auto merged
mysql-test/t/rpl_chain_temp_table.test:
Auto merged
mysql-test/t/rpl_change_master.test:
Auto merged
mysql-test/t/rpl_do_grant.test:
Auto merged
mysql-test/t/rpl_empty_master_crash.test:
Auto merged
mysql-test/t/rpl_error_ignored_table-slave.opt:
Auto merged
mysql-test/t/rpl_commit_after_flush.test:
Auto merged
mysql-test/t/rpl_drop.test:
Auto merged
mysql-test/t/rpl_error_ignored_table.test:
Auto merged
mysql-test/t/rpl_failsafe.test:
Auto merged
mysql-test/t/rpl_flush_log_loop-master.opt:
Auto merged
mysql-test/t/rpl_flush_log_loop-master.sh:
Auto merged
mysql-test/t/rpl_flush_log_loop-slave.opt:
Auto merged
mysql-test/t/rpl_flush_log_loop-slave.sh:
Auto merged
mysql-test/t/rpl_flush_log_loop.test:
Auto merged
mysql-test/t/rpl_get_lock.test:
Auto merged
mysql-test/t/rpl_heap.test:
Auto merged
mysql-test/t/rpl_ignore_grant-slave.opt:
Auto merged
mysql-test/t/rpl_ignore_grant.test:
Auto merged
mysql-test/t/rpl_insert_id.test:
Auto merged
mysql-test/t/rpl_free_items.test:
Auto merged
mysql-test/t/rpl_loaddata.test:
Auto merged
mysql-test/t/rpl_loaddata_rule_m-master.opt:
Auto merged
mysql-test/t/rpl_loaddata_rule_m.test:
Auto merged
mysql-test/t/rpl_loaddata_rule_s-slave.opt:
Auto merged
mysql-test/t/rpl_loaddata_rule_s.test:
Auto merged
mysql-test/t/rpl_loaddatalocal.test:
Auto merged
mysql-test/t/rpl_log-master.opt:
Auto merged
mysql-test/t/rpl_log-slave.opt:
Auto merged
mysql-test/t/rpl_master_pos_wait.test:
Auto merged
mysql-test/t/rpl_max_relay_size.test:
Auto merged
mysql-test/t/rpl_multi_delete-slave.opt:
Auto merged
mysql-test/t/rpl_multi_delete.test:
Auto merged
mysql-test/t/rpl_multi_delete2.test:
Auto merged
mysql-test/t/rpl_optimize.test:
Auto merged
mysql-test/t/rpl_relayspace-slave.opt:
Auto merged
mysql-test/t/rpl_relayspace.test:
Auto merged
mysql-test/t/rpl_reset_slave.test:
Auto merged
mysql-test/t/rpl_skip_error-slave.opt:
Auto merged
mysql-test/t/rpl_skip_error.test:
Auto merged
mysql-test/t/rpl_multi_update.test:
Auto merged
mysql-test/t/rpl_multi_update2.test:
Auto merged
mysql-test/t/rpl_server_id1.test:
Auto merged
mysql-test/t/rpl_server_id2.test:
Auto merged
mysql-test/t/rpl_set_charset.test:
Auto merged
mysql-test/t/rpl_start_stop_slave.test:
Auto merged
mysql-test/t/rpl_trunc_binlog.test:
Auto merged
mysql-test/t/system_mysql_db.test:
Auto merged
mysql-test/t/system_mysql_db_fix.test:
Auto merged
mysql-test/t/system_mysql_db_refs.test:
Auto merged
mysql-test/t/system_mysql_db_fix-master.opt:
Auto merged
mysql-test/t/timezone-master.opt:
Auto merged
mysql-test/t/timezone.test:
Auto merged
mysql-test/t/type_set.test:
Auto merged
mysql-test/t/variables-master.opt:
Auto merged
mysql-test/t/timezone3.test:
Auto merged
Ignored some generated files
mysql-test/t/analyze.test:
Turn off EOLN_NATIVE flag
mysql-test/t/ansi-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/ansi.test:
Turn off EOLN_NATIVE flag
mysql-test/t/backup-master.sh:
Turn off EOLN_NATIVE flag
mysql-test/t/bdb-alter-table-2-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/bdb-deadlock.test:
Turn off EOLN_NATIVE flag
mysql-test/t/bdb_cache-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/bdb_cache.test:
Turn off EOLN_NATIVE flag
mysql-test/t/bool.test:
Turn off EOLN_NATIVE flag
mysql-test/t/cast.test:
Turn off EOLN_NATIVE flag
mysql-test/t/constraints.test:
Turn off EOLN_NATIVE flag
mysql-test/t/convert.test:
Turn off EOLN_NATIVE flag
mysql-test/t/create_select_tmp.test:
Turn off EOLN_NATIVE flag
mysql-test/t/ctype_cp1251-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/ctype_cp1251.test:
Turn off EOLN_NATIVE flag
mysql-test/t/ctype_latin1_de-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/ctype_latin1_de.test:
Turn off EOLN_NATIVE flag
mysql-test/t/ctype_tis620-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/ctype_tis620.test:
Turn off EOLN_NATIVE flag
mysql-test/t/ctype_ujis-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/ctype_ujis.test:
Turn off EOLN_NATIVE flag
mysql-test/t/drop_temp_table.test:
Turn off EOLN_NATIVE flag
mysql-test/t/flush_block_commit.test:
Turn off EOLN_NATIVE flag
mysql-test/t/func_concat.test:
Turn off EOLN_NATIVE flag
mysql-test/t/func_encrypt-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/func_if.test:
Turn off EOLN_NATIVE flag
mysql-test/t/func_isnull.test:
Turn off EOLN_NATIVE flag
mysql-test/t/gcc296.test:
Turn off EOLN_NATIVE flag
mysql-test/t/grant.test:
Turn off EOLN_NATIVE flag
mysql-test/t/grant_cache-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/grant_cache.test:
Turn off EOLN_NATIVE flag
mysql-test/t/init_file-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/init_file.test:
Turn off EOLN_NATIVE flag
mysql-test/t/innodb-deadlock.test:
Turn off EOLN_NATIVE flag
mysql-test/t/innodb-lock.test:
Turn off EOLN_NATIVE flag
mysql-test/t/innodb_cache-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/innodb_cache.test:
Turn off EOLN_NATIVE flag
mysql-test/t/innodb_handler.test:
Turn off EOLN_NATIVE flag
mysql-test/t/isam.test:
Turn off EOLN_NATIVE flag
mysql-test/t/loaddata.test:
Turn off EOLN_NATIVE flag
mysql-test/t/lock_multi.test:
Turn off EOLN_NATIVE flag
mysql-test/t/lock_tables_lost_commit-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/lock_tables_lost_commit.test:
Turn off EOLN_NATIVE flag
mysql-test/t/lowercase_table-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/lowercase_table.test:
Turn off EOLN_NATIVE flag
mysql-test/t/lowercase_table2.test:
Turn off EOLN_NATIVE flag
mysql-test/t/lowercase_table3-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/lowercase_table3.test:
Turn off EOLN_NATIVE flag
mysql-test/t/mix_innodb_myisam_binlog-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/mix_innodb_myisam_binlog.test:
Turn off EOLN_NATIVE flag
mysql-test/t/multi_update-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/myisam-blob-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/myisam-blob.test:
Turn off EOLN_NATIVE flag
mysql-test/t/mysqlbinlog-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/mysqlbinlog.test:
Turn off EOLN_NATIVE flag
mysql-test/t/mysqldump.test:
Turn off EOLN_NATIVE flag
mysql-test/t/packet.test:
Turn off EOLN_NATIVE flag
mysql-test/t/query_cache.test:
Turn off EOLN_NATIVE flag
mysql-test/t/query_cache_merge.test:
Turn off EOLN_NATIVE flag
mysql-test/t/query_cache_notembedded.test:
Turn off EOLN_NATIVE flag
mysql-test/t/repair.test:
Turn off EOLN_NATIVE flag
mysql-test/t/repair_part2-master.sh:
Turn off EOLN_NATIVE flag
mysql-test/t/repair_part2.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl000016-slave.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_EE_error.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_alter.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_chain_temp_table.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_change_master.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_commit_after_flush.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_do_grant.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_drop.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_empty_master_crash.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_error_ignored_table-slave.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_error_ignored_table.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_failsafe.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_flush_log_loop-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_flush_log_loop-master.sh:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_flush_log_loop-slave.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_flush_log_loop-slave.sh:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_flush_log_loop.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_free_items-slave.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_free_items.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_get_lock.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_heap.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_ignore_grant-slave.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_ignore_grant.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_insert_id.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_loaddata.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_loaddata_rule_m-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_loaddata_rule_m.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_loaddata_rule_s-slave.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_loaddata_rule_s.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_loaddatalocal.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_log-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_log-slave.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_master_pos_wait.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_max_relay_size.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_multi_delete-slave.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_multi_delete.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_multi_delete2-slave.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_multi_delete2.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_multi_update.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_multi_update2-slave.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_multi_update2.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_optimize.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_relayspace-slave.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_relayspace.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_reset_slave.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_server_id1.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_server_id2-slave.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_server_id2.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_set_charset.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_skip_error-slave.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_skip_error.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_start_stop_slave.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_trunc_binlog.test:
Turn off EOLN_NATIVE flag
mysql-test/t/system_mysql_db.test:
Turn off EOLN_NATIVE flag
mysql-test/t/system_mysql_db_fix-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/system_mysql_db_fix.test:
Turn off EOLN_NATIVE flag
mysql-test/t/system_mysql_db_refs.test:
Turn off EOLN_NATIVE flag
mysql-test/t/timezone-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/timezone.test:
Turn off EOLN_NATIVE flag
mysql-test/t/timezone3-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/timezone3.test:
Turn off EOLN_NATIVE flag
mysql-test/t/type_set.test:
Turn off EOLN_NATIVE flag
mysql-test/t/variables-master.opt:
Turn off EOLN_NATIVE flag
BitKeeper/etc/ignore:
added support-files/MacOSX/preflight
into mysql.com:/export/space/pekka/ndb/version/my50
ndb/src/kernel/blocks/ERROR_codes.txt:
Auto merged
ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
Auto merged
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Auto merged
ndb/src/kernel/blocks/dbtup/DbtupTrigger.cpp:
Auto merged
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
ul
- Disable inlining in integer.cp for sparc solaris Cun C++ 5.6
config/ac-macros/yassl.m4:
Detect sparc Solaris + Sun C++ 5.6 and disable inlining for integer.cpp
extra/yassl/taocrypt/src/Makefile.am:
Compile integer.cpp into a separate lib in order to use special CXXFLAGS
Add the integer.cpp lib to libtaocrypt.la
into mysql.com:/home/dlenev/src/mysql-5.0-bg12704-2
sql/mysql_priv.h:
Auto merged
sql/sp.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_update.cc:
Auto merged
This bug occurs when some trigger for table used by DML statement is created
or changed while statement was waiting in lock_tables(). In this situation
prelocking set which we have calculated becames invalid which can easily lead
to errors and even in some cases to crashes.
With proposed patch we no longer silently reopen tables in lock_tables(),
instead caller of lock_tables() becomes responsible for reopening tables and
recalculation of prelocking set.
mysql-test/t/trigger.test:
Added tests for bug #12704 "Server crashes during trigger execution".
Unfortunately these tests rely on the order in which tables are locked
by statement so they are non-determenistic and therefore should be disabled.
sql/lock.cc:
mysql_lock_tables():
Now instead of always reopening altered or dropped tables by itself
mysql_lock_tables() can notify upper level and rely on caller doing this.
sql/mysql_priv.h:
Now mysql_lock_tables() can either reopen deleted or altered tables by itself
or notify caller about such situation through 'need_reopen' argument and rely
on it in this.
Also lock_tables() has new 'need_reopen' out parameter through which it
notifies caller that some tables were altered or dropped so he needs to reopen
them (and rebuild prelocking set some triggers may change or simply appear).
sql/sp.cc:
sp_add_used_routine():
To be able to restore LEX::sroutines_list to its state right after parsing
we now adjust LEX::sroutines_list_own_last/sroutines_list_own_elements when
we add directly used routine.
sp_remove_not_own_routines():
Added procedure for restoring LEX::sroutines/sroutines_list to their state
right after parsing (by throwing out non-directly used routines).
sp_cache_routines_and_add_tables_for_view()/sp_update_stmt_used_routines():
We should use LEX::sroutines_list instead of LEX::sroutines as source of
routines used by view, since LEX::sroutines is not availiable for view
on second attempt to open it (see comment in open_tables() about it).
sql/sp.h:
sp_remove_not_own_routines():
Added procedure for restoring LEX::sroutines/sroutines_list to their state
right after parsing (by throwing out non-directly used routines).
sql/sp_head.cc:
Removed assert which is no longer always true.
sql/sql_base.cc:
reopen_table():
When we re-open table and do shallow copy of TABLE object we should adjust
pointers to it in associated Table_triggers_list object. Removed nil
operation.
open_tables():
Now this function is able to rebuild prelocking set for statement if it is
needed. It also correctly handles FLUSH TABLES which may occur during its
execution.
lock_tables():
Instead of allowing mysql_lock_tables() to silently reopen altered or dropped
tables let us notify caller and rely on that it will do reopen itself.
This solves the problem when trigger suddenly appears or changed during
mysq_lock_tables().
close_tables_for_reopen():
Added routine for properly preparing for reopening of tables and recalculation
of set of prelocked tables.
sql/sql_handler.cc:
Here we let mysql_lock_tables() to reopen dropped or altered tables by itself.
sql/sql_insert.cc:
Here we let mysql_lock_tables() to reopen dropped or altered tables by itself.
sql/sql_lex.cc:
LEX:
Added 'sroutines_list_own_last' and 'sroutines_list_own_elements' members
which are used for keeping state in which 'sroutines_list' was right after
statement parsing (and for restoring of this list to this state).
sql/sql_lex.h:
LEX:
Added 'sroutines_list_own_last' and 'sroutines_list_own_elements' members
which are used for keeping state in which 'sroutines_list' was right after
statement parsing (and for restoring of this list to this state).
Added chop_off_not_own_tables() method to simplify throwing away list
of implicitly used (prelocked) tables.
sql/sql_prepare.cc:
Now instead of silently reopening altered or dropped tables in
lock_tables() we notify caller and rely on that the caller will
reopen tables.
sql/sql_table.cc:
Here we let mysql_lock_tables() to reopen dropped or altered tables by itself.
sql/sql_trigger.cc:
Added Table_triggers_list::set_table() method to adjust Table_triggers_list
to new pointer to TABLE instance.
sql/sql_trigger.h:
Added Table_triggers_list::set_table() method to adjust Table_triggers_list
to new pointer to TABLE instance.
sql/sql_update.cc:
Now instead of silently reopening altered or dropped tables in
lock_tables() we notify caller and rely on that the caller will
reopen tables.
When parser parses function convert_tz it loads available timezone tables in
thd->lex->time_zone_tables_used. But view have another lex that main query.
Thus time_zone_tables_used of main query left uninitialized.
When Item_func_conver_tz is fixed it takes timezone tables from main query
and later when it executed it assumes that timezone tables are loaded and
failed that assertion.
sql/sql_view.cc:
Fix bug #11416 Server crash if using a view that uses function convert_tz
mysql-test/r/view.result:
Test case for bug#11416 Server crash if using a view that uses function convert_tz
mysql-test/t/view.test:
Test case for bug#11416 Server crash if using a view that uses function convert_tz
Fixed by making CREATE/ALTER/DROP PROCEDURE cause implicit commit.
mysql-test/r/rpl_ddl.result:
Updated results to include testing of implicit commit for
create/alter/drop procedure
mysql-test/t/rpl_ddl.test:
BUG#12870 test implicit commit for create/alter/drop procedure.
sql/sql_parse.cc:
CREATE/ALTER/DROP PROCEDURE/SPFUNCTION now causes implicit commit.
DAYOFWEEK(), and WEEKDAY().
mysql-test/r/func_time.result:
Fixed new results for testcases containing EXPLAIN EXTENDED SELECT ...
WEEKDAY ... DAYNAME. The new results are correct and correspond to
the changes in create_func_weekday() and create_func_dayname().
mysql-test/r/view.result:
Fixed some testcases results (bugs #12963, #13000).
mysql-test/t/view.test:
Added testcases for for bugs #12963, #13000.
sql/item_create.cc:
Fixed bugs #12963, #13000: wrong VIEW creation with DAYNAME(),
DAYOFWEEK(), and WEEKDAY().
Modified create_func_dayname(), create_func_dayofweek(), and
create_func_weekday(). They don´t insert Item_func_to_days
object now.
sql/item_timefunc.cc:
Fixed bugs #12963, #13000: wrong VIEW creation with DAYNAME(),
DAYOFWEEK(), and WEEKDAY().
Modified Item_func_weekday::val_int(). The argument of weekday should
not be considered now to be Item_func_to_days object.
sql/item_timefunc.h:
Fixed bugs #12963, 13000: wrong VIEW creation with DAYNAME(),
DAYOFWEEK(), and WEEKDAY.
Modified Item_func_weekday::func_name(). It returns now different
names depending on the odbc_type attribute value.