into magare.gmz:/home/kgeorge/mysql/work/B36011-5.1-bugteam
sql/sql_select.cc:
Auto merged
mysql-test/r/subselect.result:
merge of bug 36011 to 5.1-bugteam
mysql-test/t/subselect.test:
merge of bug 36011 to 5.1-bugteam
into zippy.cornsilk.net:/home/cmiller/work/mysql/bug36570/my51-bug36570
mysql-test/suite/rpl/t/rpl_sp.test:
Auto merged
mysql-test/suite/rpl/r/rpl_sp.result:
Use local. Needs re-recording.
mysql-test/r/ctype_cp932_binlog_stm.result:
New offsets because of quote marks.
mysql-test/r/mysqlbinlog.result:
Re-add variables removed in merge at file-vers 1.47.
mysql-test/suite/binlog/r/binlog_database.result:
create_string() output changes the quoting and inserts newlines.
mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result:
Change in quoting.
mysql-test/suite/rpl/r/rpl_sp.result:
Adds quotes and newlines in creation of routines in binlog.
master also, so that we can visually see the slave is the same.
mysql-test/r/rpl_sp.result:
SHOW CREATE on master also.
mysql-test/t/rpl_sp.test:
SHOW CREATE on master also.
mysql-test/extra/rpl_tests/rpl_insert_id.test:
Moving save and restore of @@global.concurrent_insert into the same
session thread.
mysql-test/suite/rpl/r/rpl_insert_id.result:
Result file change.
mysql-test/suite/rpl/t/rpl_insert_id.test:
***MISSING TEXT***
with dependent subqueries
An IN subquery is executed on EXPLAIN when it's not correlated.
If the subquery required a temporary table for its execution
not all the internal structures were restored from pointing to
the items of the temporary table to point back to the items of
the subquery.
Fixed by restoring the ref array when a temp tables were used in
executing the IN subquery during EXPLAIN EXTENDED.
mysql-test/r/subselect.result:
Bug #36011: test case
mysql-test/t/subselect.test:
Bug #36011: test case
sql/sql_select.cc:
Bug #36011: restore the ref array after execution
when there were temp tables.
into zippy.cornsilk.net:/home/cmiller/work/mysql/bug36570/my51-bug36570
mysql-test/suite/rpl/t/rpl_sp.test:
Auto merged
mysql-test/suite/rpl/r/rpl_sp.result:
manual merge.
mysql-test/r/rpl_sp.result:
Add binlog results to show that they're written correctly.
mysql-test/t/rpl_sp.test:
Add binlog results to show that they're written correctly.
into zippy.cornsilk.net:/home/cmiller/work/mysql/bug36570/my51-bug36570
BitKeeper/deleted/.del-binlog_innodb.result:
Auto merged
sql/sp_head.cc:
Auto merged
mysql-test/suite/binlog/r/binlog_stm_ctype_ucs.result:
need to re-record.
mysql-test/suite/rpl/r/rpl_sp.result:
need to re-record.
mysql-test/r/mysqlbinlog.result:
manual merge.
mysql-test/suite/rpl/t/rpl_sp.test:
manual merge.
sql/sp.cc:
manual merge.
sql/sp_head.h:
manual merge.
slave
The stored-routine code took the contents of the (lowest) parser
and copied it directly to the binlog, which causes problems if there
is a special case of interpretation at the parser level -- which
there is, in the "/*!VER */" comments. The trailing "*/" caused
errors on the slave, naturally.
Now, since by that point we have /properly/ created parse-tree (as
the rest of the server should do!) for the stored-routine CREATE, we
can construct a perfect statement from that information, instead of
writing uncertain information from an unknown parser state.
Fortunately, there's already a function nearby that does exactly
that.
---
Update for Bug#36570. Qualify routine names with db name when
writing to the binlog ONLY if the source text is qualified.
mysql-test/r/binlog_innodb.result:
Offsets changed due to quoting.
---
New offset to account for db-qualified names.
mysql-test/r/ctype_cp932_binlog.result:
Offsets changed due to quoting.
---
Qualify routine names with DB. Offsets change also.
mysql-test/r/mysqlbinlog.result:
Case changed in result due to interpretation of data instead of
literal recitation.
---
Qualify procedure name with db.
mysql-test/r/rpl_sp.result:
Offsets changed due to quoting. Added tests.
---
Qualify routine names with DB if qualified in query. Offsets change also.
mysql-test/t/rpl_sp.test:
Add version-limiting quotes to exercise bug#36570. Test that
backtick-quoted identifiers and labels work also.
---
Use different db to show qualification works. Qualify routine names
with DB if qualified in query.
sql/sp.cc:
In create_string, we may not have a sp_name parameter yet, so
instead pass the char* and length of the only member we'd get out
of it.
Having done that, we can use the same function to write the
CREATE (FUNC|TRIG|PROC) statement to the binlog as we always used
to display the statement to the user.
---
Make the db name part of the CREATE string if it is specified.
Specify it in part of writing to the binlog when creating a new
routine.
sql/sp_head.cc:
Set the sp_head m_explicit_name member as the sp_name member is set.
We can not peek at this later, as the sp_name is gone by then.
sql/sp_head.h:
Add a member to track whether the name is qualified with the
database.
Problem: If INSERT is immediately followed by SELECT in another thread,
the newly inserted rows may not be returned by the SELECT statement, if
ENGINE=myisam and @@concurrent_insert=1. This caused sporadic errors in
rpl_insert_id.
Fix: The test now uses ENGINE=$engine_type when creating tables (so that
innodb is used). It also turns off @@concurrent_insert around the critical
place, so that it works if someone in the future writes a test that sets
$engine_type=myisam before sourcing extra/rpl_tests/rpl_insert_id.test.
It also adds ORDER BY to all SELECTs so that the result is deterministic.
mysql-test/extra/rpl_tests/rpl_insert_id.test:
- Use ENGINE=$engine_type when creating tables, since that's expected by
suite/rpl/t/rpl_insert_id.test.
- Use ORDER BY to avoid nondeterministic results from SELECT.
- Set @@concurrent_insert=0 before doing SELECT after INSERT in another
client.
mysql-test/suite/rpl/r/rpl_insert_id.result:
Update result file.
into zippy.cornsilk.net:/home/cmiller/work/mysql/bug36570/my51-bug36570
BitKeeper/deleted/.del-binlog_innodb.result:
Auto merged
mysql-test/r/mysqlbinlog.result:
need to record.
mysql-test/suite/binlog/r/binlog_stm_ctype_ucs.result:
need to record.
mysql-test/suite/rpl/r/rpl_sp.result:
need to record.
mysql-test/suite/rpl/t/rpl_sp.test:
manual merge.
sql/sp.cc:
Manual merge
slave
The stored-routine code took the contents of the (lowest) parser
and copied it directly to the binlog, which causes problems if there
is a special case of interpretation at the parser level -- which
there is, in the "/*!VER */" comments. The trailing "*/" caused
errors on the slave, naturally.
Now, since by that point we have /properly/ created parse-tree (as
the rest of the server should do!) for the stored-routine CREATE, we
can construct a perfect statement from that information, instead of
writing uncertain information from an unknown parser state.
Fortunately, there's already a function nearby that does exactly
that.
mysql-test/r/binlog_innodb.result:
Offsets changed due to quoting.
mysql-test/r/ctype_cp932_binlog.result:
Offsets changed due to quoting.
mysql-test/r/mysqlbinlog.result:
Case changed in result due to interpretation of data instead of
literal recitation.
mysql-test/r/rpl_sp.result:
Offsets changed due to quoting. Added tests.
mysql-test/t/rpl_sp.test:
Add version-limiting quotes to exercise bug#36570. Test that
backtick-quoted identifiers and labels work also.
sql/sp.cc:
In create_string, we may not have a sp_name parameter yet, so
instead pass the char* and length of the only member we'd get out
of it.
Having done that, we can use the same function to write the
CREATE (FUNC|TRIG|PROC) statement to the binlog as we always used
to display the statement to the user.
into magare.gmz:/home/kgeorge/mysql/work/merge-5.1-bugteam
mysql-test/suite/funcs_1/r/innodb_storedproc_06.result:
Auto merged
mysql-test/suite/funcs_1/r/innodb_views.result:
Auto merged
mysql-test/suite/funcs_1/r/memory_storedproc_06.result:
Auto merged
mysql-test/suite/funcs_1/r/memory_views.result:
Auto merged
mysql-test/suite/funcs_1/r/myisam_storedproc_06.result:
Auto merged
mysql-test/suite/funcs_1/storedproc/storedproc_06.inc:
Auto merged
mysql-test/suite/funcs_1/views/views_master.inc:
Auto merged
mysql-test/suite/funcs_1/r/myisam_views.result:
merge of 5.1 to 5.1-bugteam
"Apply InnoDB snapshot innodb-5.1-ss2438.
Addresses the following bugs:
Change the fix for Bug#32440 to show bytes instead of kilobytes in
INFORMATION_SCHEMA.TABLES.DATA_FREE.
branches/5.1: Fix bug#29507 TRUNCATE shows to many rows effected
In InnoDB, the row count is only a rough estimate used by SQL
optimization. InnoDB is now return row count 0 for TRUNCATE operation.
branches/5.1: Fix bug#35537 - Innodb doesn't increment handler_update
and handler_delete
Add the calls to ha_statistic_increment() in ha_innobase::delete_row()
and ha_innobase::update_row().
Fix Bug#36169 create innodb compressed table with too large row size crash
Sometimes it is possible that
row_drop_table_for_mysql(index->table_name, trx, FALSE); is invoked in
row_create_index_for_mysql() when the index object is freed so copy the
table name to a safe place beforehand and use the copy.
Fix Bug#36434 ha_innodb.so is installed in the wrong directory
Change pkglib_LTLIBRARIES with pkgplugin_LTLIBRARIES which has been
forgotten in this commit: http://lists.mysql.com/commits/40206"
mysql-test/r/innodb.result:
revert InnoDB snapshot innodb-5.1-ss2438
mysql-test/r/mix2_myisam.result:
merge-fixes: undoing previous unspecified post-merge fixes
by kaa a/o 2008/2/13 (1.7)
mysql-test/t/innodb.test:
revert InnoDB snapshot innodb-5.1-ss2438
storage/innobase/Makefile.am:
revert InnoDB snapshot innodb-5.1-ss2438
storage/innobase/handler/ha_innodb.cc:
revert InnoDB snapshot innodb-5.1-ss2438
storage/innobase/plug.in:
revert InnoDB snapshot innodb-5.1-ss2438
storage/innobase/row/row0mysql.c:
revert InnoDB snapshot innodb-5.1-ss2438
storage/innobase/row/row0sel.c:
revert InnoDB snapshot innodb-5.1-ss2438
with previous rows.
The WHERE clause containing expression:
CONCAT(empty_field1, empty_field2, ..., 'literal constant', ...)
REGEXP 'regular expression'
may return wrong matches.
Optimization of the CONCAT function has been fixed.
mysql-test/r/func_concat.result:
Added test case for bug #36488.
mysql-test/t/func_concat.test:
Added test case for bug #36488.
sql/item_strfunc.cc:
Fixed bug #36488.
The Item_func_concat::val_str method is optimized to
use first non-empty argument of the CONCAT function for in-place
result accumulation. This optimization is acceptable if that
first argument is not a constant.
However, current implementation checks this condition only for
the first actual argument of the CONCAT function.
So, the Item_func_concat::val_str method can corrupt values
of, for example, literal strings by appending random data.
The Item_func_concat::val_str method has been modified to take
into account the ability to be modified in-place for the first
non-empty argument.
max_heap_table_size_basic_32, query_cache_size_basic_32 and
tmp_table_size_basic_32 tests have been disabled according to
bug #36522.
mysql-test/t/disabled.def:
max_heap_table_size_basic_32, query_cache_size_basic_32 and
tmp_table_size_basic_32 tests have been disabled according to
bug #36522.
subselects into account
It is forbidden to use the SELECT INTO construction inside UNION statements
unless on the last SELECT of the union. The parser records whether it
has seen INTO or not when parsing a UNION statement. But if the INTO was
legally used in an outer query, an error is thrown if UNION is seen in a
subquery. Fixed in 5.0 by remembering the nesting level of INTO tokens and
mitigate the error unless it collides with the UNION.
mysql-test/r/union.result:
Bug#32858: Test result
mysql-test/t/union.test:
Bug#32858: Test case
sql/sql_class.cc:
Bug#32858: Initializing new member
sql/sql_class.h:
Bug#32858: Added property nest_level to select_result class.
sql/sql_yacc.yy:
Bug#32858: The fix.