from the select list and TEXT field
make setup_copy_fields to insert Item_copy_string for blobs in
the beginning of the copy_funcs (push_back instead of push_front)
the thing is that Item_copy_string::copy for function can call
Item_copy_string::val_int for blob via Item_ref.
But if Item_copy_string::copy for blob isn't called before,
it's value will be wrong.
So all the Item_copy_string::copy for blobs should be called before
Item_copy_string::copy for functions.
do not use '' as user in tests, because it picks the Unix login (which gives unexpected results if it is 'root')
(such behaviour is a feature of mysql_real_connect(), see the manual).
Added test case for bug #4767.
item_sum.cc:
Added a correct setting of the maybe_null flag for a copy of
an Item_sum object where the argument was a field of an inner table
in an outer join read from a temporary table.
It's part of the fix for bug #4767.
sql_select.cc:
Made change_refs_to_tmp_fields work correctly
for test case of bug #4767 where Item_sum::get_tmp_table_item
failed to build a correct copy of an Item_sum object referring
to a field in a temporary table.
It looks like a hack yet.
Bug#4417: SHOW CREATE TABLE and SHOW COLUMNS now return consistent results when "SET NAMES BINARY", i.e. everything is sent in UTF8: column names, enum values, default values.
Fixed bug #4976.
join_nested.result, join_nested.test:
Added a test case for bug #4976.
sql_select.cc:
Applied conversion from an outer join to an inner join
when the on expression does not depend on the outer table.
It fixed bug #4976.
Instead of trying to open time zone tables during calculation of CONVERT_TZ() function
or setting of @@time_zone variable we should open and lock them with the rest of
statement's table (so we should add them to global table list) and after that use such
pre-opened tables for loading info about time zones.
Added a test case for bug #4922.
sql_select.cc:
Blocked an optimization performed by join_read_const_table when
applied to an inner table of a nested outer join.
It was done to fix bug #4922.
sql_yacc.yy:
Fixed a typo bug in the rule for join_table.
The description is not entirerly correct. The issue was follow-up errors
where the first error is not caught - in which case it's often a system
error with errcode < 1000 (which are mapped by default to 'HY000'). In this
case the error state is different from what was assumed in the execution
loop.