Fixed BUG#19727 "InnoDB crashed server and crashed tables
are not recoverable".
innobase/row/row0mysql.c:
Applied innodb-5.0-ss609 snapshot.
Move trx_commit_for_mysql(trx) calls before calls to
row_mysql_unlock_data_dictionary(trx).
innobase/row/row0sel.c:
Applied innodb-5.0-ss609 snapshot.
row_sel_try_search_shortcut(): Do not return SEL_FOUND when
the record was not found. This bug was introduced in
InnoDB 5.0.3, but luckily it should nerver manifest itself,
given that existing InnoDB SQL code never makes use of
consistent reads.
mysql-test/t/innodb.test:
Applied innodb-5.0-ss609 snapshot.
Add the big fat warning notice also to the bottom of
innodb.test so that it will require more talent to
ignore the change of policy.
Fixed BUG#19727 "InnoDB crashed server and crashed tables
are not recoverable".
innobase/row/row0mysql.c:
Applied innodb-4.1-ss31 snapshot.
Move trx_commit_for_mysql(trx) calls before calls to
row_mysql_unlock_data_dictionary(trx).
Get output from modified test (dropping t1).
mysqldump.test:
Drop t1 at end so that the next test doesn't trip over it.
mysql-test/t/mysqldump.test:
Drop t1 at end so that the next test doesn't trip over it.
mysql-test/r/mysqldump.result:
Get output from modified test (dropping t1).
client/mysqldump.c:
Better view handling:
Distinguish better between tables and views in the output.
Add many comments about the distinctions between tables and views, and
the tradeoffs that we make, notably that, since we don't maintain
dependencies.
get_table_structure: Clarify in the output that a view is first
created as a workaround for the lack of
dependencies.
dump_table: Return if we're trying to dump a view.
dump_all_views_in_db: Don't call init_dumping. It's already been done
in dump_all_tables_in_db. This is the problem
reported in BUG#17201.
Change the variable was_views to seen_views, and clarify the comment.
The previous name was not overly "intuitive".
mysql-test/r/mysqldump.result:
We no longer have spurious text in the results.
Add results for the final test (BUG#17201)
mysql-test/t/mysqldump.test:
Add a new test (BUG#17201)
Drop test1 table in master as well.
mysql-test/r/rpl_auto_increment_11932.result:
Drop test1 table in master as well.
mysql-test/t/rpl_auto_increment_11932.test:
Drop test1 table in master as well.
Update with correct table and database names.
mysql-test/t/rpl_auto_increment_11932.test:
Update with correct table and database names.
mysql-test/r/rpl_auto_increment_11932.result:
Update with correct table and database names.
specific to 5.0 version of the patch is motivated by the fact that a wrapper over
MYSQLLOG::write can not help in 5.0 where query's charset is embedded into event instance in the constructor.
sql/mysql_priv.h:
this 4.1 specific code does not help in 5.0
sql/sql_base.cc:
No wrapper similar to 4.1's version is done since Query_log_event constructor
takes care of encodings in 5.0 whereas log::write method does it in 4.1.
We can introduce an additional constuctor for Query_log_event to pass desired
(i.e system_character_info) charset different from THD's version.
But I am delaying this while there are not more bugs similar to this one reported.
Fix BUG#19542 "InnoDB doesn't increase the Handler_read_prev counter".
innobase/os/os0file.c:
Applied innodb-5.0-ss547 snapshot.
Check the page trailers also after writing to disk.
This improves the chances of diagnosing Bug 18886.
os_file_check_page_trailers(): New function for checking
that two copies of the LSN stamped on the pages match.
os_aio_simulated_handle(): Call os_file_check_page_trailers()
before and after os_file_write().
sql/ha_innodb.cc:
Applied innodb-5.0-ss547 snapshot.
Increment statistic counter in ha_innobase::index_prev().
Fix BUG#19542 "InnoDB doesn't increase the Handler_read_prev counter.
innobase/os/os0file.c:
Applied innodb-4.1-ss29 snapshot.
Check the page trailers also after writing to disk.
This improves the chances of diagnosing Bug 18886.
os_file_check_page_trailers(): New function for checking
that two copies of the LSN stamped on the pages match.
os_aio_simulated_handle(): Call os_file_check_page_trailers()
before and after os_file_write().
sql/ha_innodb.cc:
Applied innodb-4.1-ss29 snapshot.
Increment statistic counter in ha_innobase::index_prev().
Stored procedure execution sometimes placed the address of auto variables
in the list of Item changes to undo in THD::rollback_item_tree_changes().
This could cause stack corruption.
sql/sp_head.cc:
Avoid storing address of auto variables in global rollback list, to
prevent stack memory corruption.
sql/sp_head.h:
Avoid storing address of auto variables in global rollback list, to
prevent stack memory corruption.
sql/sp_rcontext.cc:
Avoid storing address of auto variables in global rollback list, to
prevent stack memory corruption.
sql/sp_rcontext.h:
Avoid storing address of auto variables in global rollback list, to
prevent stack memory corruption.
sql/sql_class.cc:
Avoid storing address of auto variables in global rollback list, to
prevent stack memory corruption.
into mysql.com:/opt/local/work/mysql-5.0-runtime-merge
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/im_options_set.result:
Auto merged
mysql-test/r/im_options_unset.result:
Auto merged
mysql-test/r/trigger-grant.result:
Auto merged
sql/item.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/share/errmsg.txt:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
manual merge to account 5.0 specific names of TABLE class
sql/mysql_priv.h:
manual merge: changing to 5.0's TABLE class names
sql/sql_base.cc:
manual merge: whitespaces and 5.0 TABLE's names
fixing names length. Got an issue when merged to 5.0, decided to fix starting from 4.1
mysql-test/t/mysqlbinlog.test:
fixing temp table name to fit to 64 bytes for 5.0
mysql-test/t/rpl_temporary.test:
fixing temp table name to fit to 64 bytes for 5.0
into mysql.com:/usr_rh9/home/elkin.rh9/MySQL/Merge/5.0
mysql-test/r/mysqlbinlog.result:
Auto merged
sql/mysql_priv.h:
Auto merged
mysql-test/r/drop_temp_table.result:
manual merge use local
mysql-test/r/mix_innodb_myisam_binlog.result:
manual merge use local
mysql-test/r/rpl_temporary.result:
manual merge use local
mysql-test/t/mysqlbinlog.test:
manual merge
mysql-test/t/rpl_temporary.test:
manual merge. More than the bugs fixes: using disconnect con1 from 4.1's version instead of kill con1.
sql/sql_base.cc:
manual merge, should be in sync with 4.1's version.
over two views when using syntax with curly braces.
Each outer join operation must be placed in a separate
nest. This was not done when the syntax with curly braces
was used. In some cases, in particular, for queries with outer
join operation over views it could cause a crash.
mysql-test/r/join_outer.result:
Added a test case for bug #19396.
mysql-test/t/join_outer.test:
Added a test case for bug #19396.
fixing a path to find charset by $MYSQL client. I believe the fix is done what should be
by default.
mysql-test/t/mysqlbinlog.test:
--character-sets-dir=../sql/share/charsets is added otherwise client/.libs/lt-mysql
searches in /usr/local/mysql ... A bug?
mysql-test/t/rpl_temporary.test:
--character-sets-dir=../sql/share/charsets/
itself when executing queries referring to a view with GROUP BY
an expression containing non-constant interval.
It happened because Item_date_add_interval::eq neglected the
fact that the method can be applied to an expression of the form
date(col) + interval time_to_sec(col) second
at the time when col could not be evaluated yet.
An attempt to evaluate time_to_sec(col) in this method resulted
in a crash.
mysql-test/r/view.result:
Added a test case for bug #19490.
mysql-test/t/view.test:
Added a test case for bug #19490.
sql/item_timefunc.cc:
Fixed bug #19490. The bug that caused server crash manifested
itself when executing queries referring to a view with GROUP BY
an expression containing non-constant interval.
It happened because Item_date_add_interval::eq neglected the
fact that the method can be applied to an expression of the form
date(col) + interval time_to_sec(col) second
at the time when col could not be evaluated yet.
An attempt to evaluate time_to_sec(col) in this method resulted
in a crash.
The code of Item_date_add_interval::eq was corrected.
into mysql.com:/usr_rh9/home/elkin.rh9/MySQL/Merge/4.1
mysql-test/r/rpl_temporary.result:
Auto merged
mysql-test/t/rpl_temporary.test:
Auto merged
sql/sql_base.cc:
Auto merged
sql/mysql_priv.h:
manual merge, a comment added
A pattern to generate binlog for DROPped temp table in close_temporary_tables
was buggy: could not deal with a grave-accent-in-name table.
The fix exploits `append_identifier()' for quoting and duplicating accents.
mysql-test/r/rpl_temporary.result:
results changed
mysql-test/t/rpl_temporary.test:
more correct internal table emulation; typo of @@session in bug#17263.
sql/mysql_priv.h:
bool is_user_table(TABLE * table)
is added to answer wheather temporary table was created explicitly.
sql/sql_base.cc:
Utilizing `append_identifier' to quote. `close_temporary_tables' once again recoded
I hope to become much simplier than previously. No-binlog branch is separated completely the
rest that adopts String's methods.
Change mode to -rw-rw-r--
include/decimal.h:
Change mode to -rw-rw-r--
mysql-test/r/archive_gis.result:
Change mode to -rw-rw-r--
mysql-test/r/bdb_gis.result:
Change mode to -rw-rw-r--
mysql-test/r/binlog.result:
Change mode to -rw-rw-r--
mysql-test/r/compress.result:
Change mode to -rw-rw-r--
mysql-test/r/federated_archive.result:
Change mode to -rw-rw-r--
mysql-test/r/federated_bug_13118.result:
Change mode to -rw-rw-r--
mysql-test/r/im_daemon_life_cycle.result:
Change mode to -rw-rw-r--
mysql-test/r/im_life_cycle.result:
Change mode to -rw-rw-r--
mysql-test/r/im_options_set.result:
Change mode to -rw-rw-r--
mysql-test/r/im_options_unset.result:
Change mode to -rw-rw-r--
mysql-test/r/im_utils.result:
Change mode to -rw-rw-r--
mysql-test/r/innodb-big.result:
Change mode to -rw-rw-r--
mysql-test/r/innodb_gis.result:
Change mode to -rw-rw-r--
mysql-test/r/innodb_notembedded.result:
Change mode to -rw-rw-r--
mysql-test/r/mysql.result:
Change mode to -rw-rw-r--
mysql-test/r/mysqldump-max.result:
Change mode to -rw-rw-r--
mysql-test/r/ndb_bitfield.result:
Change mode to -rw-rw-r--
mysql-test/r/ndb_condition_pushdown.result:
Change mode to -rw-rw-r--
mysql-test/r/ndb_gis.result:
Change mode to -rw-rw-r--
mysql-test/r/rpl_ignore_revoke.result:
Change mode to -rw-rw-r--
mysql-test/r/rpl_trigger.result:
Change mode to -rw-rw-r--
mysql-test/r/rpl_view.result:
Change mode to -rw-rw-r--
mysql-test/r/sp-code.result:
Change mode to -rw-rw-r--
mysql-test/r/sp-destruct.result:
Change mode to -rw-rw-r--
mysql-test/r/sp-dynamic.result:
Change mode to -rw-rw-r--
mysql-test/r/sp-vars.result:
Change mode to -rw-rw-r--
mysql-test/r/sp_trans.result:
Change mode to -rw-rw-r--
mysql-test/r/sum_distinct-big.result:
Change mode to -rw-rw-r--
mysql-test/r/trigger-compat.result:
Change mode to -rw-rw-r--
mysql-test/r/trigger-grant.result:
Change mode to -rw-rw-r--
mysql-test/r/trigger-trans.result:
Change mode to -rw-rw-r--
mysql-test/r/type_bit_innodb.result:
Change mode to -rw-rw-r--
mysql-test/r/type_newdecimal.result:
Change mode to -rw-rw-r--
mysql-test/r/user_limits.result:
Change mode to -rw-rw-r--
mysql-test/r/view_grant.result:
Change mode to -rw-rw-r--
mysql-test/r/view_query_cache.result:
Change mode to -rw-rw-r--
mysql-test/r/xa.result:
Change mode to -rw-rw-r--
mysql-test/std_data/bug16266.000001:
Change mode to -rw-rw-r--
mysql-test/std_data/vchar.frm:
Change mode to -rw-rw-r--
mysql-test/t/binlog-master.opt:
Change mode to -rw-rw-r--
mysql-test/t/binlog.test:
Change mode to -rw-rw-r--
mysql-test/t/flush_read_lock_kill-master.opt:
Change mode to -rw-rw-r--
mysql-test/t/flush_read_lock_kill.test:
Change mode to -rw-rw-r--
mysql-test/t/sp_trans.test:
Change mode to -rw-rw-r--
mysql-test/t/xa.test:
Change mode to -rw-rw-r--
mysys/my_mmap.c:
Change mode to -rw-rw-r--
sql/sql_array.h:
Change mode to -rw-rw-r--
strings/decimal.c:
Change mode to -rw-rw-r--
configure.in:
Auto merged
mysql-test/include/rpl_stmt_seq.inc:
Auto merged
mysql-test/r/blackhole.result:
Auto merged
mysql-test/r/ctype_cp932_binlog.result:
Auto merged
mysql-test/r/fulltext2.result:
Auto merged
mysql-test/r/ctype_ucs_binlog.result:
Auto merged
mysql-test/r/grant2.result:
Auto merged
mysql-test/r/innodb_handler.result:
Auto merged
mysql-test/r/insert_update.result:
Auto merged
mysql-test/r/ndb_update.result:
Auto merged
mysql-test/r/not_embedded_server.result:
Auto merged
mysql-test/r/repair.result:
Auto merged
mysql-test/r/query_cache_notembedded.result:
Auto merged
mysql-test/r/rpl_create_database.result:
Auto merged
mysql-test/r/rpl_multi_update3.result:
Auto merged
mysql-test/r/rpl_slave_status.result:
Auto merged
mysql-test/r/timezone_grant.result:
Auto merged
mysql-test/t/create_select_tmp.test:
Auto merged
mysql-test/t/gis-rtree.test:
Auto merged
mysql-test/t/grant2.test:
Auto merged
mysql-test/t/handler.test:
Auto merged
mysql-test/t/insert_update.test:
Auto merged
mysql-test/t/mysqltest.test:
Auto merged
mysql-test/t/repair.test:
Auto merged
mysql-test/t/rpl_ddl.test:
Auto merged
mysql-test/t/rpl_multi_query.test:
Auto merged
mysql-test/t/rpl_rewrite_db.test:
Auto merged
sql/sql_bitmap.h:
Auto merged
sql/sql_handler.cc:
Auto merged
zlib/Makefile.am:
Auto merged
mysql-test/std_data/trunc_binlog.000001:
SCCS merged
BitKeeper/deleted/.del-master-bin.001~8917149781db8413:
Auto merged
myisammrg/myrg_range.c:
Auto merged
mysql-test/r/innodb_handler.result:
Auto merged
mysql-test/r/repair.result:
Auto merged
mysql-test/std_data/trunc_binlog.000001:
Auto merged
mysql-test/t/bulk_replace.test:
Auto merged
mysql-test/t/create_select_tmp.test:
Auto merged
mysql-test/t/ctype_tis620.test:
Auto merged
mysql-test/t/handler.test:
Auto merged
mysql-test/t/innodb_handler.test:
Auto merged
mysql-test/t/repair.test:
Auto merged
mysql-test/t/rpl_commit_after_flush.test:
Auto merged
mysql-test/t/rpl_free_items.test:
Auto merged
sql/sql_handler.cc:
Auto merged
Change mode to -rw-rw-r--
dbug_add_tags.pl:
Change mode to -rwxrwxr--
dbug/dbug_add_tags.pl:
Change mode to -rwxrwxr--
myisammrg/myrg_range.c:
Change mode to -rw-rw-r--
mysql-test/r/innodb_handler.result:
Change mode to -rw-rw-r--
mysql-test/r/repair.result:
Change mode to -rw-rw-r--
mysql-test/std_data/master-bin.001:
Change mode to -rw-rw-r--
mysql-test/std_data/trunc_binlog.001:
Change mode to -rw-rw-r--
mysql-test/t/bulk_replace.test:
Change mode to -rw-rw-r--
mysql-test/t/create_select_tmp.test:
Change mode to -rw-rw-r--
mysql-test/t/ctype_tis620.test:
Change mode to -rw-rw-r--
mysql-test/t/handler.test:
Change mode to -rw-rw-r--
mysql-test/t/innodb_handler.test:
Change mode to -rw-rw-r--
mysql-test/t/mix_innodb_myisam_binlog-master.opt:
Change mode to -rw-rw-r--
mysql-test/t/repair.test:
Change mode to -rw-rw-r--
mysql-test/t/rpl_commit_after_flush.test:
Change mode to -rw-rw-r--
mysql-test/t/rpl_free_items-slave.opt:
Change mode to -rw-rw-r--
mysql-test/t/rpl_free_items.test:
Change mode to -rw-rw-r--
scripts/mysql_secure_installation.sh:
Change mode to -rw-rw-r--
sql/sql_handler.cc:
Change mode to -rw-rw-r--
support-files/mysql-multi.server.sh:
Change mode to -rw-rw-r--
replaced get_field(MEM_ROOT *mem, Field *field) with
get_field(MEM_ROOT *mem, Field *field, String *res).
It allows to avoid strlen().
mysql-test/r/information_schema.result:
Fix for bug#18177 any access to INFORMATION_SCHEMA.ROUTINES crashes
test case
mysql-test/t/information_schema.test:
Fix for bug#18177 any access to INFORMATION_SCHEMA.ROUTINES crashes
test case