Added a test case for bug #11745.
sql_select.cc:
Fixed bug # 11745.
Added support of where clause for queries with FROM DUAL.
sql_yacc.yy:
Fixed bug # 11745.
Added optional where clause for queries with FROM DUAL.
"Negative integer keys incorrectly substituted for 0 during range analysis."
The problem is that the range optimizer incorrectly replaces any negative
constant with '0' for all types except BIGINT because the method save_in_field()
casts negative integers to non-negative. This causes incorrect query
results where (0 = any_negative_number).
The problem caused by this bug is fixed by the patch for BUG#11185.
That patch constitutes an optimization due to which the problem code is
never called with negative constants. This patch adds a test so we are sure
that the problem does not reappear.
disabled if ref is built with a key from the updated table
Problem was in add_not_null_conds() optimization function.
It contains following code:
JOIN_TAB *referred_tab= not_null_item->field->table->reginfo.join_tab;
...
add_cond_and_fix(&referred_tab->select_cond, notnull);
For UPDATE described in bug report referred_tab is 0 and dereferencing it
crashes the server.
of system vars at PREPARE time": implement a special Item
to handle system variables. This item substitutes itself with
a basic constant containing variable value at fix_fields.
than in previous 4.1.x
Wrongly applied optimization were adding NOT NULL constraint which results in
rejecting valid rows and reduced result set.
The problem was that add_notnull_conds() while checking subquery were adding
NOT NULL constraint to left joined table, to which, normally, optimization
don't have to be applied.
data": remove the fix for another bug (8807) that
added OUTER_REF_TABLE_BIT to all subqueries that used a placeholder
to prevent their evaluation at prepare. As this bit hanged in
Item_subselect::used_tables_cache for ever, a constant subquery with
a placeholder was never evaluated as such, which caused wrong
choice of the execution plan for the statement.
- to fix Bug#8807 backport a better fix from 5.0
- post-review fixes.
adding test case
sql_table.cc:
sql_table.cc:
- do not create a new item when charsets are the same
- return ER_INVALID_DEFAULT if default value cannot
be converted into the column character set.
item.cc:
- Allow conversion not only to Unicode,
but also to and from "binary".
- Adding safe_charset_converter() for Item_num
and Item_varbinary, returning a fixed const Item.
Bug#11591
CHAR column with utf8 does not work properly
(more chars than expected)
do_cut_string didn't call well_formed_length,
and copied all data, which was wrong in the
case of multibyte character set.
ctype_utf8.result, ctype_utf8.test:
adding test case
New BitKeeper file ``mysql-test/include/ctype_innodb_like.inc''
Many files:
bug#11650: LIKE pattern matching using prefix index doesn't return correct result
min and max values were too long in the case of prefix key.
Fix my_like_range functions not to exceed prefix length.
ctype_innodb_like.inc:
new file