1. 18 May, 2007 1 commit
    • unknown's avatar
      BUG#28341 - Security issue still in library loading · 7839da60
      unknown authored
      UDF can be created from any library in any part of the server
      LD_LIBRARY_PATH.
      
      Allow to load udfs only from plugin_dir.
      On windows, refuse to open udf in case it's path contains a slash.
      
      No good test case for this bug because of imperfect error message
      that includes error code and error string when it fails to dlopen a
      library.
      
      
      mysql-test/mysql-test-run.pl:
        Since plugins are allowed to be open only from plugin_dir:
        - there is no sence to update LD_LIBRARY_PATH
        - there is no sence to add plugin_dir arg by default
        - set UDF_EXAMPLE_LIB_OPT and EXAMPLE_PLUGIN_OPT to be used by
          udf and plugin tests accordingly.
      mysql-test/r/plugin.result:
        Updated test result (we report addition warning).
      sql/sql_udf.cc:
        Allow to load udfs only from plugin_dir.
        On windows, refuse to open udf in case it's path contains a slash.
      mysql-test/t/plugin-master.opt:
        New BitKeeper file ``mysql-test/t/plugin-master.opt''
      mysql-test/t/udf-master.opt:
        New BitKeeper file ``mysql-test/t/udf-master.opt''
      7839da60
  2. 17 May, 2007 3 commits
    • unknown's avatar
      Merge mysql.com:/home/svoj/devel/mysql/BUG25712/mysql-5.0-engines · 0ea67375
      unknown authored
      into  mysql.com:/home/svoj/devel/mysql/BUG25712/mysql-5.1-engines
      
      
      include/my_sys.h:
        Auto merged
      0ea67375
    • unknown's avatar
      Merge mysql.com:/home/svoj/devel/mysql/BUG25712/mysql-4.1-engines · 28d896ba
      unknown authored
      into  mysql.com:/home/svoj/devel/mysql/BUG25712/mysql-5.0-engines
      
      
      include/my_sys.h:
        Manual merge.
      28d896ba
    • unknown's avatar
      Addition to fix for · 6e09887f
      unknown authored
      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.
      6e09887f
  3. 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
  4. 14 May, 2007 1 commit
  5. 10 May, 2007 4 commits
  6. 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
  7. 08 May, 2007 1 commit
  8. 07 May, 2007 10 commits
  9. 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
  10. 04 May, 2007 15 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