1. 07 Mar, 2010 4 commits
    • Marc Alff's avatar
      Bug#51295 Build warnings in mdl.cc · a7c9bf2c
      Marc Alff authored
      Before this fix, the performance schema instrumentation
      in mdl.h / mdl.cc was incomplete, causing:
      - build warnings,
      - no data collection for the performance schema
      
      This fix:
      - added instrumentation helpers for the new preferred
        reader read write lock, mysql_prlock_*
      - implemented completely the performance schema
        instrumentation of mdl.h / mdl.cc
      a7c9bf2c
    • Marc Alff's avatar
      local merge · 8c28d0d1
      Marc Alff authored
      8c28d0d1
    • Marc Alff's avatar
      local merge · 72ffdcb2
      Marc Alff authored
      72ffdcb2
    • Marc Alff's avatar
      local merge · 7ece4fe4
      Marc Alff authored
      7ece4fe4
  2. 06 Mar, 2010 11 commits
  3. 05 Mar, 2010 6 commits
    • Marc Alff's avatar
      Bug#45194 mysql_upgrade deletes existing data in performance_schema database/schema · ed3a57fe
      Marc Alff authored
      Before this fix, mysql_upgrade would always drop and re create
      the performance_schema database.
      This in theory could destroy user data created using 5.1 or older versions.
      
      With this fix, mysql_upgrade checks the content of the
      performance_schema database before droping it.
      ed3a57fe
    • Guilhem Bichot's avatar
      Fix for BUG#51215 "log-error partially works with version 5.5": WL 4738... · 7bb4e5b4
      Guilhem Bichot authored
      Fix for BUG#51215 "log-error partially works with version 5.5": WL 4738 (reengineering of server variables)
      had broken the 5.1 behaviour of --log-error: --log-error without argument sent to stderr instead of writing
      to a file with an autogenerated name.
      
      mysql-test/suite/sys_vars/t/log_error_func.test:
        test that error log is created and shown in SHOW VARIABLES.
        Interestingly the error log's path is apparently relative if --log-error=argument is used, but
        may be absolute or relative if --log-error(no argument) is used (because then the path is derived from
        that of pidfile_name, which can be absolute or relative, depending on if autogenerated or not).
      mysql-test/suite/sys_vars/t/log_error_func2.test:
        test that error log is created and shown in SHOW VARIABLES
      mysql-test/suite/sys_vars/t/log_error_func3.test:
        test that error log is empty in SHOW VARIABLES
      sql/mysql_priv.h:
        id for option --log-error
      sql/mysqld.cc:
        No --log-error means "write errors to stderr", whereas --log-error
        without argument means "write errors to a file". So we cannot use the default logic
        of class sys_var_charptr, which treats "option not used" the same as "option used
        without argument" and uses the same default for both. We need to catch "option used",
        in mysqld_get_one_option(), and then "without argument". Setting to "" makes sure
        that init_server_components() will create the log, with an autogenerated name.
      sql/sys_vars.cc:
        need to give the option a numeric id so that we can catch it in mysqld_get_one_option()
      7bb4e5b4
    • Alexander Nozdrin's avatar
    • Alexander Barkov's avatar
      Fixing non-determenistic results. · 56dc1bd2
      Alexander Barkov authored
      56dc1bd2
    • Marc Alff's avatar
      Bug#51738 Unit test pfs_instr-t crashes · 01b19dbb
      Marc Alff authored
      The unit test pfs_instr-t:
      - generates a very long (10,000) bytes file name
      - calls find_or_create_file.
      
      This leads to a buffer overflow in mysys in my_realpath(),
      because my_realpath and mysys file APIs in general do not
      test for input parameters: mysys assumes every file name
      is less that FN_REFLEN in length.
      
      Calling find_or_create_file with a very long file name is likely
      to happen when instrumenting third party code that does not use mysys,
      so this test is legitimate.
      
      The fix is to make find_or_create_file in the performance schema
      more robust in this case.
      01b19dbb
    • Marc Alff's avatar
      Bug#51741 Unit test pfs-t failing in mysql-next-mr-bugfixing · 18884b02
      Marc Alff authored
      The root cause of the failure is that when
      Bug#51447 performance schema evil twin files
      was fixed, instrumented file names got normalized.
      
      The pfs-t unit test depends on this file normalization,
      but it was not updated.
      
      This fix aligns pfs-t.cc lookup_file_by_name()
      with the logic in pfs_instr.cc find_or_create_file().
      18884b02
  4. 04 Mar, 2010 10 commits
  5. 03 Mar, 2010 7 commits
    • Alexander Nozdrin's avatar
    • Vladislav Vaintroub's avatar
      merge · 50608a0b
      Vladislav Vaintroub authored
      50608a0b
    • Mattias Jonsson's avatar
      Fix for debug print of null string · 689b00a4
      Mattias Jonsson authored
      (fails on pb for solaris debug_max)
      
      689b00a4
    • Vladislav Vaintroub's avatar
      merge · 87a1ad63
      Vladislav Vaintroub authored
      87a1ad63
    • Vladislav Vaintroub's avatar
      Fix a problem reported by Alik: · eb101253
      Vladislav Vaintroub authored
      when cmake is used for building in a symlinked directory, 
      and confguration is later adjusted with "cmake-gui ." After it,
      GenServerSource fails with "no rule for <filename>". The reason
      for the error is that cmake-gui  resolves "." as realpath and rules
      are generated accordingly, while "cmake" used symlinked path
      
      The fix uses ${CMAKE_CURRENT_BINARY_DIR} instead of 
      ${CMAKE_BINARY_DIR}/sql  for generated files. 
      This causes CMake to use relative file names so 
      relative file names when generating make rules.
      Using relative filenames avoids the problem of 
      refering to the same directory using 2 different paths.
      
      Besides, using ${CMAKE_CURRENT_BINARY_DIR} is 
      a commonly used style when working with generated 
      files.
      eb101253
    • Vladislav Vaintroub's avatar
      Bug #51488 :missing features and change behavior in cmake runs compared to · cd03a462
      Vladislav Vaintroub authored
      autotools runs
      - Fix recognition of --with-debug=full in configure wrapper
      - Remove CMakeCache.txt in configure wrapper, to match the original
      - Fix recognition of max-no-ndb
      - Fix broken dependencies of mysql_fix_privilege_table.sql from 
        mysql_system_tables.sql and mysql_system_tables_fix.sql
      - Add "distclean target" that informs user about appropriate bzr command
      
      
      
      cmake/configure.pl:
        - Recognize --with-debug=full, map to WITH_DEBUG_FULL
        - remove CMakeCache.txt, so the configuration is no more sticky
        (to match the original configure behavior)
      cmake/plugin.cmake:
        - Recognize WITH_MAX_NO_NDB, this fixes missing storage engines after BUILD/*max-no-ndb scripts
      mysql-test/CMakeLists.txt:
        test-force uses the same macros (MTR_FORCE) as test-bt* now
      scripts/CMakeLists.txt:
        - Fix broken dependency when producing mysql_fix_privilege_tables.sql, reported by Davi.
        We now concatenate 2 scripts in custom command that
        has dependency on both scripts rather than concatenating them at cmake time.
      sql/CMakeLists.txt:
        Address frequently asked question "where is distclean" by implementing distclean target 
        that does nothing except pointing to appropriate 
        bzr command.
        
        It is better not to call "bzr clean-tree" automatically, without user consent.
        It could clean new files that were meant to be added.
      cd03a462
    • Jon Olav Hauglid's avatar
      Bug #51376 Assert `! is_set()' failed in · b0ab907b
      Jon Olav Hauglid authored
                 Diagnostics_area::set_ok_status on DROP FUNCTION
      
      This assert tests that the server is not trying to send "ok" to
      the client if an error has occured during statement processing.
      
      In this case, the assert was triggered by lock timeout errors when
      accessing system tables to do an implicit REVOKE after executing
      DROP FUNCTION/PROCEDURE. In practice, this was only likely to
      happen with very low values for "lock_wait_timeout" (in the bug report
      1 second was used). These errors were ignored and the server tried
      to send "ok" to the client, triggering the assert.
      
      The patch for Bug#45225 introduced lock timeouts for metadata locks.
      This made it possible to get timeouts when accessing system tables.
      Note that a followup patch for Bug#45225 pushed after this
      bug was reported, changed accessing of system tables such
      that the user-supplied timeout value is ignored and the maximum
      timeout value is used instead. This exact bug was therefore
      only noticeable in the period between the initial Bug#45225 patch
      and the followup patch.
      
      However, the same problem could occur for any errors during revoking
      of privileges - not just timeouts. This patch fixes the problem by
      making sure that any errors during revoking of privileges are
      reported to the client. 
      
      Test case added to sp-destruct.test. Since the original bug is not
      reproducable now that system tables are accessed using a a long
      timeout value, this test instead calls DROP FUNCTION with a grant
      system table missing.
      b0ab907b
  6. 02 Mar, 2010 2 commits