Commit graph

46200 commits

Author SHA1 Message Date
unknown
0ea67375ef Merge mysql.com:/home/svoj/devel/mysql/BUG25712/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/mysql/BUG25712/mysql-5.1-engines


include/my_sys.h:
  Auto merged
2007-05-17 12:50:58 +05:00
unknown
28d896ba04 Merge mysql.com:/home/svoj/devel/mysql/BUG25712/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG25712/mysql-5.0-engines


include/my_sys.h:
  Manual merge.
2007-05-17 12:48:10 +05:00
unknown
6e09887f5d Addition to fix for
BUG#25712 - insert delayed and check table run together report
            crashed tables

Let MY_THREADSAFE have distinct value. Some functions call my_seek
passing MyFlags argument directly to it. This may cause unnecessary
locks, which may finally lead to a dead-lock (specifically see my_lock).


include/my_sys.h:
  Addition to fix for
  BUG#25712 - insert delayed and check table run together report
              crashed tables
  
  Let MY_THREADSAFE have distinct value. Some functions call my_seek
  passing MyFlags argument directly to it. This may cause unnecessary
  locks, which may finally lead to a dead-lock (specifically see my_lock).
  
  Also it doesn't affect my_pread/my_pwrite in any way. So the comment was
  updated.
2007-05-17 12:43:52 +05:00
unknown
36b9ba4769 Merge mysql.com:/home/svoj/devel/mysql/BUG25712/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/mysql/BUG25712/mysql-5.1-engines


mysys/my_seek.c:
  Auto merged
storage/myisam/mi_check.c:
  Auto merged
2007-05-17 02:16:31 +05:00
unknown
de0e4e0a2b Merge mysql.com:/home/svoj/devel/mysql/BUG25712/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG25712/mysql-5.0-engines


myisam/mi_check.c:
  Auto merged
mysys/my_seek.c:
  Manual merge.
2007-05-17 00:40:26 +05:00
unknown
e1e83a8b66 BUG#25712 - insert delayed and check table run together report crashed
tables

In case system doesn't have native pread/pwrite calls (e.g. Windows)
and there is CHECK TABLE runs concurrently with another statement that
reads from a table, the table may be reported as crashed.

This is fixed by locking file descriptor when my_seek is executed on
MyISAM index file and emulated pread/pwrite may be executed concurrently.

Affects MyISAM tables on platforms that do not have native
pread/pwrite calls (e.g. Windows).

No deterministic test case for this bug.


myisam/mi_check.c:
  Key file descriptor is shared among threads and mixed set of
  my_pread/my_pwrite and my_seek calls is possible. This is not
  a problem on systems that have native pread/pwrite calls.
  
  In case system doesn't have native pread/pwrite calls (e.g. Windows)
  we must ensure that my_pread/my_pwrite are not executed at the same
  time with my_seek. This is done by passing MY_THREADSAFE flag to
  my_seek.
mysys/my_seek.c:
  On platforms that do not have native pread/pwrite calls (e.g. Windows)
  these calls are emulated as follow: lock fd, lseek, read, unlock fd.
  
  In case file descriptor is shared among threads, where one thread
  executes my_pread and another thread executes my_seek, we may read
  from a wrong position. This may happen because my_seek doesn't lock
  fd and thus may be executed by another thread after emulated pread
  has done lseek and before it has done read.
  
  To fix problem mentioned above we introduce new flag MY_THREADSAFE to
  my_seek, which is meaningful only in case pread/pwrite calls are
  emulated. If this flag is set, lseek operation is performed as follow:
  lock fd, seek, unlock fd.
2007-05-16 23:42:32 +05:00
unknown
7efe2bcddc Bug#17332 - changing key_buffer_size on a running server
can crash under load
Post-post-review fixes.
Fixed a typo == -> =
Optimized normal flush at end of statement (FLUSH_KEEP),
but let other flush types be stringent.
Added comments.
Fixed debugging.
2007-05-14 11:33:47 +02:00
unknown
5d40ae9f8c Merge bk-internal.mysql.com:/home/bk/mysql-5.1-engines
into  chilla.local:/home/mydev/mysql-5.1-bug17332


mysys/mf_keycache.c:
  Auto merged
mysys/my_static.c:
  Auto merged
sql/handler.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
storage/myisam/ha_myisam.cc:
  Auto merged
