1. 03 Oct, 2008 6 commits
    • Chad MILLER's avatar
      Merge fix for Bug#35754. · 1fd6774b
      Chad MILLER authored
      1fd6774b
    • Chad MILLER's avatar
      Merge fix for Bug#35754. · aa1a6922
      Chad MILLER authored
      aa1a6922
    • Andrei Elkin's avatar
      merge with the main 5.1-bugteam · 48a40e2e
      Andrei Elkin authored
      48a40e2e
    • Davi Arnaut's avatar
      Bug#37481: status.test fails randomly · 30d46cac
      Davi Arnaut authored
      The problem was that the test was trying to obtain a lock on
      a table in one connection without ensuring that a insert which
      was executed in another connection had released the lock on the
      same table.
      
      The solution is to add a dummy select query after the insert to
      ensure that the table is unlocked and closed by the time it tries
      to lock it again. This is enough to prevent test failures described
      in the bug report. As an extra safety measure, concurrent inserts
      are disabled.
      
      Remove comments that calculated the Table_locks_immediate. This
      value is not tested anymore and it's calculation did not reflect
      the actual value.
      
      mysql-test/r/status.result:
        Update test case result.
      mysql-test/t/status.test:
        Issue a dummy select to ensure that tables are unlocked after a
        insert and disable concurrent inserts as a extra-safety.
      30d46cac
    • Davi Arnaut's avatar
      Wrap function used for debugging with the DBUG_OFF condition. · b0e03c13
      Davi Arnaut authored
      Function uses a variable only available under debug mode.
      b0e03c13
    • Andrei Elkin's avatar
      Bug #28786 binlog_killed.test fails: 'reset master' does not reset binlogging · b41e0818
      Andrei Elkin authored
      The test failed originally -- did not reset binlogging - for the reason
      identified by bug@15580.
      However it never can be run on the embedded platfrom for yet another cause -
      the embedded can not KILL query.
            
      Comments added to the test particularly relating `reset master'
      to the mentioned bug.
      
      mysql-test/suite/binlog/t/binlog_killed.test:
        adding commets explaining why the test has to have include/not_embedded.inc guard.
      b41e0818
  2. 02 Oct, 2008 10 commits
    • Davi Arnaut's avatar
      Merge from main branch. · 6cf143a2
      Davi Arnaut authored
      6cf143a2
    • Davi Arnaut's avatar
      Remove usage of the _db_strict_keyword_ in favor of the more reliable · 5b1afb9b
      Davi Arnaut authored
      DBUG_EXECUTE_IF macro. The usage of the former caused breakage in other
      trees as it got removed from the dbug library.
      
      sql/sql_base.cc:
        Rework code to remove unreliable usage of _db_script_keyword_.
      5b1afb9b
    • Vladislav Vaintroub's avatar
      merge fix for 38629 from 5.0 · e7b5c1e7
      Vladislav Vaintroub authored
      e7b5c1e7
    • Vladislav Vaintroub's avatar
      merge · f140575e
      Vladislav Vaintroub authored
      f140575e
    • Vladislav Vaintroub's avatar
      Bug #38629 · 42e48bc4
      Vladislav Vaintroub authored
      mysql-test-run.pl --start-and-exit starts but does not exit
      Instead, it hangs with ActiveState perl. The error is
      believed to be a bug in ActiveState implementation.
      Workaround is using POSIX::_exit, as described here
      http://www.perlmonks.org/?node_id=334610
      
      Thanks to Philip Stoev for the idea of the patch.
      42e48bc4
    • Sergey Glukhov's avatar
      5.0->5.1 bugteam merge · 46087eaf
      Sergey Glukhov authored
      mysql-test/r/create.result:
        automerge
      mysql-test/t/create.test:
        automerge
      sql/mysql_priv.h:
        manual merge
      sql/sql_parse.cc:
        manual merge
      sql/sql_yacc.yy:
        manual merge
      46087eaf
    • Sergey Glukhov's avatar
      Bug#35924 DEFINER should be stored 'quoted' in I_S · d51e2c07
      Sergey Glukhov authored
      The '@' symbol can not be used in the host name according to rfc952.
      The fix:
      added function check_host_name(LEX_STRING *str)
      which checks that all symbols in host name string are valid and
      host name length is not more than max host name length
      (just moved check_string_length() function from the parser into check_host_name()).
      
      
      mysql-test/r/create.result:
        test result
      mysql-test/t/create.test:
        test case
      sql/mysql_priv.h:
        added function check_host_name(LEX_STRING *str)
      sql/sql_parse.cc:
        added function check_host_name(LEX_STRING *str)
        which checks that all symbols in host name string are valid and
        host name length is not more than max host name length(HOSTNAME_LENGTH).
      sql/sql_yacc.yy:
        using newly added function check_host_name()
      d51e2c07
    • Sergey Glukhov's avatar
      automerge · aff5670a
      Sergey Glukhov authored
      aff5670a
    • Sergey Glukhov's avatar
      automerge · 4735aaea
      Sergey Glukhov authored
      4735aaea
    • Sergey Glukhov's avatar
      Bug#22763 Disrepancy between SHOW CREATE VIEW and I_S.VIEWS · 7e60f710
      Sergey Glukhov authored
      The problem:
      I_S views table does not check the presence of SHOW_VIEW_ACL|SELECT_ACL
      privileges for a view. It leads to discrepancy between SHOW CREATE VIEW
      and I_S.VIEWS.
      The fix:
      added appropriate check.
      
      
      mysql-test/r/information_schema_db.result:
        test result
      mysql-test/t/information_schema_db.test:
        test case
      sql/sql_show.cc:
        The problem:
        I_S views table does not check the presence of SHOW_VIEW_ACL|SELECT_ACL
        privileges for a view. It leads to discrepancy between SHOW CREATE VIEW
        and I_S.VIEWS.
        The fix:
        added appropriate check.
      7e60f710
  3. 01 Oct, 2008 17 commits
    • Ingo Struewing's avatar
      merge · 907cce4e
      Ingo Struewing authored
      907cce4e
    • Georgi Kodinov's avatar
      7adf7154
    • Georgi Kodinov's avatar
      Bug#37943: Reproducible mysqld crash/sigsegv in sel_trees_can_be_ored · eb3c0806
      Georgi Kodinov authored
                  
      When analyzing the possible index use cases the server was re-using an internal structure.
      This is wrong, as this internal structure gets updated during the analysis.
      Fixed by making a copy of the internal structure for every place it needs to be used.
      Also stopped the generation of empty SEL_TREE structures that unnecessary 
      complicate the analysis.
      
      mysql-test/r/index_merge.result:
        Bug#37943: test case
      mysql-test/t/index_merge.test:
        Bug#37943: test case
      sql/opt_range.cc:
        Bug#37943: 
         - Make copy constructors for SEL_TREE and sub-structures and use them when OR-ing trees.
         - don't generate empty SEL_TREEs. Return NULL instead.
      eb3c0806
    • Ingo Struewing's avatar
      merge · 404d3421
      Ingo Struewing authored
      404d3421
    • Sven Sandberg's avatar
      BUG#38269: pushbuild gives valgrind error in ha_statistic_increment for rpl_temporary · b920fb45
      Sven Sandberg authored
      Re-enabling failing test case because server logs were lost in pushbuild, so we need to run it again.
      
      
      mysql-test/suite/rpl/t/disabled.def:
        Re-enabling failing test case because server logs were lost in pushbuild, so we need to run it again.
      b920fb45
    • Georgi Kodinov's avatar
      cdb8a2a9
    • Georgi Kodinov's avatar
    • Ingo Struewing's avatar
      merge · 78a4a9e4
      Ingo Struewing authored
      78a4a9e4
    • Ingo Struewing's avatar
      Bug#37958 - test main.plugin crash on Mac OS X when selecting from EXAMPLE engine. · 2ed99fbe
      Ingo Struewing authored
      This patch contains fixes for two problems:
      
      1. As originally reported, the server crashed on Mac OS X when trying to access
         an EXAMPLE table after the EXAMPLE plugin was installed.
      
         It turned out that the dynamically loaded EXAMPLE plugin called the
         function hash_earch() from a Mac OS X system library, instead of
         hash_earch() from MySQL's mysys library. Makefile.am in storage/example
         does not include libmysys. So the Mac OS X linker arranged the hash_search()
         function to be linked to the system library when the shared object is
         loaded.
      
         One possible solution would be to include libmysys into the linkage of
         dynamic plugins. But then we must have a libmysys.so, which must be
         used by the server too. This could have a minimal performance impact,
         but foremost the change seems to bee too risky at the current state of
         MySQL 5.1.
      
         The selected solution is to rename MySQL's hash_search() to my_hash_search()
         like it has been done before with hash_insert() and hash_reset().
      
         Since this is the third time, we need to rename a hash_*() function,
         I did renamed all hash_*() functions to my_hash_*().
      
         To avoid changing a zillion calls to these functions, and announcing
         this to hundreds of developers, I added defines that map the old names
         to the new names.
      
         This change is in hash.h and hash.c.
      
      2. The other problem was improper implementation of the handlerton-to-plugin
         mapping. We use a fixed-size array to hold a plugin reference for each
         handlerton. On every install of a handler plugin, we allocated a new slot
         of the array. On uninstall we did not free it. After some uninstall/install
         cycles the array overflowed. We did not check for overflow.
      
         One fix is to check for overflow to stop the crashes.
      
         Another fix is to free the array slot at uninstall and search for a free slot
         at plugin install.
      
         This change is in handler.cc.
      
      
      
      include/hash.h:
        Bug#37958 - test main.plugin crash on Mac OS X when selecting from EXAMPLE engine.
        Renamed hash_*() functions to my_hash_*().
        Added defines that map old names to new names.
      mysys/hash.c:
        Bug#37958 - test main.plugin crash on Mac OS X when selecting from EXAMPLE engine.
        Renamed hash_*() functions to my_hash_*().
      sql/handler.cc:
        Bug#37958 - test main.plugin crash on Mac OS X when selecting from EXAMPLE engine.
        Protect against a failing ha_initialize_handlerton() in ha_finalize_handlerton().
        Free hton2plugin slot on uninstall of a handler plugin.
        Reuse freed slost of the hton2plugin array.
        Protect against array overrun.
      2ed99fbe
    • Georgi Kodinov's avatar
      5b1b7320
    • Georgi Kodinov's avatar
      merged 5.0-bugteam -> 5.1-bugteam · 7c0e7cdb
      Georgi Kodinov authored
      7c0e7cdb
    • Georgi Kodinov's avatar
      merged 5.1-5.1.29-rc -> 5.1-bugteam · 63a3ce6e
      Georgi Kodinov authored
      63a3ce6e
    • Georgi Kodinov's avatar
      fixed a wrong directory in distinct.test · ab5b7ceb
      Georgi Kodinov authored
      ab5b7ceb
    • Georgi Kodinov's avatar
      merged 5.0-main -> 5.0-bugteam · 3f8e1edc
      Georgi Kodinov authored
      3f8e1edc
    • Georgi Kodinov's avatar
      merged 5.0-5.1.29-rc into 5.0-bugteam · dca2c113
      Georgi Kodinov authored
      dca2c113
    • Patrick Crews's avatar
      automerge · 6db425ab
      Patrick Crews authored
      6db425ab
    • Patrick Crews's avatar
      Bug#38311 Some tests use 'rm' which is not portable · 006b940a
      Patrick Crews authored
      Repush of change to fix tests on Pushbuild.
      006b940a
  4. 30 Sep, 2008 7 commits