Commit graph

36296 commits

Author SHA1 Message Date
unknown
28d9a827b5 Merge whalegate.ndb.mysql.com:/home/tomas/mysql-4.1-ndb
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb


ndb/src/mgmclient/CommandInterpreter.cpp:
  Auto merged
2007-05-10 15:09:38 +02:00
unknown
47430268e5 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1
into  whalegate.ndb.mysql.com:/home/tomas/mysql-4.1-ndb
2007-05-10 09:04:05 +02:00
unknown
27ce25cdc1 Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-opt
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
2007-05-10 07:15:46 +02:00
unknown
198a7991c0 enable setting api reg req frequency to be higher than heartbeat setting to ensure we have reasonably up-to-date info from ndb nodes
+ do this for management server
2007-05-09 15:03:01 +02:00
unknown
7ef22d8d22 Bug #28287 Sign problem in test "ndb_restore_print"
- corrected previous patch
  - some platforms do strange things with char... use Int8 to be sure of signedness
2007-05-09 14:31:22 +02:00
unknown
ba9657bcc6 loaddata.result, loaddata.test:
A test case is corrected.


mysql-test/t/loaddata.test:
  A test case is corrected.
mysql-test/r/loaddata.result:
  A test case is corrected.
2007-05-09 14:46:11 +04:00
unknown
643cb9b8f3 Bug #28287 Sign problem in test "ndb_restore_print"
- some platforms do strange things with char... use Int8 to be sure of signedness
2007-05-09 10:22:26 +02:00
unknown
c863f1eeb6 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/mnt/gentoo64/work/27670-bug-5.0-opt-mysql
2007-05-09 00:35:21 +04:00
unknown
80788a3462 Bug#27670: LOAD DATA does not set CURRENT_TIMESTAMP default value for a
TIMESTAMP field when no value has been provided.

The LOAD DATA sets the current time in the TIMESTAMP field with
CURRENT_TIMESTAMP default value when the field is detected as a null.
But when the LOAD DATA command loads data from a file that doesn't contain
enough data for all fields then the rest of fields are simply set to null
without any check. This leads to no value being inserted to such TIMESTAMP
field.

Now the read_sep_field() and the read_fixed_length() functions set current
time to the TIMESTAMP field with CURRENT_TIMESTAMP default value in all cases
when a NULL value is loaded to the field.


mysql-test/t/loaddata.test:
  Added a test case for the bug#27670: LOAD DATA does not set CURRENT_TIMESTAMP
  default value for a TIMESTAMP field when no value has been provided.
mysql-test/r/loaddata.result:
  Added a test case for the bug#27670: LOAD DATA does not set CURRENT_TIMESTAMP
  default value for a TIMESTAMP field when no value has been provided.
sql/sql_load.cc:
  Bug#27670: LOAD DATA does not set CURRENT_TIMESTAMP default value for a
  TIMESTAMP field when no value has been provided.
  Now the read_sep_field() and the read_fixed_length() functions set current
  time to the TIMESTAMP field with CURRENT_TIMESTAMP default value in all cases
  when a NULL value is loaded to the field.
2007-05-09 00:23:16 +04:00
unknown
e931579322 increate hearbeat interval to avoid load related start up issues in mysql-test-run 2007-05-08 18:30:03 +02:00
unknown
beacbfdae7 Merge perch.ndb.mysql.com:/home/jonas/src/50-work
into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.0-ndb


ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
  Auto merged
2007-05-08 12:57:37 +02:00
unknown
c02934a58d ndb - bug#27437
redo extra verification code so that tupkeyref is reset just before tupkeyreq


ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
  redo extra verification code so that tupkeyref is reset just before tupkeyreq
2007-05-08 12:53:12 +02:00
unknown
4d108ce755 Merge perch.ndb.mysql.com:/home/jonas/src/50-work
into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.0-ndb


mysql-test/r/ndb_basic.result:
  Auto merged
mysql-test/t/ndb_basic.test:
  Auto merged
ndb/src/kernel/blocks/dblqh/Dblqh.hpp:
  Auto merged
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
  Auto merged
ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp:
  Auto merged
