mysql-test/r/ndb_index_ordered.result:
wl-1442 fix Time. adds new type id 25
mysql-test/t/ndb_index_ordered.test:
wl-1442 fix Time. adds new type id 25
ndb/include/kernel/signaldata/DictTabInfo.hpp:
wl-1442 fix Time. adds new type id 25
ndb/include/ndbapi/NdbDictionary.hpp:
wl-1442 fix Time. adds new type id 25
ndb/include/util/NdbSqlUtil.hpp:
wl-1442 fix Time. adds new type id 25
ndb/src/common/util/NdbSqlUtil.cpp:
wl-1442 fix Time. adds new type id 25
ndb/src/ndbapi/NdbDictionary.cpp:
wl-1442 fix Time. adds new type id 25
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
wl-1442 fix Time. adds new type id 25
ndb/test/include/NdbSchemaOp.hpp:
wl-1442 fix Time. adds new type id 25
ndb/tools/restore/consumer.cpp:
wl-1442 fix Time. adds new type id 25
sql/ha_ndbcluster.cc:
wl-1442 fix Time. adds new type id 25
mysql-test/r/ndb_index_ordered.result:
wl-1442 fix Date. reuses old unused Timespec type id
mysql-test/t/ndb_index_ordered.test:
wl-1442 fix Date. reuses old unused Timespec type id
ndb/include/kernel/signaldata/DictTabInfo.hpp:
wl-1442 fix Date. reuses old unused Timespec type id
ndb/include/ndbapi/NdbDictionary.hpp:
wl-1442 fix Date. reuses old unused Timespec type id
ndb/include/util/NdbSqlUtil.hpp:
wl-1442 fix Date. reuses old unused Timespec type id
ndb/src/common/util/NdbSqlUtil.cpp:
wl-1442 fix Date. reuses old unused Timespec type id
ndb/src/ndbapi/NdbDictionary.cpp:
wl-1442 fix Date. reuses old unused Timespec type id
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
wl-1442 fix Date. reuses old unused Timespec type id
ndb/test/include/NdbSchemaOp.hpp:
wl-1442 fix Date. reuses old unused Timespec type id
ndb/tools/restore/consumer.cpp:
wl-1442 fix Date. reuses old unused Timespec type id
sql/ha_ndbcluster.cc:
wl-1442 fix Date. reuses old unused Timespec type id
with a number of decimals specified. (Bug #7361)
mysql-test/t/type_float.test:
Add test for maximum values of float and double columns with number of decimals
mysql-test/r/type_float.result:
Add results for new test
mysql-test/r/type_float.result.es:
Add results for new test
sql/field.cc:
Use ::store(double nr) from ::store(longlong nr) so we get the same range checking
mysql-test/r/grant2.result:
new test case
mysql-test/r/variables.result:
don't fail w/o innodb
mysql-test/t/grant2.test:
new test case
mysql-test/t/multi_update.test:
don't fail w/o innodb
mysql-test/t/variables.test:
don't fail w/o innodb
sql/sql_acl.cc:
cleanup
the Epoch". (With after review fixes).
mysql-test/r/func_time.result:
Added test for bug #7515 "from_unixtime(0) now returns NULL instead of
the Epoch".
mysql-test/t/func_time.test:
Added test for bug #7515 "from_unixtime(0) now returns NULL instead of
the Epoch".
sql/item_timefunc.cc:
Item_func_from_unixtime:
from_unixtime(0) should return Epoch instead of NULL.
sql/item_timefunc.h:
Item_func_from_unixtime:
- Removed unused method definition.
- fix_length_and_dec() should set maybe_null to true since now
from_unixtime() can return NULL even in case when none of its
arguments is NULL.
When we cast datetime value to DATE (TIME) type we should throw away its
time (date) part. This was not done properly if CAST() function was used
in datetime expressions.
mysql-test/r/cast.result:
Added test for bug #6914 "Problems using time()/date() output in
expressions".
mysql-test/t/cast.test:
Added test for bug #6914 "Problems using time()/date() output in
expressions".
sql/item_timefunc.cc:
Item_time_typecast::get_time()/Item_date_typecast::get_date():
When we cast datetime value to DATE we should throw away its time part.
When we cast such value to TIME type we should throw away its date part.
The fix checks if the trim string argument is NULL. If so, the standard
mandates that the function result must be also NULL.
mysql-test/r/func_str.result:
added test result
mysql-test/t/func_str.test:
Added test for NULL arguments.
sql/item_strfunc.cc:
Test if the trim argument is NULL.
- Added a hash to keep track of database-table pairs.
- Specified database-table tables do not get dumped
client/client_priv.h:
WL#2319 V2: Exclude tables from dump
client/mysqldump.c:
WL#2319 V2: Exclude tables from dump
mysql-test/r/mysqldump.result:
WL#2319 V2: Exclude tables from dump
mysql-test/t/mysqldump.test:
WL#2319 V2: Exclude tables from dump
mysql-test/r/merge.result:
Added test result for BUG#7377.
mysql-test/t/merge.test:
Added test for BUG#7377.
sql/ha_myisammrg.cc:
Added implementation for handler::index_type.
sql/ha_myisammrg.h:
Added implementation for handler::index_type.
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.
sql/item_strfunc.cc:
Auto merged
mysql-test/r/func_str.result:
merged test results for QUOTE() buf fix
mysql-test/t/func_str.test:
merged test for QUOTE() buf fix
mysql-test/r/func_str.result:
result for test case for a bug in QUOTE() (Bug #7495)
mysql-test/t/func_str.test:
test case for a bug in QUOTE() (Bug #7495)
sql/item_strfunc.cc:
a better fix for a QUOTE() bug (Bug #7495)
to behave well on 5.0 tables (well now you can't use tables from 4.1
and 5.0 with 4.0 because former use utf8, but still it is nice to have
similar code in acl_init() and replace_user_table()).
This also will make such GRANTs working in 5.0 (they are broken now).
mysql-test/r/grant.result:
Added test for GRANT which manipulates user limits.
mysql-test/t/grant.test:
Added test for GRANT which manipulates user limits.
mysql-test/r/func_str.result:
A result for test case for the bug #7495 involving either LTRIM()
or TRIM() within QUOTE() function.
mysql-test/t/func_str.test:
A test case for the bug #7495 involving either LTRIM() or TRIM()
within QUOTE() function.
sql/item_strfunc.cc:
Changes for LTRIM() and TRIM() functions that aleviate the bug
entirely.
STR_TO_DATE() function if there is another format specifier after %f
in format string". Also small cleanup of STR_TO_DATE() implementation.
(After review version.)
mysql-test/r/date_formats.result:
Added test for small bug in STR_TO_DATE() implementation which caused
microseconds to be gobbled from string result of this function, if
there was another specifier after %f in format string.
mysql-test/t/date_formats.test:
Added test for small bug in STR_TO_DATE() implementation which caused
microseconds to be gobbled from string result of this function, if
there was another specifier after %f in format string.
sql/item_timefunc.cc:
Small cleanup of str_to_date() implementation.
Renamed check_result_type() to less ambigous get_date_time_result_type()
and made it static. Also added handling of %X,%x,%V,%v to this function.
Fixed small bug in it which caused microseconds to be gobbled if there
was some other specifiers after %f.
Cleaned up comments a bit.
mysql-test/r/update.result:
Auto merged
mysql-test/t/update.test:
Auto merged
sql/sql_select.cc:
Auto merged
mysql-test/mysql-test-run.sh:
Merge from 4.0
(back to behaviour of 4.1.7). Warning was not fatal: mysqldump continued. And the good thing is that it helped spot that starting from 4.1.7,
SHOW CREATE DATABASE failed (if --single-transaction and first db has non-empty InnoDB table and there is a second db) and thus mysqldump
produced CREATE DATABASE statements missing the CHARACTER SET clause. Removing the bug which was in the server, and the warning reporting in
mysqldump (compatibility with old servers).
client/mysqldump.c:
don't report errors as we deal almost gracefully with them (back to code of 4.1.7)
mysql-test/r/flush_block_commit.result:
result update
mysql-test/t/flush_block_commit.test:
let's verify that SHOW CREATE DATABASE succeeds even if connection has open transaction.
sql/sql_parse.cc:
There is no reason to forbid SHOW CREATE DATABASE if connection has an open transaction
For numeric constants we only need to add, since the parser doesn't produce
negative numbers.
For strings we only add (we actually could substract 1 if given string is a constant
and it has '-number' form but we're not doing that because
* we set max_length bigger then necessary in other cases as well.
* the current solution is simpler and safer (bigger max_length is better then cutting out)
mysql-test/r/func_concat.result:
Test for BUG#6825
mysql-test/r/metadata.result:
Ajusted results according to fix of bug BUG#6825:length(-1) = 2 , not 1
mysql-test/t/func_concat.test:
Test for BUG#6825
which Heikki fixed in 4.1.8 and 4.0.23. I verified that without Heikki's patch the test fails (7 gets inserted).
Test added to 4.1 because in testsuite of 4.0 it's impossible to start slave with InnoDB.