a worse execution plan than in 4.1 for some queries.
It happened due the fact that at some conditions the
optimizer always preferred range or full index scan access
methods to lookup access methods even when the latter were much
cheaper.
The problem was not observed in 4.1 for the reported query
because the WHERE condition was not of a form that could
cause the problem.
Equality propagation introduced on 5.0 added an extra
predicate and changed the WHERE condition. The new condition
provoked the optimizer to make a bad choice.
The problem was fixed by the patch for bug 17379.
mysql-test/r/select.result:
Added a test case for bug #18940.
The problem was fixed by the patch for bug 17379.
mysql-test/t/select.test:
Added a test case for bug #18940.
The problem was fixed by the patch for bug 17379.
into mysql.com:/home/psergey/mysql-5.1-merge6
mysql-test/r/rpl_user_variables.result:
Auto merged
mysql-test/t/having.test:
Auto merged
mysql-test/t/rpl_user_variables.test:
Auto merged
sql/item_func.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_select.cc:
Auto merged
mysql-test/t/rpl_sp004.test:
updated to work with default NDB engine
mysql-test/r/rpl_sp004.result:
updated to work with default NDB engine
mysql-test/extra/rpl_tests/rpl_flsh_tbls.test:
Updated to skip when ndb is default
mysql-test/t/rpl_multi_engine.test:
Results will not match when ndb is default do to myisam table creates and show create
mysql-test/t/rpl_row_basic_11bugs.test:
Disables for when ndb is default as the show binlog events will cause failure
into a193-229-222-105.elisa-laajakaista.fi:/home/my/bk/mysql-5.1-new-merge_060509
BitKeeper/deleted/.del-changelog-4.0.xml~8f56ee8a913e848b:
Auto merged
BitKeeper/deleted/.del-changelog-4.1.xml~8aa496ebed09d868:
Auto merged
mysql-test/r/func_misc.result:
Auto merged
sql/item_func.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_acl.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
When a view statement is compiled on CREATE VIEW time, most of the
optimizations should not be done. Finding the right optimization
for a subquery is one of them.
Unfortunately the optimizer is resolving the column references of
the left expression of IN subqueries in the process of deciding
witch optimization to use (if needed). So there should be a
special case in Item_in_subselect::fix_fields() : check the
validity of the left expression of IN subqueries in CREATE VIEW
mode and then proceed as normal.
mysql-test/r/subselect.result:
test case
mysql-test/r/view.result:
chnaged explain due to column being resolved
mysql-test/t/subselect.test:
test case
sql/item_subselect.cc:
overloaded fix_fields to fix the left_expr in prepare_view_mode
sql/item_subselect.h:
fix_fields overloaded so it can prepare left_expr
Fixing bug where UPDATE failed on slave and some cleanup of ndb_unpack_record().
mysql-test/r/rpl_bit_npk.result:
Result change
mysql-test/t/disabled.def:
Disabling tests
mysql-test/t/rpl_bit_npk.test:
Making test storage-engine independent
mysql-test/t/rpl_ndb_innodb2ndb-slave.opt:
Storage engine name change
mysql-test/t/rpl_ndb_myisam2ndb-slave.opt:
Storage engine name change
sql/ha_ndbcluster.cc:
Using move_field_offset() to move field pointer.
Using my_ptrdiff_t instead of uint for pointer difference.
Removing ineffective cast.
Calling member function directly, bypassing the virtual mechanism
for Field_bit.
sql/log_event.cc:
Starting and stopping range scan and index read inside find_and_fetch row
instead of in calling function. There are storage engines that require the
search to be restarted for every changed row.
into a193-229-222-105.elisa-laajakaista.fi:/home/my/bk/mysql-5.1-new-merge_060509
BitKeeper/deleted/.del-changelog-5.0.xml~f4c50926ccdd7434:
Auto merged
mysql-test/r/date_formats.result:
Auto merged
mysql-test/r/ndb_condition_pushdown.result:
Auto merged
mysql-test/t/date_formats.test:
Auto merged
mysql-test/t/ndb_condition_pushdown.test:
Auto merged
sql/item_timefunc.cc:
Auto merged
storage/ndb/include/ndbapi/NdbOperation.hpp:
Auto merged
storage/ndb/include/util/NdbSqlUtil.hpp:
Auto merged
storage/ndb/src/common/util/NdbSqlUtil.cpp:
Auto merged
into mysql.com:/home/tomash/src/mysql_ab/mysql-5.1-merge
BitKeeper/deleted/.del-changelog-4.0.xml~8f56ee8a913e848b:
Auto merged
BitKeeper/deleted/.del-changelog-4.1.xml~8aa496ebed09d868:
Auto merged
mysql-test/r/func_misc.result:
Auto merged
sql/item_func.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_acl.h:
Auto merged
sql/sql_parse.cc:
Auto merged
into a193-229-222-105.elisa-laajakaista.fi:/home/my/bk/mysql-5.1-new-merge_060509
configure.in:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/auto_increment.result:
Auto merged
mysql-test/r/gis-rtree.result:
Auto merged
mysql-test/r/mysqldump.result:
Auto merged
mysql-test/r/symlink.result:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
mysql-test/t/mysqldump.test:
Manual merge.
sql/sql_show.cc:
Manual merge.
client/mysqlimport.c:
Fixed a problem with merge.
include/violite.h:
Struct name changed, but forgot to change it here.
sql/sql_show.cc:
Added missing variable.
into neptunus.(none):/home/msvensson/mysql/mysql-5.1
mysql-test/r/date_formats.result:
Auto merged
mysql-test/t/date_formats.test:
Auto merged
sql/item_timefunc.cc:
Auto merged
into neptunus.(none):/home/msvensson/mysql/mysql-5.1
BitKeeper/deleted/.del-changelog-5.0.xml~f4c50926ccdd7434:
Auto merged
mysql-test/r/ndb_condition_pushdown.result:
Auto merged
mysql-test/t/ndb_condition_pushdown.test:
Auto merged
storage/ndb/include/ndbapi/NdbOperation.hpp:
Auto merged
storage/ndb/include/util/NdbSqlUtil.hpp:
Auto merged
storage/ndb/src/common/util/NdbSqlUtil.cpp:
Auto merged
garbles data if longer than 766 chars.
The problem is that a stored routine returns BLOBs to the previous
caller, BLOBs are shallow-copied (i.e. only pointers to the data are
copied). The fix is to also copy data of BLOBs.
mysql-test/r/sp.result:
Updated result file.
mysql-test/t/sp.test:
Added a test case for BUG#18587.
sql/field_conv.cc:
Do not jump to optimization if the field type is BLOB and
the destination table requires copying of BLOBs.
sql/item_func.cc:
Request copying BLOBs for the result table.
- Fix mysqld_safe so that it always passes correct --log-error argument to mysqld
- A few other minor clean-ups to mysqld_safe
scripts/mysqld_safe.sh:
Bug #6061 mysql-log-rotate script - error logging doesn't use new file
- Change mysqld_safe to pass --log-error to mysqld in all cases. The old behavior was to usually "swallow" the --log-error=file.name argument, which caused mysqld to write to stderr and not be able to flush the error log file. Ironically, passing --log-error (with no file name) seemed to work fine, because mysqld_safe didn't recognize it and passed it on to mysqld as an unknown option.
- Ensure that the error log file matches what mysqld uses; in particular, add ".err" if given a --log-error argument with no extension, and add "$DATADIR" to the front of a relative path
- Various other mysqld_safe clean-ups while there - quote arguments properly, remove some redundant code
mysql-test/r/ndb_bitfield.result:
Test cases changes now that auto-partitioning is remembered in frm file
mysql-test/r/ndb_dd_basic.result:
Test cases changes now that auto-partitioning is remembered in frm file
mysql-test/r/ndb_dd_disk2memory.result:
Test cases changes now that auto-partitioning is remembered in frm file
mysql-test/r/ndb_gis.result:
Test cases changes now that auto-partitioning is remembered in frm file
mysql-test/r/ndb_partition_key.result:
New test cases for auto-partitioning change that was made to fix bug
mysql-test/r/rpl_ndb_UUID.result:
Test cases changes now that auto-partitioning is remembered in frm file
mysql-test/r/rpl_ndb_dd_advance.result:
Test cases changes now that auto-partitioning is remembered in frm file
mysql-test/t/ndb_partition_key.test:
New test cases for auto-partitioning change that was made to fix bug
sql/partition_info.h:
New boolean to keep track of auto partitioned or not
sql/sql_partition.cc:
Ensure that auto-partitiong flag is reset when partitions are dropped, added, reorganised or coalesced.
Ensure that auto-partitioned tables are altered into non-partitioned table when ALTER TABLE t1 engine=X
is performed.
sql/sql_show.cc:
Only print partition info for non-auto-partitioned tables
sql/sql_table.cc:
Set auto partition flag when auto partitions are generated in create table
sql/table.cc:
Fix reading of frm file where new auto-partition flag is introduced.
sql/table.h:
New flag for auto partition on share object
sql/unireg.cc:
Fix code for writing frm to also write autopartition flag at end of partition info, fix some length issues
at the same time that was in this part that caused no problems since partition info always was the last info
in the file.