2007-05-08 08:24:21 +02:00
unknown
3962e2d472 ndb - bug#27437
bug in interpretedupdate (used for auto-increment) that made TUPKEYREF be sent twice
  this was however "normally" shadowed, but made LQH crash when LCP was about to start


mysql-test/r/ndb_basic.result:
  testcase
mysql-test/t/ndb_basic.test:
  testcase
ndb/src/kernel/blocks/dblqh/Dblqh.hpp:
  add extra variable to make sure TUPKEYREF is not received twice (VM_TRACE)
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
  add extra variable to make sure TUPKEYREF is not received twice (VM_TRACE)
ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp:
  make sure TUPKEYREF is not sent twice in case of "error" in interpreted program
2007-05-08 07:49:05 +02:00
unknown
6aa333d979 Merge dev3-221.dev.cn.tlan:/home/ngb/mysql/mysql-4.1/mysql-4.1-ndb-bj
into  dev3-221.dev.cn.tlan:/home/ngb/mysql/mysql-4.1/mysql-4.1-ndb
2007-05-08 10:02:55 +08:00
unknown
90ae0c35e8 Merge dev3-221.dev.cn.tlan:/home/ngb/mysql/mysql-5.0/mysql-5.0-ndb-bj
into  dev3-221.dev.cn.tlan:/home/ngb/mysql/mysql-5.0/mysql-5.0-ndb


sql/ha_ndbcluster.h:
  Auto merged
sql/set_var.cc:
  Auto merged
2007-05-08 10:00:12 +08:00
unknown
be5ff3e2ba Adjusted results after the latest addition of test cases. 2007-05-07 16:58:38 -07:00
unknown
2626d02415 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/mnt/gentoo64/work/27759-bug-5.0-opt-mysql
2007-05-08 00:16:05 +04:00
unknown
dd3f1be837 Additional fix for the bug#27759: Wrong DATE/DATETIME comparison in LEAST()/GREATEST() functions.
mysql-test/t/type_datetime.test:
  Additional test case for the bug#27759.
sql/item_func.h:
  Bug#27759: Wrong DATE/DATETIME comparison in LEAST()/GREATEST() functions.
  Now the Item_func_min_max::result_as_longlong() returns TRUE when LEAST()
  compares DATE/DATETIME values. This allows caller to obtain correct integer
  values through the val_int() function.
2007-05-08 00:08:00 +04:00
unknown
fabad71995 Merge gleb.loc:/home/uchum/work/bk/mysql-5.0-opt
into  gleb.loc:/home/uchum/work/bk/mysql-5.0-opt-27954
2007-05-08 00:53:01 +05:00
unknown
35659a285d Fixed bug #27954.
This bug affects multi-row INSERT ... ON DUPLICATE into table
with PRIMARY KEY of AUTO_INCREMENT field and some additional UNIQUE indices.
If the first row in multi-row INSERT contains duplicated values of UNIQUE
indices, then following rows of multi-row INSERT (with either duplicated or
unique key field values) may me applied to _arbitrary_ records of table as
updates.
This bug was introduced in 5.0. Related code was widely rewritten in 5.1, and
5.1 is already free of this problem. 4.1 was not affected too.

When updating the row during INSERT ON DUPLICATE KEY UPDATE, we called
restore_auto_increment(), which set next_insert_id back to 0, but we
forgot to set clear_next_insert_id back to 0.
restore_auto_increment() function has been fixed.


sql/sql_class.h:
  Fixed bug #27954.
  Added commentary for THD::clear_next_insert_id variable.
sql/handler.cc:
  Fixed bug #27954.
  When updating the row during INSERT ON DUPLICATE KEY UPDATE, we called
  restore_auto_increment(), which set next_insert_id back to 0, but we
  forgot to set clear_next_insert_id back to 0.
  restore_auto_increment() function has been fixed.
mysql-test/t/insert_update.test:
  Added test case for bug #27954.
mysql-test/r/insert_update.result:
  Added test case for bug #27954.
