Problem: creating a partitioned table during name resolution for the
partition function we search for column names in all parts of the
CREATE TABLE query. It is superfluous (and wrong) sometimes.
Fix: launch name resolution for the partition function against
the table we're creating.
mysql-test/r/partition.result:
Fix for bug #29444: crash with partition refering to table in create-select
- test result.
mysql-test/t/partition.test:
Fix for bug #29444: crash with partition refering to table in create-select
- test result.
sql/item.cc:
Fix for bug #29444: crash with partition refering to table in create-select
- LEX::use_only_table_context introduced, which is used in the
Item_field::fix_fields() to resolve names only against
context->first_name_resolution_table/last_name_resolution_table.
sql/sql_lex.cc:
Fix for bug #29444: crash with partition refering to table in create-select
- LEX::use_only_table_context introduced, which is used in the
Item_field::fix_fields() to resolve names only against
context->first_name_resolution_table/last_name_resolution_table.
sql/sql_lex.h:
Fix for bug #29444: crash with partition refering to table in create-select
- LEX::use_only_table_context introduced, which is used in the
Item_field::fix_fields() to resolve names only against
context->first_name_resolution_table/last_name_resolution_table.
sql/sql_partition.cc:
Fix for bug #29444: crash with partition refering to table in create-select
- set the lex->use_only_table_context before the func_expr->fix_fields()
call to ensure we're resolving names against the table we're creating;
then restore it back after the call.
into linux-st28.site:/home/martin/mysql/src/bug31160/my51-bug31160
mysql-test/r/func_sapdb.result:
Auto merged
mysql-test/r/func_time.result:
Auto merged
sql/item_timefunc.h:
Auto merged
mysql-test/t/func_time.test:
SCCS merged
Even though it returns NULL, the MAKETIME function did not have this property set,
causing a failed assertion (designed to catch exactly this).
Fixed by setting the nullability property of MAKETIME().
mysql-test/r/func_sapdb.result:
Bug#31160: Changed test result.
mysql-test/r/func_time.result:
Bug#31160: Test result.
mysql-test/t/func_time.test:
Bug#31160: Test case.
sql/item_timefunc.h:
Bug#31160: The fix: Initializing maybe_null to true
into mysql.com:/home/ram/work/b31249/b31249.5.1
sql/item_timefunc.h:
Auto merged
sql/sql_select.cc:
Auto merged
mysql-test/r/type_datetime.result:
manual merge.
mysql-test/t/type_datetime.test:
manual merge.
Added test case.
The fix for Bug#20662 does also fix this one.
mysql-test/r/merge.result:
Bug#15522 - create ... select and with merge tables
Added test result.
mysql-test/t/merge.test:
Bug#15522 - create ... select and with merge tables
Added test case.
into linux-st28.site:/home/martin/mysql/src/bug30832-again/my51-bug30832-again
mysql-test/r/func_misc.result:
Auto merged
mysql-test/t/func_misc.test:
Auto merged
sql/item_func.h:
Auto merged
bitmap_is_set(table->write_set, fiel
Problem: creating a temporary table we allocate the group buffer if needed
followed by table bitmaps (see create_tmp_table()). Reserving less memory for
the group buffer than actually needed (used) for values retrieval may lead
to overlapping with followed bitmaps in the memory pool that in turn leads
to unpredictable consequences.
As we use Item->max_length sometimes to calculate group buffer size,
it must be set to proper value. In this particular case
Item_datetime_typecast::max_length is too small.
Another problem is that we use max_length to calculate the group buffer
key length for items represented as DATE/TIME fields which is superfluous.
Fix: set Item_datetime_typecast::max_length properly,
accurately calculate the group buffer key length for items
represented as DATE/TIME fields in the buffer.
mysql-test/r/type_datetime.result:
Fix for bug #31249: Assertion `!table || (!table->write_set ||
bitmap_is_set(table->write_set, fiel
- test result.
mysql-test/t/type_datetime.test:
Fix for bug #31249: Assertion `!table || (!table->write_set ||
bitmap_is_set(table->write_set, fiel
- test case.
sql/item_timefunc.h:
Fix for bug #31249: Assertion `!table || (!table->write_set ||
bitmap_is_set(table->write_set, fiel
- set Item_datetime_typecast::max_length properly.
sql/sql_select.cc:
Fix for bug #31249: Assertion `!table || (!table->write_set ||
bitmap_is_set(table->write_set, fiel
- the group buffer key length for items represented as
DATE/TIME fields in the buffer should be calculated using
the maximum pack length of such fields (== 8), using
max_length here is redundant.
Completion of previous patch. Negative number were denied
as the second argument to NAME_CONST.
mysql-test/r/func_misc.result:
Bug#30832 completion: test result
mysql-test/t/func_misc.test:
Bug#30832 completion: test case
added negative numbers
sql/item_func.h:
Bug#30832 completion
The function that represents unary minus is considered a constant if the argument is.
Locked rows of the InnoDB storage was silently skipped in the read-committed
isolation level.
QUICK_RANGE_SELECT for unique ranges lacks second (blocking) read
of the record that was read semi-consistently and just skip it.
The handler::read_multi_range_next method has been modified
to retry previous unique range if the previous read was
semi-consistent.
sql/handler.cc:
Fixed bug #31310.
The handler::read_multi_range_next method has been modified
to retry previous unique range if the previous read was
semi-consistent.
mysql-test/include/mix1.inc:
Added test case for bug #31310.
mysql-test/r/innodb_mysql.result:
Added test case for bug #31310.
fixed uninit memory access in SET pluginvar=DEFAULT
innodb_mysql.test, innodb_mysql.result:
test case for SET pluginvar=DEFAULT
mysql-test/r/innodb_mysql.result:
test case for SET pluginvar=DEFAULT
mysql-test/t/innodb_mysql.test:
test case for SET pluginvar=DEFAULT
sql/sql_plugin.cc:
fixed uninit memory access in SET pluginvar=DEFAULT
Problem: check missed if the second updatexml() argument is valid.
Fix: check it.
mysql-test/r/xml.result:
Fix for bug #31438: updatexml still crashes
- test result.
mysql-test/t/xml.test:
Fix for bug #31438: updatexml still crashes
- test case.
sql/item_xmlfunc.cc:
Fix for bug #31438: updatexml still crashes
- check if the second argument passed to the updatexml() is valid.
Item_sum_distinct::setup(THD*): Assertion
There was an assertion to detect a bug in ROLLUP
implementation. However the assertion is not true
when used in a subquery context with non-cacheable
statements.
Fixed by turning the assertion to accepted case
(just like it's done for the other aggregate functions).
mysql-test/r/func_group.result:
Bug #31156: test case
mysql-test/t/func_group.test:
Bug #31156: test case
sql/item_sum.cc:
Bug #31156: make it OK to call setup() several times:
done for (e.g.) scalar subquery
when a divisor is less than 1 and its fractional part is very long.
For example:
1 % .123456789123456789123456789123456789123456789123456789123456789123456789123456789;
Stack buffer overflow has been fixed in the do_div_mod function.
strings/decimal.c:
Fixed bug #31019.
Stack buffer overflow has been fixed in the do_div_mod function:
a value of the upper bound of the buffer was increased where
a decrement is required.
mysql-test/t/type_decimal.test:
Added test case for bug #31019.
mysql-test/r/type_decimal.result:
Added test case for bug #31019.
into bodhi.(none):/opt/local/work/mysql-5.0-runtime
mysql-test/r/sp.result:
Auto merged
mysql-test/t/sp.test:
Auto merged
sql/sql_parse.cc:
Auto merged
into bodhi.(none):/opt/local/work/mysql-5.1-runtime
mysql-test/include/mix1.inc:
Auto merged
mysql-test/r/create.result:
Auto merged
mysql-test/r/innodb_mysql.result:
Auto merged
mysql-test/r/sp.result:
Auto merged
mysql-test/t/sp.test:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
libmysql/libmysql.c:
Manual merge.
A rule was introduced by the 5.1 part of the fix for bug 27531 to
prefer filesort over indexed ORDER BY when accessing all of the rows of a
table (because it's faster). This new rule was not accounting for the
presence of a LIMIT clause.
Fixed the condition for this rule so it will prefer filesort over
indexed ORDER BY only if no LIMIT.
mysql-test/r/compress.result:
Bug #31094: LIMIT is not considered a full index scan
mysql-test/r/join.result:
Bug #31094: test case
mysql-test/r/select.result:
Bug #31094: LIMIT is not considered a full index scan
mysql-test/r/ssl.result:
Bug #31094: LIMIT is not considered a full index scan
mysql-test/r/ssl_compress.result:
Bug #31094: LIMIT is not considered a full index scan
mysql-test/t/join.test:
Bug #31094: test case
sql/sql_select.cc:
Bug #31094: prefer filesort over indexed ORDER BY only if no LIMIT
when used in a VIEW.
The problem was that wrong function (create_tmp_from_item())
was used to create a temporary field for Item_func_sp.
The fix is to use create_tmp_from_field().
mysql-test/r/sp.result:
Update result file.
mysql-test/t/sp.test:
Add a test case for BUG#20550.
sql/item_func.h:
Add a getter for Item_func_sp::sp_result_field.
sql/sql_select.cc:
Use create_tmp_from_field() to create a temporary field
for Item_func_sp.
Problem: creating an rb-tree key we store length (2 bytes) before the actual data for
varchar key parts. The fact was missed for NULL key parts, when we set NULL byte and
skip the rest.
Fix: take into account the length of the varchar key parts for NULLs.
heap/hp_hash.c:
Fix for bug #30885: MEMORY returns incorrect data if BTREE index is used for NULL lookup
- skip varchar key parts length (2 byte) for null key parts.
mysql-test/r/heap_btree.result:
Fix for bug #30885: MEMORY returns incorrect data if BTREE index is used for NULL lookup
-test result.
mysql-test/t/heap_btree.test:
Fix for bug #30885: MEMORY returns incorrect data if BTREE index is used for NULL lookup
- test case.
into sin.intern.azundris.com:/home/tnurnberg/19828/51-19828
mysql-test/t/grant.test:
Auto merged
sql/sql_acl.cc:
Auto merged
mysql-test/r/grant.result:
manual merge
into mysql.com:/home/hf/work/30286/my51-30286
mysql-test/r/gis-rtree.result:
Auto merged
mysql-test/t/gis-rtree.test:
Auto merged
storage/myisam/rt_index.c:
Auto merged
storage/myisam/rt_mbr.c:
Auto merged
into mysql.com:/home/hf/work/30286/my50-30286
myisam/rt_index.c:
Auto merged
myisam/rt_mbr.c:
Auto merged
mysql-test/t/gis-rtree.test:
Auto merged
mysql-test/r/gis-rtree.result:
merging
As the result of DOUBLE claculations can be bigger
than DBL_MAX constant we use in code, we shouldn't use this constatn
as a biggest possible value.
Particularly the rtree_pick_key function set 'min_area= DBL_MAX' relying
that any rtree_area_increase result will be less so we return valid
key. Though in rtree_area_increase function we calculate the area
of the rectangle, so the result can be 'inf' if the rectangle is
huge enough, which is bigger than DBL_MAX.
Code of the rtree_pick_key modified so we always return a valid key.
myisam/rt_index.c:
Bug #30286 spatial index cause corruption and server crash!
always set the best_key with the first key we get, so we always return
somthing valid.
myisam/rt_mbr.c:
Bug #30286 spatial index cause corruption and server crash!
function comment extended
mysql-test/r/gis-rtree.result:
Bug #30286 spatial index cause corruption and server crash!
test result
mysql-test/t/gis-rtree.test:
Bug #30286 spatial index cause corruption and server crash!
test case