2007-05-10 17:30:50 +02:00
unknown
50453ecd00 After merge fix. 2007-05-10 20:30:49 +05:00
unknown
157bb46fe2 Merge mysql.com:/home/svoj/devel/mysql/BUG27998/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/mysql/BUG27998/mysql-5.1-engines


storage/blackhole/ha_blackhole.h:
  Use local.
mysql-test/extra/binlog_tests/blackhole.test:
  Manual merge.
mysql-test/r/binlog_stm_blackhole.result:
  Manual merge.
2007-05-10 20:01:58 +05:00
unknown
9cc05ced33 Merge mysql.com:/home/svoj/devel/mysql/BUG27998/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG27998/mysql-5.0-engines


sql/ha_blackhole.h:
  Auto merged
mysql-test/r/blackhole.result:
  Manual merge.
mysql-test/t/blackhole.test:
  Manual merge.
2007-05-10 18:14:04 +05:00
unknown
fd5e7a7c70 Bug#26241
"Blackhole tables don't honor table locks"
  Implement neccessary shared lock structure for table locks.
  Imported test case created by Giuseppe Maxia


storage/blackhole/ha_blackhole.cc:
  bug26241 - blackhole locks don't work
    Implement shared structure for table locks.
    Used row-lock code from archive.
storage/blackhole/ha_blackhole.h:
  bug26241 - blackhole locks don't work
    Declare shared structure for table locks.
2007-05-08 17:16:34 -07:00
unknown
3a065ffa26 Raise version number after cloning 5.1.18-beta 2007-05-08 11:16:41 +02:00
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
59ae1777e5 merging fix
mysql-test/r/sp-vars.result:
  merging
2007-05-07 17:33:28 +05: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
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
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
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
2e1ce77781 Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-single-user
2007-05-07 11:11:09 +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
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
67e5e1237a post merge (5.0-opt -> 5.1-opt) fixes 2007-05-04 17:33:41 +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
764e010e8c bugfix in checksum with force varpart
mysql-test/mysql-test-run.pl:
  bigger needed for running some tests
2007-05-04 12:19:06 +02: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
5c6dec8d84 Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.1
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-single-user
2007-05-04 11:13:14 +02: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
70d440ace3 Merge trift2.:/MySQL/M50/netware-cross-5.0
into  trift2.:/MySQL/M51/netware-cross-5.1


scripts/Makefile.am:
  Manual merge.
2007-05-03 18:08:06 +02: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
f32d1e9b49 Updated funcs_1 files to 5.1.18 level
- validating current result files
 - updating with new features in information_schema / error messages
 - forced order by and removed time stamps
