1. 07 Oct, 2008 1 commit
    • Kristofer Pettersson's avatar
      Bug#38692 concurrent inserts cause valgrind errors in Query_cache::invalidate · 85ca9837
      Kristofer Pettersson authored
      Concurrent inserts produce valgrind error messages.
      The reason is that the query cache is invalidated after the target table object
      is closed.
      
      Since the delayed insert thread already takes care of invalidating the query
      cache there is no need to try to synchronize an extra cache invalidation call.
      
      The fix is to remove the query_cache_invalidate3 call altogether.
      
      sql/sql_insert.cc:
        When end_delayed_insert is called, the table_list items will be invalidated
        by the concurrent insert thread. Further more there is no need to call
        query_cache_invalidate here since the delayed insert thread takes care of
        this already.
      85ca9837
  2. 10 Sep, 2008 1 commit
    • Kristofer Pettersson's avatar
      Bug#38692 concurrent inserts cause valgrind errors in Query_cache::invalidate · a8b25524
      Kristofer Pettersson authored
            
      If a delayed insert thread was aborted by a concurrent 'truncate table'
      statement, then the diagnostic area would fail with an assert in a debug build
      because no actual error message was pushed on the stack despite a thread
      being killed.
            
      This patch adds an error message to the stack.
      
      
      sql/sql_insert.cc:
        * Changed sql_print_error() to my_error() to avoid assertion in the DA
        * Added assertion in "should never happen" branch.
      a8b25524
  3. 27 Aug, 2008 1 commit
  4. 26 Aug, 2008 14 commits
  5. 25 Aug, 2008 9 commits
    • Sergey Petrunia's avatar
      Merge · 9ecf9c30
      Sergey Petrunia authored
      9ecf9c30
    • Sergey Petrunia's avatar
      Merge BUG#36639 into 5.1 · 6df6aeca
      Sergey Petrunia authored
      6df6aeca
    • Sergey Petrunia's avatar
      BUG#36639: subselect.test crashes on 64 bit pentium4 when compiled for valgrind, commit into 5.0 · c770161a
      Sergey Petrunia authored
      - Use the compiler's default copy constructor for QUICK_RANGE_SELECT. 
        bcopy(this, copy, ...) call caused some odd action on gcc-4.1.2 on x86_64
      
      sql/opt_range.cc:
        BUG#36639: subselect.test crashes on 64 bit pentium4 when compiled for valgrind
        - Set QUICK_SELECT_DESC not to use MRR implementation (code moved to here
          from opt_range.h)
      sql/opt_range.h:
        BUG#36639: subselect.test crashes on 64 bit pentium4 when compiled for valgrind
        - Use the compiler's default copy constructor for QUICK_RANGE_SELECT. 
          bcopy(this, copy, ...) call caused some odd action on gcc-4.1.2 on x86_64
      c770161a
    • Davi Arnaut's avatar
      Merge Bug#36579 into mysql-5.1-bugteam · d30db4c9
      Davi Arnaut authored
      d30db4c9
    • Davi Arnaut's avatar
      Bug#36579 Dumping information about locks in use may lead to a server crash · 1ee4a3ac
      Davi Arnaut authored
      Dumping information about locks in use by sending a SIGHUP signal
      to the server or by invoking the "mysqladmin debug" command may
      lead to a server crash in debug builds or to undefined behavior in
      production builds.
      
      The problem was that a mutex that protects a lock object (THR_LOCK)
      might have been destroyed before the lock object was actually removed
      from the list of locks in use, causing a race condition with other
      threads iterating over the list. The solution is to destroy the mutex
      only after removing lock object from the list.
      
      mysys/thr_lock.c:
        Destroy the mutex that protects the lock object only after removing
        the lock object from the list of locks in use.
      1ee4a3ac
    • Sergey Glukhov's avatar
      null merge · cb8f52d2
      Sergey Glukhov authored
      cb8f52d2
    • Sergey Glukhov's avatar
      Bug#37428 Potential security issue with UDFs - linux shellcode execution. · c546559a
      Sergey Glukhov authored
      plugin_dir option backported from 5.1
      
      mysql-test/r/udf.result:
        result fix
      sql/mysql_priv.h:
        opt_plugin_dir and opt_plugin_dir_ptr declared.
      sql/mysqld.cc:
        'plugin_dir' option added
      sql/set_var.cc:
        'plugin_dir' option added.
      sql/sql_udf.cc:
        opt_plugin_dir added to the udf->dl path. Warn if it's not specified.
      sql/unireg.h:
        PLUGINDIR defined.
      c546559a
    • Alexander Barkov's avatar
      Additional fix for bug#31455 · afba8391
      Alexander Barkov authored
      Fixing non-deterministic test results:
      the number of spaces in FLOAT/DOUBLE output could 
      vary between different platforms.
      afba8391
    • Alexander Barkov's avatar
      Additional ffix for bug#31455 · 8706222b
      Alexander Barkov authored
      - fixing double problem on big endian machines
      - modifying regex_replace to replace negative numbers
        Previously only positive numbers where replaced.
      8706222b
  6. 23 Aug, 2008 1 commit
  7. 22 Aug, 2008 5 commits
    • Alexey Botchkov's avatar
      Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY. · ec524d50
      Alexey Botchkov authored
                  
                  test_if_data_home_dir fixed to look into real path.
                  Checks added to mi_open for symlinks into data home directory.
      
      per-file messages:
              include/my_sys.h
                Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
                
                my_is_symlink interface added
              include/myisam.h
                Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
                
                myisam_test_invalid_symlink interface added
              myisam/mi_check.c
                Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
                
                mi_open_datafile calls modified
              myisam/mi_open.c
                Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
                
                code added to mi_open to check for symlinks into data home directory.
                mi_open_datafile now accepts 'original' file path to check if it's
                an allowed symlink.
              myisam/mi_static.c
                Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
                
                myisam_test_invlaid_symlink defined
              myisam/myisamchk.c
                Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
                
                mi_open_datafile call modified
              myisam/myisamdef.h
                Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
                
                mi_open_datafile interface modified - 'real_path' parameter added
              mysql-test/r/symlink.test
                Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
                
                error codes corrected as some patch now rejected pointing inside datahome
              mysql-test/r/symlink.result
                Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
                
                error messages corrected in the result
              mysys/my_symlink.c
                Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
                
                my_is_symlink() implementsd
                my_realpath() now returns the 'realpath' even if a file isn't a symlink
              sql/mysql_priv.h
                Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
                
                test_if_data_home_dir interface
              sql/mysqld.cc
                Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
                
                myisam_test_invalid_symlik set with the 'test_if_data_home_dir'
              sql/sql_parse.cc
                Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
                
                error messages corrected
                test_if_data_home_dir code fixed
      ec524d50
    • Alexander Barkov's avatar
      642aa111
    • Alexander Barkov's avatar
      Additional fix for bug#31455 · 2e4a7ba0
      Alexander Barkov authored
      Getting rid of non-deterministic results of sprintf("%-20g").
      Displaying only 3 digits after decimal dot.
      2e4a7ba0
    • Alexander Barkov's avatar
      Additional fix for bug#31455. · 1f61af5a
      Alexander Barkov authored
      Exchanging "m_cols" and "m_cols_ai".
      
      Very confusing variable naming :(
      1f61af5a
    • Alexander Barkov's avatar
      Additional fix for bug#31455 · 531c3206
      Alexander Barkov authored
      Removing server version with regex_replace
      to avoid non-determenistic test results.
      531c3206
  8. 21 Aug, 2008 5 commits
    • Alexander Barkov's avatar
      Additional fix for bug#31455 (rpl decoder) · 762df2d0
      Alexander Barkov authored
      - Implementing --base64-format=decode-rows, to display
        SQL-alike decoded row events without their BINLOG statements.
      - Adding --base64-format=decode-rows into tests when
        calling mysqlbinlog to avoid non-deterministic results
      - Removing resetting of last_table_id in "RESET MASTER",
        which appeared to be dangerous.
      762df2d0
    • Sergey Glukhov's avatar
      added replacement of 'CARDINALITY' column values · 099a80d0
      Sergey Glukhov authored
      mysql-test/r/join.result:
        result fix
      099a80d0
    • Tatiana A. Nurnberg's avatar
      auto-merge · d726a499
      Tatiana A. Nurnberg authored
      d726a499
    • Tatiana A. Nurnberg's avatar
      Bug#35616: memory overrun on 64-bit linux on setting large values for keybuffer-size · 861f7e1c
      Tatiana A. Nurnberg authored
      add'l portability fixes
      
      mysys/safemalloc.c:
        Make the various print-functions happy:
        sf_malloc_(cur|max)_memory are size_t now, might as well use %u instead
        of %d. Ideally, we'd use %zu, but we can't rely on having that, so we'll
        use %lu instead. Likewise, we could cast to unsigned for our poor man's
        %p -- pointers are never negative, and neither is %x --, but since it
        was fixed to %p with seemingly no ill effects in 6.0 anyway, we'll back
        port that instead.
      861f7e1c
    • Tatiana A. Nurnberg's avatar
      Bug#35616: memory overrun on 64-bit linux on setting large values for keybuffer-size · 91a2c59a
      Tatiana A. Nurnberg authored
      portability fixes / cleanup
      
      include/my_sys.h:
        declaration should certainly match definition!
      mysys/safemalloc.c:
        Make the various print-functions happy:
        sf_malloc_(cur|max)_memory are size_t now, might as well use %u instead
        of %d. Ideally, we'd use %zu, but we can't rely on having that, so we'll
        use %lu instead. Likewise, we could cast to unsigned for our poor man's
        %p -- pointers are never negative, and neither is %x --, but since it
        was fixed to %p with seemingly no ill effects in 6.0 anyway, we'll back
        port that instead.
      91a2c59a
  9. 20 Aug, 2008 3 commits