2007-05-08 00:24:25 +05:00
unknown
44e54a30de Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/mnt/gentoo64/work/28133-bug-5.0-opt-mysql


sql/item_cmpfunc.cc:
  Auto merged
mysql-test/r/type_datetime.result:
  SCCS merged
mysql-test/t/type_datetime.test:
  SCCS merged
2007-05-07 22:22:51 +04:00
unknown
0fd2b3ddc6 Bug#28133: Wrong DATE/DATETIME comparison in IN() function.
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.
2007-05-07 22:20:43 +04:00
unknown
cc33cf2983 item_func.cc:
Fixed compiler warnings.


sql/item_func.cc:
  Fixed compiler warnings.
2007-05-07 18:24:46 +04:00
unknown
187ccf4bca Merge mysql.com:/d2/hf/mrg/mysql-4.1-opt
into  mysql.com:/d2/hf/mrg/mysql-5.0-opt
2007-05-07 16:09:05 +05:00
unknown
3a04df06ca Merge bk@192.168.21.1:mysql-5.0
into  mysql.com:/d2/hf/mrg/mysql-5.0-opt


sql/item_func.cc:
  Auto merged
sql/item_func.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
2007-05-07 16:08:29 +05:00
unknown
30b4f5d0dd Merge bk@192.168.21.1:mysql-4.1
into  mysql.com:/d2/hf/mrg/mysql-4.1-opt
2007-05-07 16:07:52 +05:00
unknown
632e03f86d Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
2007-05-07 11:12:52 +02:00
unknown
e63cc253e2 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/mnt/gentoo64/work/27759-bug-5.0-opt-mysql


sql/item_func.cc:
  Auto merged
2007-05-04 21:38:05 +04:00
unknown
359b0e59c9 bug #27531:
fixed coverage of out-of-mem errors
2007-05-04 18:55:01 +03:00
unknown
99bde6d9ec Bug#27759: Wrong DATE/DATETIME comparison in LEAST()/GREATEST() functions.
The LEAST/GREATEST functions compared DATE/DATETIME values as
strings which in some cases could lead to a wrong result.

A new member function called cmp_datetimes() is added to the
Item_func_min_max class. It compares arguments in DATETIME context
and returns index of the least/greatest argument.
The Item_func_min_max::fix_length_and_dec() function now detects when
arguments should be compared in DATETIME context and sets the newly
added flag compare_as_dates. It indicates that the cmp_datetimes() function
should be called to get a correct result.
Item_func_min_max::val_xxx() methods are corrected to call the
cmp_datetimes() function when needed.
Objects of the Item_splocal class now stores and reports correct original
field type.


mysql-test/t/type_datetime.test:
  Added a test case for the bug#27759: Wrong DATE/DATETIME comparison in LEAST()/GREATEST() functions.
mysql-test/r/type_datetime.result:
  Added a test case for the bug#27759: Wrong DATE/DATETIME comparison in LEAST()/GREATEST() functions.
mysql-test/r/sp-vars.result:
  A test case result corrected after the fix for the bug#27759.
sql/mysql_priv.h:
  Bug#27759: Wrong DATE/DATETIME comparison in LEAST()/GREATEST() functions.
  Added the prototype of the get_datetime_value() function.
sql/item_func.h:
  Bug#27759: Wrong DATE/DATETIME comparison in LEAST()/GREATEST() functions.
  A new member function called cmp_datetimes() is added to the
  Item_func_min_max class.
sql/item_func.cc:
  Bug#27759: Wrong DATE/DATETIME comparison in LEAST()/GREATEST() functions.
  A new member function called cmp_datetimes() is added to the
  Item_func_min_max class. It compares arguments in DATETIME context
  and returns index of the least/greatest argument.
  The Item_func_min_max::fix_length_and_dec() function now detects when
  arguments should be compared in DATETIME context and sets the newly
  added flag compare_as_dates. It indicates that the cmp_datetimes() function
  should be called to get a correct result.
  Item_func_min_max::val_xxx() methods are corrected to call the
  cmp_datetimes() function when needed.