removed a_version files that are not needed (now that the suite is in the main tree
Note: datadict tests still fail as a result of bug 28181 (a regression introduced in 
      5.0.42 - and 5.1.18(?) - tests should runn clean once it is fixed


BitKeeper/deleted/.del-a_version_check.test~82ea7fb267df9e58:
  Delete: mysql-test/suite/funcs_1/t/a_version_check.test
BitKeeper/deleted/.del-a_version_check.result~97a8ec1e3211c26:
  Delete: mysql-test/suite/funcs_1/r/a_version_check.result
mysql-test/suite/funcs_1/datadict/datadict_load.inc:
  Modified to correct failiure to return host name on some systems
mysql-test/suite/funcs_1/datadict/datadict_master.inc:
  corrections to fooce order by on queries, replace time stamps with strings and enable the
  testing of referential_constraints table
mysql-test/suite/funcs_1/datadict/datadict_show_schema.inc:
  corrections to force order by on queries
mysql-test/suite/funcs_1/r/innodb__datadict.result:
  Updated result file with order by selects, elimination of time stamps and selects
  of empty user (that we don't have anymore) and adding the testing 
  of referential_constraints table
mysql-test/suite/funcs_1/r/innodb_func_view.result:
  confirming existing results as correct - old result file had wrong cast values
mysql-test/suite/funcs_1/r/innodb_trig_0102.result:
  Corrected error with long trigger name (that was previously quietly trimmed)
mysql-test/suite/funcs_1/r/innodb_trig_08.result:
  confirmed existing results as corrects ones - updated error message
mysql-test/suite/funcs_1/r/innodb_views.result:
  confirmed current results as correct - returned results included a wrong 'expected' error message
mysql-test/suite/funcs_1/r/memory__datadict.result:
  Updated result file with order by selects, elimination of time stamps and selects
  of empty user (that we don't have anymore) and adding the testing 
  of referential_constraints table
mysql-test/suite/funcs_1/r/memory_func_view.result:
  confirming existing results as correct - old result file had wrong cast values
mysql-test/suite/funcs_1/r/memory_trig_0102.result:
  Corrected error with long trigger name (that was previously quietly trimmed)
mysql-test/suite/funcs_1/r/memory_trig_08.result:
  confirmed existing results as corrects ones - updated error message
mysql-test/suite/funcs_1/r/memory_views.result:
  confirmed current results as correct - returned results included a wrong 'expected' error message
mysql-test/suite/funcs_1/r/myisam__datadict.result:
  Updated result file with order by selects, elimination of time stamps and selects
  of empty user (that we don't have anymore) and adding the testing 
  of referential_constraints table
mysql-test/suite/funcs_1/r/myisam_func_view.result:
  confirming existing results as correct - old result file had wrong cast values
mysql-test/suite/funcs_1/r/myisam_trig_0102.result:
  Corrected error with long trigger name (that was previously quietly trimmed)
mysql-test/suite/funcs_1/r/myisam_trig_08.result:
  confirmed existing results as corrects ones - updated error message
mysql-test/suite/funcs_1/r/myisam_views.result:
  confirmed current results as correct - returned results included a wrong 'expected' error message
mysql-test/suite/funcs_1/r/ndb__datadict.result:
  Updated result file with order by selects, elimination of time stamps and selects
  of empty user (that we don't have anymore) and adding the testing 
  of referential_constraints table
mysql-test/suite/funcs_1/r/ndb_func_view.result:
  confirming existing results as correct - old result file had wrong cast values
mysql-test/suite/funcs_1/r/ndb_trig_0102.result:
  Corrected error with long trigger name (that was previously quietly trimmed)
mysql-test/suite/funcs_1/r/ndb_trig_08.result:
  confirmed existing results as corrects ones - updated error message
mysql-test/suite/funcs_1/r/ndb_views.result:
  confirmed current results as correct - returned results included a wrong 'expected' error message
mysql-test/suite/funcs_1/t/disabled.def:
  Updated disabled messages with clearer ones
mysql-test/suite/funcs_1/triggers/triggers_0102.inc:
  Added code to test for error in case of a trigger name that is to long
mysql-test/suite/funcs_1/views/views_master.inc:
  Correction to remove wrong '--eror' meaningless tag that generated warnings
2007-05-02 17:30:23 -07:00
unknown
9460b8c4d3 Merge linux.site:/home/omer/source/bld50_tmp
into  linux.site:/home/omer/source/bld51_2


BitKeeper/deleted/.del-a_version_check.result:
  Auto merged
BitKeeper/deleted/.del-a_version_check.test:
  Auto merged
BitKeeper/deleted/.del-datadict_load.inc:
  Auto merged
BitKeeper/deleted/.del-datadict_master.inc:
  Auto merged
BitKeeper/deleted/.del-datadict_show_schema.inc:
  Auto merged
BitKeeper/deleted/.del-disabled.def~1:
  Auto merged
BitKeeper/deleted/.del-innodb__datadict.result:
  Auto merged
BitKeeper/deleted/.del-innodb_trig_08.result:
  Auto merged
BitKeeper/deleted/.del-innodb_views.result:
  Auto merged
BitKeeper/deleted/.del-memory__datadict.result:
  Auto merged
BitKeeper/deleted/.del-memory_trig_08.result:
  Auto merged
BitKeeper/deleted/.del-memory_views.result:
  Auto merged
BitKeeper/deleted/.del-myisam__datadict.result:
  Auto merged
BitKeeper/deleted/.del-myisam_trig_08.result:
  Auto merged
BitKeeper/deleted/.del-views_master.inc:
  Auto merged
BitKeeper/deleted/.del-innodb_func_view.result:
  manual merge - using local file
BitKeeper/deleted/.del-memory_func_view.result:
  manual merge - using local file
BitKeeper/deleted/.del-myisam_func_view.result:
  manual merge - using local file
BitKeeper/deleted/.del-myisam_views.result:
  manual merge - using local file
2007-05-02 12:30:35 -07: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