Commit graph

21029 commits

Author SHA1 Message Date
unknown
d6410b347d Merge xiphis.org:/home/antony/work2/mysql-5.1-engines
into  xiphis.org:/home/antony/work2/mysql-5.1-merge


mysql-test/mysql-test-run.pl:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2007-05-07 12:32:09 -07: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
6e07c2e641 Merge mysql.com:/d2/hf/mrg/mysql-5.0-opt
into  mysql.com:/d2/hf/mrg/mysql-5.1-opt


sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
mysql-test/r/sp-vars.result:
  merging
mysql-test/r/type_datetime.result:
  SCCS merged
mysql-test/t/type_datetime.test:
  SCCS merged
sql/item_func.h:
  merging
sql/mysql_priv.h:
  merging
2007-05-07 16:12:42 +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
42c714fd5f Merge bk@192.168.21.1:mysql-5.1
into  mysql.com:/d2/hf/mrg/mysql-5.1-opt


sql/ha_ndbcluster.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
2007-05-07 15:59:25 +05:00
unknown
49ff174061 Merge adventure.(none):/home/thek/Development/cpp/bug26977/my50-bug26977
into  adventure.(none):/home/thek/Development/cpp/mysql-5.0-runtime
2007-05-07 10:32:00 +02:00
unknown
17da0553bb fixed Solaris compilation failure
sql/field.cc:
  parameters fixed to not interfere with the Field_blob members
sql/field.h:
  BIGENDIAN machine will require 'table' member. so cannot be static
2007-05-07 13:29:59 +05:00
unknown
cdca13e9c5 Merge adventure.(none):/home/thek/Development/cpp/bug26977/my51-bug26977
into  adventure.(none):/home/thek/Development/cpp/mysql-5.1-runtime
2007-05-07 10:29:08 +02:00
unknown
d3693efe8a Merge adventure.(none):/home/thek/Development/cpp/bug26977/my50-bug26977
into  adventure.(none):/home/thek/Development/cpp/bug26977/my51-bug26977


mysql-test/r/sp-code.result:
  Auto merged
mysql-test/t/sp-code.test:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sp_head.h:
  Auto merged
2007-05-07 10:26:20 +02:00
unknown
72569cc66d Bug#26977 exception handlers never hreturn
- In some cases, flow control optimization implemented in sp::optimize
    removes hreturn instructions, causing SQL exception handlers to:
      * never return
      * execute wrong logic
  - This patch overrides default short cut optimization on hreturn instructions
    to avoid this problem.


mysql-test/r/sp-code.result:
  Added test case
mysql-test/t/sp-code.test:
  Added test case
sql/sp_head.cc:
  Override opt_mark to get correct execution paths without jump short cut 
  optimization.
sql/sp_head.h:
  Added override sp_instr_hreturn::opt_shortcut_jump so that jump short cuts aren't
  performed on hreturn instructions operating on handlers which are set to CONTINUE
  after interruption.
2007-05-07 10:23:10 +02:00
unknown
e449dcfe66 Bug #28005 Partitions: can't use -9223372036854775808
the Item_neg changes INT_RESULT with DECIMAL_RESULT when
it gets this border value, what is not necessary.


mysql-test/r/partition.result:
  result added
mysql-test/t/partition.test:
  testcase
sql/item_func.cc:
  we can handle '==' case in ordinary way - no need to use DECIMAL_RESULT
2007-05-06 23:40:16 +05:00
unknown
72e0d8b40b Merge xiphis.org:/home/antony/work2/mysql-5.1-engines
into  xiphis.org:/home/antony/work2/mysql-5.1-engines.merge


include/my_global.h:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
scripts/mysql_install_db.sh:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/table.cc:
  Auto merged
sql/table.h:
  Auto merged
storage/innobase/handler/ha_innodb.cc:
  manual change to new api