sql/item_cmpfunc.cc:
  Bug#27759: Wrong DATE/DATETIME comparison in LEAST()/GREATEST() functions.
  The get_datetime_value() function is no longer static.
sql/item.h:
  Bug#27759: Wrong DATE/DATETIME comparison in LEAST()/GREATEST() functions.
  Objects of the Item_splocal class now stores and reports correct original
  field type.
sql/item.cc:
  Bug#27759: Wrong DATE/DATETIME comparison in LEAST()/GREATEST() functions.
  Objects of the Item_splocal class now stores and reports correct original
  field type.
2007-05-04 18:57:10 +04:00
unknown
7539cb43e3 Merge magare.gmz:/home/kgeorge/mysql/work/B27531-4.1-opt
into  magare.gmz:/home/kgeorge/mysql/work/B27531-5.0-opt


mysql-test/t/join.test:
  Auto merged
sql/sql_select.cc:
  Auto merged
mysql-test/r/join.result:
  SCCS merged
2007-05-04 16:47:58 +03:00
unknown
353b6f26b1 Bug #27531: the 4.1 fix.
When checking for applicability of join cache
we must disable its usage only if there is no
temp table in use.
When a temp table is used we can use join
cache (and it will not make the result-set 
unordered) to fill the temp table. The filesort() 
operation is then applied to the data in the temp 
table and hence is not affected by join cache
usage.
Fixed by narrowing the condition for disabling 
join cache to exclude the case where temp table
is used.


mysql-test/r/join.result:
  Bug #27531: test case
mysql-test/t/join.test:
  Bug #27531: test case
sql/sql_select.cc:
  Bug #27531: 
  Disable join cache only if not using temp table
2007-05-04 16:43:29 +03:00
unknown
1084f2d62b Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt
2007-05-04 14:42:32 +05:00
unknown
13cfc4775c Bug#28181 Access denied to 'information_schema when select into out file (regression)
allow select into out file from I_S if user has FILE privilege
otherwise issue an error


mysql-test/r/outfile.result:
  test result
mysql-test/t/outfile.test:
  test case
sql/sql_parse.cc:
  allow select into out file from I_S if user has FILE privilege
  otherwise issue an error
2007-05-04 14:41:58 +05:00
unknown
3ebd2e55b9 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B27807-5.0-opt
2007-05-04 12:09:29 +03:00
unknown
74c794d0e4 Merge moonbone.local:/mnt/gentoo64/work/23656-bug-4.1-opt-mysql
into  moonbone.local:/mnt/gentoo64/work/23656-bug-5.0-opt-mysql


mysql-test/r/cast.result:
  Auto merged
mysql-test/t/cast.test:
  Auto merged
sql/item_func.cc:
  Manual merge
2007-05-04 12:27:21 +04:00
unknown
ad06c4c08e Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B27807-5.0-opt


sql/sql_select.cc:
  Auto merged
mysql-test/r/subselect.result:
  merge to 5.0-opt
mysql-test/t/subselect.test:
  merge to 5.0-opt
2007-05-04 10:57:14 +03:00
unknown
0ad4e1b2a6 Bug #27807.
Non-correlated scalar subqueries may get executed
in EXPLAIN at the optimization phase if they are
part of a right hand sargable expression.
If the scalar subquery uses a temp table to 
materialize its results it will replace the 
subquery structure from the parser with a simple
select from the materialization table.
As a result the EXPLAIN will crash as the 
temporary materialization table is not to be shown
in EXPLAIN at all.
Fixed by preserving the original query structure
right after calling optimize() for scalar subqueries
with temp tables executed during EXPLAIN.


mysql-test/r/subselect.result:
  Bug #27807: test case
mysql-test/t/subselect.test:
  Bug #27807: test case
sql/item_subselect.cc:
  Bug #27807: preserve the join structure
sql/sql_select.cc:
  Bug #27807: introduce initialization function for tmp_join
sql/sql_select.h:
  Bug #27807: introduce initialization function for tmp_join
