1. 16 May, 2007 3 commits
    • unknown's avatar
      Merge mysql.com:/home/svoj/devel/mysql/BUG25712/mysql-5.0-engines · f471e9c7
      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
      f471e9c7
    • unknown's avatar
      Merge mysql.com:/home/svoj/devel/mysql/BUG25712/mysql-4.1-engines · ece8497b
      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.
      ece8497b
    • unknown's avatar
      BUG#25712 - insert delayed and check table run together report crashed · fe7b572a
      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.
      fe7b572a
  2. 14 May, 2007 1 commit
  3. 10 May, 2007 4 commits
  4. 09 May, 2007 1 commit
    • unknown's avatar
      Bug#26241 · 927e9068
      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.
      927e9068
  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 · 29aeae5c
      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
      29aeae5c
  8. 04 May, 2007 19 commits
    • unknown's avatar
      WL#2936 · abf268c1
      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
      abf268c1
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 356c2182
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/27759-bug-5.0-opt-mysql
      
      
      sql/item_func.cc:
        Auto merged
      356c2182
    • unknown's avatar
      bug #27531: · dac64e18
      unknown authored
       fixed coverage of out-of-mem errors
      
      dac64e18
    • unknown's avatar
      bug #27531: 5.1 part of the fix: · e53847f3
      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.
      e53847f3
    • unknown's avatar
      Bug#27759: Wrong DATE/DATETIME comparison in LEAST()/GREATEST() functions. · 435d728e
      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.
      435d728e
    • unknown's avatar
      Merge magare.gmz:/home/kgeorge/mysql/work/B27531-5.0-opt · c8878433
      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
      c8878433
    • unknown's avatar
      post merge (5.0-opt -> 5.1-opt) fixes · 517181bc
      unknown authored
      517181bc
    • unknown's avatar
      WL#2936 - Falcon & MySQL plugin interface: server variables · be91bd23
      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.
      be91bd23
    • unknown's avatar
      Merge magare.gmz:/home/kgeorge/mysql/work/B27531-4.1-opt · 17d31dad
      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
      17d31dad
    • unknown's avatar
      Bug #27531: the 4.1 fix. · 0f88bd8c
      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
      0f88bd8c
    • unknown's avatar
      Merge magare.gmz:/home/kgeorge/mysql/work/B27531-5.0-opt · e4beed3c
      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
      e4beed3c
    • unknown's avatar
      bugfix in checksum with force varpart · 57ec524b
      unknown authored
      
      mysql-test/mysql-test-run.pl:
        bigger needed for running some tests
      57ec524b
    • unknown's avatar
      Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 01f69e13
      unknown authored
      into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt
      
      01f69e13
    • unknown's avatar
      Bug#28181 Access denied to 'information_schema when select into out file (regression) · e8163b6c
      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
      e8163b6c
    • unknown's avatar
      Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.1 · 6870dac6
      unknown authored
      into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-single-user
      
      6870dac6
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 93e68f08
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B27807-5.0-opt
      
      93e68f08
    • unknown's avatar
      Merge moonbone.local:/mnt/gentoo64/work/23656-bug-4.1-opt-mysql · 255d8ef3
      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
      255d8ef3
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 766224b4
      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
      766224b4
    • unknown's avatar
      Bug #27807. · e5655cbe
      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
      e5655cbe