The value of JOIN::tables must be set to 0 when there
is no matching min/max row.
mysql-test/r/subselect.result:
Added a test case for bug #37004.
mysql-test/t/subselect.test:
Added a test case for bug #37004.
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
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 host.loc:/home/uchum/work/5.1-bugteam
mysql-test/r/subselect.result:
Merge with 5.0-bugteam (bug#36139).
mysql-test/t/subselect.test:
Merge with 5.0-bugteam (bug#36139).
Post-commit minor cleanup of testcase (bug#36139).
mysql-test/r/subselect.result:
Post-commit minor cleanup of testcase (bug#36139).
mysql-test/t/subselect.test:
Post-commit minor cleanup of testcase (bug#36139).
- Make convert_zerofill_number_to_string() take into account that the
constant it is converting may evaluate to NULL.
mysql-test/r/subselect.result:
BUG#36139 "float, zerofill, crash with subquery"
- Testcase
mysql-test/t/subselect.test:
BUG#36139 "float, zerofill, crash with subquery"
- Testcase
The test case for the bug#31048 checks that there is no crash on stack
overrun. But due to different stack sizes on different platforms it failed
on some of them.
The new test case check that a query with at least 4 level subquery nesting
works without the stack overrun nesting and other levels of nesting doesn't
cause a crash.
mysql-test/t/subselect.test:
Corrected test case for the bug#31048.
mysql-test/r/subselect.result:
Corrected test case for the bug#31048.
into janus.mylan:/usr/home/serg/Abk/mysql-maria
include/my_sys.h:
Auto merged
mysql-test/lib/mtr_cases.pl:
Auto merged
mysql-test/lib/mtr_misc.pl:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/ps_2myisam.result:
Auto merged
mysql-test/r/ps_3innodb.result:
Auto merged
mysql-test/r/ps_4heap.result:
Auto merged
mysql-test/r/ps_5merge.result:
Auto merged
mysql-test/r/query_cache.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/r/view.result:
Auto merged
mysql-test/suite/binlog/r/binlog_unsafe.result:
Auto merged
mysql-test/suite/binlog/t/binlog_unsafe.test:
Auto merged
mysql-test/suite/ndb/r/ps_7ndb.result:
Auto merged
mysql-test/suite/rpl/r/rpl_switch_stm_row_mixed.result:
Auto merged
mysql-test/suite/rpl/t/rpl_insert.test:
Auto merged
mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed.test:
Auto merged
mysql-test/t/disabled.def:
Auto merged
mysql-test/t/query_cache.test:
Auto merged
mysql-test/t/subselect.test:
Auto merged
mysql-test/t/view.test:
Auto merged
sql/field.h:
Auto merged
sql/filesort.cc:
Auto merged
sql/ha_partition.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_strfunc.h:
Auto merged
sql/log.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/opt_range.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/set_var.h:
Auto merged
sql/slave.cc:
Auto merged
sql/slave.h:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_union.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/unireg.cc:
Auto merged
sql/share/errmsg.txt:
Auto merged
storage/myisam/ft_boolean_search.c:
Auto merged
storage/myisam/ha_myisam.cc:
Auto merged
storage/myisam/sort.c:
Auto merged
sql/log_event_old.h:
SCCS merged
BitKeeper/triggers/post-commit:
merged
client/mysqldump.c:
merged
configure.in:
merged
client/mysqltest.c:
merged
include/Makefile.am:
merged
include/atomic/nolock.h:
merged
mysql-test/lib/mtr_report.pl:
merged
sql/handler.h:
merged
sql/mysqld.cc:
merged
sql/sql_select.cc:
merged
into kaamos.(none):/data/src/opt/mysql-5.1-opt
mysql-test/r/group_by.result:
Auto merged
mysql-test/r/type_decimal.result:
Auto merged
mysql-test/r/view.result:
Auto merged
mysql-test/t/type_decimal.test:
Auto merged
sql/item.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_select.cc:
Auto merged
mysql-test/r/subselect.result:
Manual merge.
mysql-test/t/group_by.test:
Manual merge.
mysql-test/t/subselect.test:
Manual merge.
mysql-test/t/view.test:
Manual merge.
The problem occurred when one had a subquery that had an equality X=Y where
Y referred to a named select list expression from the parent select. MySQL
crashed when trying to use the X=Y equality for ref-based access.
Fixed by allowing non-Item_field items in the described case.
mysql-test/r/subselect.result:
BUG#33794 "MySQL crashes executing specific query"
- Testcase
mysql-test/t/subselect.test:
BUG#33794 "MySQL crashes executing specific query"
- Testcase
sql/sql_select.cc:
BUG#33794 "MySQL crashes executing specific query"
get_store_key() assumed that if it got a reference
t.key=Item_outer_ref(Item_direct_ref(x))
then x was an Item_field object, which is not the case when one refers to a
named select list expression out ot subquery.
into kaamos.(none):/data/src/opt/mysql-5.1-opt
sql/field.h:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/item_timefunc.h:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_base.cc:
Auto merged
mysql-test/r/subselect.result:
Manual merge.
mysql-test/t/subselect.test:
Manual merge.
sql/filesort.cc:
Manual merge.
server crash.
The filesort implementation has an optimization for subquery execution which
consists of reusing previously allocated buffers. In particular the call to
the read_buffpek_from_file function might be skipped when a big enough buffer
for buffer descriptors (buffpeks) is already allocated. Beside allocating
memory for buffpeks this function fills allocated buffer with data read from
disk. Skipping it might led to using an arbitrary memory as fields' data and
finally to a crash.
Now the read_buffpek_from_file function is always called. It allocates
new buffer only when necessary, but always fill it with correct data.
sql/filesort.cc:
Bug#33675: Usage of an uninitialized memory by filesort in a subquery caused
server crash.Now the read_buffpek_from_file function is always called. It allocates
new buffer only when necessary, but always fill it with correct data.
mysql-test/r/subselect.result:
Added a test case for the bug#33675: Usage of an uninitialized memory by
filesort in a subquery caused server crash.
mysql-test/t/subselect.test:
Added a test case for the bug#33675: Usage of an uninitialized memory by
filesort in a subquery caused server crash.
into a88-113-38-195.elisa-laajakaista.fi:/home/my/bk/mysql-maria.new
BitKeeper/etc/ignore:
auto-union
BUILD/compile-dist:
Auto merged
client/mysqladmin.cc:
Auto merged
client/mysqldump.c:
Auto merged
config/ac-macros/plugins.m4:
Auto merged
configure.in:
Auto merged
dbug/dbug.c:
Auto merged
include/keycache.h:
Auto merged
include/m_string.h:
Auto merged
include/my_global.h:
Auto merged
include/my_pthread.h:
Auto merged
include/my_sys.h:
Auto merged
include/mysql_com.h:
Auto merged
libmysql/CMakeLists.txt:
Auto merged
libmysql/Makefile.shared:
Auto merged
mysql-test/lib/mtr_cases.pl:
Auto merged
mysql-test/lib/mtr_report.pl:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/innodb.result:
Auto merged
mysql-test/r/merge.result:
Auto merged
mysql-test/r/myisam.result:
Auto merged
mysql-test/r/mysqldump.result:
Auto merged
mysql-test/r/ps_2myisam.result:
Auto merged
mysql-test/r/ps_3innodb.result:
Auto merged
mysql-test/r/ps_4heap.result:
Auto merged
mysql-test/r/ps_5merge.result:
Auto merged
mysql-test/r/query_cache.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/r/view.result:
Auto merged
mysql-test/suite/ndb/r/ps_7ndb.result:
Auto merged
mysql-test/suite/rpl/r/rpl_switch_stm_row_mixed.result:
Auto merged
mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed.test:
Auto merged
mysql-test/t/delayed.test:
Auto merged
mysql-test/t/disabled.def:
Auto merged
mysql-test/t/myisam.test:
Auto merged
mysql-test/t/mysqldump.test:
Auto merged
mysql-test/t/query_cache.test:
Auto merged
mysql-test/t/query_cache_notembedded.test:
Auto merged
mysql-test/t/subselect.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
mysql-test/t/view.test:
Auto merged
mysys/CMakeLists.txt:
Auto merged
mysys/Makefile.am:
Auto merged
mysys/mf_keycache.c:
Auto merged
mysys/my_delete.c:
Auto merged
mysys/my_init.c:
Auto merged
mysys/my_symlink2.c:
Auto merged
mysys/safemalloc.c:
Auto merged
mysys/thr_lock.c:
Auto merged
sql/field.h:
Auto merged
sql/filesort.cc:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_partition.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/item.h:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/item_xmlfunc.cc:
Auto merged
sql/lock.cc:
Auto merged
sql/log.cc:
Auto merged
sql/log_event_old.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/net_serv.cc:
Auto merged
sql/opt_range.cc:
Auto merged
sql/set_var.h:
Auto merged
sql/slave.cc:
Auto merged
sql/slave.h:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_plugin.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/share/errmsg.txt:
Auto merged
sql/table.cc:
Auto merged
sql/table.h:
Auto merged
sql/udf_example.c:
Auto merged
storage/csv/ha_tina.cc:
Auto merged
storage/myisam/ft_boolean_search.c:
Auto merged
storage/myisam/ft_nlq_search.c:
Auto merged
storage/myisam/ft_parser.c:
Auto merged
storage/myisam/ha_myisam.cc:
Auto merged
storage/myisam/ha_myisam.h:
Auto merged
storage/myisam/mi_check.c:
Auto merged
storage/myisam/mi_dynrec.c:
Auto merged
storage/myisam/mi_open.c:
Auto merged
storage/myisam/mi_packrec.c:
Auto merged
storage/myisam/mi_write.c:
Auto merged
storage/myisam/myisamchk.c:
Auto merged
storage/myisam/myisampack.c:
Auto merged
storage/myisam/rt_index.c:
Auto merged
storage/myisam/sort.c:
Auto merged
storage/myisammrg/ha_myisammrg.cc:
Auto merged
storage/myisammrg/ha_myisammrg.h:
Auto merged
strings/llstr.c:
Auto merged
support-files/compiler_warnings.supp:
Auto merged
Makefile.am:
Manual merge from 5.1 to maria.
client/mysqltest.c:
Manual merge from 5.1 to maria.
include/my_base.h:
Manual merge from 5.1 to maria.
mysql-test/t/merge.test:
Manual merge from 5.1 to maria.
mysys/my_getopt.c:
Manual merge from 5.1 to maria.
mysys/thr_mutex.c:
Manual merge from 5.1 to maria.
sql/mysqld.cc:
Manual merge from 5.1 to maria.
sql/set_var.cc:
Manual merge from 5.1 to maria.
sql/sql_table.cc:
Manual merge from 5.1 to maria.
sql/sql_yacc.yy:
Manual merge from 5.1 to maria.
sql/unireg.cc:
Manual merge from 5.1 to maria.
Test case for the bug#31048 is moved to the subselect_notembedded tests as the embedded server isn't affected by this bug.
mysql-test/r/subselect.result:
Test case for the bug#31048 is moved to the subselect_notembedded tests as the embedded server isn't affected by this bug.
mysql-test/r/subselect_notembedded.result:
Test case for the bug#31048 is moved to the subselect_notembedded tests as the embedded server isn't affected by this bug.
mysql-test/t/subselect.test:
Test case for the bug#31048 is moved to the subselect_notembedded tests as the embedded server isn't affected by this bug.
mysql-test/t/subselect_notembedded.test:
Test case for the bug#31048 is moved to the subselect_notembedded tests as the embedded server isn't affected by this bug.
into magare.gmz:/home/kgeorge/mysql/autopush/B32036-5.0-opt
mysql-test/r/subselect.result:
merge of fix for bug 32036 to 5.0-opt
mysql-test/t/subselect.test:
merge of fix for bug 32036 to 5.0-opt
into magare.gmz:/home/kgeorge/mysql/work/B32036-5.1-opt
mysql-test/r/subselect.result:
merged fix for bug 32036 to 5.1-opt
mysql-test/t/subselect.test:
merged fix for bug 32036 to 5.1-opt
sql/sql_yacc.yy:
merged fix for bug 32036 to 5.1-opt
crashes MySQL 5.122
There was a difference in how UNIONs are handled
on top level and when in sub-query.
Because the rules for sub-queries were syntactically
allowing cases that are not currently supported by
the server we had crashes (this bug) or wrong results
(bug 32051).
Fixed by making the syntax rules for UNIONs match the
ones at top level.
These rules however do not support nesting UNIONs, e.g.
(SELECT a FROM t1 UNION ALL SELECT b FROM t2)
UNION
(SELECT c FROM t3 UNION ALL SELECT d FROM t4)
Supports for statements with nested UNIONs will be
added in a future version.
mysql-test/r/subselect.result:
Bug #32036: test case
mysql-test/t/subselect.test:
Bug #32036: test case
sql/sql_yacc.yy:
Bug #32036: Make the syntax rules for UNIONs in subqueries the same
as for top level UNIONs.
into magare.gmz:/home/kgeorge/mysql/work/B32400-5.1-opt
BitKeeper/deleted/.del-ps_6bdb.result:
Auto merged
mysql-test/r/ps_2myisam.result:
Auto merged
mysql-test/r/ps_3innodb.result:
Auto merged
mysql-test/r/ps_4heap.result:
Auto merged
mysql-test/r/ps_5merge.result:
Auto merged
mysql-test/suite/ndb/r/ps_7ndb.result:
Auto merged
sql/item.cc:
Auto merged
tests/mysql_client_test.c:
Auto merged
mysql-test/t/subselect.test:
merge of bug 32400 to 5.1-opt
Fix for the bug#31048 for 64bit platforms.
subselect.test, subselect.result:
Corrected text case for the bug#31048.
mysql-test/t/subselect.test:
Corrected text case for the bug#31048.
mysql-test/r/subselect.result:
Corrected text case for the bug#31048.
sql/opt_range.cc:
Fix for the bug#31048 for 64bit platforms.
into magare.gmz:/home/kgeorge/mysql/work/B30788-5.1-opt
mysql-test/r/subselect3.result:
Auto merged
sql/item.h:
Auto merged
sql/sql_select.cc:
Auto merged
mysql-test/r/subselect.result:
merge of bug 30788 to 5.1-opt
mysql-test/t/subselect.test:
merge of bug 30788 to 5.1-opt
into magare.gmz:/home/kgeorge/mysql/autopush/B30788-5.0-opt
sql/item.h:
Auto merged
sql/sql_select.cc:
Auto merged
mysql-test/r/subselect.result:
merge of 5.0-opt
mysql-test/t/subselect.test:
merge of 5.0-opt
Index lookup does not always guarantee that we can
simply remove the relevant conditions from the WHERE
clause. Reasons can be e.g. conversion errors,
partial indexes etc.
The optimizer was removing these parts of the WHERE
condition without any further checking.
This leads to "false positives" when using indexes.
Fixed by checking the index reference conditions
(using WHERE) when using indexes with sub-queries.
mysql-test/r/subselect.result:
Bug #30788:
- using where
- test case
mysql-test/r/subselect3.result:
Bug #30788: using where
mysql-test/t/subselect.test:
Bug #30788: test case
sql/item.h:
Bug #30788:
- Declare eq() method of Item_cache descendants : this is used in
test_if_ref()
- preserve the field that is being cached for type comparisions
sql/sql_select.cc:
Bug #30788: Don't remove the WHERE when using index lookup
with subqueries.
only on some occasions
Referencing an element from the SELECT list in a WHERE
clause is not permitted. The namespace of the WHERE
clause is the table columns only. This was not enforced
correctly when resolving outer references in sub-queries.
Fixed by not allowing references to aliases in a
sub-query in WHERE.
mysql-test/include/ps_query.inc:
Bug #32400: fixed old test queries
mysql-test/r/ps_2myisam.result:
Bug #32400: fixed old test queries
mysql-test/r/ps_3innodb.result:
Bug #32400: fixed old test queries
mysql-test/r/ps_4heap.result:
Bug #32400: fixed old test queries
mysql-test/r/ps_5merge.result:
Bug #32400: fixed old test queries
mysql-test/r/ps_6bdb.result:
Bug #32400: fixed old test queries
mysql-test/r/ps_7ndb.result:
Bug #32400: fixed old test queries
mysql-test/r/subselect.result:
Bug #32400: test case
mysql-test/t/subselect.test:
Bug #32400: test case
sql/item.cc:
Bug #32400: don't allow references to aliases in WHERE
tests/mysql_client_test.c:
Bug #32400: fixed old test queries
This bug is actually two. The first one manifests itself on an EXPLAIN
SELECT query with nested subqueries that employs the filesort algorithm.
The whole SELECT under explain is marked as UNCACHEABLE_EXPLAIN to preserve
some temporary structures for explain. As a side-effect of this values of
nested subqueries weren't cached and subqueries were re-evaluated many
times. Each time buffer for filesort was allocated but wasn't freed because
freeing occurs at the end of topmost SELECT. Thus all available memory was
eaten up step by step and OOM event occur.
The second bug manifests itself on SELECT queries with conditions where
a subquery result is compared with a key field and the subquery itself also
has such condition. When a long chain of such nested subqueries is present
the stack overrun occur. This happens because at some point the range optimizer
temporary puts the PARAM structure on the stack. Its size if about 8K and
the stack is exhausted very fast.
Now the subselect_single_select_engine::exec function allows subquery result
caching when the UNCACHEABLE_EXPLAIN flag is set.
Now the SQL_SELECT::test_quick_select function calls the check_stack_overrun
function for stack checking purposes to prevent server crash.
mysql-test/t/subselect.test:
Added a test case for the bug#31048: Many nested subqueries may cause server crash.
mysql-test/r/subselect.result:
Added a test case for the bug#31048: Many nested subqueries may cause server crash.
sql/opt_range.cc:
Bug#31048: Many nested subqueries may cause server crash.
Now the SQL_SELECT::test_quick_select function calls the check_stack_overrun
function for stack checking purposes to preven server crash.
sql/item_subselect.cc:
Bug31048: Many nested subqueries may cause server crash.
Now the subselect_single_select_engine::exec function allows subquery result
caching when the UNCACHEABLE_EXPLAIN flag is set.
into mysql.com:/home/gluh/MySQL/Merge/5.0-opt
mysql-test/t/subselect.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_timefunc.cc:
Auto merged
mysql-test/r/select.result:
manual merge
mysql-test/t/select.test:
manual merge
into gleb.loc:/home/uchum/5.1-opt
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/sp_rcontext.cc:
Auto merged
sql/sql_class.cc:
Auto merged
mysql-test/r/subselect.result:
Merge with 5.0-opt.
mysql-test/t/subselect.test:
Merge with 5.0-opt.
After adding an index the <VARBINARY> IN (SELECT <BINARY> ...)
clause returned a wrong result: the VARBINARY value was illegally padded
with zero bytes to the length of the BINARY column for the index search.
(<VARBINARY>, ...) IN (SELECT <BINARY>, ... ) clauses are affected too.
sql/item.cc:
Fixed bug #28076.
The Item_cache_str::save_in_field method has been overloaded
to check cached values for an illegal padding before the saving
into a field.
sql/item.h:
Fixed bug #28076.
The Item_cache_str::is_varbinary flag has been added and the
Item_cache_str::save_in_field method has been overloaded to prevent
cached values from an illegal padding when saving in fields.
The signature of the Item_cache::get_cache method has been
changed to accept pointers to Item instead of Item_result
values.
sql/item_cmpfunc.cc:
Fixed bug #28076.
The Item_in_optimizer::fix_left method has been modified to
to call Item_cache::get_cache in a new manner.
sql/item_subselect.cc:
Fixed bug #28076.
The subselect_indexsubquery_engine::exec method has been
modified to take into account field conversion errors
(copy&paste from subselect_uniquesubquery_engine::exec).
sql/sp_rcontext.cc:
Fixed bug #28076.
The sp_rcontext::create_case_expr_holder method has been
modified to call Item_cache::get_cache in a new manner.
sql/sp_rcontext.h:
Fixed bug #28076.
The sp_rcontext::create_case_expr_holder method signature
has been modified to pass Item pointers to the
Item_cache::get_cache method.
sql/sql_class.cc:
Fixed bug #28076.
The select_max_min_finder_subselect::send_data method has been
modified to call Item_cache::get_cache in a new manner.
mysql-test/t/subselect.test:
Added test case for bug #28076.
mysql-test/r/subselect.result:
Added test case for bug #28076.
Comment sign of -- at line begin in test files lead to warnings
from mysqltest.
Changed -- to #.
mysql-test/t/subselect.test:
Bug#32108 - subselect.test produces warnings files
Changed -- to # at comment begin to avoid warnings files.
into magare.gmz:/home/kgeorge/mysql/work/B31884-5.1-opt
sql/item_subselect.h:
Auto merged
mysql-test/r/subselect.result:
merged the fix for bug 31884 to 5.1-opt
mysql-test/t/subselect.test:
merged the fix for bug 31884 to 5.1-opt
Item_in_subselect's only externally callable method is val_bool().
However the nullability in the wrapper class (Item_in_optimizer) is
established by calling the "forbidden" method val_int().
Fixed to use the correct method (val_bool() ) to establish nullability
of Item_in_subselect in Item_in_optimizer.
mysql-test/r/subselect.result:
Bug #31884: test case
mysql-test/t/subselect.test:
Bug #31884: test case
sql/item_subselect.h:
Bug #31884: Use the correct method to establish nullability
into hynda.mysql.fi:/home/my/mysql-maria
BitKeeper/etc/ignore:
auto-union
BUILD/SETUP.sh:
Auto merged
BitKeeper/deleted/.del-CMakeLists.txt~99a50df6:
Auto merged
Makefile.am:
Auto merged
client/mysqldump.c:
Auto merged
configure.in:
Auto merged
include/Makefile.am:
Auto merged
include/keycache.h:
Auto merged
include/m_string.h:
Auto merged
include/my_sys.h:
Auto merged
libmysqld/Makefile.am:
Auto merged
mysql-test/extra/rpl_tests/rpl_insert_delayed.test:
Auto merged
mysql-test/lib/mtr_cases.pl:
Auto merged
mysql-test/lib/mtr_misc.pl:
Auto merged
mysql-test/lib/mtr_process.pl:
Auto merged
mysql-test/lib/mtr_report.pl:
Auto merged
mysql-test/lib/mtr_timer.pl:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/alter_table.result:
Auto merged
mysql-test/r/merge.result:
Auto merged
mysql-test/r/mysqldump.result:
Auto merged
mysql-test/r/query_cache.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/r/view.result:
Auto merged
mysql-test/suite/ndb/r/ps_7ndb.result:
Auto merged
mysql-test/suite/rpl/r/rpl_events.result:
Auto merged
mysql-test/suite/rpl/r/rpl_insert.result:
Auto merged
mysql-test/suite/rpl/r/rpl_row_insert_delayed.result:
Auto merged
mysql-test/suite/rpl/r/rpl_stm_flsh_tbls.result:
Auto merged
mysql-test/suite/rpl/r/rpl_stm_insert_delayed.result:
Auto merged
mysql-test/suite/rpl/r/rpl_switch_stm_row_mixed.result:
Auto merged
mysql-test/suite/rpl/t/rpl_insert.test:
Auto merged
mysql-test/suite/rpl/t/rpl_stm_flsh_tbls.test:
Auto merged
mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed.test:
Auto merged
mysql-test/t/alter_table.test:
Auto merged
mysql-test/t/myisam.test:
Auto merged
mysql-test/t/mysqldump.test:
Auto merged
mysql-test/t/query_cache.test:
Auto merged
mysql-test/t/subselect.test:
Auto merged
mysql-test/t/view.test:
Auto merged
mysys/array.c:
Auto merged
mysys/mf_keycache.c:
Auto merged
mysys/my_init.c:
Auto merged
mysys/my_symlink2.c:
Auto merged
mysys/safemalloc.c:
Auto merged
mysys/thr_lock.c:
Auto merged
sql/Makefile.am:
Auto merged
sql/filesort.cc:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_partition.cc:
Auto merged
sql/ha_partition.h:
Auto merged
sql/handler.h:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/item_xmlfunc.cc:
Auto merged
sql/lock.cc:
Auto merged
sql/log.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/net_serv.cc:
Auto merged
sql/opt_range.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/slave.h:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/share/errmsg.txt:
Auto merged
sql/sql_test.cc:
Auto merged
sql/table.h:
Auto merged
sql/udf_example.c:
Auto merged
sql/uniques.cc:
Auto merged
sql/unireg.cc:
Auto merged
storage/csv/ha_tina.h:
Auto merged
storage/myisam/ft_boolean_search.c:
Auto merged
storage/myisam/ft_nlq_search.c:
Auto merged
storage/myisam/ft_parser.c:
Auto merged
storage/myisam/ft_stopwords.c:
Auto merged
storage/myisam/ha_myisam.cc:
Auto merged
storage/myisam/ha_myisam.h:
Auto merged
storage/myisam/mi_check.c:
Auto merged
storage/myisam/mi_create.c:
Auto merged
storage/myisam/mi_delete.c:
Auto merged
storage/myisam/mi_dynrec.c:
Auto merged
storage/myisam/mi_extra.c:
Auto merged
storage/myisam/mi_key.c:
Auto merged
storage/myisam/mi_locking.c:
Auto merged
storage/myisam/mi_log.c:
Auto merged
storage/myisam/mi_packrec.c:
Auto merged
storage/myisam/mi_rkey.c:
Auto merged
storage/myisam/mi_search.c:
Auto merged
storage/myisam/mi_test1.c:
Auto merged
storage/myisam/mi_test2.c:
Auto merged
storage/myisam/mi_update.c:
Auto merged
storage/myisam/mi_write.c:
Auto merged
storage/myisam/myisamchk.c:
Auto merged
storage/myisam/myisamlog.c:
Auto merged
storage/myisam/myisampack.c:
Auto merged
storage/myisam/sort.c:
Auto merged
storage/myisam/sp_test.c:
Auto merged
storage/myisammrg/ha_myisammrg.cc:
Auto merged
storage/myisammrg/ha_myisammrg.h:
Auto merged
storage/ndb/src/mgmapi/mgmapi.cpp:
Auto merged
support-files/compiler_warnings.supp:
Auto merged
client/mysqltest.c:
Manual merge between mysql-5.1 and mysql-maria
include/my_base.h:
Manual merge between mysql-5.1 and mysql-maria
include/my_global.h:
Manual merge between mysql-5.1 and mysql-maria
include/myisam.h:
Manual merge between mysql-5.1 and mysql-maria
libmysql/Makefile.shared:
Manual merge between mysql-5.1 and mysql-maria
mysql-test/r/events_logs_tests.result:
Manual merge between mysql-5.1 and mysql-maria
mysql-test/suite/rpl/r/rpl_row_flsh_tbls.result:
Manual merge between mysql-5.1 and mysql-maria
mysql-test/suite/rpl/t/rpl_row_flsh_tbls.test:
Manual merge between mysql-5.1 and mysql-maria
mysql-test/t/disabled.def:
Manual merge between mysql-5.1 and mysql-maria
mysql-test/t/events_logs_tests.test:
Manual merge between mysql-5.1 and mysql-maria
mysys/my_compress.c:
Manual merge between mysql-5.1 and mysql-maria
mysys/my_getsystime.c:
Manual merge between mysql-5.1 and mysql-maria
mysys/my_open.c:
Manual merge between mysql-5.1 and mysql-maria
sql/handler.cc:
Manual merge between mysql-5.1 and mysql-maria
sql/set_var.h:
Manual merge between mysql-5.1 and mysql-maria
sql/sql_class.h:
Manual merge between mysql-5.1 and mysql-maria
sql/sql_show.cc:
Manual merge between mysql-5.1 and mysql-maria
sql/sql_sort.h:
Manual merge between mysql-5.1 and mysql-maria
sql/sql_yacc.yy:
Manual merge between mysql-5.1 and mysql-maria
sql/table.cc:
Manual merge between mysql-5.1 and mysql-maria
storage/csv/ha_tina.cc:
Manual merge between mysql-5.1 and mysql-maria
storage/myisam/mi_open.c:
Manual merge between mysql-5.1 and mysql-maria
storage/myisam/myisamdef.h:
Manual merge between mysql-5.1 and mysql-maria
unittest/mysys/my_atomic-t.c:
Manual merge between mysql-5.1 and mysql-maria
specify that they want a MyISAM table, otherwise they fail
when run with --default-storage-engine=maria.
mysql-test/extra/rpl_tests/rpl_flsh_tbls.test:
uses INSERT DELAYED so has to specify MyISAM
mysql-test/extra/rpl_tests/rpl_insert_delayed.test:
uses INSERT DELAYED so has to specify MyISAM
mysql-test/r/query_cache.result:
result update
mysql-test/r/rpl_insert.result:
result update
mysql-test/r/rpl_stm_flsh_tbls.result:
result update
mysql-test/r/rpl_stm_insert_delayed.result:
result update
mysql-test/r/rpl_switch_stm_row_mixed.result:
result update
mysql-test/r/subselect.result:
result update
mysql-test/t/query_cache.test:
uses MERGE so has to specify MyISAM
mysql-test/t/query_cache_merge.test:
uses MERGE so has to specify MyISAM
mysql-test/t/rpl_insert.test:
uses INSERT DELAYED so has to specify MyISAM
mysql-test/t/rpl_stm_flsh_tbls.test:
specifying the engine lengthens the query in binlog so shifts
positions
mysql-test/t/rpl_switch_stm_row_mixed.test:
uses INSERT DELAYED so has to specify MyISAM
mysql-test/t/subselect.test:
uses INSERT DELAYED so has to specify MyISAM
into olga.mysql.com:/home/igor/dev-opt/mysql-5.1-opt
mysql-test/r/binary.result:
Auto merged
mysql-test/r/ctype_collate.result:
Auto merged
mysql-test/r/ctype_utf8.result:
Auto merged
mysql-test/t/binary.test:
Auto merged
mysql-test/t/create.test:
Auto merged
mysql-test/t/ctype_utf8.test:
Auto merged
sql/field_conv.cc:
Auto merged
sql/item.cc:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/item_sum.h:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql-common/client.c:
Auto merged
sql/sql_select.h:
Auto merged
sql/table.cc:
Auto merged
storage/myisam/mi_open.c:
Auto merged
strings/ctype-simple.c:
Auto merged
mysql-test/r/create.result:
Manual merge.
mysql-test/r/subselect.result:
Manual merge.
mysql-test/r/type_enum.result:
Manual merge.
mysql-test/t/type_enum.test:
Manual merge.
mysql-test/include/mix1.inc:
Manual merge.
mysql-test/r/innodb_mysql.result:
Manual merge.
mysql-test/t/subselect.test:
Manual merge.
sql/sql_parse.cc:
Manual merge.
storage/myisam/mi_key.c:
Manual merge.
query / no aggregate of subquery
The optimizer counts the aggregate functions that
appear as top level expressions (in all_fields) in
the current subquery. Later it makes a list of these
that it uses to actually execute the aggregates in
end_send_group().
That count is used in several places as a flag whether
there are aggregates functions.
While collecting the above info it must not consider
aggregates that are not aggregated in the current
context. It must treat them as normal expressions
instead. Not doing that leads to incorrect data about
the query, e.g. running a query that actually has no
aggregate functions as if it has some (and hence is
expected to return only one row).
Fixed by ignoring the aggregates that are not aggregated
in the current context.
One other smaller omission discovered and fixed in the
process : the place of aggregation was not calculated for
user defined functions. Fixed by calling
Item_sum::init_sum_func_check() and
Item_sum::check_sum_func() as it's done for the rest of
the aggregate functions.
mysql-test/r/subselect.result:
Bug #27333: test case
mysql-test/t/subselect.test:
Bug #27333: test case
sql/item_subselect.cc:
Bug#27333: need select_lex to filter out
aggregates that are not aggregated in
the current select.
sql/item_sum.cc:
Bug#27333: need select_lex to filter out
aggregates that are not aggregated in
the current select.
sql/item_sum.h:
Bug#27333: calculate the place of
aggregation for user defined functions.
sql/sql_select.cc:
Bug#27333: When counting the aggregated functions
and collecting a list of them we must not consider
the aggregates that are not aggregated in the local
context as "local" : i.e. we must treat them as
normal functions and not add them to the aggregate
functions list.
sql/sql_select.h:
Bug#27333: need select_lex to filter out
aggregates that are not aggregated in
the current select.
ORDER BY and LIMIT 1.
The bug was introduced by the patch for bug 21727. The patch
erroneously skipped initialization of the array of headers
for sorted records for non-first evaluations of the subquery.
To fix the problem a new parameter has been added to the
function make_char_array that performs the initialization.
Now this function is called for any invocation of the
filesort procedure. Yet it allocates the buffer for sorted
records only if this parameter is NULL.
mysql-test/r/subselect.result:
Added a test case for bug #28811.
mysql-test/t/subselect.test:
Added a test case for bug #28811.
into mysql.com:/home/gluh/MySQL/Merge/5.0-opt
mysql-test/r/subselect.result:
Auto merged
sql/sql_yacc.yy:
Auto merged
mysql-test/t/subselect.test:
manual merge
forbid the use of subselect in PURGE LOGS BEFORE command
mysql-test/r/subselect.result:
test result
mysql-test/t/subselect.test:
test case
sql/sql_yacc.yy:
forbid the use of subselect in PURGE LOGS BEFORE command
into olga.mysql.com:/home/igor/mysql-5.1-opt-merge
include/thr_lock.h:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/sp.result:
Auto merged
mysql-test/r/trigger.result:
Auto merged
mysql-test/t/sp.test:
Auto merged
mysql-test/t/strict.test:
Auto merged
mysql-test/t/subselect3.test:
Auto merged
mysql-test/t/trigger.test:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/udf_example.c:
Auto merged
mysql-test/r/subselect.result:
Manual merge.
mysql-test/t/subselect.test:
Manual merge.
sql/sql_view.cc:
Manual merge.
using a derived table over a grouping subselect.
This crash happens only when materialization of the derived tables
requires creation of auxiliary temporary table, for example when
a grouping operation is carried out with usage of a temporary table.
The crash happened because EXPLAIN EXTENDED when printing the query
expression made an attempt to use the objects created in the mem_root
of the temporary table which has been already freed by the moment
when printing is called.
This bug appeared after the method Item_field::print() had been
introduced.
mysql-test/r/subselect.result:
Added a test case for bug #28728.
mysql-test/t/subselect.test:
Added a test case for bug #28728.
sql/sql_select.cc:
Fixed bug #28728: a crash when executing EXPLAIN EXTENDED for a query
using a derived table over a grouping subselect.
The crash happened because EXPLAIN EXTENDED when printing the query
expression made an attempt to use the objects created in the mem_root
of the temporary table which has been already freed by the moment
when printing is accomplished.
The fix in JOIN::exec() ensures using existing objects when printing
subselects for a derived tables by EXPLAIN EXTENDED.
into mysql.com:/d2/hf/mrg/mysql-5.1-opt
mysql-test/r/func_gconcat.result:
Auto merged
mysql-test/include/mix1.inc:
Auto merged
mysql-test/r/func_group.result:
Auto merged
mysql-test/r/innodb_mysql.result:
Auto merged
mysql-test/t/func_gconcat.test:
Auto merged
mysql-test/t/func_group.test:
Auto merged
sql/item.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_union.cc:
Auto merged
mysql-test/r/ps.result:
merging
mysql-test/r/subselect.result:
merging
mysql-test/r/type_datetime.result:
SCCS merged
mysql-test/t/ps.test:
merging
mysql-test/t/subselect.test:
merging
mysql-test/t/type_datetime.test:
merging
sql/opt_sum.cc:
SCCS merged
subqueries in WHERE conditions.
This bug was introduced by the patch for bug 27321.
mysql-test/r/subselect.result:
Added a test case for bug #28337.
mysql-test/t/subselect.test:
Added a test case for bug #28337.
sql/item.cc:
Fixed bug #28337: wrong results for grouping queries with correlated
subqueries in WHERE conditions.
This bug was introduced by the patch for bug 27321.
Now in the Item_field::fix_outer_field function we create an Item_outer_ref
object for an outer reference only if it is used in the SELECT list or
in the HAVING clause of the subquery against which the reference is resolved.
into magare.gmz:/home/kgeorge/mysql/work/B27531-5.1-opt
mysql-test/r/cast.result:
Auto merged
mysql-test/r/join_outer.result:
Auto merged
mysql-test/t/cast.test:
Auto merged
mysql-test/t/join_outer.test:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_select.h:
Auto merged
mysql-test/r/subselect.result:
merge of 5.0-opt -> 5.1-opt
mysql-test/t/subselect.test:
merge of 5.0-opt -> 5.1-opt
into magare.gmz:/home/kgeorge/mysql/autopush/B27807-5.0-opt
sql/sql_select.cc:
Auto merged
mysql-test/r/subselect.result:
merge to 5.0-opt
mysql-test/t/subselect.test:
merge to 5.0-opt
Non-correlated scalar subqueries may get executed
in EXPLAIN at the optimization phase if they are
part of a right hand sargable expression.
If the scalar subquery uses a temp table to
materialize its results it will replace the
subquery structure from the parser with a simple
select from the materialization table.
As a result the EXPLAIN will crash as the
temporary materialization table is not to be shown
in EXPLAIN at all.
Fixed by preserving the original query structure
right after calling optimize() for scalar subqueries
with temp tables executed during EXPLAIN.
mysql-test/r/subselect.result:
Bug #27807: test case
mysql-test/t/subselect.test:
Bug #27807: test case
sql/item_subselect.cc:
Bug #27807: preserve the join structure
sql/sql_select.cc:
Bug #27807: introduce initialization function for tmp_join
sql/sql_select.h:
Bug #27807: introduce initialization function for tmp_join
into mysql.com:/d2/hf/mrg/mysql-5.1-opt
mysql-test/r/alter_table.result:
Auto merged
mysql-test/r/distinct.result:
Auto merged
mysql-test/r/heap.result:
Auto merged
mysql-test/r/ps_2myisam.result:
Auto merged
mysql-test/r/ps_3innodb.result:
Auto merged
mysql-test/r/ps_4heap.result:
Auto merged
mysql-test/r/ps_5merge.result:
Auto merged
mysql-test/r/ps_7ndb.result:
Auto merged
mysql-test/r/query_cache.result:
Auto merged
BitKeeper/deleted/.del-CMakeLists.txt~1:
Auto merged
BitKeeper/deleted/.del-ps_6bdb.result:
Auto merged
mysql-test/t/alter_table.test:
Auto merged
mysys/my_error.c:
Auto merged
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/item_sum.cc:
Auto merged
sql/key.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/table.cc:
Auto merged
tests/mysql_client_test.c:
Auto merged
mysql-test/include/mix1.inc:
merging
mysql-test/r/group_by.result:
SCCS merged
mysql-test/r/innodb_mysql.result:
merging
mysql-test/r/join.result:
merging
mysql-test/r/subselect.result:
merging
mysql-test/r/type_datetime.result:
SCCS merged
mysql-test/r/windows.result:
SCCS merged
mysql-test/t/group_by.test:
SCCS merged
mysql-test/t/join.test:
merging
mysql-test/t/subselect.test:
merging
mysql-test/t/type_datetime.test:
merging
mysql-test/t/windows.test:
SCCS merged
sql/item_timefunc.cc:
merging
sql/sql_base.cc:
SCCS merged
storage/innobase/handler/ha_innodb.cc:
merging
into magare.gmz:/home/kgeorge/mysql/autopush/B27363-5.0-opt
mysql-test/r/subselect.result:
Auto merged
mysql-test/t/subselect.test:
Auto merged
sql/item.cc:
Auto merged
sql/item_sum.cc:
Auto merged
Validity checks for nested set functions
were not taking into account that the enclosed
set function may be on a nest level that is
lower than the nest level of the enclosing set
function.
Fixed by :
- propagating max_sum_func_level
up the enclosing set functions chain.
- updating the max_sum_func_level of the
enclosing set function when the enclosed set
function is aggregated above or on the same
nest level of as the level of the enclosing
set function.
- updating the max_arg_level of the enclosing
set function on a reference that refers to
an item above or on the same nest level
as the level of the enclosing set function.
- Treating both Item_field and Item_ref as possibly
referencing items from outer nest levels.
mysql-test/r/subselect.result:
Bug #27363: test cases
mysql-test/t/subselect.test:
Bug #27363: test cases
sql/item.cc:
Bug #27363:
Treat the reference as an outer reference for the
enclosing set function even if it's referencing
an item that is above the nest level of the
enclosing set function.
Consider both Item_field and Item_ref.
sql/item_sum.cc:
Bug #27363: Use the enclosed set function aggregation
level to mark the enclosing set function even
if it's aggregated on a level that is above the
nest level of the enclosing set function.
Pass max_sum_func_level up the accending branch of the
recursion because it must take into account each
directly or indirectly nested set function.
into moonbone.local:/mnt/gentoo64/work/bk-trees/mysql-5.1-opt
mysql-test/r/subselect3.result:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_union.cc:
Auto merged
mysql-test/r/subselect.result:
Manual merge
mysql-test/t/subselect.test:
Manual merge
into moonbone.local:/mnt/gentoo64/work/27321-bug-5.0-opt-mysql
mysql-test/r/subselect3.result:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/sql_select.cc:
Auto merged
mysql-test/r/subselect.result:
Manually merged
mysql-test/t/subselect.test:
Manually merged
mysql-test/t/subselect3.test:
Manually merged
The Item_outer_ref class based on the Item_direct_ref class was always used
to represent an outer field. But if the outer select is a grouping one and the
outer field isn't under an aggregate function which is aggregated in that
outer select an Item_ref object should be used to represent such a field.
If the outer select in which the outer field is resolved isn't grouping then
the Item_field class should be used to represent such a field.
This logic also should be used for an outer field resolved through its alias
name.
Now the Item_field::fix_outer_field() uses Item_outer_field objects to
represent aliased and non-aliased outer fields for grouping outer selects
only.
Now the fix_inner_refs() function chooses which class to use to access outer
field - the Item_ref or the Item_direct_ref. An object of the chosen class
substitutes the original field in the Item_outer_ref object.
The direct_ref and the found_in_select_list fields were added to the
Item_outer_ref class.
mysql-test/t/subselect3.test:
Some test cases were corrected after the fix for the bug#27321.
mysql-test/r/subselect3.result:
Some test cases were corrected after the fix for the bug#27321.
mysql-test/t/subselect.test:
Added a test case for the bug#27321: Wrong subquery result in a grouping select.
mysql-test/r/subselect.result:
Added a test case for the bug#27321: Wrong subquery result in a grouping select.
Some test cases were corrected after this fix.
sql/sql_union.cc:
Bug#27321: Wrong subquery result in a grouping select.
Cleanup of the inner_refs_list.
sql/sql_select.cc:
Bug#27321: Wrong subquery result in a grouping select.
Now the fix_inner_refs() function chooses which class to use to access outer
field - the Item_ref or the Item_direct_ref. An object of the chosen class
substitutes the original field in the Item_outer_ref object.
A comment is corrected.
sql/item.cc:
Bug#27321: Wrong subquery result in a grouping select.
Now the Item_field::fix_outer_field() uses Item_outer_field objects to
represent aliased and non-aliased outer fields for grouping outer selects
only.
sql/item.h:
Bug#27321: Wrong subquery result in a grouping select.
The direct_ref and the found_in_select_list fields were added to the
Item_outer_ref class.
into mysql.com:/home/psergey/mysql-5.1-merge
BitKeeper/deleted/.del-mysqld.cc.rej:
Auto merged
mysql-test/r/range.result:
Auto merged
mysql-test/t/range.test:
Auto merged
sql/item_sum.cc:
Auto merged
sql/sql_list.h:
Auto merged
mysql-test/r/subselect.result:
Manual merge
mysql-test/t/subselect.test:
Manual merge
sql/opt_range.cc:
Manual merge
If a set function with a outer reference s(outer_ref) cannot be aggregated
the outer query against which the reference has been resolved then MySQL
interpretes s(outer_ref) in the same way as it would interpret s(const).
Hovever the standard requires throwing an error in this situation.
Added some code to support this requirement in ansi mode.
Corrected another minor bug in Item_sum::check_sum_func.
mysql-test/r/subselect.result:
Added a test case for bug #27348.
mysql-test/t/subselect.test:
Added a test case for bug #27348.
sql/item_sum.cc:
Fixed bug #27348.
If a set function with a outer reference s(outer_ref) cannot be aggregated
the outer query against which the reference has been resolved then MySQL
interprets s(outer_ref) in the same way as it would interpret s(const).
Hovever the standard requires throwing an error in this situation.
Added some code to support this requirement in ansi mode.
Corrected another minor bug in Item_sum::check_sum_func.
into magare.gmz:/home/kgeorge/mysql/work/WL3527-5.1-opt
mysql-test/r/gis.result:
Auto merged
mysql-test/t/gis.test:
Auto merged
sql/field.h:
Auto merged
sql/item.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/item_sum.h:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_select.cc:
Auto merged
mysql-test/r/subselect.result:
merge 5.0-opt -> 5.1-opt
mysql-test/t/subselect.test:
merge 5.0-opt -> 5.1-opt
sql/sql_base.cc:
merge 5.0-opt -> 5.1-opt
context was used as an argument of GROUP_CONCAT.
Ensured correct setting of the depended_from field in references
generated for set functions aggregated in outer selects.
A wrong value of this field resulted in wrong maps returned by
used_tables() for these references.
Made sure that a temporary table field is added for any set function
aggregated in outer context when creation of a temporary table is
needed to execute the inner subquery.
mysql-test/r/subselect.result:
Added a test case for bug #27229.
mysql-test/t/subselect.test:
Added a test case for bug #27229.
sql/item.cc:
Fixed bug #27229: crash when a set function aggregated in outer
context was used as an argument of GROUP_CONCAT.
Ensured correct setting of the depended_from field in references
generated for set functions aggregated in outer selects.
sql/item_sum.cc:
Fixed bug #27229: crash when a set function aggregated in outer
context was used as an argument of GROUP_CONCAT.
Added the field aggr_sel to the objects of the class Item_sum.
In any Item_sum object created for a set function this field
has to contain a pointer to the select where the set function
is aggregated.
sql/item_sum.h:
Fixed bug #27229: crash when a set function aggregated in outer
context was used as an argument of GROUP_CONCAT.
Added the field aggr_sel to the objects of the class Item_sum.
In any Item_sum object created for a set function this field
has to contain a pointer to the select where the set function
is aggregated.
Added a method that says whether a set function is aggregated
in outer context and, if so, returns the aggregating select.
Removed the field nest_level_tables_count introduced by the
patch for bug 24484 as aggr_sel->join->tables contains the
sane number.
sql/sql_base.cc:
Fixed bug #27229: crash when a set function aggregated in outer
context was used as an argument of GROUP_CONCAT.
Added the field aggr_sel to the objects of the class Item_sum.
Removed changes introduced by the patch for bug 24484 as
the field leaf_count of the THD class is not used anymore.
sql/sql_class.h:
Fixed bug #27229: crash when a set function aggregated in outer
context was used as an argument of GROUP_CONCAT.
Added the field aggr_sel to the objects of the class Item_sum.
Removed changes introduce by the patch for bug 24484 as
the field leaf_count of the THD class is not used anymore.
sql/sql_insert.cc:
Fixed bug #27229: crash when a set function aggregated in outer
context was used as an argument of GROUP_CONCAT.
Added the field aggr_sel to the objects of the class Item_sum.
Removed changes introduce by the patch for bug 24484 as
the field leaf_count of the THD class is not used anymore.
sql/sql_select.cc:
Fixed bug #27229: crash when a set function aggregated in outer
context was used as an argument of GROUP_CONCAT.
When creating a temporary table a field is added in it for any
set function aggregated in outer context.
into mysql.com:/home/hf/work/mrg/mysql-5.1-opt
mysql-test/r/subselect3.result:
Auto merged
mysql-test/r/union.result:
Auto merged
mysql-test/t/union.test:
Auto merged
sql/item.h:
Auto merged
sql/item_sum.cc:
Auto merged
sql/item_sum.h:
Auto merged
sql/opt_range.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
mysql-test/r/subselect.result:
merging
mysql-test/t/subselect.test:
merging
sql/sql_base.cc:
mergin
sql/sql_class.h:
merging
sql/sql_select.cc:
merging
aggregated in outer context returned wrong results.
This happened only if the subquery did not contain any references
to outer fields.
As there were no references to outer fields the subquery erroneously
was taken for non-correlated one.
Now any set function aggregated in outer context makes the subquery
correlated.
mysql-test/r/subselect.result:
Added a test case for bug #27257.
mysql-test/t/subselect.test:
Added a test case for bug #27257.
when the column is to be read from a derived table column which
was specified as a concatenation of string literals.
The bug happened because the Item_string::append did not adjust the
value of Item_string::max_length. As a result of it the temporary
table column defined to store the concatenation of literals was
not wide enough to hold the whole value.
mysql-test/r/subselect.result:
Added a test case for bug #26738.
mysql-test/t/subselect.test:
Added a test case for bug #26738.
into bodhi.local:/opt/local/work/mysql-5.1-runtime-merge
BitKeeper/deleted/.del-ha_berkeley.cc:
Auto merged
cmd-line-utils/readline/xmalloc.c:
Auto merged
include/my_dbug.h:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/t/disabled.def:
Auto merged
server-tools/instance-manager/instance_options.cc:
Auto merged
server-tools/instance-manager/mysqlmanager.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_subselect.h:
Auto merged
sql/log.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_repl.cc:
Auto merged
mysql-test/r/subselect.result:
Use local.
sql/ha_ndbcluster.cc:
Use local
storage/archive/ha_archive.cc:
Use local.
support-files/compiler_warnings.supp:
Use local
client/mysql_upgrade.c:
Manual merge.
client/mysqltest.c:
Manual merge.
mysql-test/t/subselect.test:
Manual merge.
sql/field.cc:
Manual merge.
sql/sql_base.cc:
Manual merge.
sql/sql_yacc.yy:
Manual merge.
into weblab.(none):/home/marcsql/TREE/mysql-5.1-rt-merge
mysql-test/r/subselect.result:
Auto merged
mysql-test/t/ps_1general.test:
Auto merged
mysql-test/t/subselect.test:
Auto merged
sql/event_data_objects.cc:
Auto merged
sql/event_queue.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_subselect.h:
Auto merged
sql/set_var.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_yacc.yy:
Auto merged
into mysql.com:/home/gluh/MySQL/Merge/5.1-opt
mysql-test/r/distinct.result:
Auto merged
mysql-test/r/join_nested.result:
Auto merged
mysql-test/r/null_key.result:
Auto merged
mysql-test/r/select.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/r/subselect3.result:
Auto merged
mysql-test/r/trigger.result:
Auto merged
mysql-test/t/select.test:
Auto merged
mysql-test/t/subselect.test:
Auto merged
mysql-test/t/trigger.test:
Auto merged
sql/filesort.cc:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/opt_sum.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.cc:
Auto merged
mysql-test/r/func_time.result:
manual merge
mysql-test/r/information_schema.result:
manual merge
mysql-test/t/func_time.test:
manual merge
mysql-test/t/information_schema.test:
manual merge
sql/opt_range.cc:
manual merge
sql/sql_delete.cc:
manual merge
sql/sql_lex.h:
manual merge
into weblab.(none):/home/marcsql/TREE/mysql-5.0-21904
mysql-test/r/subselect.result:
Auto merged
mysql-test/t/subselect.test:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_subselect.h:
Auto merged
sql/sql_yacc.yy:
Auto merged
Before this fix, a IN predicate of the form: "IN (( subselect ))", with two
parenthesis, would be evaluated as a single row subselect: if the subselect
returns more that 1 row, the statement would fail.
The SQL:2003 standard defines a special exception in the specification,
and mandates that this particular form of IN predicate shall be equivalent
to "IN ( subselect )", which involves a table subquery and works with more
than 1 row.
This fix implements "IN (( subselect ))", "IN ((( subselect )))" etc
as per the SQL:2003 requirement.
All the details related to the implementation of this change have been
commented in the code, and the relevant sections of the SQL:2003 spec
are given for reference, so they are not repeated here.
Having access to the spec is a requirement to review in depth this patch.
mysql-test/r/subselect.result:
Implement IN predicate special exceptions with subselects.
mysql-test/t/subselect.test:
Implement IN predicate special exceptions with subselects.
sql/item_subselect.cc:
Implement IN predicate special exceptions with subselects.
sql/item_subselect.h:
Implement IN predicate special exceptions with subselects.
sql/sql_yacc.yy:
Implement IN predicate special exceptions with subselects, cleanup.
The bug report has demonstrated the following two problems.
1. If an ORDER/GROUP BY list includes a constant expression being
optimized away and, at the same time, containing single-row
subselects that return more that one row, no error is reported.
Strictly speaking the standard allows to ignore error in this case.
Yet, now a corresponding fatal error is reported in this case.
2. If a query requires sorting by expressions containing single-row
subselects that, however, return more than one row, then the execution
of the query may cause a server crash.
To fix this some code has been added that blocks execution of a subselect
item in case of a fatal error in the method Item_subselect::exec.
mysql-test/r/subselect.result:
Added a test cases for bug #24653.
mysql-test/t/subselect.test:
Added a test cases for bug #24653.
sql/filesort.cc:
Fixed bug #24653.
Added a check for fatal error after reading the next row from the table
in the function find_all_keys.
sql/item.cc:
Fixed bug #24653.
Down-ported calculation of the attribute with_subselect of for Item objects.
sql/item.h:
Fixed bug #24653.
Down-ported calculation of the attribute with_subselect of for Item objects.
sql/item_cmpfunc.cc:
Fixed bug #24653.
Down-ported calculation of the attribute with_subselect of for Item objects.
sql/item_cmpfunc.h:
Fixed bug #24653.
Down-ported calculation of the attribute with_subselect of for Item objects.
sql/item_func.cc:
Fixed bug #24653.
Down-ported calculation of the attribute with_subselect of for Item objects.
sql/item_subselect.cc:
Fixed bug #24653.
Added a check for fatal error in the method Item_subselect::exec
to block evaluation of subselects in erroneous situations.
Down-ported calculation of the attribute with_subselect of for Item objects.
sql/sql_select.cc:
Fixed bug #24653.
Added a check to verify that any constant expression used
in ORDER BY and/or GROUP BY lists which is optimized away
does not contain subselects returning more than one row.
If it does a fatal error is reported.
into macbook.gmz:/Users/kgeorge/mysql/work/merge-5.1-opt
mysql-test/r/func_in.result:
Auto merged
mysql-test/r/range.result:
Auto merged
mysql-test/r/select.result:
Auto merged
mysql-test/r/sp-code.result:
Auto merged
mysql-test/r/trigger.result:
Auto merged
mysql-test/r/udf.result:
Auto merged
mysql-test/r/view.result:
Auto merged
mysql-test/t/func_in.test:
Auto merged
mysql-test/t/func_str.test:
Auto merged
mysql-test/t/range.test:
Auto merged
mysql-test/t/select.test:
Auto merged
mysql-test/t/trigger.test:
Auto merged
mysql-test/t/udf.test:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/opt_range.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_insert.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
sql/sql_table.cc:
Auto merged
sql/sql_union.cc:
Auto merged
sql/sql_update.cc:
Auto merged
mysql-test/r/func_str.result:
merge 5.0-opt -> 5.1-opt
mysql-test/r/group_by.result:
merge 5.0-opt -> 5.1-opt
mysql-test/r/insert.result:
merge 5.0-opt -> 5.1-opt
mysql-test/r/subselect.result:
merge 5.0-opt -> 5.1-opt
mysql-test/t/group_by.test:
merge 5.0-opt -> 5.1-opt
mysql-test/t/insert.test:
merge 5.0-opt -> 5.1-opt
mysql-test/t/subselect.test:
merge 5.0-opt -> 5.1-opt
mysql-test/t/view.test:
merge 5.0-opt -> 5.1-opt
sql/item_cmpfunc.h:
merge 5.0-opt -> 5.1-opt
sql/item_strfunc.h:
merge 5.0-opt -> 5.1-opt
UNION over correlated and uncorrelated SELECTS.
In such subqueries each uncorrelated SELECT should be considered as
uncacheable. Otherwise join_free is called for it and in many cases
it causes some problems.
mysql-test/r/subselect.result:
Added a test case for bug #25219.
mysql-test/t/subselect.test:
Added a test case for bug #25219.
sql/mysql_priv.h:
Fixed bug #25219: crash for a query that contains an EXIST subquery with
UNION over correlated and uncorrelated SELECTS.
In such subqueries each uncorrelated SELECT should be considered as
uncacheable. Otherwise join_free is called for it and in many cases
it causes some problems.
Added a new flag UNCACHEABLE_UNITED for such SELECTs.
sql/sql_lex.cc:
Fixed bug #25219: crash for a query that contains an EXIST subquery with
UNION over correlated and uncorrelated SELECTS.
In such subqueries each uncorrelated SELECT should be considered as
uncacheable. Otherwise join_free is called for it and in many cases
it causes some problems.
Added a new flag UNCACHEABLE_UNITED for such SELECTs.
into macbook.local:/Users/kgeorge/mysql/work/merge-5.1-opt
mysql-test/r/distinct.result:
Auto merged
mysql-test/r/gis-rtree.result:
Auto merged
mysql-test/r/ps.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/r/udf.result:
Auto merged
mysql-test/t/gis-rtree.test:
Auto merged
mysql-test/t/ps.test:
Auto merged
mysql-test/t/subselect.test:
Auto merged
mysql-test/t/udf.test:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_subselect.h:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_select.cc:
Auto merged
storage/myisam/mi_check.c:
Auto merged
sql/sql_udf.cc:
SCCS merged
and no WHERE condition were applied for any subquery without tables.
mysql-test/r/subselect.result:
Added a test case for bug #24670.
mysql-test/t/subselect.test:
Added a test case for bug #24670.
sql/item_subselect.cc:
Fixed bug #24670: optimizations that are legal only for subqueries without tables
and no WHERE condition were applied for any subquery without tables.
Removed an assertion that caused an abort for subqueries without tables and no
WHERE condition.
Blocked substitution of a single-row subquery without tables for the constant
row from its select list when the subquery contained a WHERE condition.
This optimization is valid only for subquries without tables with no conditions.
Any subquery without tables with WHERE clause returns NULL if the WHERE condition
is FALSE. Erroneously it was always considered as non-nullable that could trigger
another optimization concerning IS NULL predicates which is applicable only for
non-nullable expressions and ultimately led to a wrong result returned by the outer
query.
Added a proper implementation of the virtual method may_be_null for class
subselect_single_select_engine.
sql/item_subselect.h:
Fixed bug #24670: optimizations that are legal only for subqueries without tables
and no WHERE condition were applied for any subquery without tables.
Made method may_by_null for class subselect_engine vvirtual.
We create Item_cache_* object for each operand for each left operand of
a subquery predicate. We also create Item_func_conv_charset for each string
constant that needs charset conversion. So here we have Item_cache wrapped
into Item_func_conv_charset.
When Item_func_conv_charset wraps an constant Item it gets it's value
in constructor. The problem is that Item_cache is ready to be used only
at execution time, which is too late.
The fix makes Item_cache wrapping constant to get ready at fix_fields() time.
mysql-test/r/subselect.result:
test result
mysql-test/t/subselect.test:
test case
sql/item_cmpfunc.cc:
now Item_optimizer::fix_left will store constant arguments in cache
on fix_fields() stage
into dl145s.mysql.com:/data0/bk/team_tree_merge/MERGE/mysql-5.1-opt
client/mysqltest.c:
Auto merged
libmysql/libmysql.c:
Auto merged
mysql-test/r/information_schema.result:
Auto merged
mysql-test/t/disabled.def:
Auto merged
mysql-test/t/information_schema.test:
Auto merged
mysql-test/t/subselect.test:
Auto merged
mysql-test/t/type_newdecimal.test:
Auto merged
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/filesort.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/opt_range.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.h:
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_table.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql-common/client.c:
Auto merged
sql-common/my_time.c:
Auto merged
sql/table.cc:
Auto merged
strings/decimal.c:
Auto merged
into dl145s.mysql.com:/data0/bk/team_tree_merge/MERGE/mysql-5.0-opt
libmysql/libmysql.c:
Auto merged
mysql-test/t/subselect.test:
Auto merged
mysql-test/t/type_newdecimal.test:
Auto merged
sql/filesort.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql-common/client.c:
Auto merged
sql/sql_select.cc:
Auto merged
sql/table.cc:
Auto merged
sql-common/my_time.c:
Auto merged
strings/decimal.c:
Auto merged
into mysql.com:/home/hf/work/mysql-5.1-mrg
BitKeeper/deleted/.del-bdb-deadlock.test:
Auto merged
Makefile.am:
Auto merged
include/mysql.h:
Auto merged
libmysqld/lib_sql.cc:
Auto merged
mysql-test/include/deadlock.inc:
Auto merged
mysql-test/r/order_by.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/r/type_newdecimal.result:
Auto merged
mysql-test/t/disabled.def:
Auto merged
mysql-test/t/flush.test:
Auto merged
mysql-test/t/flush_block_commit.test:
Auto merged
mysql-test/t/innodb-lock.test:
Auto merged
mysql-test/t/lock_multi.test:
Auto merged
mysql-test/t/rename.test:
Auto merged
mysql-test/t/show_check.test:
Auto merged
mysql-test/t/status.test:
Auto merged
mysql-test/t/subselect.test:
Auto merged
mysql-test/t/type_newdecimal.test:
Auto merged
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/filesort.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_subselect.h:
Auto merged
sql/item_sum.cc:
Auto merged
sql/item_sum.h:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/item_timefunc.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql-common/my_time.c:
Auto merged
sql/table.cc:
Auto merged
client/mysqltest.c:
merging
include/my_time.h:
merging
libmysql/libmysql.c:
merging
mysql-test/t/order_by.test:
merging
sql/sql_yacc.yy:
merging
into mysql.com:/home/hf/work/mysql-5.0-0mrg
BitKeeper/deleted/.del-mysql_client.test:
Auto merged
include/mysql.h:
Auto merged
libmysqld/lib_sql.cc:
Auto merged
mysql-test/r/order_by.result:
Auto merged
mysql-test/r/query_cache.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/r/type_newdecimal.result:
Auto merged
mysql-test/t/flush.test:
Auto merged
mysql-test/t/flush_block_commit.test:
Auto merged
mysql-test/t/innodb-deadlock.test:
Auto merged
mysql-test/t/innodb-lock.test:
Auto merged
mysql-test/t/lock_multi.test:
Auto merged
mysql-test/t/mysql.test:
Auto merged
mysql-test/t/query_cache.test:
Auto merged
mysql-test/t/rename.test:
Auto merged
mysql-test/t/show_check.test:
Auto merged
mysql-test/t/status.test:
Auto merged
mysql-test/t/subselect.test:
Auto merged
mysql-test/t/type_newdecimal.test:
Auto merged
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/handler.cc:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_subselect.h:
Auto merged
sql/item_sum.cc:
Auto merged
sql/item_sum.h:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/item_timefunc.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/protocol.cc:
Auto merged
sql/protocol.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.h:
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_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.cc:
Auto merged
sql-common/client.c:
Auto merged
sql-common/my_time.c:
Auto merged
Makefile.am:
merging
client/mysqltest.c:
merging
include/my_time.h:
merging
libmysql/libmysql.c:
merging
mysql-test/t/order_by.test:
merging
into mysql.com:/home/hf/work/mysql-4.1-mrg
include/mysql.h:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/t/rename.test:
Auto merged
mysql-test/t/subselect.test:
Auto merged
sql-common/client.c:
Auto merged
sql/sql_class.h:
Auto merged
Makefile.am:
merging
client/mysqltest.c:
merging
mysql-test/t/mysql_client.test:
merging
- When returning metadata for scalar subqueries the actual type of the
column was calculated based on the value type, which limits the actual
type of a scalar subselect to the set of (currently) 3 basic types :
integer, double precision or string. This is the reason that columns
of types other then the basic ones (e.g. date/time) are reported as
being of the corresponding basic type.
Fixed by storing/returning information for the column type in addition
to the result type.
mysql-test/r/subselect.result:
Bug #11032: getObject() returns a String for a sub-query of type datetime
- test case
mysql-test/t/subselect.test:
Bug #11032: getObject() returns a String for a sub-query of type datetime
- test case
sql/item_subselect.cc:
Bug #11032: getObject() returns a String for a sub-query of type datetime
- store and return the field type as well in addition to result type for
single row subqueries
sql/item_subselect.h:
Bug #11032: getObject() returns a String for a sub-query of type datetime
- store and return the field type as well in addition to result type for
single row subqueries
into rurik.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug21727
mysql-test/r/subselect.result:
Auto merged
mysql-test/t/subselect.test:
Auto merged
sql/filesort.cc:
Auto merged
sql/item_subselect.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/records.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/table.cc:
Auto merged
This is a performance issue for queries with subqueries evaluation
of which requires filesort.
Allocation of memory for the sort buffer at each evaluation of a
subquery may take a significant amount of time if the buffer is rather big.
With the fix we allocate the buffer at the first evaluation of the
subquery and reuse it at each subsequent evaluation.
mysql-test/r/subselect.result:
Added a test case for bug #21727.
mysql-test/t/subselect.test:
Added a test case for bug #21727.
sql/item_subselect.h:
Fixed bug #21727.
This is a performance issue for queries with subqueries evaluation
of which requires filesort.
Added an implementation for Item_subselect::is_uncacheable()
returning TRUE if the engine if the subselect is uncacheable.
sql/mysql_priv.h:
Fixed bug #21727.
This is a performance issue for queries with subqueries evaluation
of which requires filesort.
Added a new boolean parameter to the filesort_free_buffers procedure.
If the value of this parameter is TRUE the procedure frees the sort_keys
buffpek buffers.
sql/records.cc:
Fixed bug #21727.
This is a performance issue for queries with subqueries evaluation
of which requires filesort.
Added a new boolean parameter to the filesort_free_buffers procedure.
If the value of this parameter is TRUE the procedure frees the sort_keys
buffpek buffers.
sql/sql_base.cc:
Fixed bug #21727.
Made sure that st_table::pos_in_table_list would be always initialized.
sql/sql_select.cc:
Fixed bug #21727.
This is a performance issue for queries with subqueries evaluation
of which requires filesort.
Added a new boolean parameter to the filesort_free_buffers procedure.
If the value of this parameter is TRUE the procedure frees the sort_keys
buffpek buffers.
sql/sql_show.cc:
Fixed bug #21727.
This is a performance issue for queries with subqueries evaluation
of which requires filesort.
Added a new boolean parameter to the filesort_free_buffers procedure.
If the value of this parameter is TRUE the procedure frees the sort_keys
buffpek buffers.
sql/sql_table.cc:
Fixed bug #21727.
This is a performance issue for queries with subqueries evaluation
of which requires filesort.
Cleanup.
sql/table.cc:
Fixed bug #21727.
This is a performance issue for queries with subqueries evaluation
of which requires filesort.
Added st_table_list::in_subselect() returning for a table the subselect that
contains the FROM list this table is taken from (if there is any).
sql/table.h:
Fixed bug #21727.
This is a performance issue for queries with subqueries evaluation
of which requires filesort.
Added fields for sort_keys and buffpek buffers to the FILESORT_INFO structure.
into siva.hindu.god:/usr/home/tim/m/bk/50
configure.in:
Auto merged
mysql-test/r/rename.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/r/view.result:
Auto merged
mysql-test/t/subselect.test:
Auto merged
mysql-test/t/view.test:
Auto merged
mysys/mf_iocache.c:
Auto merged
sql/item_func.cc:
Auto merged
sql/opt_range.cc:
Auto merged
sql/opt_range.h:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/table.cc:
Auto merged
myisam/sort.c:
Manual merge
mysql-test/r/innodb_mysql.result:
Manual merge
mysql-test/t/innodb_mysql.test:
Manual merge
If elements a not top-level IN subquery were accessed by an index and
the subquery result set included a NULL value then the quantified
predicate that contained the subquery was evaluated to NULL when
it should return a non-null value.
mysql-test/r/subselect.result:
Added a test case for bug #23478.
mysql-test/t/subselect.test:
Added a test case for bug #23478.
into macbook.gmz:/Users/kgeorge/mysql/work/B21798-5.0-opt-merge
sql/mysql_priv.h:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_update.cc:
Auto merged
mysql-test/r/subselect.result:
merge fixes for bug 21798
mysql-test/t/subselect.test:
merge fixes for bug 21798
list using a function
When executing dependent subqueries they are re-inited and re-exec() for
each row of the outer context.
The cause for the bug is that during subquery reinitialization/re-execution,
the optimizer reallocates JOIN::join_tab, JOIN::table in make_simple_join()
and the local variable in 'sortorder' in create_sort_index(), which is
allocated by make_unireg_sortorder().
Care must be taken not to allocate anything into the thread's memory pool
while re-initializing query plan structures between subquery re-executions.
All such items mush be cached and reused because the thread's memory pool
is freed at the end of the whole query.
Note that they must be cached and reused even for queries that are not
otherwise cacheable because otherwise it will grow the thread's memory
pool every time a cacheable query is re-executed.
We provide additional members to the JOIN structure to store references
to the items that need to be cached.
mysql-test/r/subselect.result:
Bug#21798: memory leak during query execution with subquery in column
list using a function
- test case
mysql-test/t/subselect.test:
Bug#21798: memory leak during query execution with subquery in column
list using a function
- test case
sql/mysql_priv.h:
Bug#21798: memory leak during query execution with subquery in column
list using a function
- cache the entities allocated in the threads memory pool by
JOIN::exec ().
sql/sql_delete.cc:
Bug#21798: memory leak during query execution with subquery in column
list using a function
- cache the SORT_ORDER, TABLE * and JOIN_TAB allocated in the thread's
memory pool by JOIN::exec ().
sql/sql_select.cc:
Bug#21798: memory leak during query execution with subquery in column
list using a function
- cache the SORT_ORDER, TABLE * and JOIN_TAB allocated in the thread's
memory pool by JOIN::exec ().
sql/sql_select.h:
Bug#21798: memory leak during query execution with subquery in column
list using a function
- cache the SORT_ORDER, TABLE * and JOIN_TAB allocated in the thread's
memory pool by JOIN::exec ().
sql/sql_table.cc:
Bug#21798: memory leak during query execution with subquery in column
list using a function
- cache the SORT_ORDER, TABLE * and JOIN_TAB allocated in the thread's
memory pool by JOIN::exec ().
sql/sql_update.cc:
Bug#21798: memory leak during query execution with subquery in column
list using a function
- cache the SORT_ORDER, TABLE * and JOIN_TAB allocated in the thread's
memory pool by JOIN::exec ().
into neptunus.(none):/home/msvensson/mysql/mysql-4.1-maint
mysql-test/r/subselect.result:
Auto merged
mysql-test/t/ps.test:
Auto merged
mysql-test/t/subselect.test:
Auto merged
into neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
mysql-test/r/mysqltest.result:
Auto merged
mysql-test/r/ps_2myisam.result:
Auto merged
mysql-test/r/ps_3innodb.result:
Auto merged
mysql-test/r/ps_4heap.result:
Auto merged
mysql-test/r/ps_5merge.result:
Auto merged
BitKeeper/deleted/.del-mtr_stress.pl:
Auto merged
mysql-test/r/ps_6bdb.result:
Auto merged
mysql-test/r/ps_7ndb.result:
Auto merged
mysql-test/r/query_cache.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/t/mysqltest.test:
Auto merged
mysql-test/t/ps.test:
Auto merged
mysql-test/t/sp.test:
Auto merged
mysql-test/t/subselect.test:
Auto merged
BitKeeper/deleted/.del-mtr_im.pl:
Delete: mysql-test/lib/mtr_im.pl
client/mysqltest.c:
Use remote
mysql-test/mysql-test-run.pl:
Use remote
mysql-test/lib/mtr_process.pl:
Use remote
into shellback.(none):/home/msvensson/mysql/same_tools/my50-same_tools
mysql-test/include/ps_query.inc:
Auto merged
mysql-test/r/check.result:
Auto merged
mysql-test/r/connect.result:
Auto merged
mysql-test/r/flush.result:
Auto merged
mysql-test/r/flush_block_commit.result:
Auto merged
mysql-test/r/func_misc.result:
Auto merged
mysql-test/r/lock_multi.result:
Auto merged
mysql-test/r/mix_innodb_myisam_binlog.result:
Auto merged
mysql-test/r/ps_2myisam.result:
Auto merged
mysql-test/r/ps_3innodb.result:
Auto merged
mysql-test/r/ps_4heap.result:
Auto merged
mysql-test/r/ps_5merge.result:
Auto merged
mysql-test/r/ps_6bdb.result:
Auto merged
mysql-test/r/ps_7ndb.result:
Auto merged
mysql-test/r/rename.result:
Auto merged
mysql-test/r/rpl000001.result:
Auto merged
mysql-test/r/rpl_error_ignored_table.result:
Auto merged
mysql-test/r/rpl_master_pos_wait.result:
Auto merged
BitKeeper/deleted/.del-rpl000018.test:
Auto merged
BitKeeper/deleted/.del-rpl_heap.test:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/r/synchronization.result:
Auto merged
mysql-test/t/ps.test:
Auto merged
mysql-test/t/ps_1general.test:
Auto merged
mysql-test/t/ps_grant.test:
Auto merged
mysql-test/t/rpl_flush_tables.test:
Auto merged
mysql-test/t/rpl_trunc_temp.test:
Auto merged
mysql-test/t/subselect.test:
Auto merged
BitKeeper/deleted/.del-show_msg80.inc:
Delete: mysql-test/include/show_msg80.inc
BitKeeper/deleted/.del-init_file.result:
Delete: mysql-test/r/init_file.result
BitKeeper/deleted/.del-mysql_client_test.result:
Delete: mysql-test/r/mysql_client_test.result
BitKeeper/deleted/.del-show_msg.inc:
Delete: mysql-test/include/show_msg.inc
client/Makefile.am:
Use local file
client/mysqltest.c:
Use backported version of mysqltest
mysql-test/r/mysqltest.result:
Use backported file
mysql-test/t/mysqltest.test:
Use backported version
mysql-test/r/type_blob.result:
Manual merge
mysql-test/t/connect.test:
Used local version
mysql-test/t/init_file.test:
Manual merge
mysql-test/t/mysql_client_test.test:
Manual merge
mysql-test/t/type_blob.test:
Manual merge
- ie. backport from 5.1
- also update testcase error dected by new version
mysql-test/include/show_msg.inc:
BitKeeper file /home/msvensson/mysql/same_tools/my41-same_tools/mysql-test/include/show_msg.inc
mysql-test/include/show_msg80.inc:
BitKeeper file /home/msvensson/mysql/same_tools/my41-same_tools/mysql-test/include/show_msg80.inc
BitKeeper/deleted/.del-rpl_chain_temp_table.test:
Delete: mysql-test/t/rpl_chain_temp_table.test
BitKeeper/deleted/.del-rpl_chain_temp_table.result:
Delete: mysql-test/r/rpl_chain_temp_table.result
BitKeeper/deleted/.del-rpl_failsafe.result:
Delete: mysql-test/r/rpl_failsafe.result
BitKeeper/deleted/.del-rpl_failsafe.test:
Delete: mysql-test/t/rpl_failsafe.test
BitKeeper/deleted/.del-rpl_heap.test:
Delete: mysql-test/t/rpl_heap.test
BitKeeper/deleted/.del-rpl_heap.result:
Delete: mysql-test/r/rpl_heap.result
BitKeeper/deleted/.del-rpl000018.result:
Delete: mysql-test/r/rpl000018.result
BitKeeper/deleted/.del-rpl000018.test:
Delete: mysql-test/t/rpl000018.test
client/Makefile.am:
Link mysqltest with mysys/my_copy.c
client/mysqltest.c:
Update mysqltest to latest version
mysql-test/include/have_multi_ndb.inc:
Remove old syntax "@filename" in favor of "--require filename"
mysql-test/include/master-slave.inc:
Remove old syntax "@filename" in favor of "--require filename"
mysql-test/include/ps_query.inc:
Remove the comment about no output now when it does.
mysql-test/r/check.result:
Update output from --send
mysql-test/r/connect.result:
Update result file for connect test after backport form 5.1
mysql-test/r/flush.result:
Update output from --send
mysql-test/r/flush_block_commit.result:
Update output from --send
mysql-test/r/func_misc.result:
Update output from --send
mysql-test/r/grant2.result:
Update output from --send
mysql-test/r/handler.result:
Update output from --send
mysql-test/r/kill.result:
Update output from --send
mysql-test/r/lock_multi.result:
Update output from --send
mysql-test/r/mix_innodb_myisam_binlog.result:
Update output from --send
mysql-test/r/mysqltest.result:
Update mysqltest.result after backport
mysql-test/r/ps_2myisam.result:
Update result as the output from query is now printed
mysql-test/r/ps_3innodb.result:
Update result as the output from query is now printed
mysql-test/r/ps_4heap.result:
Update result as the output from query is now printed
mysql-test/r/ps_5merge.result:
Update result as the output from query is now printed
mysql-test/r/ps_6bdb.result:
Update result as the output from query is now printed
mysql-test/r/ps_7ndb.result:
Update result as the output from query is now printed
mysql-test/r/rename.result:
Update output from --send
mysql-test/r/rpl000001.result:
Update output from --send
mysql-test/r/rpl_error_ignored_table.result:
Update output from --send
mysql-test/r/rpl_master_pos_wait.result:
Update output from --send
mysql-test/r/subselect.result:
Update result file after adding missing ;
mysql-test/r/synchronization.result:
Update output from --send
mysql-test/r/type_blob.result:
Update result file after adding missing ;
mysql-test/t/connect.test:
Backport test from 5.1
mysql-test/t/init_file.test:
Update test so something is printed
mysql-test/t/mysql_client_test.test:
Update test so result is sent to file and something is printed
mysql-test/t/mysqltest.test:
Backport latest mysqltest.test file
mysql-test/t/ps.test:
Move the --replace_column statement to just before the statetement it should replace
mysql-test/t/ps_1general.test:
Move the --replace_column statement to just before the statetement it should replace
mysql-test/t/ps_grant.test:
Remove the $DB, no other test uses it
mysql-test/t/rpl_flush_tables.test:
Fetch $SERVER_VERSION from the db server
mysql-test/t/rpl_trunc_temp.test:
Remove the selection of connection master after it's been disconnected already
mysql-test/t/subselect.test:
Add missing ;
mysql-test/t/type_blob.test:
Add missing ;
an ALL/ANY quantified subquery in HAVING.
The Item::split_sum_func2 method should not create Item_ref
for objects of any class derived from Item_subselect.
mysql-test/r/subselect.result:
Added a test case for bug #21853.
mysql-test/t/subselect.test:
Added a test case for bug #21853.
into macbook.gmz:/Users/kgeorge/mysql/work/B21180-4.1-opt
mysql-test/r/subselect.result:
merge of 4.1-opt
mysql-test/t/subselect.test:
merge of 4.1-opt
sql/opt_range.h:
merge of 4.1-opt
wrong results
Mark the containing Item(s) (Item_subselect descendant usually) of
a subselect as containing aggregate functions if it has references
to aggregates functions that are calculated outside its context.
This tels end_send_group() not to make an Item_subselect descendant in
select list a copy and causes the correct value being returned.
mysql-test/r/func_group.result:
Bug #21540: Subqueries with no from and aggregate functions return
wrong results
- test cases
mysql-test/r/subselect.result:
Bug #21540: Subqueries with no from and aggregate functions return
wrong results
- fixed the result of an existing testcase.
mysql-test/t/subselect.test:
Bug #21540: Subqueries with no from and aggregate functions return
wrong results
- test cases
sql/item_sum.cc:
Bug #21540: Subqueries with no from and aggregate functions return
wrong results
Mark the containing Item (Item_subselect descendant usually) of
a subselect as containing aggregate functions if it has references
to aggregates functions that are calculated outside its context.
This tels end_send_group() not to make an Item_subselect descendant in
select list a copy and causes the correct value being returned.
into rakia.(none):/home/kgeorge/mysql/autopush/B14654-5.0-opt
mysql-test/r/subselect.result:
Auto merged
mysql-test/t/subselect.test:
Auto merged
sql/sql_yacc.yy:
Auto merged
Made the parser to support parenthesis around UNION branches.
This is done by amending the rules of the parser so it generates the correct
structure.
Currently it supports arbitrary subquery/join/parenthesis operations in the
EXISTS clause.
In the IN/scalar subquery case it will allow adding nested parenthesis only
if there is an UNION clause after the parenthesis. Otherwise it will just
treat the multiple nested parenthesis as a scalar expression.
It adds extra lex level for ((SELECT ...) UNION ...) to accommodate for the
UNION clause.
mysql-test/r/subselect.result:
Bug#14654 : Cannot select from the same table twice within a UNION statement
- test cases
mysql-test/t/subselect.test:
Bug#14654 : Cannot select from the same table twice within a UNION statement
- test cases
sql/sql_yacc.yy:
Bug#14654 : Cannot select from the same table twice within a UNION statement
- shuffle around the rules for the parenthesis in subselect
Must not use Item_direct_ref in HAVING because it points to
the new value (witch is not yet calculated for the first row).
mysql-test/r/subselect.result:
Bug #16255: Subquery in where
- test case
mysql-test/t/subselect.test:
Bug #16255: Subquery in where
- test case
sql/item_subselect.cc:
Bug #16255: Subquery in where
Must not use Item_direct_ref in HAVING because it points to
the new value (witch is not yet calculated for the first row).
Reseting subqueries with "quick" access methods was incomplete.
Partially backported the correct reseting of QUICK_SELECTs from 5.x.
mysql-test/r/subselect.result:
Bug #21180: Subselect with index for both WHERE and ORDER BY produces empty result
- test case
mysql-test/t/subselect.test:
Bug #21180: Subselect with index for both WHERE and ORDER BY produces empty result
- test case
sql/opt_range.cc:
Bug #21180: Subselect with index for both WHERE and ORDER BY produces empty result
- partially backported the correct reseting of QUICK_SELECTs from 5.x.
sql/opt_range.h:
Bug #21180: Subselect with index for both WHERE and ORDER BY produces empty result
- partially backported the correct reseting of QUICK_SELECTs from 5.x.
into mysql.com:/home/psergey/mysql-5.0-opt
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_subselect.h:
Auto merged
sql/sql_parse.cc:
Auto merged
mysql-test/r/subselect.result:
Manual merge
mysql-test/t/subselect.test:
Manual merge
sql/mysql_priv.h:
Manual merge
The bug caused a crash of the server if a subquery with
ORDER BY DESC used the range access method.
The bug happened because the method QUICK_SELECT_DESC::reset
was not reworked after MRR interface had been introduced.
mysql-test/r/subselect.result:
Added a test case for bug #20869.
mysql-test/t/subselect.test:
Added a test case for bug #20869.
The bug was due to a loss happened during a refactoring made
on May 30 2005 that modified the function JOIN::reinit.
As a result of it for any subquery the value of offset_limit_cnt
was not restored for the following executions. Yet the first
execution of the subquery made it equal to 0.
The fix restores this value in the function JOIN::reinit.
mysql-test/r/subselect.result:
Added a test case fir bug #20519.
mysql-test/t/subselect.test:
Added a test case fir bug #20519.
into moonbone.local:/work/tmp_merge-5.0-opt-mysql
sql/item_subselect.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_select.cc:
Auto merged
mysql-test/r/subselect.result:
Manual merge
mysql-test/t/subselect.test:
Manual merge
may return a wrong result.
An Item_sum_hybrid object has the was_values flag which indicates whether any
values were added to the sum function. By default it is set to true and reset
to false on any no_rows_in_result() call. This method is called only in
return_zero_rows() function. An ALL/ANY subquery can be optimized by MIN/MAX
optimization. The was_values flag is used to indicate whether the subquery
has returned at least one row. This bug occurs because return_zero_rows() is
called only when we know that the select will return zero rows before
starting any scans but often such information is not known.
In the reported case the return_zero_rows() function is not called and
the was_values flag is not reset to false and yet the subquery return no rows
Item_func_not_all and Item_func_nop_all functions return a wrong
comparison result.
The end_send_group() function now calls no_rows_in_result() for each item
in the fields_list if there is no rows were found for the (sub)query.
mysql-test/t/subselect.test:
Added test case for bug#18503: Queries with a quantified subquery returning empty set may return a wrong result.
mysql-test/r/subselect.result:
Added test case for bug#18503: Queries with a quantified subquery returning empty set may return a wrong result.
sql/sql_select.cc:
Fixed bug#18503: Queries with a quantified subquery returning empty set may return a wrong result.
The end_send_group() function now calls no_rows_in_result() for each item
in the fields_list if there is no matching rows were found.
The ALL/ANY subqueries are the subject of MIN/MAX optimization. The matter
of this optimization is to embed MIN() or MAX() function into the subquery
in order to get only one row by which we can tell whether the expression
with ALL/ANY subquery is true or false.
But when it is applied to a subquery like 'select a_constant' the reported bug
occurs. As no tables are specified in the subquery the do_select() function
isn't called for the optimized subquery and thus no values have been added
to a MIN()/MAX() function and it returns NULL instead of a_constant.
This leads to a wrong query result.
For the subquery like 'select a_constant' there is no reason to apply
MIN/MAX optimization because the subquery anyway will return at most one row.
Thus the Item_maxmin_subselect class is more appropriate for handling such
subqueries.
The Item_in_subselect::single_value_transformer() function now checks
whether tables are specified for the subquery. If no then this subselect is
handled like a UNION using an Item_maxmin_subselect object.
mysql-test/t/subselect.test:
Added test case for bug#16302: Quantified subquery without any tables gives wrong results
mysql-test/r/subselect.result:
Added test case for bug#16302: Quantified subquery without any tables gives wrong results
sql/item_subselect.cc:
Fixed bug#16302: Quantified subquery without any tables gives wrong results
The Item_in_subselect::single_value_transformer() function now checks
whether tables are specified for the subquery. If no then this subselect is
handled like a UNION using an Item_maxmin_subselect object.
The unsigned flag in Item was not propagated through the single value subqueries.
This caused the result to be treated as signed.
mysql-test/r/subselect.result:
Added testcases for bug #19700
mysql-test/t/subselect.test:
Added testcases for bug #19700
sql/item.h:
Preserved the unsigned flag in Item_subselect
sql/item_subselect.cc:
Preserved the unsigned flag in Item_subselect
The convert_constant_item() function converts constant items to ints on
prepare phase to optimize execution speed. In this case it tries to evaluate
subselect which contains a derived table and is contained in a derived table.
All derived tables are filled only after all derived tables are prepared.
So evaluation of subselect with derived table at the prepare phase will
return a wrong result.
A new flag with_subselect is added to the Item class. It indicates that
expression which this item represents is a subselect or contains a subselect.
It is set to 0 by default. It is set to 1 in the Item_subselect constructor
for subselects.
For Item_func and Item_cond derived classes it is set after fixing any argument
in Item_func::fix_fields() and Item_cond::fix_fields accordingly.
The convert_constant_item() function now doesn't convert a constant item
if the with_subselect flag set in it.
mysql-test/t/view.test:
Added test case for bug#19077: A nested materialized derived table is used before being populated.
mysql-test/t/subselect.test:
Added test case for bug#19077: A nested materialized derived table is used before being populated.
mysql-test/r/view.result:
Added test case for bug#19077: A nested materialized derived table is used before being populated.
mysql-test/r/subselect.result:
Added test case for bug#19077: A nested materialized derived table is used before being populated.
sql/item_subselect.cc:
Fixed bug#19077: A nested materialized derived table is used before being populated.
The Item_subselect class constructor sets new with_subselect flag to 1.
sql/item_func.cc:
Fixed bug#19077: A nested materialized derived table is used before being populated.
The Item_func::fix_fields() sets new with_subselect flag from with_subselect flags of its arguments.
sql/item_cmpfunc.cc:
Fixed bug#19077: A nested materialized derived table is used before being populated.
The convert_constant_item() function now doesn't convert a constant item
with the with_subselect flag set.
The Item_cond::fix_fields() sets new with_subselect flag from with_subselect flags of its arguments.
sql/item.cc:
Fixed bug#19077: A nested materialized derived table is used before being populated.
Set new with_subselect flag to default value - 0 in the Item constructor.
sql/item.h:
Fixed bug#19077: A nested materialized derived table is used before being populated.
A new flag with_subselect is added to the Item class. It indicates that
expression which this item represents is a subselect or contains a subselect.
It is set to 0 by default.
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
mysql-test/r/subselect.result:
Fix for bug #18306: MySQL crashes and restarts using subquery
test case
mysql-test/t/subselect.test:
Fix for bug #18306: MySQL crashes and restarts using subquery
test case
sql/opt_range.cc:
Fix for bug #18306: MySQL crashes and restarts using subquery
Restore thd->mem_root because
during the cond->val_int() evaluation we can come across a subselect
item which may allocate memory on the thd->mem_root and assumes
all the memory allocated has the same life span as the subselect
item itself.
When there is conjunction of conds, the substitute_for_best_equal_field()
will call the eliminate_item_equal() function in loop to build final
expression. But if eliminate_item_equal() finds that some cond will always
evaluate to 0, then that cond will be substituted by Item_int with value ==
0. In this case on the next iteration eliminate_item_equal() will get that
Item_int and treat it as Item_cond. This is leads to memory corruption and
server crash on cleanup phase.
To the eliminate_item_equal() function was added DBUG_ASSERT for checking
that all items treaten as Item_cond are really Item_cond.
The substitute_for_best_equal_field() now checks that if
eliminate_item_equal() returns Item_int and it's value is 0 then this
value is returned as the result of whole conjunction.
mysql-test/t/subselect.test:
Added test for bug#17366: Unchecked Item_int results in server crash
mysql-test/r/subselect.result:
Added test for bug#17366: Unchecked Item_int results in server crash
sql/sql_select.cc:
Fixed bug#17366: Unchecked Item_int results in server crash
To the eliminate_item_equal() function was added DBUG_ASSERT for checking
that all items treaten as Item_cond are really Item_cond.
The substitute_for_best_equal_field() now checks that if
eliminate_item_equal() returns something other than Item_cond and if it is
then this value is returned as the result of whole conjunction.
(Needed for "list of pushes" web page and autopush)
include/mysql.h:
Fix to embedded server to be able to run tests on it
libmysql/libmysql.c:
Fix to embedded server to be able to run tests on it
libmysqld/emb_qcache.cc:
Fix to embedded server to be able to run tests on it
libmysqld/embedded_priv.h:
Fix to embedded server to be able to run tests on it
libmysqld/lib_sql.cc:
Fix to embedded server to be able to run tests on it
libmysqld/libmysqld.c:
Fix to embedded server to be able to run tests on it
mysql-test/mysql-test-run.sh:
Fix to embedded server to be able to run tests on it
mysql-test/r/binlog.result:
Updated test for embedded server
mysql-test/r/ctype_cp932.result:
Updated test for embedded server
mysql-test/r/innodb.result:
Updated test for embedded server
mysql-test/r/mysqltest.result:
Updated test for embedded server
mysql-test/r/query_cache.result:
Updated test for embedded server
mysql-test/r/query_cache_notembedded.result:
Updated test for embedded server
mysql-test/r/sp-error.result:
Updated test for embedded server
mysql-test/r/sp.result:
Updated test for embedded server
mysql-test/r/subselect.result:
Updated test for embedded server
mysql-test/r/view.result:
Updated test for embedded server
mysql-test/r/view_grant.result:
Updated test for embedded server
mysql-test/t/backup.test:
Updated test for embedded server
mysql-test/t/binlog.test:
Updated test for embedded server
mysql-test/t/blackhole.test:
Updated test for embedded server
mysql-test/t/compress.test:
Updated test for embedded server
mysql-test/t/ctype_cp932.test:
Updated test for embedded server
mysql-test/t/delayed.test:
Updated test for embedded server
mysql-test/t/handler.test:
Updated test for embedded server
mysql-test/t/innodb.test:
Updated test for embedded server
mysql-test/t/mysql.test:
Updated test for embedded server
mysql-test/t/mysql_client_test.test:
Updated test for embedded server
mysql-test/t/mysqltest.test:
Updated test for embedded server
mysql-test/t/query_cache.test:
Updated test for embedded server
mysql-test/t/query_cache_notembedded.test:
Updated test for embedded server
mysql-test/t/read_only.test:
Updated test for embedded server
mysql-test/t/skip_grants.test:
Updated test for embedded server
mysql-test/t/sp-destruct.test:
Updated test for embedded server
mysql-test/t/sp-error.test:
Updated test for embedded server
mysql-test/t/sp-threads.test:
Updated test for embedded server
mysql-test/t/sp.test:
Updated test for embedded server
mysql-test/t/subselect.test:
Updated test for embedded server
mysql-test/t/temp_table.test:
Updated test for embedded server
mysql-test/t/view.test:
Updated test for embedded server
mysql-test/t/view_grant.test:
Updated test for embedded server
mysql-test/t/wait_timeout.test:
Updated test for embedded server
mysys/mf_dirname.c:
Review fix: Don't access data outside of array
mysys/my_bitmap.c:
Remove compiler warnings
scripts/mysql_fix_privilege_tables.sql:
Add flush privileges to .sql script so that one doesn't have to reboot mysqld when one runs the mysql_fix_privilege_script
sql-common/client.c:
Updated test for embedded server
sql/item.cc:
Remove DBUG_PRINT statement that can cause crashes when running with --debug
sql/mysqld.cc:
Fix to embedded server to be able to run tests on it
sql/protocol.cc:
Fix to embedded server to be able to run tests on it
(Trivial reconstruction of code)
sql/protocol.h:
Fix to embedded server to be able to run tests on it
sql/sql_base.cc:
Better comment
sql/sql_class.cc:
Fix to embedded server to be able to run tests on it
sql/sql_class.h:
Fix to embedded server to be able to run tests on it
sql/sql_cursor.cc:
Fix to embedded server to be able to run tests on it
sql/sql_parse.cc:
Fix to embedded server to be able to run tests on it
Don't crash for disabled commands when using embedded server
sql/sql_prepare.cc:
Fix to embedded server to be able to run tests on it
mysql-test/r/ctype_cp932_notembedded.result:
New BitKeeper file ``mysql-test/r/ctype_cp932_notembedded.result''
mysql-test/r/innodb_notembedded.result:
New BitKeeper file ``mysql-test/r/innodb_notembedded.result''
mysql-test/r/sp.result.orig:
New BitKeeper file ``mysql-test/r/sp.result.orig''
mysql-test/r/sp_notembedded.result:
New BitKeeper file ``mysql-test/r/sp_notembedded.result''
mysql-test/r/subselect_notembedded.result:
New BitKeeper file ``mysql-test/r/subselect_notembedded.result''
mysql-test/t/ctype_cp932_notembedded.test:
New BitKeeper file ``mysql-test/t/ctype_cp932_notembedded.test''
mysql-test/t/innodb_notembedded.test:
New BitKeeper file ``mysql-test/t/innodb_notembedded.test''
mysql-test/t/sp.test.orig:
New BitKeeper file ``mysql-test/t/sp.test.orig''
mysql-test/t/sp_notembedded.test:
New BitKeeper file ``mysql-test/t/sp_notembedded.test''
mysql-test/t/subselect_notembedded.test:
New BitKeeper file ``mysql-test/t/subselect_notembedded.test''
A subquery transformation changes the HAVING clause of the embedding query if the subquery contains
a GROUP BY clause. Yet the split_sum_func2 function was not applied to the modified HAVING clause.
This could result in wrong answers.
mysql-test/r/subselect.result:
Added a test case for bug #16603.
mysql-test/t/subselect.test:
Added a test case for bug #16603.
allowed set functions aggregated in outer subqueries, allowed nested set functions.
mysql-test/r/func_gconcat.result:
Changed a query when fixing bug #12762.
mysql-test/r/subselect.result:
Added test cases for bug #12762.
Allowed set functions aggregated in outer subqueries. Allowed nested set functions.
mysql-test/t/func_gconcat.test:
Changed a query when fixing bug #12762.
mysql-test/t/subselect.test:
Added test cases for bug #12762.
Allowed set functions aggregated in outer subqueries. Allowed nested set functions.
sql/item.cc:
Fixed bug #12762:
allowed set functions aggregated in outer subqueries, allowed nested set functions.
Added a parameter to Item::split_sum_func2 aliowing to defer splitting for set functions
aggregated in outer subquries.
Changed Item_field::fix_fields to calculate attributes used when checking context conditions
for set functions.
Allowed alliases for set functions defined in outer subqueries.
sql/item.h:
Fixed bug #12762:
allowed set functions aggregated in outer subqueries, allowed nested set functions.
Added a parameter to Item::split_sum_func2 aliowing to defer splitting for set functions
aggregated in outer subquries.
sql/item_cmpfunc.cc:
Fixed bug #12762:
allowed set functions aggregated in outer subqueries, allowed nested set functions.
Added a parameter to Item::split_sum_func2 aliowing to defer splitting for set functions
aggregated in outer subquries.
sql/item_func.cc:
Fixed bug #12762:
allowed set functions aggregated in outer subqueries, allowed nested set functions.
Added a parameter to Item::split_sum_func2 aliowing to defer splitting for set functions
aggregated in outer subquries.
sql/item_row.cc:
Fixed bug #12762:
allowed set functions aggregated in outer subqueries, allowed nested set functions.
Added a parameter to Item::split_sum_func2 aliowing to defer splitting for set functions
aggregated in outer subquries.
sql/item_strfunc.cc:
Fixed bug #12762:
allowed set functions aggregated in outer subqueries, allowed nested set functions.
Added a parameter to Item::split_sum_func2 aliowing to defer splitting for set functions
aggregated in outer subquries.
sql/item_subselect.cc:
Fixed bug #12762:
allowed set functions aggregated in outer subqueries, allowed nested set functions.
Introduced next levels for subqueries and a bitmap of nesting levels showing
in what subqueries a set function can be aggregated.
sql/item_sum.cc:
Fixed bug #12762:
allowed set functions aggregated in outer subqueries, allowed nested set functions.
Added Item_sum methods to check context conditions imposed on set functions.
sql/item_sum.h:
Fixed bug #12762:
allowed set functions aggregated in outer subqueries, allowed nested set functions.
Added Item_sum methods to check context conditions imposed on set functions.
sql/mysql_priv.h:
Fixed bug #12762:
allowed set functions aggregated in outer subqueries, allowed nested set functions.
Introduced a type of bitmaps to be used for nesting constructs.
sql/sql_base.cc:
Fixed bug #12762:
allowed set functions aggregated in outer subqueries, allowed nested set functions.
Introduced next levels for subqueries and a bitmap of nesting levels showing
in what subqueries a set function can be aggregated.
sql/sql_class.cc:
Fixed bug #12762:
allowed set functions aggregated in outer subqueries, allowed nested set functions.
Introduced a bitmap of nesting levels showing in what subqueries a set function can be aggregated.
sql/sql_class.h:
Fixed bug #12762:
allowed set functions aggregated in outer subqueries, allowed nested set functions.
Introduced a bitmap of nesting levels showing in what subqueries a set function can be aggregated.
sql/sql_delete.cc:
Fixed bug #12762:
allowed set functions aggregated in outer subqueries, allowed nested set functions.
Introduced a bitmap of nesting levels showing in what subqueries a set function can be aggregated.
sql/sql_lex.cc:
Fixed bug #12762:
allowed set functions aggregated in outer subqueries, allowed nested set functions.
Introduced next levels for subqueries and a bitmap of nesting levels showing
in what subqueries a set function can be aggregated.
sql/sql_lex.h:
Fixed bug #12762:
allowed set functions aggregated in outer subqueries, allowed nested set functions.
Introduced next levels for subqueries and a bitmap of nesting levels showing
in what subqueries a set function can be aggregated.
sql/sql_parse.cc:
Fixed bug #12762:
allowed set functions aggregated in outer subqueries, allowed nested set functions.
Introduced next levels for subqueries.
sql/sql_prepare.cc:
Fixed bug #12762:
allowed set functions aggregated in outer subqueries, allowed nested set functions.
Introduced a bitmap of nesting levels showingin what subqueries a set function can be aggregated.
sql/sql_select.cc:
Fixed bug #12762:
allowed set functions aggregated in outer subqueries, allowed nested set functions.
Introduced next levels for subqueries and a bitmap of nesting levels showing
in what subqueries a set function can be aggregated.
sql/sql_update.cc:
Fixed bug #12762:
allowed set functions aggregated in outer subqueries, allowed nested set functions.
Introduced a bitmap of nesting levels showing in what subqueries a set function can be aggregated.
sql/sql_yacc.yy:
Fixed bug #12762:
allowed set functions aggregated in outer subqueries, allowed nested set functions.
Introduced next levels for subqueries.
mysql-test/r/subselect.result:
correcting non-ascii chars hosed by automerge as usual
mysql-test/t/subselect.test:
correcting non-ascii chars hosed by automerge as usual
sql/log_event.cc:
correcting bad manual merge. ZERO_LEN is not needed in 5.0, as ::exec_event() just tell()s the relay log instead
of using get_event_len().
sql/log_event.h:
get_event_len() is not needed in 5.0, ZERO_LEN neither.
sql/slave.cc:
fixes to take into account 5.0 specificities in replication. ZERO_LEN is not needed.
into mysql.com:/home/mysql_src/mysql-5.0;
a very bad automerge (issues with non-ascii chars), plus some hard conflicts I'll fix by hand in a next cset
BitKeeper/deleted/.del-compile-pentium64-valgrind-max:
Delete: BUILD/compile-pentium64-valgrind-max
BitKeeper/etc/config:
Auto merged
sql/log.cc:
Auto merged
sql/slave.h:
Auto merged
client/mysqltest.c:
manual merge
mysql-test/r/subselect.result:
manual merge
mysql-test/t/subselect.test:
manual merge
sql/log_event.cc:
manual merge
sql/log_event.h:
manual merge
sql/slave.cc:
manual merge
sql/sql_yacc.yy:
manual merge
Bug #10308: Parse 'purge master logs' with subselect correctly.
subselect.test:
Bug #10308: Test for 'purge master logs' with subselect.
subselect.result:
Bug #10308: Test result for 'purge master logs' with subselect.
mysql-test/r/subselect.result:
Bug #10308: Test result for 'purge master logs' with subselect.
mysql-test/t/subselect.test:
Bug #10308: Test for 'purge master logs' with subselect.
sql/sql_yacc.yy:
Bug #10308: Parse 'purge master logs' with subselect correctly.
* Provide backwards compatibility extension to name resolution of
coalesced columns. The patch allows such columns to be qualified
with a table (and db) name, as it is in 4.1.
Based on a patch from Monty.
* Adjusted tests accordingly to test both backwards compatible name
resolution of qualified columns, and ANSI-style resolution of
non-qualified columns.
For this, each affected test has two versions - one with qualified
columns, and one without.
mysql-test/include/ps_query.inc:
Put back old tests to test that coalesced columns of natural joins can be qualified.
mysql-test/r/bdb.result:
Put back old tests to test that coalesced columns of natural joins can be qualified.
mysql-test/r/innodb.result:
Put back old tests to test that coalesced columns of natural joins can be qualified.
mysql-test/r/join.result:
Put back old tests to test that coalesced columns of natural joins can be qualified.
mysql-test/r/join_nested.result:
Put back old tests to test that coalesced columns of natural joins can be qualified.
mysql-test/r/join_outer.result:
Put back old tests to test that coalesced columns of natural joins can be qualified.
mysql-test/r/null_key.result:
Put back old tests to test that coalesced columns of natural joins can be qualified.
mysql-test/r/order_by.result:
Put back old tests to test that coalesced columns of natural joins can be qualified.
mysql-test/r/ps_2myisam.result:
Put back old tests to test that coalesced columns of natural joins can be qualified.
mysql-test/r/ps_3innodb.result:
Put back old tests to test that coalesced columns of natural joins can be qualified.
mysql-test/r/ps_4heap.result:
Put back old tests to test that coalesced columns of natural joins can be qualified.
mysql-test/r/ps_5merge.result:
Put back old tests to test that coalesced columns of natural joins can be qualified.
mysql-test/r/ps_6bdb.result:
Put back old tests to test that coalesced columns of natural joins can be qualified.
mysql-test/r/ps_7ndb.result:
Put back old tests to test that coalesced columns of natural joins can be qualified.
mysql-test/r/select.result:
Put back old tests to test that coalesced columns of natural joins can be qualified.
mysql-test/r/subselect.result:
Put back old tests to test that coalesced columns of natural joins can be qualified.
mysql-test/r/type_ranges.result:
Put back old tests to test that coalesced columns of natural joins can be qualified.
mysql-test/t/bdb.test:
Put back old tests to test that coalesced columns of natural joins can be qualified.
mysql-test/t/innodb.test:
Put back old tests to test that coalesced columns of natural joins can be qualified.
mysql-test/t/join.test:
Put back old tests to test that coalesced columns of natural joins can be qualified.
mysql-test/t/join_nested.test:
Put back old tests to test that coalesced columns of natural joins can be qualified.
mysql-test/t/join_outer.test:
Put back old tests to test that coalesced columns of natural joins can be qualified.
mysql-test/t/null_key.test:
Put back old tests to test that coalesced columns of natural joins can be qualified.
mysql-test/t/order_by.test:
Put back old tests to test that coalesced columns of natural joins can be qualified.
mysql-test/t/select.test:
Put back old tests to test that coalesced columns of natural joins can be qualified.
mysql-test/t/subselect.test:
Put back old tests to test that coalesced columns of natural joins can be qualified.
mysql-test/t/type_ranges.test:
Put back old tests to test that coalesced columns of natural joins can be qualified.
sql/sql_base.cc:
* Applied Monty's patch for backwards compatible name resolution
of qualified columns. The idea is:
- When a column is qualified, search for the column in all
tables/views underlying each natural join. In this case
natural joins are *not* considered leaves.
- If a column is not qualified, then consider natural joins
as leaves, thus directly search the result columns of
natural joins.
* Simplified 'find_field_in_tables()' - unified two similar
loops into one.
sql/table.cc:
- Removed method & members not needed after Monty's patch.
sql/table.h:
- Removed method & members not needed after Monty's patch.
tests/mysql_client_test.c:
Put back old tests to test that coalesced columns of natural joins can be qualified.
Fixed bug #11479.
The JOIN::reinit method cannot call setup_tables
after the optimization phase since this function
removes some optimization settings for joined
tables. E.g. it resets values of the null_row flag to 0.
subselect.result, subselect.test:
Added a test case for bug #11479.
mysql-test/t/subselect.test:
Added a test case for bug #11479.
mysql-test/r/subselect.result:
Added a test case for bug #11479.
sql/sql_select.cc:
Fixed bug #11479.
The JOIN::reinit method cannot call setup_tables
after the optimization phase since this function
removes some optimization settings for joined
tables. E.g. it resets values of the null_row flag to 0.
into hasky.mysql.fi:/home/sanja/work-merge-5.0
mysql-test/r/subselect.result:
Auto merged
mysql-test/t/subselect.test:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/item_subselect.cc:
merge
mysql-test/r/subselect.result:
testst of IN subqueries with row
mysql-test/t/subselect.test:
tests of ion subqueries with row
sql/item.h:
add method to prevent of removing Item_ref_null_helper from HAVING
sql/item_cmpfunc.h:
Prevented removing of Item_test_isnotnull from HAVING
sql/item_subselect.cc:
fixed converting row IN subqueries
sql/sql_select.cc:
fixed debug print
into mysql.com:/home/timka/mysql/src/5.0-2486-merge
mysql-test/r/errors.result:
Auto merged
mysql-test/r/fulltext.result:
Auto merged
mysql-test/r/fulltext_order_by.result:
Auto merged
mysql-test/r/innodb.result:
Auto merged
mysql-test/r/join_nested.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/t/errors.test:
Auto merged
mysql-test/t/fulltext.test:
Auto merged
mysql-test/t/fulltext_order_by.test:
Auto merged
mysql-test/t/innodb.test:
Auto merged
mysql-test/t/join_nested.test:
Auto merged
mysql-test/t/subselect.test:
Auto merged
sql/item.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sp.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_delete.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_update.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.h:
Auto merged
tests/mysql_client_test.c:
Auto merged
sql/sql_insert.cc:
merge WL#2486
sql/sql_show.cc:
merge WL#2486
"Process NATURAL and USING joins according to SQL:2003".
* Some of the main problems fixed by the patch:
- in "select *" queries the * expanded correctly according to
ANSI for arbitrary natural/using joins
- natural/using joins are correctly transformed into JOIN ... ON
for any number/nesting of the joins.
- column references are correctly resolved against natural joins
of any nesting and combined with arbitrary other joins.
* This patch also contains a fix for name resolution of items
inside the ON condition of JOIN ... ON - in this case items must
be resolved only against the JOIN operands. To support such
'local' name resolution, the patch introduces a stack of
name resolution contexts used at parse time.
NOTICE:
- This patch is not complete in the sense that
- there are 2 test cases that still do not pass -
one in join.test, one in select.test. Both are marked
with a comment "TODO: WL#2486".
- it does not include a new test specific for the task
mysql-test/include/ps_query.inc:
Adjusted according to standard NATURAL/USING join semantics.,
mysql-test/r/bdb.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/derived.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/errors.result:
The column as a whole cannot be resolved, so different error message.
mysql-test/r/fulltext.result:
Adjusted according to standard JOIN ... ON semantics =>
the ON condition can refer only to the join operands.
mysql-test/r/fulltext_order_by.result:
More detailed error message.
mysql-test/r/innodb.result:
Adjusted according to standard NATURAL/USING join semantics.
This test doesn't pass completetly yet!
mysql-test/r/insert_select.result:
More detailed error message.
mysql-test/r/join.result:
Adjusted according to standard NATURAL/USING join semantics.
NOTICE: there is one test case that still fails, and it is
commeted out and marked with WL#2486 in the test file.
mysql-test/r/join_crash.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/join_nested.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/join_outer.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/multi_update.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/null_key.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/order_by.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/ps_2myisam.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/ps_3innodb.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/ps_4heap.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/ps_5merge.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/ps_6bdb.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/ps_7ndb.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/select.result:
Adjusted according to standard NATURAL/USING join semantics.
NOTICE: there is one failing test case which is commented with
WL#2486 in the test file.
mysql-test/r/subselect.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/type_ranges.result:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/r/union.result:
More detailed error message.
mysql-test/t/bdb.test:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/t/errors.test:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/t/fulltext.test:
Adjusted according to standard JOIN ... ON semantics =>
the ON condition can refer only to the join operands.
mysql-test/t/fulltext_order_by.test:
More detailed error message.
mysql-test/t/innodb.test:
Adjusted according to standard NATURAL/USING join semantics.
This test doesn't pass completetly yet!
mysql-test/t/insert_select.test:
More detailed error message.
mysql-test/t/join.test:
Adjusted according to standard NATURAL/USING join semantics.
NOTICE: there is one test case that still fails, and it is
commeted out and marked with WL#2486 in the test file.
mysql-test/t/join_crash.test:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/t/join_nested.test:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/t/join_outer.test:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/t/null_key.test:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/t/order_by.test:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/t/select.test:
Adjusted according to standard NATURAL/USING join semantics.
NOTICE: there is one test case that still fails, and it is
commeted out and marked with WL#2486 in the test file.
mysql-test/t/subselect.test:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/t/type_ranges.test:
Adjusted according to standard NATURAL/USING join semantics.
mysql-test/t/union.test:
More detailed error message.
sql/item.cc:
- extra parameter to find_field_in_tables
- find_field_in_real_table renamed to find_field_in_table
- fixed comments/typos
sql/item.h:
- added [first | last]_name_resolution_table to class
Name_resolution_context
- commented old code
- standardized formatting
sql/mysql_priv.h:
- refactored the find_field_in_XXX procedures,
- added a new procedure for natural join table references,
- renamed the find_field_in_XXX procedures to clearer names
sql/sp.cc:
- pass the top-most list of the FROM clause to setup_tables
- extra parameter to find_field_in_tables
sql/sql_acl.cc:
- renamed find_field_in_table => find_field_in_table_ref
- extra parameter to find_field_in_table_ref
- commented old code
sql/sql_base.cc:
This file contains the core of the implementation of the processing
of NATURAL/USING joins (WL#2486).
- added many comments to old code
- refactored the group of find_field_in_XXX procedures, and added a
new procedure for natural joins. There is one find_field_in_XXX procedure
per each type of table reference (stored table, merge view, or natural
join); one meta-procedure that selects the correct one depeneding on the
table reference; and one procedure that goes over a list of table
referenes.
- NATURAL/USING joins are processed through the procedures:
mark_common_columns, store_natural_using_join_columns,
store_top_level_join_columns, setup_natural_join_row_types.
The entry point to processing NATURAL/USING joins is the
procedure 'setup_natural_join_row_types'.
- Replaced the specialized Field_iterator_XXX iterators with one
generic iterator over the fields of a table reference.
- Simplified 'insert_fields' and 'setup_conds' due to encapsulation of
the processing of natural joins in a separate set of procedures.
sql/sql_class.h:
- Commented old code.
sql/sql_delete.cc:
- Pass the FROM clause to setup_tables.
sql/sql_help.cc:
- pass the end name resolution table to find_field_in_tables
- adjust the list of tables for name resolution
sql/sql_insert.cc:
- Changed the code that saves and restores the current context to
support the list of tables for name resolution -
context->first_name_resolution_table, and
table_list->next_name_resolution_table.
Needed to support an ugly trick to resolve inserted columns only in
the first table.
- Added Name_resolution_context::[first | last]_name_resolution_table.
- Commented old code
sql/sql_lex.cc:
- set select_lex.parent_lex correctly
- set correct state of the current name resolution context
sql/sql_lex.h:
- Added a stack of name resolution contexts to support local
contexts for JOIN ... ON conditions.
- Commented old code.
sql/sql_load.cc:
- Pass the FROM clause to setup_tables.
sql/sql_olap.cc:
- Pass the FROM clause to setup_tables.
sql/sql_parse.cc:
- correctly set SELECT_LEX::parent_lex
- set the first table of the current name resoltion context
- added support for NATURAL/USING joins
- commented old code
sql/sql_select.cc:
- Pass the FROM clause to setup_tables.
- Pass the end table to find_field_in_tables
- Improved comments
sql/sql_show.cc:
- Set SELECT_LEX::parent_lex.
sql/sql_update.cc:
- Pass the FROM clause to setup_tables.
sql/sql_yacc.yy:
- Added support for a stack of name resolution contexts needed to
implement name resolution for JOIN ... ON. A context is pushed
for each new JOIN ... ON, and popped afterwards.
- Added support for NATURAL/USING joins.
sql/table.cc:
- Added new class Natural_join_column to hide the heterogeneous
representation of column references for stored tables and for
views.
- Added a new list TABLE_LIST::next_name_resolution_table to
support name resolution with NATURAL/USING joins. Also added
other members to TABLE_LIST to support NATURAL/USING joins.
- Added a generic iterator over the fields of table references
of various types - class Field_iterator_table_ref
sql/table.h:
- Added new class Natural_join_column to hide the heterogeneous
representation of column references for stored tables and for
views.
- Added a new list TABLE_LIST::next_name_resolution_table to
support name resolution with NATURAL/USING joins. Also added
other members to TABLE_LIST to support NATURAL/USING joins.
- Added a generic iterator over the fields of table references
of various types - class Field_iterator_table_ref
tests/mysql_client_test.c:
Adjusted according to standard NATURAL JOIN syntax.
Added a test case for bug #12392.
item_cmpfunc.cc:
Fixed bug #12392.
Missing handling of rows containing NULL components
when evaluating IN predicates caused a crash.
sql/item_cmpfunc.cc:
Fixed bug #12392.
Missing handling of rows containing NULL components
when evaluating IN predicates caused a crash.
mysql-test/r/subselect.result:
Added a test case for bug #12392.
mysql-test/t/subselect.test:
Added a test case for bug #12392.
- Fixed some error condtion when handling dates with 'T'
- Added extra test for bug #11867 (Wrong result with "... WHERE ROW( a, b ) IN ( SELECT DISTINCT a, b WHERE ...)" to show it's not yet fixed
- Safety fixes and cleanups
mysql-test/r/subselect.result:
Added extra test case to test case for bug #11867
(Result shows that current code is not yet right and needs to be fixed)
mysql-test/r/type_datetime.result:
More tests for dates of type CCYYMMDDTHHMMSS
mysql-test/t/subselect.test:
Added extra test case to test case for bug #11867
mysql-test/t/type_datetime.test:
More tests for dates of type CCYYMMDDTHHMMSS
sql-common/my_time.c:
Fixed handling of dates of type CCYYMMDDTHHMMSS
(Old code couldn't handle 2003-0304 or 2003-0003-02)
sql/slave.cc:
Indentation cleanup
sql/sql_parse.cc:
Added test of return value of get_system_var()
sql/sql_select.cc:
Removed unnecessary call to field->table->maybe_null
sql/sql_union.cc:
Indentation fixes
Added test case for bug #11867.
Fixed results for two existing test cases.
subselect.test:
Added test case for bug #11867.
item_subselect.cc:
Fixed bug #11867.
Added missing code in Item_in_subselect::row_value_transformer
that caused problems for queries with
ROW(elems) IN (SELECT DISTINCT cols FROM ...).
sql/item_subselect.cc:
Fixed bug #11867.
Added missing code in Item_in_subselect::row_value_transformer
that caused problems for queries with
ROW(elems) IN (SELECT DISTINCT cols FROM ...).
mysql-test/t/subselect.test:
Added test case for bug #11867.
mysql-test/r/subselect.result:
Added test case for bug #11867.
Fixed results for two existing test cases.
into mysql.com:/home/my/mysql-5.0
BitKeeper/etc/ignore:
auto-union
BitKeeper/deleted/.del-ctype_cp932.test:
Auto merged
BitKeeper/deleted/.del-isam.test~834fb0ee8196c445:
Auto merged
include/thr_lock.h:
Auto merged
mysql-test/t/alias.test:
Auto merged
mysql-test/t/alter_table.test:
Auto merged
mysql-test/t/archive.test:
Auto merged
mysql-test/t/backup.test:
Auto merged
mysql-test/t/bool.test:
Auto merged
mysql-test/t/connect.test:
Auto merged
mysql-test/t/count_distinct2.test:
Auto merged
mysql-test/t/create.test:
Auto merged
mysql-test/t/ctype_many.test:
Auto merged
mysql-test/t/ctype_ucs_binlog.test:
Auto merged
mysql-test/t/date_formats.test:
Auto merged
mysql-test/t/delayed.test:
Auto merged
mysql-test/t/derived.test:
Auto merged
mysql-test/t/distinct.test:
Auto merged
mysql-test/t/drop.test:
Auto merged
mysql-test/t/endspace.test:
Auto merged
mysql-test/t/flush.test:
Auto merged
mysql-test/t/fulltext.test:
Auto merged
mysql-test/t/fulltext_order_by.test:
Auto merged
mysql-test/t/func_compress.test:
Auto merged
mysql-test/t/func_concat.test:
Auto merged
mysql-test/t/func_date_add.test:
Auto merged
mysql-test/t/func_equal.test:
Auto merged
mysql-test/t/func_if.test:
Auto merged
mysql-test/t/func_sapdb.test:
Auto merged
mysql-test/t/func_set.test:
Auto merged
mysql-test/t/func_str.test:
Auto merged
mysql-test/t/gis-rtree.test:
Auto merged
mysql-test/t/gis.test:
Auto merged
mysql-test/t/grant.test:
Auto merged
mysql-test/t/grant2.test:
Auto merged
mysql-test/t/grant_cache.test:
Auto merged
mysql-test/t/heap.test:
Auto merged
mysql-test/t/heap_btree.test:
Auto merged
mysql-test/t/heap_hash.test:
Auto merged
mysql-test/t/init_connect.test:
Auto merged
mysql-test/t/insert_select.test:
Auto merged
mysql-test/t/insert_update.test:
Auto merged
mysql-test/t/key.test:
Auto merged
mysql-test/t/keywords.test:
Auto merged
mysql-test/t/limit.test:
Auto merged
mysql-test/t/lock.test:
Auto merged
mysql-test/t/lowercase_table.test:
Auto merged
mysql-test/t/lowercase_table3.test:
Auto merged
mysql-test/t/merge.test:
Auto merged
mysql-test/t/mix_innodb_myisam_binlog.test:
Auto merged
mysql-test/t/myisam.test:
Auto merged
mysql-test/t/mysqlbinlog2.test:
Auto merged
mysql-test/t/ndb_alter_table.test:
Auto merged
mysql-test/t/ndb_autodiscover.test:
Auto merged
mysql-test/t/ndb_charset.test:
Auto merged
mysql-test/t/ndb_grant.later:
Auto merged
mysql-test/t/ndb_index_ordered.test:
Auto merged
mysql-test/t/ndb_index_unique.test:
Auto merged
mysql-test/t/ndb_restore.test:
Auto merged
mysql-test/t/ndb_types.test:
Auto merged
mysql-test/t/ndb_update.test:
Auto merged
mysql-test/t/null.test:
Auto merged
mysql-test/t/null_key.test:
Auto merged
mysql-test/t/olap.test:
Auto merged
mysql-test/t/openssl_1.test:
Auto merged
mysql-test/t/order_by.test:
Auto merged
mysql-test/t/ps.test:
Auto merged
mysql-test/t/ps_1general.test:
Auto merged
mysql-test/t/ps_4heap.test:
Auto merged
mysql-test/t/ps_5merge.test:
Auto merged
mysql-test/t/query_cache.test:
Auto merged
mysql-test/t/replace.test:
Auto merged
mysql-test/t/row.test:
Auto merged
mysql-test/t/rpl000001.test:
Auto merged
mysql-test/t/rpl000015.test:
Auto merged
mysql-test/t/rpl000017.test:
Auto merged
mysql-test/t/rpl000018.test:
Auto merged
mysql-test/t/rpl_EE_error.test:
Auto merged
mysql-test/t/rpl_change_master.test:
Auto merged
mysql-test/t/rpl_charset.test:
Auto merged
mysql-test/t/rpl_create_database.test:
Auto merged
mysql-test/t/rpl_ddl.test:
Auto merged
mysql-test/t/rpl_deadlock.test:
Auto merged
mysql-test/t/rpl_empty_master_crash.test:
Auto merged
mysql-test/t/rpl_error_ignored_table.test:
Auto merged
mysql-test/t/rpl_flush_log_loop.test:
Auto merged
mysql-test/t/rpl_flush_tables.test:
Auto merged
mysql-test/t/rpl_get_lock.test:
Auto merged
mysql-test/t/rpl_heap.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_log.test:
Auto merged
mysql-test/t/rpl_log_pos.test:
Auto merged
mysql-test/t/rpl_max_relay_size.test:
Auto merged
mysql-test/t/rpl_multi_query.test:
Auto merged
mysql-test/t/rpl_openssl.test:
Auto merged
mysql-test/t/rpl_redirect.test:
Auto merged
mysql-test/t/rpl_relayrotate.test:
Auto merged
mysql-test/t/rpl_replicate_do.test:
Auto merged
mysql-test/t/rpl_reset_slave.test:
Auto merged
mysql-test/t/rpl_server_id2.test:
Auto merged
mysql-test/t/rpl_temporary.test:
Auto merged
mysql-test/t/rpl_timezone.test:
Auto merged
mysql-test/t/rpl_user_variables.test:
Auto merged
mysql-test/t/show_check.test:
Auto merged
mysql-test/t/subselect.test:
Auto merged
mysql-test/t/symlink.test:
Auto merged
mysql-test/t/synchronization.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/temp_table.test:
Auto merged
mysql-test/t/timezone2.test:
Auto merged
mysql-test/t/timezone_grant.test:
Auto merged
mysql-test/t/type_float.test:
Auto merged
mysql-test/t/type_ranges.test:
Auto merged
mysql-test/t/type_timestamp.test:
Auto merged
mysql-test/t/union.test:
Auto merged
mysql-test/t/update.test:
Auto merged
mysql-test/t/user_var-binlog.test:
Auto merged
mysql-test/t/warnings.test:
Auto merged
mysys/thr_lock.c:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_select.cc:
Auto merged
support-files/mysql.spec.sh:
Auto merged
BitKeeper/deleted/.del-rpl_trunc_binlog.test~961b1f6ac73d37c8:
Simple merge
mysql-test/r/ps_grant.result:
Simple merge
mysql-test/t/analyse.test:
Simple merge
mysql-test/t/auto_increment.test:
Simple merge
mysql-test/t/bdb.test:
Simple merge
mysql-test/t/bigint.test:
Simple merge
mysql-test/t/case.test:
Simple merge
mysql-test/t/cast.test:
Simple merge
mysql-test/t/check.test:
Simple merge
mysql-test/t/count_distinct.test:
Simple merge
mysql-test/t/ctype_latin1_de.test:
Simple merge
mysql-test/t/ctype_uca.test:
Simple merge
mysql-test/t/ctype_ucs.test:
Simple merge
mysql-test/t/ctype_utf8.test:
Simple merge
mysql-test/t/delete.test:
Simple merge
mysql-test/t/flush_block_commit.test:
Simple merge
mysql-test/t/func_default.test:
Simple merge
mysql-test/t/func_gconcat.test:
Simple merge
mysql-test/t/func_group.test:
Aligned code with 4.1
mysql-test/t/func_in.test:
Simple merge
mysql-test/t/func_math.test:
Simple merge
mysql-test/t/func_misc.test:
Simple merge
mysql-test/t/func_test.test:
Simple merge
mysql-test/t/func_time.test:
Simple merge
mysql-test/t/group_by.test:
Simple merge
mysql-test/t/having.test:
Simple merge
mysql-test/t/innodb.test:
Simple merge
mysql-test/t/insert.test:
Simple merge
mysql-test/t/join_outer.test:
Simple merge
mysql-test/t/kill.test:
Simple merge
mysql-test/t/loaddata.test:
Simple merge
mysql-test/t/lock_multi.test:
Simple merge
mysql-test/t/multi_update.test:
Simple merge
mysql-test/t/mysqlbinlog.test:
Simple merge
mysql-test/t/mysqldump.test:
Aligned code with 4.1
mysql-test/t/mysqltest.test:
Simple merge
mysql-test/t/ndb_basic.test:
Simple merge
mysql-test/t/ndb_cache.test:
Simple merge
mysql-test/t/ndb_subquery.test:
Simple merge
mysql-test/t/ps_grant.test:
Simple merge
mysql-test/t/range.test:
Simple merge
mysql-test/t/rpl_drop_temp.test:
Simple merge
mysql-test/t/rpl_loaddata_rule_s.test:
Simple merge
mysql-test/t/rpl_loaddatalocal.test:
Simple merge
mysql-test/t/rpl_rotate_logs.test:
Simple merge
mysql-test/t/rpl_until.test:
Simple merge
mysql-test/t/rpl_variables.test:
Simple merge
mysql-test/t/select.test:
Simple merge
mysql-test/t/sql_mode.test:
Simple merge
mysql-test/t/type_blob.test:
Simple merge
mysql-test/t/type_decimal.test:
Simple merge
mysql-test/t/user_var.test:
Simple merge
mysql-test/t/variables.test:
Simple merge
sql/lock.cc:
Simple optimization
sql/mysql_priv.h:
Simple merge
sql/sql_table.cc:
Simple merge
sql/table.cc:
Simple merge
sql/unireg.cc:
Simple merge
mysql-test/t/alias.test:
Added end marker for test to make future merges easier
mysql-test/t/alter_table.test:
Added end marker for test to make future merges easier
mysql-test/t/analyse.test:
Added end marker for test to make future merges easier
mysql-test/t/analyze.test:
Added end marker for test to make future merges easier
Fixed length of comment lines
mysql-test/t/ansi.test:
Added end marker for test to make future merges easier
mysql-test/t/archive.test:
Added end marker for test to make future merges easier
mysql-test/t/auto_increment.test:
Added end marker for test to make future merges easier
mysql-test/t/backup.test:
Added end marker for test to make future merges easier
mysql-test/t/bdb-alter-table-1.test:
Added end marker for test to make future merges easier
mysql-test/t/bdb-alter-table-2.test:
Added end marker for test to make future merges easier
mysql-test/t/bdb-crash.test:
Added end marker for test to make future merges easier
mysql-test/t/bdb-deadlock.test:
Added end marker for test to make future merges easier
mysql-test/t/bdb-deadlock.tminus:
Added end marker for test to make future merges easier
mysql-test/t/bdb.test:
Added end marker for test to make future merges easier
mysql-test/t/bdb_cache.test:
Added end marker for test to make future merges easier
mysql-test/t/bench_count_distinct.test:
Added end marker for test to make future merges easier
mysql-test/t/bigint.test:
Added end marker for test to make future merges easier
mysql-test/t/binary.test:
Added end marker for test to make future merges easier
mysql-test/t/blackhole.test:
Added end marker for test to make future merges easier
mysql-test/t/bool.test:
Added end marker for test to make future merges easier
mysql-test/t/bulk_replace.test:
Added end marker for test to make future merges easier
mysql-test/t/case.test:
Added end marker for test to make future merges easier
mysql-test/t/cast.test:
Added end marker for test to make future merges easier
mysql-test/t/check.test:
Added end marker for test to make future merges easier
mysql-test/t/comments.test:
Added end marker for test to make future merges easier
mysql-test/t/compare.test:
Added end marker for test to make future merges easier
mysql-test/t/connect.test:
Added end marker for test to make future merges easier
mysql-test/t/consistent_snapshot.test:
Added end marker for test to make future merges easier
mysql-test/t/constraints.test:
Added end marker for test to make future merges easier
mysql-test/t/count_distinct.test:
Added end marker for test to make future merges easier
mysql-test/t/count_distinct2.test:
Added end marker for test to make future merges easier
mysql-test/t/count_distinct3.test:
Added end marker for test to make future merges easier
mysql-test/t/create.test:
Added end marker for test to make future merges easier
mysql-test/t/create_select_tmp.test:
Added end marker for test to make future merges easier
mysql-test/t/csv.test:
Added end marker for test to make future merges easier
mysql-test/t/ctype_big5.test:
Added end marker for test to make future merges easier
mysql-test/t/ctype_collate.test:
Added end marker for test to make future merges easier
mysql-test/t/ctype_cp1250_ch.test:
Added end marker for test to make future merges easier
mysql-test/t/ctype_cp1251.test:
Added end marker for test to make future merges easier
mysql-test/t/ctype_cp932.test:
Added end marker for test to make future merges easier
mysql-test/t/ctype_create.test:
Added end marker for test to make future merges easier
mysql-test/t/ctype_gbk.test:
Added end marker for test to make future merges easier
mysql-test/t/ctype_latin1.test:
Added end marker for test to make future merges easier
mysql-test/t/ctype_latin1_de.test:
Added end marker for test to make future merges easier
mysql-test/t/ctype_latin2.test:
Added end marker for test to make future merges easier
mysql-test/t/ctype_many.test:
Added end marker for test to make future merges easier
mysql-test/t/ctype_mb.test:
Added end marker for test to make future merges easier
mysql-test/t/ctype_recoding.test:
Added end marker for test to make future merges easier
mysql-test/t/ctype_sjis.test:
Added end marker for test to make future merges easier
mysql-test/t/ctype_tis620.test:
Added end marker for test to make future merges easier
mysql-test/t/ctype_uca.test:
Added end marker for test to make future merges easier
mysql-test/t/ctype_ucs.test:
Added end marker for test to make future merges easier
mysql-test/t/ctype_ucs_binlog.test:
Added end marker for test to make future merges easier
mysql-test/t/ctype_ujis.test:
Added end marker for test to make future merges easier
mysql-test/t/ctype_utf8.test:
Added end marker for test to make future merges easier
mysql-test/t/date_formats.test:
Added end marker for test to make future merges easier
mysql-test/t/delayed.test:
Added end marker for test to make future merges easier
mysql-test/t/delete.test:
Added end marker for test to make future merges easier
mysql-test/t/derived.test:
Added end marker for test to make future merges easier
mysql-test/t/dirty_close.test:
Added end marker for test to make future merges easier
mysql-test/t/distinct.test:
Added end marker for test to make future merges easier
mysql-test/t/drop.test:
Added end marker for test to make future merges easier
mysql-test/t/drop_temp_table.test:
Added end marker for test to make future merges easier
mysql-test/t/empty_table.test:
Added end marker for test to make future merges easier
mysql-test/t/endspace.test:
Added end marker for test to make future merges easier
mysql-test/t/errors.test:
Added end marker for test to make future merges easier
mysql-test/t/exampledb.test:
Added end marker for test to make future merges easier
mysql-test/t/explain.test:
Added end marker for test to make future merges easier
mysql-test/t/flush.test:
Added end marker for test to make future merges easier
mysql-test/t/flush_block_commit.test:
Added end marker for test to make future merges easier
mysql-test/t/flush_table.test:
Added end marker for test to make future merges easier
mysql-test/t/foreign_key.test:
Added end marker for test to make future merges easier
mysql-test/t/fulltext.test:
Added end marker for test to make future merges easier
mysql-test/t/fulltext2.test:
Added end marker for test to make future merges easier
mysql-test/t/fulltext_cache.test:
Added end marker for test to make future merges easier
mysql-test/t/fulltext_distinct.test:
Added end marker for test to make future merges easier
mysql-test/t/fulltext_left_join.test:
Added end marker for test to make future merges easier
mysql-test/t/fulltext_multi.test:
Added end marker for test to make future merges easier
mysql-test/t/fulltext_order_by.test:
Added end marker for test to make future merges easier
mysql-test/t/fulltext_update.test:
Added end marker for test to make future merges easier
mysql-test/t/fulltext_var.test:
Added end marker for test to make future merges easier
mysql-test/t/func_compress.test:
Added end marker for test to make future merges easier
mysql-test/t/func_concat.test:
Added end marker for test to make future merges easier
mysql-test/t/func_crypt.test:
Added end marker for test to make future merges easier
mysql-test/t/func_date_add.test:
Added end marker for test to make future merges easier
mysql-test/t/func_default.test:
Added end marker for test to make future merges easier
mysql-test/t/func_des_encrypt.test:
Added end marker for test to make future merges easier
mysql-test/t/func_encrypt.test:
Added end marker for test to make future merges easier
mysql-test/t/func_encrypt_nossl.test:
Added end marker for test to make future merges easier
mysql-test/t/func_equal.test:
Added end marker for test to make future merges easier
mysql-test/t/func_gconcat.test:
Added end marker for test to make future merges easier
mysql-test/t/func_group.test:
Added end marker for test to make future merges easier
mysql-test/t/func_if.test:
Added end marker for test to make future merges easier
mysql-test/t/func_in.test:
Added end marker for test to make future merges easier
mysql-test/t/func_isnull.test:
Added end marker for test to make future merges easier
mysql-test/t/func_like.test:
Added end marker for test to make future merges easier
mysql-test/t/func_math.test:
Added end marker for test to make future merges easier
mysql-test/t/func_misc.test:
Added end marker for test to make future merges easier
mysql-test/t/func_op.test:
Added end marker for test to make future merges easier
mysql-test/t/func_regexp.test:
Added end marker for test to make future merges easier
mysql-test/t/func_sapdb.test:
Added end marker for test to make future merges easier
mysql-test/t/func_set.test:
Added end marker for test to make future merges easier
mysql-test/t/func_str.test:
Added end marker for test to make future merges easier
mysql-test/t/func_system.test:
Added end marker for test to make future merges easier
mysql-test/t/func_test.test:
Added end marker for test to make future merges easier
mysql-test/t/func_time.test:
Added end marker for test to make future merges easier
mysql-test/t/func_timestamp.test:
Added end marker for test to make future merges easier
mysql-test/t/gcc296.test:
Added end marker for test to make future merges easier
mysql-test/t/gis-rtree.test:
Added end marker for test to make future merges easier
mysql-test/t/gis.test:
Added end marker for test to make future merges easier
mysql-test/t/grant.test:
Added end marker for test to make future merges easier
mysql-test/t/grant2.test:
Added end marker for test to make future merges easier
mysql-test/t/grant_cache.test:
Added end marker for test to make future merges easier
mysql-test/t/group_by.test:
Added end marker for test to make future merges easier
mysql-test/t/handler.test:
Added end marker for test to make future merges easier
mysql-test/t/having.test:
Added end marker for test to make future merges easier
mysql-test/t/heap.test:
Added end marker for test to make future merges easier
mysql-test/t/heap_auto_increment.test:
Added end marker for test to make future merges easier
mysql-test/t/heap_btree.test:
Added end marker for test to make future merges easier
mysql-test/t/heap_hash.test:
Added end marker for test to make future merges easier
mysql-test/t/help.test:
Added end marker for test to make future merges easier
mysql-test/t/init_connect.test:
Added end marker for test to make future merges easier
mysql-test/t/init_file.test:
Added end marker for test to make future merges easier
mysql-test/t/innodb-deadlock.test:
Added end marker for test to make future merges easier
mysql-test/t/innodb-lock.test:
Added end marker for test to make future merges easier
mysql-test/t/innodb-replace.test:
Added end marker for test to make future merges easier
mysql-test/t/innodb.test:
Added end marker for test to make future merges easier
mysql-test/t/innodb_cache.test:
Added end marker for test to make future merges easier
mysql-test/t/innodb_handler.test:
Added end marker for test to make future merges easier
mysql-test/t/insert.test:
Added end marker for test to make future merges easier
mysql-test/t/insert_select-binlog.test:
Added end marker for test to make future merges easier
mysql-test/t/insert_select.test:
Added end marker for test to make future merges easier
mysql-test/t/insert_update.test:
Added end marker for test to make future merges easier
mysql-test/t/isam.test:
Added end marker for test to make future merges easier
mysql-test/t/join.test:
Added end marker for test to make future merges easier
mysql-test/t/join_crash.test:
Added end marker for test to make future merges easier
mysql-test/t/join_outer.test:
Added end marker for test to make future merges easier
mysql-test/t/key.test:
Added end marker for test to make future merges easier
mysql-test/t/key_cache.test:
Added end marker for test to make future merges easier
mysql-test/t/key_diff.test:
Added end marker for test to make future merges easier
mysql-test/t/key_primary.test:
Added end marker for test to make future merges easier
mysql-test/t/keywords.test:
Added end marker for test to make future merges easier
mysql-test/t/kill.test:
Added end marker for test to make future merges easier
mysql-test/t/limit.test:
Added end marker for test to make future merges easier
mysql-test/t/loaddata.test:
Added end marker for test to make future merges easier
mysql-test/t/lock.test:
Added end marker for test to make future merges easier
mysql-test/t/lock_multi.test:
Added end marker for test to make future merges easier
mysql-test/t/lock_tables_lost_commit.test:
Added end marker for test to make future merges easier
mysql-test/t/lowercase_table.test:
Added end marker for test to make future merges easier
mysql-test/t/lowercase_table2.test:
Added end marker for test to make future merges easier
mysql-test/t/lowercase_table3.test:
Added end marker for test to make future merges easier
mysql-test/t/lowercase_table_grant.test:
Added end marker for test to make future merges easier
mysql-test/t/lowercase_table_qcache.test:
Added end marker for test to make future merges easier
mysql-test/t/merge.test:
Added end marker for test to make future merges easier
mysql-test/t/metadata.test:
Added end marker for test to make future merges easier
mysql-test/t/mix_innodb_myisam_binlog.test:
Added end marker for test to make future merges easier
mysql-test/t/multi_statement.test:
Added end marker for test to make future merges easier
mysql-test/t/multi_update.test:
Added end marker for test to make future merges easier
mysql-test/t/myisam-blob.test:
Added end marker for test to make future merges easier
mysql-test/t/myisam.test:
Added end marker for test to make future merges easier
mysql-test/t/mysql_client_test.test:
Added end marker for test to make future merges easier
mysql-test/t/mysql_protocols.test:
Added end marker for test to make future merges easier
mysql-test/t/mysqlbinlog.test:
Added end marker for test to make future merges easier
mysql-test/t/mysqlbinlog2.test:
Added end marker for test to make future merges easier
mysql-test/t/mysqldump.test:
Added end marker for test to make future merges easier
mysql-test/t/mysqltest.test:
Added end marker for test to make future merges easier
mysql-test/t/ndb_alter_table.test:
Added end marker for test to make future merges easier
mysql-test/t/ndb_autodiscover.test:
Added end marker for test to make future merges easier
mysql-test/t/ndb_autodiscover2.test:
Added end marker for test to make future merges easier
mysql-test/t/ndb_basic.test:
Added end marker for test to make future merges easier
mysql-test/t/ndb_blob.test:
Added end marker for test to make future merges easier
mysql-test/t/ndb_cache.test:
Added end marker for test to make future merges easier
mysql-test/t/ndb_charset.test:
Added end marker for test to make future merges easier
mysql-test/t/ndb_config.test:
Added end marker for test to make future merges easier
mysql-test/t/ndb_database.test:
Added end marker for test to make future merges easier
mysql-test/t/ndb_grant.later:
Added end marker for test to make future merges easier
mysql-test/t/ndb_index.test:
Added end marker for test to make future merges easier
mysql-test/t/ndb_index_ordered.test:
Added end marker for test to make future merges easier
mysql-test/t/ndb_index_unique.test:
Added end marker for test to make future merges easier
mysql-test/t/ndb_insert.test:
Added end marker for test to make future merges easier
mysql-test/t/ndb_limit.test:
Added end marker for test to make future merges easier
mysql-test/t/ndb_lock.test:
Added end marker for test to make future merges easier
mysql-test/t/ndb_minmax.test:
Added end marker for test to make future merges easier
mysql-test/t/ndb_multi.test:
Added end marker for test to make future merges easier
mysql-test/t/ndb_replace.test:
Added end marker for test to make future merges easier
mysql-test/t/ndb_restore.test:
Added end marker for test to make future merges easier
mysql-test/t/ndb_subquery.test:
Added end marker for test to make future merges easier
mysql-test/t/ndb_transaction.test:
Added end marker for test to make future merges easier
mysql-test/t/ndb_truncate.test:
Added end marker for test to make future merges easier
mysql-test/t/ndb_types.test:
Added end marker for test to make future merges easier
mysql-test/t/ndb_update.test:
Added end marker for test to make future merges easier
mysql-test/t/negation_elimination.test:
Added end marker for test to make future merges easier
mysql-test/t/not_embedded_server.test:
Added end marker for test to make future merges easier
mysql-test/t/null.test:
Added end marker for test to make future merges easier
mysql-test/t/null_key.test:
Added end marker for test to make future merges easier
mysql-test/t/odbc.test:
Added end marker for test to make future merges easier
mysql-test/t/olap.test:
Added end marker for test to make future merges easier
mysql-test/t/openssl_1.test:
Added end marker for test to make future merges easier
mysql-test/t/order_by.test:
Added end marker for test to make future merges easier
mysql-test/t/order_fill_sortbuf.test:
Added end marker for test to make future merges easier
mysql-test/t/outfile.test:
Added end marker for test to make future merges easier
mysql-test/t/overflow.test:
Added end marker for test to make future merges easier
mysql-test/t/packet.test:
Added end marker for test to make future merges easier
mysql-test/t/preload.test:
Added end marker for test to make future merges easier
mysql-test/t/ps.test:
Added end marker for test to make future merges easier
mysql-test/t/ps_10nestset.test:
Added end marker for test to make future merges easier
mysql-test/t/ps_11bugs.test:
Added end marker for test to make future merges easier
mysql-test/t/ps_1general.test:
Added end marker for test to make future merges easier
mysql-test/t/ps_2myisam.test:
Added end marker for test to make future merges easier
mysql-test/t/ps_3innodb.test:
Added end marker for test to make future merges easier
mysql-test/t/ps_4heap.test:
Added end marker for test to make future merges easier
mysql-test/t/ps_5merge.test:
Added end marker for test to make future merges easier
mysql-test/t/ps_6bdb.test:
Added end marker for test to make future merges easier
mysql-test/t/ps_7ndb.test:
Added end marker for test to make future merges easier
mysql-test/t/ps_grant.test:
Added end marker for test to make future merges easier
mysql-test/t/query_cache.test:
Added end marker for test to make future merges easier
mysql-test/t/query_cache_merge.test:
Added end marker for test to make future merges easier
mysql-test/t/raid.test:
Added end marker for test to make future merges easier
mysql-test/t/range.test:
Added end marker for test to make future merges easier
mysql-test/t/rename.test:
Added end marker for test to make future merges easier
mysql-test/t/repair.test:
Added end marker for test to make future merges easier
mysql-test/t/replace.test:
Added end marker for test to make future merges easier
mysql-test/t/rollback.test:
Added end marker for test to make future merges easier
mysql-test/t/row.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl000001.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl000002.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl000004.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl000005.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl000006.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl000008.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl000009.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl000010.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl000011.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl000012.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl000013.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl000015.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl000017.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl000018.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_EE_error.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_alter.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_chain_temp_table.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_change_master.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_charset.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_commit_after_flush.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_create_database.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_ddl.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_deadlock.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_delete_all.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_do_grant.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_drop.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_drop_temp.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_empty_master_crash.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_error_ignored_table.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_failed_optimize.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_failsafe.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_flush_log_loop.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_flush_tables.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_free_items.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_get_lock.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_heap.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_ignore_grant.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_init_slave.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_innodb.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_insert_id.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_insert_ignore.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_loaddata.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_loaddata_rule_m.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_loaddata_rule_s.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_loaddatalocal.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_log.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_log_pos.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_many_optimize.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_master_pos_wait.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_max_relay_size.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_misc_functions.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_multi_delete.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_multi_delete2.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_multi_query.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_multi_update.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_multi_update2.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_multi_update3.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_mystery22.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_openssl.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_optimize.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_ps.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_redirect.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_relayrotate.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_relayspace.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_replicate_do.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_reset_slave.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_rewrite_db.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_rotate_logs.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_server_id1.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_server_id2.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_set_charset.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_skip_error.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_sporadic_master.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_start_stop_slave.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_temporary.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_timezone.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_trunc_binlog.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_until.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_user_variables.test:
Added end marker for test to make future merges easier
mysql-test/t/rpl_variables.test:
Added end marker for test to make future merges easier
mysql-test/t/select.test:
Added end marker for test to make future merges easier
mysql-test/t/select_found.test:
Added end marker for test to make future merges easier
mysql-test/t/select_safe.test:
Added end marker for test to make future merges easier
mysql-test/t/show_check.test:
Added end marker for test to make future merges easier
mysql-test/t/skip_name_resolve.test:
Added end marker for test to make future merges easier
mysql-test/t/sql_mode.test:
Added end marker for test to make future merges easier
mysql-test/t/status.test:
Added end marker for test to make future merges easier
mysql-test/t/subselect.test:
Added end marker for test to make future merges easier
mysql-test/t/subselect2.test:
Added end marker for test to make future merges easier
mysql-test/t/subselect_gis.test:
Added end marker for test to make future merges easier
mysql-test/t/subselect_innodb.test:
Added end marker for test to make future merges easier
mysql-test/t/symlink.test:
Added end marker for test to make future merges easier
mysql-test/t/synchronization.test:
Added end marker for test to make future merges easier
mysql-test/t/system_mysql_db.test:
Added end marker for test to make future merges easier
mysql-test/t/system_mysql_db_fix.test:
Added end marker for test to make future merges easier
mysql-test/t/system_mysql_db_refs.test:
Added end marker for test to make future merges easier
mysql-test/t/tablelock.test:
Added end marker for test to make future merges easier
mysql-test/t/temp_table.test:
Added end marker for test to make future merges easier
mysql-test/t/timezone.test:
Added end marker for test to make future merges easier
mysql-test/t/timezone2.test:
Added end marker for test to make future merges easier
mysql-test/t/timezone3.test:
Added end marker for test to make future merges easier
mysql-test/t/timezone_grant.test:
Added end marker for test to make future merges easier
mysql-test/t/truncate.test:
Added end marker for test to make future merges easier
mysql-test/t/type_blob.test:
Added end marker for test to make future merges easier
mysql-test/t/type_date.test:
Added end marker for test to make future merges easier
mysql-test/t/type_datetime.test:
Added end marker for test to make future merges easier
mysql-test/t/type_decimal.test:
Added end marker for test to make future merges easier
mysql-test/t/type_enum.test:
Added end marker for test to make future merges easier
mysql-test/t/type_float.test:
Added end marker for test to make future merges easier
mysql-test/t/type_nchar.test:
Added end marker for test to make future merges easier
mysql-test/t/type_ranges.test:
Added end marker for test to make future merges easier
mysql-test/t/type_set.test:
Added end marker for test to make future merges easier
mysql-test/t/type_time.test:
Added end marker for test to make future merges easier
mysql-test/t/type_timestamp.test:
Added end marker for test to make future merges easier
mysql-test/t/type_uint.test:
Added end marker for test to make future merges easier
mysql-test/t/type_year.test:
Added end marker for test to make future merges easier
mysql-test/t/union.test:
Added end marker for test to make future merges easier
mysql-test/t/update.test:
Added end marker for test to make future merges easier
mysql-test/t/user_var-binlog.test:
Added end marker for test to make future merges easier
mysql-test/t/user_var.test:
Added end marker for test to make future merges easier
mysql-test/t/varbinary.test:
Added end marker for test to make future merges easier
mysql-test/t/variables.test:
Added end marker for test to make future merges easier
mysql-test/t/warnings.test:
Added end marker for test to make future merges easier
Fixed buf #11487.
Added a call of QUICK_RANGE_SELECT::init to the
QUICK_RANGE_SELECT::reset method. Without it the second
evaluation of a subquery employing the range access failed.
subselect.result, subselect.test:
Added a test case for bug #11487.
mysql-test/t/subselect.test:
Added a test case for bug #11487.
mysql-test/r/subselect.result:
Added a test case for bug #11487.
sql/opt_range.cc:
Fixed buf #11487.
Added a call of QUICK_RANGE_SELECT::init to the
QUICK_RANGE_SELECT::reset method. Without it the second
evaluation of a subquery employing the range access failed.
mysql-test/r/subselect.result:
changes in plans
test for bug#6384
mysql-test/t/subselect.test:
test for bug#6384
sql/sql_select.cc:
do not set equal field from outer query
mysql-test/r/subselect.result:
test fro bug 10020
mysql-test/t/subselect.test:
bug 10020 test suite
sql/item.cc:
any constant allowed here BUG#10020)
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
Added a test case for bug #9516.
item_subselect.h:
Fixed bug #9516.
The bug was due to that fact that the class Item_subselect
inherited the generic implementation of the function
not_null_tables that was not valid for the objects
of this class. As a result evaluation of the
not_null_tables attribute was not correct for subqueries.
This caused invalid transformations of outer joins into
inner joins.
sql/item_subselect.h:
Fixed bug #9516.
The bug was due to that fact that the class Item_subselect
inherited the generic implementation of the function
not_null_tables that was not valid for the objects
of this class. As a result evaluation of the
not_null_tables attribute was not correct for subqueries.
This caused invalid transformations of outer joins into
inner joins.
mysql-test/t/subselect.test:
Added a test case for bug #9516.
mysql-test/r/subselect.result:
Added a test case for bug #9516.
Added a test case for bug #9338.
sql_select.cc:
Fixed bug #9338.
When an occurence of a field reference has to be replaced
by another field reference the whole Item_field must be
replaced.
item.cc:
Fixed bug #9338.
The method Item_field::replace_equal_field_processor was
replaced by Item_field::replace_equal_field. The new method
is used to replace the occurences of Item_field objects.
item.h:
Fixed bug #9338.
The virtual function replace_equal_field_processor was replaced
by replace_equal_field. The latter is supposed to be used as a
callback function in calls of the method transform.
sql/item.h:
Fixed bug #9338.
The virtual function replace_equal_field_processor was replaced
by replace_equal_field. The latter is supposed to be used as a
callback function in calls of the method transform.
sql/item.cc:
The method Item_field::replace_equal_field_processor was
replaced by Item_field::replace_equal_field The new method
is used to replace the occurences of Item_field objects.
sql/sql_select.cc:
Fixed bug #9338.
When an occurence of a field reference has to be replaced
by another field reference the whole Item_field must be
replaced.
mysql-test/t/subselect.test:
Added a test case for bug #9338.
mysql-test/r/subselect.result:
Added a test case for bug #9338.
into mysql.com:/home/my/mysql-5.0
mysql-test/r/subselect.result:
Auto merged
mysql-test/t/subselect.test:
Auto merged
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/sql_parse.cc:
Auto merged
CAST() now produces warnings when casting a wrong INTEGER or CHAR values. This also applies to implicite string to number casts. (Bug #5912)
ALTER TABLE now fails in STRICT mode if it generates warnings.
Inserting a zero date in a DATE, DATETIME or TIMESTAMP column during TRADITIONAL mode now produces an error. (Bug #5933)
mysql-test/r/bigint.result:
New warning added
mysql-test/r/cast.result:
Added testing of wrong CAST's of strings to numbers and numbers to strings
mysql-test/r/create.result:
Added test for wrong default values (#5902)
mysql-test/r/func_if.result:
Changed tests to produce less warnings
mysql-test/r/func_misc.result:
New warning
mysql-test/r/func_str.result:
Added missing drop table
Changed test to produce less warnings
New warnings
mysql-test/r/ndb_index_unique.result:
Removed wrong default usage
mysql-test/r/ps_1general.result:
Changed tests to produce less warnings
mysql-test/r/row.result:
New warnings
mysql-test/r/rpl_session_var.result:
Changed tests to produce less warnings
mysql-test/r/strict.result:
New tests for CAST() and zero date handling
mysql-test/r/subselect.result:
Changed tests to produce less warnings
mysql-test/r/type_ranges.result:
Changed tests to produce less warnings
mysql-test/t/cast.test:
Added testing of wrong CAST's of strings to numbers and numbers to strings
mysql-test/t/create.test:
Added test for wrong default values (#5902)
mysql-test/t/func_if.test:
Changed tests to produce less warnings
mysql-test/t/func_str.test:
Added missing drop table
Changed test to produce less warnings
New warnings
mysql-test/t/ndb_index_unique.test:
Removed wrong default usage
mysql-test/t/ps_1general.test:
Changed tests to produce less warnings
mysql-test/t/rpl_session_var.test:
Changed tests to produce less warnings
mysql-test/t/strict.test:
New tests for CAST() and zero date handling
mysql-test/t/subselect.test:
Changed tests to produce less warnings
mysql-test/t/type_ranges.test:
Changed tests to produce less warnings
sql/Makefile.am:
Added new include file
sql/field.cc:
Added warnings for zero dates for DATE, DATETIME and TIMESTAMP
Moved Field_blob::max_length() to a more appropriate position
Changed type for 'level' in set_warning() to avoid casts
sql/field.h:
Changed type for 'level' in set_warning() to avoid casts
sql/field_conv.cc:
Copy date and datetime fields through string in 'traditional' mode to detect zero dates
sql/item.cc:
Removed compiler warnings
Give warnings for wrong CAST of strings -> number
sql/item.h:
Moved Item_string::val_real() and ::val_int() to item.cc
sql/item_row.cc:
Better detection of null values (which doesn't produce warnings)
sql/item_sum.cc:
Better detection of null values (which doesn't produce warnings)
sql/item_timefunc.cc:
Give warnings for wrong CAST of number -> string
sql/my_decimal.cc:
Fixed typo in comment
sql/mysql_priv.h:
Removed prototype for static function
Moved defines for error handling to sql_error.h (to be able to use these in field.h)
sql/mysqld.cc:
Simplify code
sql/sql_class.h:
Moved to sql_error.h
sql/sql_load.cc:
Removed wrong cast
sql/sql_parse.cc:
Fixed wrong printf()
sql/sql_table.cc:
Made mysql_prepare_table() static
Changed references to pointers to make code more readable
ALTER TABLE now aborts if one gets warnings in STRICT mode
sql/time.cc:
Fixed possible wrong call
sql/unireg.cc:
Removed one call to current_thd
Give errors if one uses a wrong DEFAULT value
mysql-test/r/group_by.result:
result change
mysql-test/r/union.result:
result change
mysql-test/r/view.result:
result change
mysql-test/t/subselect.test:
fixed mistake of merge
sql/field.cc:
new 5.0 types support
temporary table/db names detection in field fixed
sql/field.h:
removed non-existent methods
added wrongly deleted during manual merge string
sql/item.cc:
support of new types added to merge of union types routines
sql/item.h:
fixed method definition
sql/item_cmpfunc.cc:
fixed type
sql/item_func.h:
item type name fixed
sql/item_subselect.cc:
added forgoten methods
sql/item_subselect.h:
fixed type
sql/sql_derived.cc:
fixed typo of manual merge
sql/sql_view.cc:
added new parameter
mysql-test/r/group_by.result:
Auto merged
mysql-test/r/metadata.result:
Auto merged
mysql-test/r/union.result:
Auto merged
mysql-test/t/union.test:
Auto merged
sql/item.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
support-files/mysql.server.sh:
Auto merged
fixed bug in IN/ALL/ANY subqeries with HAVING clause (BUG#9350)
mysql-test/r/subselect.result:
added new subquery tests to make code covarage better
mysql-test/t/subselect.test:
added new subquery tests to make code covarage better
sql/item_subselect.cc:
fixed typo in comment
removed unused code
fixed bug with HAVING clause detectiuon (BUG#9350)
postreview changes
mysql-test/r/subselect.result:
result changing
fixed last test
test of transformation of left expression of subquery
mysql-test/t/subselect.test:
fixed last test
test of transformation of left expression of subquery
sql/item_subselect.cc:
fixfields made for left part of IN/ALL/ANY subquery before calling cols() to detect type of transformation (scalar or row)
similar action of both transformation moved to separate function
sql/item_subselect.h:
optimised field initialization and new method
mysql-test/r/analyse.result:
test result extended
mysql-test/r/cast.result:
test result extended
mysql-test/r/func_group.result:
test result extended
mysql-test/r/subselect.result:
test result extended
mysql-test/t/analyse.test:
test extended
mysql-test/t/cast.test:
test extended
mysql-test/t/func_group.test:
test extended
mysql-test/t/subselect.test:
test extended
into mysql.com:/home/psergey/mysql-4.1-bug8218
mysql-test/r/subselect.result:
Auto merged
mysql-test/t/subselect.test:
Auto merged
sql/sql_select.cc:
Auto merged
into mysql.com:/home/psergey/mysql-5.0-bug8218
mysql-test/r/subselect.result:
Auto merged
mysql-test/t/subselect.test:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_select.cc:
Auto merged
Remove TMP_TABLE_PARAM::copy_funcs_it. TMP_TABLE_PARAM is a member of JOIN which is
copied via memcpy, and List_iterator_fast TMP_TABLE_PARAM::copy_funcs_it ends up
pointing to the wrong List.
mysql-test/r/subselect.result:
Testcase for BUG#8218
mysql-test/t/subselect.test:
Testcase for BUG#8218
sql/sql_select.cc:
Fix for BUG#8218: Create/use own iterator since TMP_TABLE_PARAM::copy_funcs_it is removed.
BitKeeper/etc/ignore:
auto-union
client/mysqltest.c:
Auto merged
extra/my_print_defaults.c:
Auto merged
extra/perror.c:
Auto merged
extra/resolve_stack_dump.c:
Auto merged
include/help_end.h:
Auto merged
include/help_start.h:
Auto merged
myisam/myisamlog.c:
Auto merged
mysql-test/r/group_by.result:
Auto merged
mysql-test/r/heap_hash.result:
Auto merged
BitKeeper/deleted/.del-pack_isam.c~43801f0df7504834:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/r/user_var.result:
Auto merged
mysql-test/t/subselect.test:
Auto merged
ndb/src/kernel/vm/FastScheduler.cpp:
Auto merged
netware/mysql_test_run.c:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_list.h:
Auto merged
sql/sql_select.cc:
Auto merged
netware/BUILD/nwbootstrap:
merge: keep local
scripts/make_binary_distribution.sh:
merge: keep local
sql/ha_heap.cc:
Trivial merge
sql/ha_innodb.cc:
Auto merge (Code already existed in 5.0)
sql/item_cmpfunc.cc:
Simple merge
sql/item_func.cc:
Simple merge
sql/item_row.cc:
Simple merge
sql/item_strfunc.cc:
Simple merge
sql/item_subselect.cc:
Merge with sanjas optimzation patch, but keep old code withing ifdef as a reference until this is fixed
mysql-test/r/subselect.result:
test depends on innodb moved from 'subselect' to 'subselect_innodb'
mysql-test/r/subselect_innodb.result:
test depends on innodb moved from 'subselect' to 'subselect_innodb'
mysql-test/t/subselect.test:
test depends on innodb moved from 'subselect' to 'subselect_innodb'
mysql-test/t/subselect_innodb.test:
test depends on innodb moved from 'subselect' to 'subselect_innodb'
mysql-test/r/subselect.result:
cleaning up of results of subselects test
mysql-test/t/subselect.test:
cleaning up of results of subselects test
sql/item_subselect.cc:
call result object cleupup on engine cleunup
sql/sql_class.cc:
added cleanup of select_max_min_finder_subselect
sql/sql_class.h:
added cleanup of select_max_min_finder_subselect
mysql-test/r/subselect.result:
Forward reference detection
mysql-test/t/subselect.test:
Forward reference detection
sql/item.cc:
now forward reference is detected via ref_pointer_array, because some literal constants are 'fixed' just after creation
sql/sql_base.cc:
fill ref_pointer_array with zerows for forward reference detection.
mysql-test/r/subselect.result:
Comparison subquery and row with nested rows
mysql-test/t/subselect.test:
Comparison subquery and row with nested rows
sql/item_subselect.cc:
check that row elements have the same dimention that SELECT list elements
fixed cols() method call (it have to be called only after fix_fields())
mysql-test/r/subselect.result:
Comparison subquery with * and row
mysql-test/t/subselect.test:
Comparison subquery with * and row
sql/item_cmpfunc.h:
initialization allowed_arg_cols for autodetection
sql/item_func.cc:
support of allowed_arg_cols autodetection by first argument
sql/item_func.h:
commant
sql/item_subselect.cc:
correct column number fetching for subqueries
sql/sql_lex.h:
method to check that UNION is prepared
into mysql.com:/dbdata/psergey/mysql-5.0-bug7885
mysql-test/r/subselect.result:
Auto merged
mysql-test/t/subselect.test:
Auto merged
sql/item_subselect.cc:
Auto merged
mysql-test/r/subselect.result:
Testcase for BUG#7885
mysql-test/t/subselect.test:
Testcase for BUG#7885
sql/item_subselect.cc:
Fix for BUG#7885: In Item_subselect::fix_fields, return error if engine->prepare fails.
Also removed redundant code line.
configure.in:
Auto merged
client/mysqldump.c:
Auto merged
innobase/buf/buf0rea.c:
Auto merged
innobase/dict/dict0load.c:
Auto merged
innobase/fil/fil0fil.c:
Auto merged
innobase/include/fil0fil.h:
Auto merged
innobase/include/row0mysql.h:
Auto merged
innobase/include/trx0trx.h:
Auto merged
innobase/os/os0file.c:
Auto merged
innobase/row/row0ins.c:
Auto merged
innobase/row/row0mysql.c:
Auto merged
innobase/row/row0sel.c:
Auto merged
innobase/srv/srv0start.c:
Auto merged
innobase/trx/trx0trx.c:
Auto merged
libmysqld/lib_sql.cc:
Auto merged
mysql-test/mysql-test-run.sh:
Auto merged
mysql-test/r/alter_table.result:
Auto merged
mysql-test/r/ctype_ucs.result:
Auto merged
mysql-test/r/func_str.result:
Auto merged
mysql-test/r/grant.result:
Auto merged
mysql-test/r/grant_cache.result:
Auto merged
mysql-test/r/merge.result:
Auto merged
mysql-test/r/ndb_blob.result:
Auto merged
mysql-test/r/ps_1general.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/r/timezone2.result:
Auto merged
mysql-test/t/ctype_ucs.test:
Auto merged
mysql-test/t/grant.test:
Auto merged
mysql-test/t/merge.test:
Auto merged
mysql-test/t/multi_update.test:
Auto merged
mysql-test/t/mysqldump.test:
Auto merged
mysql-test/t/subselect.test:
Auto merged
ndb/src/ndbapi/NdbBlob.cpp:
Auto merged
ndb/src/ndbapi/NdbConnection.cpp:
Auto merged
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
Auto merged
ndb/src/ndbapi/NdbOperationDefine.cpp:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_myisammrg.cc:
Auto merged
sql/ha_myisammrg.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/log.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql-common/client.c:
Auto merged
sql/sql_table.cc:
Auto merged
sql/strfunc.cc:
Auto merged
sql/unireg.cc:
Auto merged
vio/vio.c:
Auto merged
vio/viosocket.c:
Auto merged
Added a couple of new test cases for bug #7351.
mysql-test/t/subselect.test:
Added a couple of new test cases for bug #7351.
mysql-test/r/subselect.result:
Added a couple of new test cases for bug #7351.
Added test cases for bug #7351.
item_cmpfunc.cc:
Fixed bug #7351: incorrect result for a query with a
subquery returning empty set.
If in the predicate v IN (SELECT a FROM t WHERE cond)
v is null, then the result of the predicate is either
INKNOWN or FALSE. It is FALSE if the subquery returns
an empty set.
item_subselect.cc:
Fixed bug #7351: incorrect result for a query with a
subquery returning empty set.
The problem was due to not a quite legal transformation
for 'IN' subqueries. A subquery containing a predicate
of the form
v IN (SELECT a FROM t WHERE cond)
was transformed into
EXISTS(SELECT a FROM t WHERE cond AND (a=v OR a IS NULL)).
Yet, this transformation is valid only if v is not null.
If v is null, then, in the case when
(SELECT a FROM t WHERE cond) returns an empty set the value
of the predicate is FALSE, otherwise the result of the
predicate is INKNOWN.
The fix resolves this problem by changing the result
of the transformation to
EXISTS(SELECT a FROM t WHERE cond AND (v IS NULL OR (a=v OR a IS NULL)))
in the case when v is nullable.
The new transformation prevents applying the lookup
optimization for IN subqueries. To make it still
applicable we have to introduce guarded access methods.
sql/item_subselect.cc:
Fixed bug #7351: incorrect result for a query with a
subquery returning empty set.
The problem was due to not a quite legal transformation
for 'IN' subqueries. A subquery containing a predicate
of the form
v IN (SELECT a FROM t WHERE cond)
was transformed into
EXISTS(SELECT a FROM t WHERE cond AND (a=v OR a IS NULL)).
Yet, this transformation is valid only if v is not null.
If v is null, then, in the case when
(SELECT a FROM t WHERE cond) returns an empty set the value
of the predicate is FALSE, otherwise the result of the
predicate is INKNOWN.
The fix resolves this problem by changing the result
of the transformation to
EXISTS(SELECT a FROM t WHERE cond AND (v IS NULL OR (a=v OR a IS NULL)))
in the case when v is nullable.
The new transformation prevents applying the lookup
optimization for IN subqueries. To make it still
applicable we have to introduce guarded access methods.
sql/item_cmpfunc.cc:
Fixed bug #7351: incorrect result for a query with a
subquery returning empty set.
If in the predicate v IN (SELECT a FROM t WHERE cond)
v is null, then the result of the predicate is either
INKNOWN or FALSE. It is FALSE if the subquery returns
an empty set.
mysql-test/t/subselect.test:
Added test cases for bug #7351.
mysql-test/r/subselect.result:
Added test cases for bug #7351.
BitKeeper/etc/ignore:
auto-union
BitKeeper/etc/logging_ok:
auto-union
Build-tools/Do-compile:
Auto merged
VC++Files/sql/mysqld.dsp:
Auto merged
client/Makefile.am:
Auto merged
client/mysql.cc:
Auto merged
BitKeeper/deleted/.del-acinclude.m4~f4ab416bac5003:
Auto merged
client/mysqltest.c:
Auto merged
include/my_base.h:
Auto merged
innobase/dict/dict0dict.c:
Auto merged
innobase/dict/dict0load.c:
Auto merged
innobase/include/dict0dict.h:
Auto merged
innobase/include/row0mysql.h:
Auto merged
innobase/os/os0file.c:
Auto merged
innobase/srv/srv0srv.c:
Auto merged
libmysql/libmysql.c:
Auto merged
myisam/mi_check.c:
Auto merged
myisam/mi_rnext_same.c:
Auto merged
myisam/mi_write.c:
Auto merged
myisam/sort.c:
Auto merged
mysql-test/mysql-test-run.sh:
Auto merged
mysql-test/r/ctype_ucs.result:
Auto merged
mysql-test/r/ctype_ujis.result:
Auto merged
mysql-test/r/gis-rtree.result:
Auto merged
mysql-test/r/group_by.result:
Auto merged
mysql-test/r/merge.result:
Auto merged
mysql-test/r/metadata.result:
Auto merged
mysql-test/r/ndb_alter_table.result:
Auto merged
mysql-test/r/ps_1general.result:
Auto merged
mysql-test/r/insert_update.result:
Auto merged
mysql-test/r/timezone2.result:
Auto merged
mysql-test/r/type_enum.result:
Auto merged
mysql-test/r/variables.result:
Auto merged
mysql-test/t/ctype_ucs.test:
Auto merged
mysql-test/t/merge.test:
Auto merged
mysql-test/t/ps_1general.test:
Auto merged
mysql-test/t/subselect.test:
Auto merged
mysql-test/t/system_mysql_db_fix.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
ndb/include/ndbapi/NdbConnection.hpp:
Auto merged
ndb/include/ndbapi/NdbDictionary.hpp:
Auto merged
ndb/src/common/util/version.c:
Auto merged
ndb/src/kernel/blocks/dbacc/DbaccInit.cpp:
Auto merged
ndb/src/kernel/blocks/dbacc/Makefile.am:
Auto merged
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
Auto merged
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Auto merged
ndb/src/kernel/blocks/dblqh/DblqhInit.cpp:
Auto merged
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Auto merged
ndb/src/kernel/blocks/dbtux/Dbtux.hpp:
Auto merged
ndb/src/ndbapi/NdbBlob.cpp:
Auto merged
ndb/src/ndbapi/NdbConnection.cpp:
Auto merged
ndb/src/ndbapi/NdbDictionary.cpp:
Auto merged
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
Auto merged
ndb/src/ndbapi/NdbDictionaryImpl.hpp:
Auto merged
ndb/src/ndbapi/NdbOperationExec.cpp:
Auto merged
ndb/src/ndbapi/NdbScanOperation.cpp:
Auto merged
ndb/test/ndbapi/Makefile.am:
Auto merged
scripts/make_win_src_distribution.sh:
Auto merged
scripts/mysql_install_db.sh:
Auto merged
sql/field.cc:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_ndbcluster.h:
Auto merged
sql/handler.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_create.h:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_geofunc.cc:
Auto merged
sql/item_row.cc:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/item_strfunc.h:
Auto merged
sql/item_sum.cc:
Auto merged
sql/item_sum.h:
Auto merged
sql/log.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/net_serv.cc:
Auto merged
sql/password.c:
Auto merged
sql/protocol.cc:
Auto merged
sql/repl_failsafe.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_derived.cc:
Auto merged
sql/sql_do.cc:
Auto merged
sql/sql_handler.cc:
Auto merged
sql/sql_help.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_repl.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_union.cc:
Auto merged
sql/examples/ha_archive.cc:
Auto merged
sql/strfunc.cc:
Auto merged
sql/table.cc:
Auto merged
sql/table.h:
Auto merged
sql/tztime.h:
Auto merged
sql/udf_example.cc:
Auto merged
sql/unireg.cc:
Auto merged
Makefile.am:
Simple merge
client/mysqldump.c:
Simple merge
configure.in:
Simple merge
libmysqld/lib_sql.cc:
Automatic merge
mysql-test/r/func_str.result:
Automatic merge
mysql-test/r/grant.result:
simple merge
mysql-test/r/multi_update.result:
automatc merge
mysql-test/r/ps.result:
automatic merge
mysql-test/r/ps_2myisam.result:
Automatic merge
mysql-test/r/ps_3innodb.result:
Automatic merge
mysql-test/r/ps_4heap.result:
Automatic merge
mysql-test/r/ps_5merge.result:
Automatic merge
mysql-test/r/ps_6bdb.result:
Automatic merge
mysql-test/r/ps_7ndb.result:
Automatic merge
mysql-test/r/show_check.result:
Automatic merge
mysql-test/r/subselect.result:
Automatic merge
mysql-test/t/grant.test:
Automatic merge
mysql-test/t/multi_update.test:
Automatic merge
mysql-test/t/ps.test:
Automatic merge
mysql-test/t/show_check.test:
Automatic merge
ndb/docs/wl2077.txt:
merge
ndb/src/mgmsrv/main.cpp:
merge
scripts/mysql_fix_privilege_tables.sh:
merge
sql/item.cc:
Merge (difficult)
sql/item.h:
simple merge
sql/item_cmpfunc.h:
Automatic merge
sql/item_subselect.cc:
Simple merge
sql/item_subselect.h:
Automatic merge
sql/mysql_priv.h:
Simple merge
sql/slave.h:
Automatic merge
sql/sql_base.cc:
Removed code that was backported to 4.1
sql/sql_class.h:
Merge (some code moved to sql_insert.cc)
sql/sql_db.cc:
simple merge
sql/sql_insert.cc:
Merge (difficult as logic had changed both in 4.1 and 5.0)
Some coded moved here from sql_class.h
sql/sql_parse.cc:
Merge (difficult)
sql/sql_prepare.cc:
Simple merge
sql/sql_select.cc:
Automatic merge
sql/sql_table.cc:
Simple merge
sql/sql_update.cc:
Difficult merge because of different logic for multi-updates
sql/sql_yacc.yy:
Simple merge
tests/client_test.c:
Simple merge
refernces if subqueri is not in HAVING clause (BUG#7079)
and the same used for subquery transformetion
mysql-test/r/subselect.result:
reference on changable fields from subquery
mysql-test/t/subselect.test:
reference on changable fields from subquery
sql/item.cc:
new reference which refer to current value not to result used
sql/item.h:
new reference which refer to current value not to result used
sql/item_subselect.cc:
new reference which refer to current value not to result used
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/item_sum.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
BitKeeper/etc/ignore:
auto-union
BitKeeper/etc/logging_ok:
auto-union
BUILD/SETUP.sh:
Auto merged
Build-tools/Do-compile:
Auto merged
client/mysqladmin.cc:
Auto merged
configure.in:
Auto merged
innobase/include/lock0lock.h:
Auto merged
innobase/os/os0file.c:
Auto merged
libmysqld/Makefile.am:
Auto merged
mysql-test/mysql-test-run.sh:
Auto merged
mysql-test/r/ctype_ucs.result:
Auto merged
mysql-test/r/heap.result:
Auto merged
mysql-test/r/insert_select.result:
Auto merged
mysql-test/r/lowercase_table3.result:
Auto merged
mysql-test/r/rpl_start_stop_slave.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/t/ctype_ucs.test:
Auto merged
mysql-test/t/rpl_until.test:
Auto merged
mysql-test/t/subselect.test:
Auto merged
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Auto merged
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/ha_myisam.h:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/lock.cc:
Auto merged
sql/log_event.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/slave.h:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_db.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_rename.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/log_event.cc:
Merge with 4.1
Trivial cleanup
sql/sql_class.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
mysql-test/r/subselect.result:
SCCS merged
mysql-test/t/subselect.test:
SCCS merged