2007-05-04 10:48:51 +03:00
unknown
1a0e3a2858 Bug#23656: Wrong conversion result of a DATETIME to integer using CAST function.
The generic string to int conversion was used by the Item_func_signed and
the Item_func_unsigned classes to convert DATE/DATETIME values to the
SIGNED/UNSIGNED type. But this conversion produces wrong results for such
values.

Now if the item which result has to be converted can return its result as
longlong then the item->val_int() method is used to allow the item to carry
out the conversion itself and return the correct result.
This condition is checked in the Item_func_signed::val_int() and the
Item_func_unsigned::val_int() functions.


mysql-test/t/cast.test:
  Added a test case for the bug#23656: Wrong conversion result of a DATETIME to integer using CAST function.
mysql-test/r/cast.result:
  Added a test case for the bug#23656: Wrong conversion result of a DATETIME to integer using CAST function.
sql/item_func.cc:
  Bug#23656: Wrong conversion result of a DATETIME to integer using CAST function.
  Now if the item which result has to be converted can return its result as
  longlong then the item->val_int() method is used to allow the item to carry
  out the conversion itself and return the correct result.
  This condition is checked in the Item_func_signed::val_int() and the
  Item_func_unsigned::val_int() functions.
2007-05-04 00:53:37 +04:00
unknown
ad33a48afc Better distinction between "CLEANFILES" and "DISTCLEANFILES" for some generated files
(here: "scripts/mysql_fix_privilege_tables{.sql,_sql.c}"). Important for cross-builds.


scripts/Makefile.am:
  Generated files like "mysql_fix_privilege_tables{.sql,_sql.c}" should survive
  a "make clean", this is essential for cross-builds.
  So move them from "CLEANFILES" to "DISTCLEANFILES".
2007-05-03 15:51:02 +02:00
unknown
dc39e2c20e Merge obarnir@bk-internal.mysql.com:/home/bk/mysql-5.0-build
into  linux.site:/home/omer/source/bld50_2
2007-05-02 11:32:03 -07:00
unknown
2478a8be0c Resolve a possible timing issue with "scripts/mysql_fix_privilege_tables_sql.c" in the
source tarball, this is essential for cross builds, like for NetWare.


scripts/Makefile.am:
  On a fast build machine, both the source (mysql_fix_privilege_tables.sql) 
  and the generated file (mysql_fix_privilege_tables_sql.c) may have identical timestamps
  (granularity is one second only, may be too coarse).
  If that happens, the Makefile rule will fire, and "comp_sql" will be built and called -
  which fails in a cross build, like for NetWare.
  
  Prevent that by sleeping for 5 (five) seconds, this will ensure a time difference.
2007-05-02 20:07:01 +02:00
unknown
2f2f11b3de Merge trift2.:/MySQL/M50/spec-5.0
into  trift2.:/MySQL/M50/push-5.0
2007-05-02 19:45:30 +02:00
unknown
eb92ed037c Merge dfischer@bk-internal.mysql.com:/home/bk/mysql-5.0-build
into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build


CMakeLists.txt:
  Auto merged
2007-05-02 19:21:50 +02:00
unknown
4ac4ee4bf1 Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build-work-cmake-map-files
into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build


CMakeLists.txt:
  Auto merged
2007-05-02 19:19:46 +02:00
unknown
898fc2e210 Merge trift2.:/MySQL/M50/mysql-5.0
into  trift2.:/MySQL/M50/push-5.0


scripts/Makefile.am:
  Auto merged
2007-05-02 17:15:48 +02:00
unknown
95aa256dda Merge trift2.:/MySQL/M41/spec-4.1
into  trift2.:/MySQL/M50/spec-5.0


support-files/mysql.spec.sh:
  SCCS merged
2007-05-02 16:53:54 +02:00
unknown
09812630ca RPM spec file error: Trailing '*' to cover '.gz' for a man page was missing.
support-files/mysql.spec.sh:
  Man pages may/will be compressed, so the file name needs trailing '*' to cover '.gz'.
2007-05-02 16:51:15 +02:00
unknown
3630525429 Coeection to the bug format to for better search - review comment 2007-05-02 07:50:47 -07:00