fix for cast( AS DATETIME)+0 in 5.0 and above versions.
val_real now works using val_decimal for DATETIME Items
Superfluous val_real() methods deleted
sql/item_timefunc.h:
val_real() for datetime functions implemented
as { return val_real_from_decimal(); }
It's not a fastest possible way, but code is simple and less
error-prone, what i belive is more important here as this part
works unfrequently.
fix for cast( AS DATETIME) + 0 operation.
I just implemented Item_datetime_typecast::val() method
as it is usually done in other classes.
Should be fixed more radically in 5.0
mysql-test/r/type_datetime.result:
result added
mysql-test/t/type_datetime.test:
testcase
sql/item_timefunc.h:
added double conversion to Item_datetime_typecast
into mysql.com:/home/hf/work/mrg/mysql-5.0-opt
sql/item.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
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.
INTO clause can be specified only for the last select of a UNION and it
receives the result of the whole query. But it was wrongly allowed in
non-last selects of a UNION which leads to a confusing query result.
Now INTO allowed only in the last select of a UNION.
mysql-test/t/union.test:
Added a test case for the bug#23345: Wrongly allowed INTO in a non-last select of a UNION.
mysql-test/r/union.result:
Added a test case for the bug#23345: Wrongly allowed INTO in a non-last select of a UNION.
sql/sql_yacc.yy:
Bug#23345: Wrongly allowed INTO in a non-last select of a UNION.
Now INTO allowed only in the last select of a UNION.
- Update test to run properly on Windows.
mysql-test/t/sp-destruct.test:
Bug#27144 sp-destruct.test is disabled on Windows
- Enabled test on Windows.
- Replaced non-portable system commands (mkdir, rmdir, mv, cp, echo)
with the mysqltest builtin commands.
- Replace Windows directory seperator in error ER_NOT_FROM_FILE with
posix directory seperator for single test/result pair.
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.0-ndb
ndb/src/kernel/blocks/dbdih/Dbdih.hpp:
Auto merged
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Auto merged
ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
Auto merged
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Auto merged
Additional fix for 2-node case
ndb/src/kernel/blocks/dbdih/Dbdih.hpp:
Add error insert ref for errcode = 7181
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Make GSN_GCP_NODEFINISH always be sent to DIH node requesting it
ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
Make GSN_GCP_NODEFINISH always be sent to DIH node requesting it
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Make GSN_GCP_NODEFINISH always be sent to DIH node requesting it
into pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint
BitKeeper/etc/ignore:
auto-union
BitKeeper/deleted/.del-init_db.sql~e2b8d0c8390e8023:
Auto merged
BitKeeper/deleted/.del-test_db.sql:
Auto merged
mysql-test/install_test_db.sh:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
scripts/make_binary_distribution.sh:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_acl.h:
Auto merged
netware/Makefile.am:
Manual merge
aggregated in outer context returned wrong results.
This happened only if the subquery did not contain any references
to outer fields.
As there were no references to outer fields the subquery erroneously
was taken for non-correlated one.
Now any set function aggregated in outer context makes the subquery
correlated.
mysql-test/r/subselect.result:
Added a test case for bug #27257.
mysql-test/t/subselect.test:
Added a test case for bug #27257.
- Problem: data separators were copied to a fixed-size buffer
on the stack; memcpy was used, without bounds checking; a
server crash could result if long FIELDS ENCLOSED BY, etc.,
was given
- Fix: write the separators directly, instead of copying to
a buffer first (in select_export::send_data())
sql/sql_class.cc:
In select_export::send_data(), write data separators
directly, instead of copying into a fixed-size memory
buffer before writing. This avoids a buffer overflow
when very large separators are specified.
into magare.gmz:/home/kgeorge/mysql/autopush/B24484-5.0
mysql-test/r/subselect3.result:
Auto merged
sql/item.h:
Auto merged
sql/item_sum.cc:
Auto merged
sql/opt_range.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_select.cc:
Auto merged
To correctly decide which predicates can be evaluated with a given table
the optimizer must know the exact set of tables that a predicate depends
on. If that mask is too wide (refer to non-existing tables) the optimizer
can erroneously skip a predicate.
One such case of wrong table usage mask were the aggregate functions.
The have a all-1 mask (meaning depend on all tables, including non-existent
ones).
Fixed by making a real used_tables mask for the aggregates. The mask is
constructed in the following way :
1. OR the table dependency masks of all the arguments of the aggregate.
2. If all the arguments of the function are from the local name resolution
context and it is evaluated in the same name resolution
context where it is referenced all the tables from that name resolution
context are OR-ed to the dependency mask. This is to denote that an
aggregate function depends on the number of rows it processes.
3. Handle correctly the case of an aggregate function optimization (such that
the aggregate function can be pre-calculated and made a constant).
Made sure that an aggregate function is never a constant (unless subject of a
specific optimization and pre-calculation).
One other flaw was revealed and fixed in the process : references were
not calling the recalculation method for used_tables of their targets.
mysql-test/r/subselect3.result:
Bug #24484: test case
mysql-test/t/subselect3.test:
Bug #24484: test case
sql/item.h:
Bug #24484: Item_ref must update the used tables.
sql/item_sum.cc:
Bug #24484: correct calculation of used_tables for aggregates.
sql/item_sum.h:
Bug #24484: correct calculation of used_tables for aggregates.
sql/opt_range.cc:
Bug #24484: fixed ref resolution in loose index scan
sql/sql_base.cc:
Bug #24484: moved counting of leaf tables inside
setup_tables_and_check_access.
sql/sql_class.h:
Bug #24484: changed table count to more narrow type.
sql/sql_insert.cc:
Bug #24484: moved counting of leaf tables inside
setup_tables_and_check_access. Substract the first
table (and its subtables) of an INSERT statement
from leaf_count.
sql/sql_select.cc:
Bug #24484: correct check for aggregates
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.0-ndb
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Auto merged
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Auto merged
ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp:
Auto merged
ndb/src/kernel/blocks/dbtup/DbtupGen.cpp:
Auto merged
ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
Auto merged
ndb/src/mgmsrv/ConfigInfo.cpp:
Auto merged
ndb/test/ndbapi/testNodeRestart.cpp:
Auto merged
ndb/test/run-test/daily-basic-tests.txt:
Auto merged
ndb/test/src/UtilTransactions.cpp:
Auto merged
Handle race condtition between MASTER_GCPCONF and execGCP_NODEFINISH
ndb/src/kernel/blocks/ERROR_codes.txt:
new error codes
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Handle race condtition between MASTER_GCPCONF and execGCP_NODEFINISH
ndb/test/ndbapi/testNodeRestart.cpp:
testcase
ndb/test/run-test/daily-basic-tests.txt:
testcase