Problem: we may get unexpected results comparing [u]longlong values as doubles.
Fix: adjust the test to use integer comparators.
Note: it's not a real fix, we have to implement some new comparators
to completely solve the original problem (see my comment in the bug report).
mysql-test/r/func_in.result:
Fix for bug #28748: "Select" returning one value too few
- result adjusted.
mysql-test/t/func_in.test:
Fix for bug #28748: "Select" returning one value too few
- test adjusted to use integer comparisons.
The IN function was comparing DATE/DATETIME values either as ints or as
strings. Both methods have their disadvantages and may lead to a wrong
result.
Now IN function checks whether all of its arguments has the STRING result
types and at least one of them is a DATE/DATETIME item. If so it uses either
an object of the in_datetime class or an object of the cmp_item_datetime
class to perform its work. If the IN() function arguments are rows then
row columns are checked whether the DATE/DATETIME comparator should be used
to compare them.
The in_datetime class is used to find occurence of the item to be checked
in the vector of the constant DATE/DATETIME values. The cmp_item_datetime
class is used to compare items one by one in the DATE/DATETIME context.
Both classes obtain values from items with help of the get_datetime_value()
function and cache the left item if it is a constant one.
mysql-test/t/type_datetime.test:
Added a test case for the bug#28133: Wrong DATE/DATETIME comparison in IN() function.
mysql-test/r/type_datetime.result:
Added a test case for the bug#28133: Wrong DATE/DATETIME comparison in IN() function.
mysql-test/r/func_in.result:
A test case result is corrected after the fix for the bug#28133.
sql/item_cmpfunc.h:
Bug#28133: Wrong DATE/DATETIME comparison in IN() function.
Two DATE/DATETIME comparison classes are added.
The in_datetime class is used to find occurence of the item to be checked
in the vector of the constant DATE/DATETIME values. The cmp_item_datetime
class is used to compare items one by one in the DATE/DATETIME context.
Both classes obtain values from items with help of the get_datetime_value()
function and cache the left item if it is a constant one.
sql/item_cmpfunc.cc:
Bug#28133: Wrong DATE/DATETIME comparison in IN() function.
Now IN function checks whether all of its arguments has the STRING result
types and at least one of them is a DATE/DATETIME item. If so it uses either
an object of the in_datetime class or an object of the cmp_item_datetime
class to perform its work. If the IN() function arguments are rows then
row columns are checked whether the DATE/DATETIME comparator should be used
to compare them.
of its argument happened to be a decimal expression returning
the NULL value.
The crash was due to the fact the function in_decimal::set did
not take into account that val_decimal() could return 0 if
the decimal expression had been evaluated to NULL.
mysql-test/r/func_in.result:
Added a test case for bug #27362.
mysql-test/t/func_in.test:
Added a test case for bug #27362.
Several problems here :
1. The conversion to double of an hex string const item
was not taking into account the unsigned flag.
2. IN was not behaving in the same was way as comparisons
when performed over an INT/DATE/DATETIME/TIMESTAMP column
and a constant. The ordinary comparisons in that case
convert the constant to an INTEGER value and do int
comparisons. Fixed the IN to do the same.
3. IN is not taking into account the unsigned flag when
calculating <expr> IN (<int_const1>, <int_const2>, ...).
Extended the implementation of IN to store and process
the unsigned flag for its arguments.
mysql-test/r/func_in.result:
Bug #19342: test case
mysql-test/t/func_in.test:
Bug #19342: test case
sql/item.h:
Bug #19342: correct handling of sign in conersion to real.
sql/item_cmpfunc.cc:
Bug #19342: exteneded the IN values list
to support unsigned longlong values.
Correct comparison of integers in IN with
regard of signedness.
Compare DATE/DATETIME/TIMESTAMP values as
integers in IN.
sql/item_cmpfunc.h:
Bug #19342: exteneded the IN values list
to support unsigned longlong values.
Correct comparison of integers in IN with
regard of signedness.
into mysql.com:/home/gluh/MySQL/Merge/5.0-opt
mysql-test/r/func_in.result:
Auto merged
mysql-test/r/range.result:
Auto merged
mysql-test/r/sp-code.result:
Auto merged
mysql-test/t/func_in.test:
Auto merged
mysql-test/t/range.test:
Auto merged
mysql-test/t/trigger.test:
Auto merged
mysql-test/t/view.test:
Auto merged
sql/item.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/mysql_priv.h:
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
mysql-test/r/select.result:
manual merge
mysql-test/r/view.result:
manual merge
mysql-test/t/select.test:
manual merge
The optimizer needs to evaluate whether predicates are better
evaluated using an index. IN is one such predicate.
To qualify an IN predicate must involve a field of the index
on the left and constant arguments on the right.
However whether an expression is a constant can be determined only
by knowing the preceding tables in the join order.
Assuming that only IN predicates with expressions on the right that
are constant for the whole query qualify limits the scope of
possible optimizations of the IN predicate (more specifically it
doesn't allow the "Range checked for each record" optimization for
such an IN predicate.
Fixed by not pre-determining the optimizability of the IN predicate
in the case when all right IN operands are not SQL constant expressions
mysql-test/r/func_in.result:
BUG#20420: optimizer reports wrong keys on left join with IN
- test case
mysql-test/t/func_in.test:
BUG#20420: optimizer reports wrong keys on left join with IN
- test case
sql/item_cmpfunc.h:
BUG#20420: optimizer reports wrong keys on left join with IN
- cannot decide on the optimizability of a function without
knowing the tables before it in the join order
into polly.local:/home/kaa/src/maint/mysql-5.0-maint
mysql-test/r/func_in.result:
Auto merged
mysql-test/t/func_in.test:
Auto merged
sql/opt_range.cc:
Auto merged
When calculating a SEL_TREE for the "c_{i-1} < X < c_i" interval, check if the tree returned for the "-inf < X < c_0" interval is NULL
mysql-test/r/func_in.result:
Added testcase for bug #24261 "crash when WHERE contains NOT IN ('<negative value>') for unsigned column type"
mysql-test/t/func_in.test:
Added testcase for bug #24261 "crash when WHERE contains NOT IN ('<negative value>') for unsigned column type"
sql/opt_range.cc:
When calculating a SEL_TREE for the "c_{i-1} < X < c_i" interval, check if the tree returned for the "-inf < X < c_0" interval is NULL
The problem was that some functions (namely IN() starting with 4.1, and
CHAR() starting with 5.0) were returning NULL in certain conditions,
while they didn't set their maybe_null flag. Because of that there could
be some problems with 'IS NULL' check, and statements that depend on the
function value domain, like CREATE TABLE t1 SELECT 1 IN (2, NULL);.
The fix is to set maybe_null correctly.
mysql-test/r/func_in.result:
Add result for bug#17047: CHAR() and IN() can return NULL without
signaling NULL result.
mysql-test/t/func_in.test:
Add test case for bug#17047: CHAR() and IN() can return NULL without
signaling NULL result.
sql/item_cmpfunc.cc:
Remove assignment to maybe_null, as it was already set in fix_fields()
based on all arguments, not only on the first.
Reverted fix for bug#18360
mysql-test/t/func_in.test:
Reverted fix for bug#18360
mysql-test/r/func_in.result:
Reverted fix for bug#18360
sql/item_cmpfunc.cc:
Reverted fix for bug#18360
The IN() function uses agg_cmp_type() to aggregate all types of its arguments
to find out some common type for comparisons. In this particular case the
char() and the int was aggregated to double because char() can contain values
like '1.5'. But all strings which do not start from a digit are converted to
0. thus 'a' and 'z' become equal.
This behaviour is reasonable when all function arguments are constants. But
when there is a field or an expression this can lead to false comparisons. In
this case it makes more sense to coerce constants to the type of the field
argument.
The agg_cmp_type() function now aggregates types of constant and non-constant
items separately. If some non-constant items will be found then their
aggregated type will be returned. Thus after the aggregation constants will be
coerced to the aggregated type.
mysql-test/t/func_in.test:
Added test case for bug#18360: Incorrect type coercion in IN() results in false comparison.
mysql-test/r/func_in.result:
Added test case for bug#18360: Incorrect type coercion in IN() results in false comparison.
sql/item_cmpfunc.cc:
Fixed bug#18360: Incorrect type coercion in IN() results in false comparison.
The agg_cmp_type() function now aggregates types of constant and non-constant
items separately. If some non-constant items will be found then their
aggregated type will be returned. Thus after the aggregation constants will
be coerced to the aggregated type.
- When manually constructing a SEL_TREE for "t.key NOT IN(...)", take into account that
get_mm_parts may return a tree with type SEL_TREE::IMPOSSIBLE
- Added missing OOM checks
- Added comments
mysql-test/r/func_in.result:
Testcase for BUG#19618
mysql-test/t/func_in.test:
Testcase for BUG#19618
too much memory. Instead, either create the equvalent SEL_TREE manually, or create only two ranges that
strictly include the area to scan
(Note: just to re-iterate: increasing NOT_IN_IGNORE_THRESHOLD will make optimization run slower for big
IN-lists, but the server will not run out of memory. O(N^2) memory use has been eliminated)
mysql-test/r/func_in.result:
Testcase for BUG#15872
mysql-test/t/func_in.test:
Testcase for BUG#15872
sql/item.cc:
BUG#15872: Added Item_decimal::set_decimal_value()
sql/item.h:
UG#15872: Added Item_decimal::set_decimal_value()
sql/item_cmpfunc.h:
BUG#15872: Added in_vector::create_item(), in_vector::value_to_item() and their implementations in concrete
classes.
sql/opt_range.cc:
BUG#15872: Don't run the range analyzer on "t1.keypart NOT IN (const1, ..., )", as that
consumes too much memory. Instead, either
A) create the equivalent SEL_TREE manually, making use of the fact that item_not_in->array
has an ordered IN-list, or
B) create only two ranges: (-inf|NULL) < X < min_value_from_in_list, max_value_from_in_list < X
(Choose #B if the IN-list has > 10K elements)
myisam/mi_check.c:
Auto merged
myisam/myisamchk.c:
Auto merged
mysql-test/r/myisam.result:
Auto merged
mysql-test/t/func_in.test:
Auto merged
sql/ha_myisam.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_select.cc:
Manually merged.
not equivalent to "x=y" when item->negated == TRUE.
mysql-test/r/func_in.result:
Testcase for BUG#13419
mysql-test/t/func_in.test:
Testcase for BUG#13419
sql/sql_select.cc:
Fix for BUG#13419:
* Take into account that item=Item_func_in(x,y) is not equivalent to "x=y" when
item->negated == TRUE.
* Removed comment that is no longer true.
view definer information syntax/storage/replication
fixed SOURCE field of .frm
mysql-test/r/func_in.result:
definer information added to CREATE VIEW
mysql-test/r/lowercase_view.result:
definer information added to CREATE VIEW
mysql-test/r/mysqldump.result:
definer information added to CREATE VIEW
mysql-test/r/rpl_view.result:
check log of queries
mysql-test/r/skip_grants.result:
--skip-grants do not allow use user information
mysql-test/r/sql_mode.result:
definer information added to CREATE VIEW
mysql-test/r/temp_table.result:
definer information added to CREATE VIEW
mysql-test/r/view.result:
definer information added to CREATE VIEW
test of storing/restoring definer information
mysql-test/r/view_grant.result:
test of grant check of definer information
definer information added to CREATE VIEW
mysql-test/t/rpl_view.test:
check log of queries
mysql-test/t/skip_grants.test:
--skip-grants do not allow use user information
mysql-test/t/view.test:
test of storing/restoring definer information
mysql-test/t/view_grant.test:
test of grant check of definer information
sql/mysql_priv.h:
CREATE/ALTER VIEW print support
set current user as definer procedure
sql/share/errmsg.txt:
new errors/warnings
sql/sql_acl.cc:
make find_acl_user public to allow to check user
sql/sql_acl.h:
make find_acl_user public to allow to check user
sql/sql_lex.h:
storing definer information
sql/sql_parse.cc:
send CREATE/ALTER VIEW for replication with full list of options
set current user as definer procedure
sql/sql_show.cc:
new CREATE VIEW options printed
sql/sql_view.cc:
check of definer clause
changes in .frm file
definer information storage support
now we store only original SELECT in SOURCE field of .frm
sql/sql_yacc.yy:
definer information sintax support
getting SOURCE field information for .frm
sql/table.h:
definer information storage
Fixed bug #11885.
sql_select.cc:
Fixed bug #11885.
Predicates of the forms 'a IN (v)' 'a NOT IN (v)' now
is replaced by 'a=v' and 'a<>v' at the parsing stage.
sql_yacc.yy:
Fixed bug #11885.
Predicates of the forms 'a IN (v)' 'a NOT IN (v)' now
is replaced by 'a=v' and 'a<>v' at the parsing stage.
sql/sql_yacc.yy:
Fixed bug #11885.
Predicates of the forms 'a IN (v)' 'a NOT IN (v) now
is replaced by 'a=v' and 'a<>v' at the parsing stage.
sql/sql_select.cc:
Fixed bug #11885.
Predicates of the forms 'a IN (v)' 'a NOT IN (v) now
is replaced by 'a=v' and 'a<>v' at the parsing stage.
mysql-test/t/func_in.test:
Fixed bug #11885.
mysql-test/r/func_in.result:
Fixed bug #11885.
Bug#7834 Illegal mix of collations in IN operator
IN was the first function supporting
character set convertion.
agg_arg_charsets() was written afterwards,
which is more flexible.
Now IN just reuses this function.
sql/item_cmpfunc.cc:
Bug#7834 Illegal mix of collations in IN operator
IN was the first function supporting
character set convertion.
agg_arg_charsets() was written afterwards,
which is more flexible.
Now IN just reuses this function.
BitKeeper/etc/ignore:
auto-union
client/mysqldump.c:
Auto merged
client/mysqltest.c:
Auto merged
innobase/include/row0mysql.h:
Auto merged
libmysql/libmysql.c:
Auto merged
mysql-test/r/ctype_ucs.result:
Auto merged
mysql-test/r/fulltext.result:
Auto merged
mysql-test/r/func_in.result:
Auto merged
mysql-test/r/ps.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/type_float.result:
Auto merged
mysql-test/r/user_var.result:
Auto merged
mysql-test/t/innodb.test:
Auto merged
mysql-test/t/user_var.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
sql/ha_berkeley.cc:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_innodb.h:
Auto merged
sql/ha_ndbcluster.h:
Auto merged
sql/item.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/repl_failsafe.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_db.cc:
Auto merged
sql/sql_error.cc:
Auto merged
sql/sql_help.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_select.h:
Auto merged
sql/sql_yacc.yy:
Auto merged
Added a case for bug #6365.
item_cmpfunc.cc:
Fixed bug #6365 : Server crashed when list of values
in IN predicate contains NULL while the tested field is
of the character type and not of the default set;
e.g. when f in 'f IN (NULL,'aa') belongs to binary
character set, while the default character set is latin1.
sql/item_cmpfunc.cc:
Fixed bug #6365 : Server crash when list of values
in IN predicate contains NULL while the tested field is
of the character type of not of the default set
e.g. when f in 'f IN (NULL,'aa') belongs to binary
character set, while the default character set is latin1.
mysql-test/t/func_in.test:
Added a case for bug #6365.
mysql-test/r/func_in.result:
Added a case for bug #6365.
(Includes merge of arena code in 4.1 and 5.0)
BitKeeper/etc/ignore:
auto-union
BitKeeper/etc/logging_ok:
auto-union
VC++Files/sql/mysqld.dsp:
Auto merged
client/mysql.cc:
Auto merged
client/mysqltest.c:
Auto merged
include/my_global.h:
Auto merged
include/my_sys.h:
Auto merged
include/mysql.h:
Auto merged
include/mysql_com.h:
Auto merged
innobase/row/row0sel.c:
Auto merged
libmysql/client_settings.h:
Auto merged
libmysql/libmysql.c:
Auto merged
libmysqld/Makefile.am:
Auto merged
libmysqld/examples/Makefile.am:
Auto merged
libmysqld/lib_sql.cc:
Auto merged
myisam/mi_check.c:
Auto merged
myisam/myisamchk.c:
Auto merged
myisam/sort.c:
Auto merged
mysql-test/r/connect.result:
Auto merged
mysql-test/r/ctype_recoding.result:
Auto merged
mysql-test/r/ctype_ucs.result:
Auto merged
mysql-test/r/func_in.result:
Auto merged
mysql-test/r/func_like.result:
Auto merged
mysql-test/r/gis.result:
Auto merged
mysql-test/r/having.result:
Auto merged
mysql-test/r/heap.result:
Auto merged
mysql-test/r/join.result:
Auto merged
mysql-test/r/key.result:
Auto merged
mysql-test/r/lowercase_table.result:
Auto merged
mysql-test/r/ndb_autodiscover.result:
Auto merged
mysql-test/r/null.result:
Auto merged
mysql-test/r/olap.result:
Auto merged
mysql-test/r/order_by.result:
Auto merged
mysql-test/r/ps_1general.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/range.result:
Auto merged
mysql-test/r/rename.result:
Auto merged
mysql-test/r/show_check.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/r/union.result:
Auto merged
mysql-test/r/variables.result:
Auto merged
mysql-test/t/alter_table.test:
Auto merged
mysql-test/t/null.test:
Auto merged
mysql-test/t/ps_1general.test:
Auto merged
mysql-test/t/rpl_charset.test:
Auto merged
mysql-test/t/rpl_heap.test:
Auto merged
mysql-test/t/rpl_relayrotate.test:
Auto merged
mysql-test/t/subselect.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
netware/mysql_test_run.c:
Auto merged
scripts/make_binary_distribution.sh:
Auto merged
scripts/mysql_create_system_tables.sh:
Auto merged
scripts/mysql_fix_privilege_tables.sql:
Auto merged
scripts/mysql_install_db.sh:
Auto merged
sql/ha_berkeley.cc:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_innodb.h:
Auto merged
sql/ha_myisam.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/item_create.cc:
Auto merged
sql/item_create.h:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/item_timefunc.h:
Auto merged
sql/lex.h:
Auto merged
sql/lock.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/opt_sum.cc:
Auto merged
sql/protocol.cc:
Auto merged
sql/records.cc:
Auto merged
sql/repl_failsafe.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/set_var.h:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_acl.h:
Auto merged
sql/sql_db.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_list.h:
Auto merged
sql/sql_load.cc:
Auto merged
sql/sql_rename.cc:
Auto merged
sql/sql_select.h:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_string.h:
Auto merged
sql/table.cc:
Auto merged
sql-common/client.c:
Auto merged
client/mysqlbinlog.cc:
Merge with 4.1
configure.in:
Merge with 4.1
include/mysqld_error.h:
Add new error message (1) from 4.1
mysql-test/mysql-test-run.sh:
Merge with 4.1
mysql-test/r/func_gconcat.result:
Merge with 4.1
mysql-test/r/func_if.result:
Merge with 4.1
mysql-test/r/grant.result:
Merge with 4.1
mysql-test/r/join_outer.result:
Merge with 4.1
mysql-test/r/rpl_charset.result:
Merge with 4.1 (This has to be fixed before pushing)
mysql-test/r/system_mysql_db.result:
Merge with 4.1.
Added collation to new privileges
mysql-test/t/grant.test:
Merge with 4.1
mysql-test/t/grant_cache.test:
Merge with 4.1
mysql-test/t/show_check.test:
Merge with 4.1
sql/Makefile.am:
Merge with 4.1
sql/item.cc:
Merge with 4.1
sql/item_cmpfunc.cc:
Merge with 4.1 (arena code)
sql/item_subselect.cc:
Merge with 4.1
sql/item_subselect.h:
Merge with 4.1
sql/item_sum.cc:
Merge with 4.1
sql/item_sum.h:
Merge with 4.1
sql/log.cc:
Merge with 4.1 (Remove code that is not relevant for 5.0)
sql/mysqld.cc:
Merge with 4.1
sql/opt_range.cc:
Merge with 4.1
sql/share/czech/errmsg.txt:
Merge with 4.1
sql/share/danish/errmsg.txt:
Merge with 4.1
sql/share/dutch/errmsg.txt:
Merge with 4.1
sql/share/english/errmsg.txt:
Merge with 4.1
sql/share/estonian/errmsg.txt:
Merge with 4.1
sql/share/french/errmsg.txt:
Merge with 4.1
sql/share/german/errmsg.txt:
Merge with 4.1
sql/share/greek/errmsg.txt:
Merge with 4.1
sql/share/hungarian/errmsg.txt:
Merge with 4.1
sql/share/italian/errmsg.txt:
Merge with 4.1
sql/share/japanese/errmsg.txt:
Merge with 4.1
sql/share/korean/errmsg.txt:
Merge with 4.1
sql/share/norwegian-ny/errmsg.txt:
Merge with 4.1
sql/share/norwegian/errmsg.txt:
Merge with 4.1
sql/share/polish/errmsg.txt:
Merge with 4.1
sql/share/portuguese/errmsg.txt:
Merge with 4.1
sql/share/romanian/errmsg.txt:
Merge with 4.1
sql/share/russian/errmsg.txt:
Merge with 4.1
sql/share/serbian/errmsg.txt:
Merge with 4.1
sql/share/slovak/errmsg.txt:
Merge with 4.1
sql/share/spanish/errmsg.txt:
Merge with 4.1
sql/share/swedish/errmsg.txt:
Merge with 4.1
sql/share/ukrainian/errmsg.txt:
Merge with 4.1
sql/sql_base.cc:
Merge with 4.1
sql/sql_class.cc:
Merge with 4.1
Use arena code from 4.1
sql/sql_class.h:
Merge with 4.1
Use arena code from 4.1
sql/sql_derived.cc:
Merge with 4.1
sql/sql_lex.cc:
Merge with 4.1
sql/sql_lex.h:
Merge with 4.1
sql/sql_parse.cc:
Merge with 4.1
sql/sql_prepare.cc:
Merge with 4.1
sql/sql_select.cc:
Merge with 4.1
sql/sql_table.cc:
Merge with 4.1
sql/sql_union.cc:
Merge with 4.1
sql/sql_yacc.yy:
Merge with 4.1
sql/tztime.cc:
Merge with 4.1
tests/client_test.c:
Merge with 4.1
mysql-test/r/bench_count_distinct.result:
Quoting of fields and tables names
mysql-test/r/case.result:
Quoting of fields and tables names
mysql-test/r/fulltext.result:
Quoting of fields and tables names
mysql-test/r/func_default.result:
Quoting of fields and tables names
mysql-test/r/func_gconcat.result:
Quoting of fields and tables names
mysql-test/r/func_group.result:
Quoting of fields and tables names
mysql-test/r/func_if.result:
Quoting of fields and tables names
mysql-test/r/func_in.result:
Quoting of fields and tables names
mysql-test/r/func_regexp.result:
Quoting of fields and tables names
mysql-test/r/func_test.result:
Quoting of fields and tables names
mysql-test/r/gis.result:
Quoting of fields and tables names
mysql-test/r/group_by.result:
Quoting of fields and tables names
mysql-test/r/having.result:
Quoting of fields and tables names
mysql-test/r/insert_update.result:
Quoting of fields and tables names
mysql-test/r/join_nested.result:
Quoting of fields and tables names
mysql-test/r/olap.result:
Quoting of fields and tables names
mysql-test/r/query_cache.result:
Quoting of fields and tables names
mysql-test/r/select.result:
Quoting of fields and tables names
mysql-test/r/subselect.result:
Quoting of fields and tables names
mysql-test/r/union.result:
Quoting of fields and tables names
mysql-test/r/varbinary.result:
Quoting of fields and tables names
mysql-test/r/view.result:
Quoting of fields and tables names
test of view with quated fields
mysql-test/t/view.test:
test of view with quated fields
sql/item.cc:
Quoting of fields and tables names
sql/item.h:
Quoting of fields and tables names
sql/sql_select.cc:
Quoting of fields and tables names
sql/sql_view.cc:
mark subquery in the FROM clause like derived
mysql-test/r/derived.result:
fixed results after merge
mysql-test/r/func_in.result:
small fix to amke all names uniform
mysql-test/r/func_math.result:
forgot to change
sql/item.cc:
fix
sql/item_create.cc:
small fix to amke all names uniform
Cleaned up test; Removed wrong DROP TABLE commands and use standard table and database names.
changed store_warning() -> push_warning_print()
BitKeeper/deleted/.del-rpl000016-slave.opt~ef76f85ddcc13b87:
Delete: mysql-test/t/rpl000016-slave.opt
BitKeeper/deleted/.del-sel000001.test~9567c1646058cc:
Delete: mysql-test/t/sel000001.test
BitKeeper/deleted/.del-sel000002.test~9f500639572e18e1:
Delete: mysql-test/t/sel000002.test
BitKeeper/deleted/.del-sel000003.test~63a5512d18cd20a2:
Delete: mysql-test/t/sel000003.test
BitKeeper/deleted/.del-sel000001.result~383913ae4505ec86:
Delete: mysql-test/r/sel000001.result
BitKeeper/deleted/.del-sel000002.result~d1787e6fd5dbc1cc:
Delete: mysql-test/r/sel000002.result
BitKeeper/deleted/.del-sel000003.result~d7b657b1e3a286a7:
Delete: mysql-test/r/sel000003.result
BitKeeper/deleted/.del-sel000031.result~d49aeac63ad7db4d:
Delete: mysql-test/r/sel000031.result
BitKeeper/deleted/.del-sel000031.test~50a19a8e204e99bc:
Delete: mysql-test/t/sel000031.test
BitKeeper/deleted/.del-sel000032.result~6cb30e23cbca9fb0:
Delete: mysql-test/r/sel000032.result
BitKeeper/deleted/.del-sel000032.test~e32da7c3fc4b7ace:
Delete: mysql-test/t/sel000032.test
BitKeeper/deleted/.del-rpl000003.result~68d6ee00beaa011:
Delete: mysql-test/r/rpl000003.result
BitKeeper/deleted/.del-rpl000003.test~b7cfc4c5576fbafd:
Delete: mysql-test/t/rpl000003.test
client/mysql.cc:
Don't yet print information about SQL help
client/mysqltest.c:
Added test options:
--enable_warnings
--disable_warnings
--enable_info
--disable_info
configure.in:
changed version number of shared libraries
mysql-test/include/master-slave.inc:
Don't write warnings on init
mysql-test/r/backup.result:
Updated results
mysql-test/r/bdb.result:
Updated results
mysql-test/r/bigint.result:
Updated results
mysql-test/r/bool.result:
Updated results
mysql-test/r/create.result:
Updated results
mysql-test/r/delete.result:
Updated results
mysql-test/r/derived.result:
Updated results
mysql-test/r/distinct.result:
Updated results
mysql-test/r/drop.result:
Updated results
mysql-test/r/flush.result:
Updated results
mysql-test/r/fulltext.result:
Updated results
mysql-test/r/fulltext_multi.result:
Updated results
mysql-test/r/fulltext_order_by.result:
Updated results
mysql-test/r/func_equal.result:
Updated results
mysql-test/r/func_in.result:
Updated results
mysql-test/r/func_set.result:
Updated results
mysql-test/r/gcc296.result:
Updated results
mysql-test/r/group_by.result:
Updated results
mysql-test/r/innodb-deadlock.result:
Updated results
mysql-test/r/innodb.result:
Updated results
mysql-test/r/innodb_cache.result:
Updated results
mysql-test/r/innodb_handler.result:
Updated results
mysql-test/r/insert.result:
Updated results
mysql-test/r/insert_select.result:
Updated results
mysql-test/r/isam.result:
Updated results
mysql-test/r/join_outer.result:
Updated results
mysql-test/r/key.result:
Updated results
mysql-test/r/merge.result:
Updated results
mysql-test/r/multi_update.result:
Updated results
mysql-test/r/myisam.result:
Updated results
mysql-test/r/null.result:
Updated results
mysql-test/r/null_key.result:
Updated results
mysql-test/r/odbc.result:
Updated results
mysql-test/r/olap.result:
Updated results
mysql-test/r/order_by.result:
Updated results
mysql-test/r/query_cache.result:
Updated results
mysql-test/r/rename.result:
Updated results
mysql-test/r/row.result:
Updated results
mysql-test/r/rpl000001.result:
Updated results
mysql-test/r/rpl000002.result:
Updated results
mysql-test/r/rpl000004.result:
Updated results
mysql-test/r/rpl000005.result:
Updated results
mysql-test/r/rpl000006.result:
Updated results
mysql-test/r/rpl000008.result:
Updated results
mysql-test/r/rpl000009.result:
Updated results
mysql-test/r/rpl000010.result:
Updated results
mysql-test/r/rpl000011.result:
Updated results
mysql-test/r/rpl000012.result:
Updated results
mysql-test/r/rpl000013.result:
Updated results
mysql-test/r/rpl_alter.result:
Updated results
mysql-test/r/rpl_empty_master_crash.result:
Updated results
mysql-test/r/rpl_redirect.result:
Updated results
mysql-test/r/rpl_replicate_do.result:
Updated results
mysql-test/r/rpl_rotate_logs.result:
Updated results
mysql-test/r/rpl_skip_error.result:
Updated results
mysql-test/r/rpl_temporary.result:
Updated results
mysql-test/r/select.result:
Updated results
mysql-test/r/subselect.result:
Updated results
mysql-test/r/temp_table.result:
Updated results
mysql-test/r/type_date.result:
Updated results
mysql-test/r/type_float.result:
Updated results
mysql-test/r/union.result:
Updated results
mysql-test/r/update.result:
Updated results
mysql-test/r/user_var.result:
Updated results
mysql-test/r/varbinary.result:
Updated results
mysql-test/r/variables.result:
Updated results
mysql-test/r/warnings.result:
Updated results
mysql-test/t/alias.test:
Don't write warnings when initializing test
mysql-test/t/alter_table.test:
Don't write warnings when initializing test
mysql-test/t/analyse.test:
Don't write warnings when initializing test
mysql-test/t/auto_increment.test:
Don't write warnings when initializing test
mysql-test/t/backup.test:
Don't write warnings when initializing test
mysql-test/t/bdb-alter-table-1.test:
Don't write warnings when initializing test
mysql-test/t/bdb-crash.test:
Don't write warnings when initializing test
mysql-test/t/bdb-deadlock.test:
Don't write warnings when initializing test
mysql-test/t/bdb.test:
Don't write warnings when initializing test
cleaned up test
mysql-test/t/bdb_cache.test:
Don't write warnings when initializing test
mysql-test/t/bench_count_distinct.test:
Don't write warnings when initializing test
mysql-test/t/bigint.test:
Don't write warnings when initializing test
mysql-test/t/binary.test:
Don't write warnings when initializing test
mysql-test/t/bool.test:
Don't write warnings when initializing test
Changed to use standard table names
mysql-test/t/bulk_replace.test:
Don't write warnings when initializing test
mysql-test/t/case.test:
Don't write warnings when initializing test
mysql-test/t/check.test:
Don't write warnings when initializing test
mysql-test/t/compare.test:
Don't write warnings when initializing test
mysql-test/t/connect.test:
Removed empty line
mysql-test/t/constraints.test:
Don't write warnings when initializing test
mysql-test/t/count_distinct.test:
Don't write warnings when initializing test
mysql-test/t/count_distinct2.test:
Don't write warnings when initializing test
mysql-test/t/create.test:
Don't write warnings when initializing test
Cleaned up test
mysql-test/t/ctype_latin1_de.test:
Don't write warnings when initializing test
mysql-test/t/ctype_many.test:
Don't write warnings when initializing test
mysql-test/t/delayed.test:
Don't write warnings when initializing test
mysql-test/t/delete.test:
Don't write warnings when initializing test
Cleaned up test
mysql-test/t/derived.test:
Don't write warnings when initializing test
Cleaned up test
mysql-test/t/dirty_close.test:
Don't write warnings when initializing test
mysql-test/t/distinct.test:
Don't write warnings when initializing test
Cleaned up test
mysql-test/t/drop.test:
Don't write warnings when initializing test
mysql-test/t/empty_table.test:
Don't write warnings when initializing test
mysql-test/t/err000001.test:
Don't write warnings when initializing test
Cleaned up test
mysql-test/t/explain.test:
Don't write warnings when initializing test
mysql-test/t/flush.test:
Don't write warnings when initializing test
mysql-test/t/foreign_key.test:
Don't write warnings when initializing test
mysql-test/t/fulltext.test:
Don't write warnings when initializing test
mysql-test/t/fulltext_cache.test:
Don't write warnings when initializing test
mysql-test/t/fulltext_distinct.test:
Don't write warnings when initializing test
mysql-test/t/fulltext_left_join.test:
Don't write warnings when initializing test
mysql-test/t/fulltext_multi.test:
Don't write warnings when initializing test
mysql-test/t/fulltext_order_by.test:
Don't write warnings when initializing test
mysql-test/t/fulltext_update.test:
Don't write warnings when initializing test
mysql-test/t/func_concat.test:
Don't write warnings when initializing test
mysql-test/t/func_date_add.test:
Don't write warnings when initializing test
mysql-test/t/func_encrypt.test:
Don't write warnings when initializing test
mysql-test/t/func_equal.test:
Don't write warnings when initializing test
mysql-test/t/func_group.test:
Don't write warnings when initializing test
mysql-test/t/func_if.test:
Don't write warnings when initializing test
mysql-test/t/func_in.test:
Don't write warnings when initializing test
mysql-test/t/func_isnull.test:
Don't write warnings when initializing test
mysql-test/t/func_like.test:
Don't write warnings when initializing test
mysql-test/t/func_regexp.test:
Don't write warnings when initializing test
mysql-test/t/func_set.test:
Don't write warnings when initializing test
Merged test with other tests
mysql-test/t/func_str.test:
Don't write warnings when initializing test
mysql-test/t/func_time.test:
Don't write warnings when initializing test
mysql-test/t/func_timestamp.test:
Don't write warnings when initializing test
mysql-test/t/gcc296.test:
Don't write warnings when initializing test
Cleaned up test
mysql-test/t/grant_cache.test:
Don't write warnings when initializing test
mysql-test/t/group_by.test:
Don't write warnings when initializing test
Cleaned up test
mysql-test/t/handler.test:
Don't write warnings when initializing test
mysql-test/t/having.test:
Don't write warnings when initializing test
mysql-test/t/heap.test:
Don't write warnings when initializing test
mysql-test/t/heap_auto_increment.test:
Don't write warnings when initializing test
mysql-test/t/heap_btree.test:
Don't write warnings when initializing test
mysql-test/t/heap_hash.test:
Don't write warnings when initializing test
mysql-test/t/innodb-deadlock.test:
Don't write warnings when initializing test
mysql-test/t/innodb.test:
Don't write warnings when initializing test
mysql-test/t/innodb_cache.test:
Don't write warnings when initializing test
mysql-test/t/innodb_handler.test:
Don't write warnings when initializing test
mysql-test/t/ins000001.test:
Don't write warnings when initializing test
mysql-test/t/insert.test:
Don't write warnings when initializing test
cleaned up test.
Changed to use standard database and table names
mysql-test/t/insert_select.test:
Don't write warnings when initializing test
Changed to use standard table names
mysql-test/t/insert_update.test:
Don't write warnings when initializing test
mysql-test/t/isam.test:
Don't write warnings when initializing test
cleaned up test
mysql-test/t/join.test:
Don't write warnings when initializing test
mysql-test/t/join_crash.test:
Don't write warnings when initializing test
mysql-test/t/join_outer.test:
Don't write warnings when initializing test
mysql-test/t/key.test:
Don't write warnings when initializing test
mysql-test/t/key_diff.test:
Don't write warnings when initializing test
mysql-test/t/key_primary.test:
Don't write warnings when initializing test
mysql-test/t/keywords.test:
Don't write warnings when initializing test
mysql-test/t/kill.test:
Don't write warnings when initializing test
mysql-test/t/limit.test:
Don't write warnings when initializing test
mysql-test/t/lock.test:
Don't write warnings when initializing test
mysql-test/t/lock_multi.test:
Don't write warnings when initializing test
mysql-test/t/lowercase_table.test:
Don't write warnings when initializing test
mysql-test/t/merge.test:
Don't write warnings when initializing test
cleaned up test
mysql-test/t/multi_update.test:
Don't write warnings when initializing test
mysql-test/t/myisam.test:
Don't write warnings when initializing test
mysql-test/t/null.test:
Don't write warnings when initializing test
mysql-test/t/null_key.test:
Don't write warnings when initializing test
mysql-test/t/odbc.test:
Don't write warnings when initializing test
mysql-test/t/olap.test:
Don't write warnings when initializing test
mysql-test/t/order_by.test:
Don't write warnings when initializing test
mysql-test/t/order_fill_sortbuf.test:
Don't write warnings when initializing test
mysql-test/t/query_cache.test:
Don't write warnings when initializing test
mysql-test/t/raid.test:
Don't write warnings when initializing test
mysql-test/t/range.test:
Don't write warnings when initializing test
mysql-test/t/rename.test:
Don't write warnings when initializing test
mysql-test/t/repair.test:
Don't write warnings when initializing test
mysql-test/t/replace.test:
Don't write warnings when initializing test
mysql-test/t/rollback.test:
Don't write warnings when initializing test
mysql-test/t/row.test:
Don't write warnings when initializing test
mysql-test/t/rpl000001.test:
Don't write warnings when initializing test
mysql-test/t/rpl000002.test:
Don't write warnings when initializing test
mysql-test/t/rpl000004.test:
Don't write warnings when initializing test
mysql-test/t/rpl000005.test:
Don't write warnings when initializing test
mysql-test/t/rpl000006.test:
Don't write warnings when initializing test
mysql-test/t/rpl000008-slave.opt:
Don't write warnings when initializing test
mysql-test/t/rpl000008.test:
Don't write warnings when initializing test
mysql-test/t/rpl000009-slave.opt:
Don't write warnings when initializing test
mysql-test/t/rpl000009.test:
Don't write warnings when initializing test
mysql-test/t/rpl000010.test:
Don't write warnings when initializing test
mysql-test/t/rpl000011.test:
Don't write warnings when initializing test
mysql-test/t/rpl000012.test:
Don't write warnings when initializing test
mysql-test/t/rpl000013.test:
Don't write warnings when initializing test
mysql-test/t/rpl000015.test:
Don't write warnings when initializing test
mysql-test/t/rpl000017.test:
Don't write warnings when initializing test
mysql-test/t/rpl000018.test:
Don't write warnings when initializing test
mysql-test/t/rpl_alter.test:
Don't write warnings when initializing test
mysql-test/t/rpl_empty_master_crash.test:
Don't write warnings when initializing test
mysql-test/t/rpl_redirect.test:
Don't write warnings when initializing test
mysql-test/t/rpl_replicate_do.test:
Don't write warnings when initializing test
mysql-test/t/rpl_rotate_logs.test:
Don't write warnings when initializing test
mysql-test/t/rpl_skip_error.test:
Don't write warnings when initializing test
mysql-test/t/rpl_temporary.test:
Don't write warnings when initializing test
mysql-test/t/sel000033.test:
Don't write warnings when initializing test
mysql-test/t/sel000100.test:
Don't write warnings when initializing test
mysql-test/t/select.test:
Don't write warnings when initializing test
mysql-test/t/select_found.test:
Don't write warnings when initializing test
mysql-test/t/select_safe.test:
Don't write warnings when initializing test
mysql-test/t/show_check.test:
Don't write warnings when initializing test
mysql-test/t/status.test:
Don't write warnings when initializing test
mysql-test/t/subselect.test:
Don't write warnings when initializing test
mysql-test/t/symlink.test:
Don't write warnings when initializing test
mysql-test/t/tablelock.test:
Don't write warnings when initializing test
mysql-test/t/temp_table.test:
Don't write warnings when initializing test
mysql-test/t/truncate.test:
Don't write warnings when initializing test
mysql-test/t/type_blob.test:
Don't write warnings when initializing test
mysql-test/t/type_date.test:
Don't write warnings when initializing test
mysql-test/t/type_datetime.test:
Don't write warnings when initializing test
mysql-test/t/type_decimal.test:
Don't write warnings when initializing test
mysql-test/t/type_enum.test:
Don't write warnings when initializing test
mysql-test/t/type_float.test:
Don't write warnings when initializing test
mysql-test/t/type_ranges.test:
Don't write warnings when initializing test
mysql-test/t/type_set.test:
Don't write warnings when initializing test
mysql-test/t/type_time.test:
Don't write warnings when initializing test
mysql-test/t/type_timestamp.test:
Don't write warnings when initializing test
mysql-test/t/type_uint.test:
Don't write warnings when initializing test
mysql-test/t/type_year.test:
Don't write warnings when initializing test
mysql-test/t/union.test:
Don't write warnings when initializing test
mysql-test/t/update.test:
Don't write warnings when initializing test
mysql-test/t/user_var.test:
Don't write warnings when initializing test
mysql-test/t/varbinary.test:
Don't write warnings when initializing test
mysql-test/t/variables.test:
Don't write warnings when initializing test
mysql-test/t/warnings.test:
Don't write warnings when initializing test
mysys/my_vsnprintf.c:
Safety fix
readline/terminal.c:
Removed compiler warnings
sql/ha_berkeley.cc:
Indentation changes
sql/mysql_priv.h:
Change store_warning -> push_warning_printf
sql/sql_db.cc:
Change store_warning -> push_warning_printf
sql/sql_error.cc:
Change store_warning -> push_warning_printf
sql/sql_table.cc:
Change store_warning -> push_warning_printf
optimization of left expression evaluation
more descriptive method name
mysql-test/r/func_in.result:
test of _NEW_ IN behaviour with NULL
mysql-test/r/subselect.result:
test of _NEW_ IN/ALL/ANY/SOME behaviour with NULL
mysql-test/t/func_in.test:
test of _NEW_ IN behaviour with NULL
mysql-test/t/subselect.test:
test of _NEW_ IN/ALL/ANY/SOME behaviour with NULL
sql/item.cc:
_NEW_ IN/ALL/ANY/SOME behaviour with NULL
optimization of left expression evaluation
sql/item.h:
_NEW_ IN/ALL/ANY/SOME behaviour with NULL
optimization of left expression evaluation
sql/item_cmpfunc.cc:
_NEW_ IN/ALL/ANY/SOME behaviour with NULL
optimization of left expression evaluation
sql/item_cmpfunc.h:
_NEW_ IN/ALL/ANY/SOME behaviour with NULL
optimization of left expression evaluation
sql/item_subselect.cc:
_NEW_ IN/ALL/ANY/SOME behaviour with NULL
optimization of left expression evaluation
sql/item_subselect.h:
_NEW_ IN/ALL/ANY/SOME behaviour with NULL
optimization of left expression evaluation
sql/sql_class.cc:
more descriptive method name
sql/sql_union.cc:
more descriptive method name
mysql-test/r/binary.result:
fixed test to be independed from environment
mysql-test/r/delayed.result:
fixed test to be independed from environment
mysql-test/r/fulltext_left_join.result:
fixed test to be independed from environment
mysql-test/r/func_group.result:
fixed test to be independed from environment
mysql-test/r/func_in.result:
fixed test to be independed from environment
mysql-test/r/key_primary.result:
fixed test to be independed from environment
mysql-test/r/lock_multi.result:
fixed test to be independed from environment
mysql-test/r/odbc.result:
fixed test to be independed from environment
mysql-test/r/type_set.result:
fixed test to be independed from environment
mysql-test/r/type_time.result:
fixed test to be independed from environment
mysql-test/r/type_timestamp.result:
fixed test to be independed from environment
mysql-test/r/type_year.result:
fixed test to be independed from environment
mysql-test/r/varbinary.result:
fixed test to be independed from environment
mysql-test/r/warnings.result:
fixed test to be independed from environment
mysql-test/t/binary.test:
fixed test to be independed from environment
mysql-test/t/delayed.test:
fixed test to be independed from environment
mysql-test/t/flush_table.test:
fixed test to be independed from environment
mysql-test/t/fulltext_left_join.test:
fixed test to be independed from environment
mysql-test/t/func_group.test:
fixed test to be independed from environment
mysql-test/t/func_in.test:
fixed test to be independed from environment
mysql-test/t/key_primary.test:
fixed test to be independed from environment
mysql-test/t/lock_multi.test:
fixed test to be independed from environment
mysql-test/t/odbc.test:
fixed test to be independed from environment
mysql-test/t/type_set.test:
fixed test to be independed from environment
mysql-test/t/type_time.test:
fixed test to be independed from environment
mysql-test/t/type_timestamp.test:
fixed test to be independed from environment
mysql-test/t/type_year.test:
fixed test to be independed from environment
mysql-test/t/varbinary.test:
fixed test to be independed from environment
mysql-test/t/warnings.test:
fixed test to be independed from environment