1. 21 May, 2007 5 commits
    • unknown's avatar
      BUG#25659 - memory leak via "plugins" test · 7e945ae8
      unknown authored
      - Added suppressions for dlopen to make plugin test pass.
      - Do not pass empty string to mysqld, since my_getopt is
        not capable to handle it.
      - Re-enabled trailing UNINSTALL PLUGIN statement of plugin.test.
      
      The memory leak described in the bug report happens in libdl, not
      in mysqld. On some valgrind installations this error is suppressed
      by default, no idea why it isn't suppressed on pb-valgrind.
      
      <observation>
      If library remains open after thread has finished, and is closed by
      another thread, we get memory leak. But in case library is opened and
      closed by the same thread no leak occurs.
      </observation>
      
      
      mysql-test/lib/mtr_io.pl:
        Do not pass empty string since my_getopt is not capable to handle it.
        This is required to make plugin.test work on platforms where
        ha_example is not compiled.
      mysql-test/r/plugin.result:
        Updated test result.
      mysql-test/t/plugin.test:
        Re-enabled UNINSTALL PLUGIN statement. It is a good idea to cleanup
        at the end of the test. Anyway bug22694 was fixed while this test
        was disabled.
      mysql-test/valgrind.supp:
        Added suppressions for dlopen to make plugin test pass.
      7e945ae8
    • unknown's avatar
      Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.1-engines · 1fcfa942
      unknown authored
      into  mysql.com:/home/svoj/devel/mysql/BUG28341/mysql-5.1-engines
      
      1fcfa942
    • unknown's avatar
      BUG#25659 - memory leak via "plugins" test · ddfd0f09
      unknown authored
      Re-enabled plugin test to check if it still leaks memory.
      
      
      mysql-test/t/disabled.def:
        Re-enabled plugin test.
      ddfd0f09
    • unknown's avatar
      Addition to fix for · 10f1bbf6
      unknown authored
      BUG#28341 - Security issue still in library loading
      
      Added required option files to rpl_udf test.
      
      
      mysql-test/t/rpl_udf-master.opt:
        New BitKeeper file ``mysql-test/t/rpl_udf-master.opt''
      mysql-test/t/rpl_udf-slave.opt:
        New BitKeeper file ``mysql-test/t/rpl_udf-slave.opt''
      10f1bbf6
    • unknown's avatar
      Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.1-engines · e13a9ca6
      unknown authored
      into  mysql.com:/home/svoj/devel/mysql/BUG28341/mysql-5.1-engines
      
      e13a9ca6
  2. 18 May, 2007 1 commit
    • unknown's avatar
      BUG#28341 - Security issue still in library loading · ac815451
      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''
      ac815451
  3. 17 May, 2007 6 commits
    • unknown's avatar
      Merge mysql.com:/home/svoj/devel/mysql/BUG25712/mysql-5.0-engines · 7fcb3fd9
      unknown authored
      into  mysql.com:/home/svoj/devel/mysql/BUG25712/mysql-5.1-engines
      
      
      mysys/my_seek.c:
        Auto merged
      7fcb3fd9
    • unknown's avatar
      Merge mysql.com:/home/svoj/devel/mysql/BUG25712/mysql-4.1-engines · a62a79e1
      unknown authored
      into  mysql.com:/home/svoj/devel/mysql/BUG25712/mysql-5.0-engines
      
      
      mysys/my_seek.c:
        Auto merged
      a62a79e1
    • unknown's avatar
      Addition to fix for · b0e40b36
      unknown authored
      BUG#25712 - insert delayed and check table run together report crashed
                  tables
      Fixed wrongly applied patch.
      
      b0e40b36
    • unknown's avatar
      Merge mysql.com:/home/svoj/devel/mysql/BUG25712/mysql-5.0-engines · 88b82fa5
      unknown authored
      into  mysql.com:/home/svoj/devel/mysql/BUG25712/mysql-5.1-engines
      
      
      include/my_sys.h:
        Auto merged
      88b82fa5
    • unknown's avatar
      Merge mysql.com:/home/svoj/devel/mysql/BUG25712/mysql-4.1-engines · df2d59f2
      unknown authored
      into  mysql.com:/home/svoj/devel/mysql/BUG25712/mysql-5.0-engines
      
      
      include/my_sys.h:
        Manual merge.
      df2d59f2
    • unknown's avatar
      Addition to fix for · 1286c1c3
      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.
      1286c1c3
  4. 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
  5. 14 May, 2007 1 commit
  6. 10 May, 2007 4 commits
  7. 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
  8. 08 May, 2007 1 commit
  9. 07 May, 2007 10 commits
  10. 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
  11. 04 May, 2007 7 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