1. 16 May, 2007 3 commits
    • unknown's avatar
      Merge mysql.com:/home/svoj/devel/mysql/BUG25712/mysql-5.0-engines · 36b9ba47
      unknown authored
      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
      36b9ba47
    • unknown's avatar
      Merge mysql.com:/home/svoj/devel/mysql/BUG25712/mysql-4.1-engines · de0e4e0a
      unknown authored
      into  mysql.com:/home/svoj/devel/mysql/BUG25712/mysql-5.0-engines
      
      
      myisam/mi_check.c:
        Auto merged
      mysys/my_seek.c:
        Manual merge.
      de0e4e0a
    • unknown's avatar
      BUG#25712 - insert delayed and check table run together report crashed · e1e83a8b
      unknown authored
                  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.
      e1e83a8b
  2. 14 May, 2007 1 commit
  3. 10 May, 2007 4 commits
  4. 09 May, 2007 1 commit
    • unknown's avatar
      Bug#26241 · fd5e7a7c
      unknown authored
        "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.
      fd5e7a7c
  5. 08 May, 2007 1 commit
  6. 07 May, 2007 10 commits
  7. 05 May, 2007 1 commit
    • unknown's avatar
      Merge xiphis.org:/home/antony/work2/mysql-5.1-engines · 72e0d8b4
      unknown authored
      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
      72e0d8b4
  8. 04 May, 2007 19 commits
    • unknown's avatar
      WL#2936 · cd3ced79
      unknown authored
        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
      cd3ced79
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · e63cc253
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/27759-bug-5.0-opt-mysql
      
      
      sql/item_func.cc:
        Auto merged
      e63cc253
    • unknown's avatar
      bug #27531: · 359b0e59
      unknown authored
       fixed coverage of out-of-mem errors
      
      
      359b0e59
    • unknown's avatar
      bug #27531: 5.1 part of the fix: · 0c835da8
      unknown authored
       - 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.
      0c835da8
    • unknown's avatar
      Bug#27759: Wrong DATE/DATETIME comparison in LEAST()/GREATEST() functions. · 99bde6d9
      unknown authored
      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.
      99bde6d9
    • unknown's avatar
      Merge magare.gmz:/home/kgeorge/mysql/work/B27531-5.0-opt · 27aeb9e0
      unknown authored
      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
      27aeb9e0
    • unknown's avatar
      post merge (5.0-opt -> 5.1-opt) fixes · 67e5e123
      unknown authored
      67e5e123
    • unknown's avatar
      WL#2936 - Falcon & MySQL plugin interface: server variables · 5dee5507
      unknown authored
      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.
      5dee5507
    • unknown's avatar
      Merge magare.gmz:/home/kgeorge/mysql/work/B27531-4.1-opt · 7539cb43
      unknown authored
      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
      7539cb43
    • unknown's avatar
      Bug #27531: the 4.1 fix. · 353b6f26
      unknown authored
      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
      353b6f26
    • unknown's avatar
      Merge magare.gmz:/home/kgeorge/mysql/work/B27531-5.0-opt · 27f581a0
      unknown authored
      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
      27f581a0
    • unknown's avatar
      bugfix in checksum with force varpart · 764e010e
      unknown authored
      
      mysql-test/mysql-test-run.pl:
        bigger needed for running some tests
      764e010e
    • unknown's avatar
      Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 1084f2d6
      unknown authored
      into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt
      
      
      1084f2d6
    • unknown's avatar
      Bug#28181 Access denied to 'information_schema when select into out file (regression) · 13cfc477
      unknown authored
      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
      13cfc477
    • unknown's avatar
      Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.1 · 5c6dec8d
      unknown authored
      into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-single-user
      
      
      5c6dec8d
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 3ebd2e55
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B27807-5.0-opt
      
      
      3ebd2e55
    • unknown's avatar
      Merge moonbone.local:/mnt/gentoo64/work/23656-bug-4.1-opt-mysql · 74c794d0
      unknown authored
      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
      74c794d0
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · ad06c4c0
      unknown authored
      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
      ad06c4c0
    • unknown's avatar
      Bug #27807. · 0ad4e1b2
      unknown authored
      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
      0ad4e1b2