2007-05-04 23:35:14 -07:00
unknown
cd3ced79e9 WL#2936
Move copying of global variables into thd.variables into plugin_thdvar_init().
  plugin_thdvar_init() may be called multiple times when THD::change_user() is called.
  This fixes a plugin ref-count leak when running the test mysql_client_test


sql/sql_class.cc:
  wl2936
    Initialize thd.variables to zero in constructor.
    Move copying of global variables into thd.variables into plugin_thdvar_init()
sql/sql_plugin.cc:
  wl2936
    Move copying of global variables into thd.variables into plugin_thdvar_init().
    plugin_thdvar_init() may be called multiple times when THD::change_user() is called.
    This fixes a plugin ref-count leak when running the test mysql_client_test
2007-05-04 16:44:07 -07: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
0c835da803 bug #27531: 5.1 part of the fix:
- added join cache indication in EXPLAIN (Extra column).
 - prefer filesort over full scan over 
   index for ORDER BY (because it's faster).
 - when switching from REF to RANGE because
   RANGE uses longer key turn off sort on
   the head table only as the resulting 
   RANGE access is a candidate for join cache
   and we don't want to disable it by sorting
   on the first table only. 


mysql-test/r/archive_gis.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/compress.result:
  bug #27531:
   - join cache in EXPLAIN. 
   - prefer filesort over full scan over index for ORDER BY.
mysql-test/r/ctype_utf8.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/derived.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/distinct.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/func_group.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/func_group_innodb.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/gis.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/greedy_optimizer.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/group_by.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/group_min_max.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/index_merge_myisam.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/information_schema.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/innodb_gis.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/innodb_mysql.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/join.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/join_nested.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/key_diff.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/myisam.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/ndb_condition_pushdown.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/ndb_gis.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/range.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/row.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/select.result:
  bug #27531:
   - join cache in EXPLAIN.
   - prefer filesort over full scan over index for ORDER BY.
mysql-test/r/ssl.result:
  bug #27531:
   - join cache in EXPLAIN.
   - prefer filesort over full scan over index for ORDER BY.
mysql-test/r/ssl_compress.result:
  bug #27531:
   - join cache in EXPLAIN.
   - prefer filesort over full scan over index for ORDER BY.
mysql-test/r/subselect.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/subselect3.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/union.result:
  bug #27531: join cache in EXPLAIN
mysql-test/r/view.result:
  bug #27531: join cache in EXPLAIN
sql/sql_select.cc:
  bug #27531:
   - join cache in EXPLAIN.
   - prefer filesort over full scan over
     index for ORDER BY.
   - disable sorting on the first table only
     when switching from REF to RANGE.
2007-05-04 18:06:06 +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
27aeb9e02b Merge magare.gmz:/home/kgeorge/mysql/work/B27531-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/work/B27531-5.1-opt-after-merge


mysql-test/r/join.result:
  Auto merged
mysql-test/t/join.test:
  Auto merged
sql/sql_select.cc:
  Auto merged
2007-05-04 17:46:13 +03:00
unknown
5dee5507a5 WL#2936 - Falcon & MySQL plugin interface: server variables
Fix tests when InnoDB is not built-in. Innodb options would cause
mysqld to abort with an error indicating that the option is unknown.
Fix tests on Windows where mysql-test-run.pl was unable to probe
mysqld for version and variables information, caused by output
being redirected to a log file instead.


mysql-test/mysql-test-run.pl:
  WL#2936 - Falcon & MySQL plugin interface: server variables
  'loose' prefix is required on command line options which may be
  ignored if the plugin for which the option is intended is not
  installed/builtin to mysqld.
mysql-test/t/binlog_row_mix_innodb_myisam-master.opt:
  WL#2936 - Falcon & MySQL plugin interface: server variables
  'loose' prefix is not required here. This test case runs only
  if innodb is available. In this case the option must be present.
mysql-test/t/binlog_stm_mix_innodb_myisam-master.opt:
  WL#2936 - Falcon & MySQL plugin interface: server variables
  'loose' prefix is not required here. This test case runs only
  if innodb is available. In this case the option must be present.
mysql-test/t/federated_transactions-slave.opt:
  WL#2936 - Falcon & MySQL plugin interface: server variables
  'loose' prefix is required on command line options which may be
  ignored if the plugin for which the option is intended is not
  installed/builtin to mysqld.
mysql-test/t/myisam-blob-master.opt:
  WL#2936 - Falcon & MySQL plugin interface: server variables
  'loose' prefix is required on command line options which may be
  ignored if the plugin for which the option is intended is not
  installed/builtin to mysqld.
mysql-test/t/rpl_auto_increment-slave.opt:
  WL#2936 - Falcon & MySQL plugin interface: server variables
  'loose' prefix is required on command line options which may be
  ignored if the plugin for which the option is intended is not
  installed/builtin to mysqld.
mysql-test/t/rpl_deadlock_innodb-slave.opt:
  WL#2936 - Falcon & MySQL plugin interface: server variables
  'loose' prefix is required on command line options which may be
  ignored if the plugin for which the option is intended is not
  installed/builtin to mysqld.
mysql-test/t/rpl_insert_id-slave.opt:
  WL#2936 - Falcon & MySQL plugin interface: server variables
  'loose' prefix is required on command line options which may be
  ignored if the plugin for which the option is intended is not
  installed/builtin to mysqld.
mysql-test/t/rpl_insert_id_pk-slave.opt:
  WL#2936 - Falcon & MySQL plugin interface: server variables
  'loose' prefix is required on command line options which may be
  ignored if the plugin for which the option is intended is not
  installed/builtin to mysqld.
mysql-test/t/rpl_insert_ignore-slave.opt:
  WL#2936 - Falcon & MySQL plugin interface: server variables
  'loose' prefix is required on command line options which may be
  ignored if the plugin for which the option is intended is not
  installed/builtin to mysqld.
mysql-test/t/rpl_multi_engine-slave.opt:
  WL#2936 - Falcon & MySQL plugin interface: server variables
  'loose' prefix is required on command line options which may be
  ignored if the plugin for which the option is intended is not
  installed/builtin to mysqld.
mysql-test/t/rpl_ndb_relayrotate-slave.opt:
  WL#2936 - Falcon & MySQL plugin interface: server variables
  'loose' prefix is required on command line options which may be
  ignored if the plugin for which the option is intended is not
  installed/builtin to mysqld.
mysql-test/t/rpl_read_only-slave.opt:
  WL#2936 - Falcon & MySQL plugin interface: server variables
  'loose' prefix is required on command line options which may be
  ignored if the plugin for which the option is intended is not
  installed/builtin to mysqld.
mysql-test/t/rpl_relayrotate-slave.opt:
  WL#2936 - Falcon & MySQL plugin interface: server variables
  'loose' prefix is required on command line options which may be
  ignored if the plugin for which the option is intended is not
  installed/builtin to mysqld.
mysql-test/t/rpl_row_basic_11bugs-master.opt:
  WL#2936 - Falcon & MySQL plugin interface: server variables
  'loose' prefix is required on command line options which may be
  ignored if the plugin for which the option is intended is not
  installed/builtin to mysqld.
mysql-test/t/rpl_row_basic_11bugs-slave.opt:
  WL#2936 - Falcon & MySQL plugin interface: server variables
  'loose' prefix is required on command line options which may be
  ignored if the plugin for which the option is intended is not
  installed/builtin to mysqld.
mysql-test/t/rpl_row_create_table-slave.opt:
  WL#2936 - Falcon & MySQL plugin interface: server variables
  'loose' prefix is required on command line options which may be
  ignored if the plugin for which the option is intended is not
  installed/builtin to mysqld.
mysql-test/t/rpl_row_func003-slave.opt:
  WL#2936 - Falcon & MySQL plugin interface: server variables
  'loose' prefix is required on command line options which may be
  ignored if the plugin for which the option is intended is not
  installed/builtin to mysqld.
mysql-test/t/rpl_row_sp003-master.opt:
  WL#2936 - Falcon & MySQL plugin interface: server variables
  'loose' prefix is required on command line options which may be
  ignored if the plugin for which the option is intended is not
  installed/builtin to mysqld.
mysql-test/t/rpl_row_sp003-slave.opt:
  WL#2936 - Falcon & MySQL plugin interface: server variables
  'loose' prefix is required on command line options which may be
  ignored if the plugin for which the option is intended is not
  installed/builtin to mysqld.
mysql-test/t/rpl_stm_000001-slave.opt:
  WL#2936 - Falcon & MySQL plugin interface: server variables
  'loose' prefix is required on command line options which may be
  ignored if the plugin for which the option is intended is not
  installed/builtin to mysqld.
mysql-test/t/warnings-master.opt:
  WL#2936 - Falcon & MySQL plugin interface: server variables
  'loose' prefix is required on command line options which may be
  ignored if the plugin for which the option is intended is not
  installed/builtin to mysqld.
sql/mysqld.cc:
  WL#2936 - Falcon & MySQL plugin interface: server variables
  Do not enable the 'old-fashioned error log' when the user has
  '--help' specified on the command line. We do want the help
  output sent to the console. This fixes help output on Windows
  because it enables this option by default.
2007-05-04 16:10:09 +02: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
27f581a0a6 Merge magare.gmz:/home/kgeorge/mysql/work/B27531-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/work/B27531-5.1-opt


mysql-test/r/cast.result:
  Auto merged
mysql-test/r/join_outer.result:
  Auto merged
mysql-test/t/cast.test:
  Auto merged
mysql-test/t/join_outer.test:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_select.h:
  Auto merged
mysql-test/r/subselect.result:
  merge of 5.0-opt -> 5.1-opt
mysql-test/t/subselect.test:
  merge of 5.0-opt -> 5.1-opt
2007-05-04 16:37:30 +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
1513cd0933 Merge weblab.(none):/home/marcsql/TREE/mysql-5.1-base
into  weblab.(none):/home/marcsql/TREE/mysql-5.1-rt-merge


mysql-test/r/sp.result:
  Auto merged
mysql-test/t/sp.test:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/ha_ndbcluster_binlog.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sp.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2007-05-02 12:11:25 -06:00
unknown
03e7683565 Merge weblab.(none):/home/marcsql/TREE/mysql-5.0-base
into  weblab.(none):/home/marcsql/TREE/mysql-5.0-rt-merge


mysql-test/t/sp.test:
  Auto merged
sql/item.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2007-05-02 09:59:39 -06:00
unknown
d8b693a329 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.1-ndb
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.1-new-ndb
2007-05-02 12:48:35 +02:00
unknown
0db0e2699d Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0-ndb
2007-05-02 12:43:17 +02:00
unknown
deab2c1a66 ha_ndbcluster.cc:
Bug#27980 INSERT IGNORE wrongly ignores NULLs in unique index: added check for null values


sql/ha_ndbcluster.cc:
  Bug#27980 INSERT IGNORE wrongly ignores NULLs in unique index: added check for null values
2007-05-02 12:31:53 +02:00
unknown
4b25d4a0d7 ndb_insert.test, ndb_insert.result, ha_ndbcluster.cc:
Bug#27980 INSERT IGNORE wrongly ignores NULLs in unique index: added check for null values


mysql-test/t/ndb_insert.test:
  Bug#27980 INSERT IGNORE wrongly ignores NULLs in unique index: added check for null values
sql/ha_ndbcluster.cc:
  Bug#27980 INSERT IGNORE wrongly ignores NULLs in unique index: added check for null values
mysql-test/r/ndb_insert.result:
  Bug#27980 INSERT IGNORE wrongly ignores NULLs in unique index: added check for null values
2007-05-02 10:02:27 +02:00
unknown
8e8ece72eb Fixed bug #28188: performance degradation for outer join queries to which
'not exists' optimization is applied.

In fact 'not exists' optimization did not work anymore after the patch
introducing the evaluate_join_record function had been applied.

Corrected the evaluate_join_record function to respect the 'not_exists'
optimization.


mysql-test/r/join_outer.result:
  Added a test case for bug #28188.
mysql-test/t/join_outer.test:
  Added a test case for bug #28188.
sql/sql_select.cc:
  Fixed bug #28188: performance degradation for outer join queries to which
  'not exists' optimization is applied.
  
  Corrected the evaluate_join_record function to respect the 'not_exists'
  optimization.
2007-05-01 23:34:14 -07:00
unknown
6cb6bb8594 WL#2936
Fix compiler warnings,
  Fix help output - this fixes im test failures.
  Fix incomplete change of SET plugin vars to ulonglong.
  Allow ER() to work without crashing when errmsg.sys has not been loaded.


include/mysql/plugin.h:
  wl2936
    slip in const modifier for default values,
    this removes compiler warnings when assigning a string const as default value.
sql/derror.cc:
  WL2936
    Allow init_errmessage() to return upon failure.
    Initialize errmesg to an array of empty strings if it failed to load errmsg.sys
sql/mysqld.cc:
  wl2936
    Include Ingo's compiler-warnings fix.
    If init_errmessage() failed to load errmsg.sys, abort.
    Failure to set working directory not fatal when '--help' is specified, as
    server will terminate anyway after displaying help information.
sql/sql_plugin.cc:
  wl2936
    complete change of SET vars from ulong to ulonglong.
2007-05-01 18:25:29 -07:00
unknown
df1ad225dd Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/51
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/51


sql/item_func.h:
  Auto merged
2007-05-01 18:13:29 +02:00
unknown
dc9b20a603 Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/50
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/50


sql/item_func.h:
  Auto merged
2007-05-01 18:12:04 +02:00
unknown
fe4dc96c19 Merge bk@192.168.21.1:mysql-5.1-opt
into  mysql.com:/d2/hf/mrg/mysql-5.1-opt
2007-05-01 16:02:53 +05:00
unknown
350afd1ed6 Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/51
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/51


mysql-test/r/alter_table.result:
  Auto merged
mysql-test/t/alter_table.test:
  Auto merged
2007-05-01 12:42:22 +02:00
unknown
f827425712 Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/50
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/50


mysql-test/r/alter_table.result:
  Auto merged
mysql-test/t/alter_table.test:
  Auto merged
2007-05-01 12:40:43 +02:00
unknown
0e20de498a Merge mysql.com:/d2/hf/mrg/mysql-5.0-opt
into  mysql.com:/d2/hf/mrg/mysql-5.1-opt


mysql-test/r/olap.result:
  Auto merged
mysql-test/r/type_datetime.result:
  Auto merged
mysql-test/t/type_datetime.test:
  Auto merged
sql/item_func.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
2007-05-01 13:38:59 +05:00
unknown
8e7cf826c6 Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/50
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/51


mysql-test/lib/mtr_report.pl:
  Auto merged
sql/sql_table.cc:
  Manual merge
2007-05-01 10:38:19 +02:00
unknown
ed22886bcd Merge acurtis@bk-internal.mysql.com:/home/bk/mysql-5.1-engines
into  xiphis.org:/home/antony/work2/mysql-5.1-engines.fixme


sql/sql_plugin.cc:
  Auto merged
2007-04-30 16:44:02 -07:00
unknown
eba2079397 WL#2936
Change SET variables to be ulonglong type (64bit)


include/mysql/plugin.h:
  WL2936
    Change SET variables to be unsigned long long type
    Changed use of ulonglong to unsigned long long
sql/sql_plugin.cc:
  WL2936
    Change SET variables to be ulonglong type (64bit)
2007-04-30 16:42:15 -07:00
unknown
d2e8f9010f fix merge issues
mysql-test/r/sp.result:
  manual merge
sql/sql_lex.cc:
  merge typo
2007-04-30 15:36:29 -06:00