1. 02 Oct, 2008 5 commits
    • Sergey Glukhov's avatar
      5.0->5.1 bugteam merge · de175698
      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
      de175698
    • Sergey Glukhov's avatar
      Bug#35924 DEFINER should be stored 'quoted' in I_S · fe51a7ce
      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()
      fe51a7ce
    • Sergey Glukhov's avatar
      automerge · 46dee896
      Sergey Glukhov authored
      46dee896
    • Sergey Glukhov's avatar
      automerge · 00a80f06
      Sergey Glukhov authored
      00a80f06
    • Sergey Glukhov's avatar
      Bug#22763 Disrepancy between SHOW CREATE VIEW and I_S.VIEWS · 7c67be63
      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.
      7c67be63
  2. 01 Oct, 2008 17 commits
    • Ingo Struewing's avatar
      merge · 7abc96fb
      Ingo Struewing authored
      7abc96fb
    • Georgi Kodinov's avatar
      8bea469c
    • Georgi Kodinov's avatar
      Bug#37943: Reproducible mysqld crash/sigsegv in sel_trees_can_be_ored · 73be5f95
      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.
      73be5f95
    • Ingo Struewing's avatar
      merge · 4737a081
      Ingo Struewing authored
      4737a081
    • Sven Sandberg's avatar
      BUG#38269: pushbuild gives valgrind error in ha_statistic_increment for rpl_temporary · da4cc11b
      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.
      da4cc11b
    • Georgi Kodinov's avatar
      5721d2d9
    • Georgi Kodinov's avatar
    • Ingo Struewing's avatar
      merge · 8e488336
      Ingo Struewing authored
      8e488336
    • Ingo Struewing's avatar
      Bug#37958 - test main.plugin crash on Mac OS X when selecting from EXAMPLE engine. · a85379af
      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.
      a85379af
    • Georgi Kodinov's avatar
      38d8ea5c
    • Georgi Kodinov's avatar
      merged 5.0-bugteam -> 5.1-bugteam · f0124682
      Georgi Kodinov authored
      f0124682
    • Georgi Kodinov's avatar
      merged 5.1-5.1.29-rc -> 5.1-bugteam · adf60749
      Georgi Kodinov authored
      adf60749
    • Georgi Kodinov's avatar
      fixed a wrong directory in distinct.test · fbb331c2
      Georgi Kodinov authored
      fbb331c2
    • Georgi Kodinov's avatar
      merged 5.0-main -> 5.0-bugteam · e2a3b58c
      Georgi Kodinov authored
      e2a3b58c
    • Georgi Kodinov's avatar
      merged 5.0-5.1.29-rc into 5.0-bugteam · 9fa56ec7
      Georgi Kodinov authored
      9fa56ec7
    • Patrick Crews's avatar
      automerge · 69d926ce
      Patrick Crews authored
      69d926ce
    • Patrick Crews's avatar
      Bug#38311 Some tests use 'rm' which is not portable · 6e554e16
      Patrick Crews authored
      Repush of change to fix tests on Pushbuild.
      6e554e16
  3. 30 Sep, 2008 9 commits
    • Davi Arnaut's avatar
      Merge from main branch. · 90acf5e2
      Davi Arnaut authored
      90acf5e2
    • Davi Arnaut's avatar
      Bug#38727: BUILD/compile-solaris-* scripts should compile MySQL with libmtmalloc · 63fada64
      Davi Arnaut authored
      Link with mtmalloc on Solaris as it is done in our release builds.
      Replace deprecated flag with the newer option as already done in
      other scripts.
      
      BUILD/compile-solaris-amd64-forte:
        Link to mtmalloc and replace deprecated flag.
      BUILD/compile-solaris-amd64-forte-debug:
        Replace deprecated flag.
      BUILD/compile-solaris-sparc:
        Link to mtmalloc.
      BUILD/compile-solaris-sparc-forte:
        Link to mtmalloc
      63fada64
    • Patrick Crews's avatar
      automerge · d662efe9
      Patrick Crews authored
      d662efe9
    • Patrick Crews's avatar
      Merge 5.0 -> 5.1 · 05cef245
      Patrick Crews authored
      05cef245
    • Patrick Crews's avatar
      Automerge · e217dd78
      Patrick Crews authored
      e217dd78
    • Davi Arnaut's avatar
      Bug#34306: Can't make copy of log tables when server binary log is enabled · 7ca8a7fb
      Davi Arnaut authored
      Post-merge bug fix: lock_type is a enumeration type and not a bit mask.
      
      sql/sql_cache.cc:
        Check for lock type explicitly. Also err on the safe side and
        invalidate the query cache for any write lock.
      7ca8a7fb
    • Gleb Shchepa's avatar
      manual merge 5.0-bugteam --> 5.1-bugteam · 98e81c01
      Gleb Shchepa authored
      98e81c01
    • Gleb Shchepa's avatar
      Fixed bug #17823: 'arc' directories inside database directories. · 18876585
      Gleb Shchepa authored
      Server created "arc" directories inside database directories and
      maintained there useless copies of .frm files.
      
      Creation and renaming procedures of those copies as well as
      creation of "arc" directories has been discontinued.
      Removal procedure has been kept untouched to be able to
      cleanup existent database directories by the DROP DATABASE
      query. Also view renaming procedure has been updated to remove
      these directories.
      
      
      sql/parse_file.cc:
        Fixed bug #17823: 'arc' directories inside database directories.
        View/table creation and renaming procedures maintained
        backup copies of .frm files. Those copies are unused yet,
        so this feature was incomplete and unnecessary.
        
        1. Unwanted code has been hidden by FRM_ARCHIVE ifdefs
        (the FRM_ARCHIVE macro is not defined).
        
        2. Renaming procedure has been modified to remove obsolete
        "arc" directories.
      sql/parse_file.h:
        Fixed bug #17823: 'arc' directories inside database directories.
        The "thd" parameter has been added to the rename_in_schema_file()
        function.
      sql/sql_db.cc:
        Fixed bug #17823: 'arc' directories inside database directories.
        Scope of the mysql_rm_arc_files() function has been changed to
        global for use from the parse_file.cc file.
      sql/sql_view.cc:
        Fixed bug #17823: 'arc' directories inside database directories.
        Added the "thd" argument to rename_in_schema_file() calls.
      18876585
    • Alexey Botchkov's avatar
      merging · 1f970c8b
      Alexey Botchkov authored
      1f970c8b
  4. 29 Sep, 2008 3 commits
    • Davi Arnaut's avatar
      Merge from parent branch. · 6fd039a3
      Davi Arnaut authored
      6fd039a3
    • Alexey Botchkov's avatar
      Bug#37949 Crash if argument to SP is a subquery that returns more than one row · 67e34ee4
      Alexey Botchkov authored
           JOIN for the subselect wasn't cleaned if we came upon an error
           during sub_select() execution. That leads to the assertion failure
           in close_thread_tables()
      
           part of the 6.0 code backported
      
      per-file comments:
        mysql-test/r/sp-error.result
      Bug#37949 Crash if argument to SP is a subquery that returns more than one row 
          test result
      
        mysql-test/t/sp-error.test
      Bug#37949 Crash if argument to SP is a subquery that returns more than one row 
          test case
      
        sql/sp_head.cc
      Bug#37949 Crash if argument to SP is a subquery that returns more than one row 
          lex->unit.cleanup() call added if not substatement
      67e34ee4
    • Davi Arnaut's avatar
      Bug#34306: Can't make copy of log tables when server binary log is enabled · 8d6cbf20
      Davi Arnaut authored
      The problem is that when statement-based replication was enabled,
      statements such as INSERT INTO .. SELECT FROM .. and CREATE TABLE
      .. SELECT FROM need to grab a read lock on the source table that
      does not permit concurrent inserts, which would in turn be denied
      if the source table is a log table because log tables can't be
      locked exclusively.
      
      The solution is to not take such a lock when the source table is
      a log table as it is unsafe to replicate log tables under statement
      based replication. Furthermore, the read lock that does not permits
      concurrent inserts is now only taken if statement-based replication
      is enabled and if the source table is not a log table.
      
      include/thr_lock.h:
        Introduce yet another lock type that my get upgraded depending
        on the binary log format. This is not a optimal solution but
        can be easily improved later.
      mysql-test/r/log_tables.result:
        Add test case result for Bug#34306
      mysql-test/suite/binlog/r/binlog_stm_row.result:
        Add test case result for Bug#34306
      mysql-test/suite/binlog/t/binlog_stm_row.test:
        Add test case for Bug#34306
      mysql-test/t/log_tables.test:
        Add test case for Bug#34306
      sql/lock.cc:
        Assert that TL_READ_DEFAULT is not a real lock type.
      sql/mysql_priv.h:
        Export new function.
      sql/mysqld.cc:
        Remove using_update_log.
      sql/sql_base.cc:
        Introduce function that returns the appropriate read lock type
        depending on how the statement is going to be replicated. It will
        only take a TL_READ_NO_INSERT log if the binary is enabled and the
        binary log format is statement-based and the table is not a log table.
      sql/sql_parse.cc:
        Remove using_update_log.
      sql/sql_update.cc:
        Use new function to choose read lock type.
      sql/sql_yacc.yy:
        The lock type is now decided at open_tables time. This old behavior was
        actually misleading as the binary log format can be dynamically switched
        and this would not change for statements that have already been parsed
        when the binary log format is changed (ie: prepared statements).
      8d6cbf20
  5. 26 Sep, 2008 1 commit
  6. 25 Sep, 2008 1 commit
  7. 23 Sep, 2008 2 commits
  8. 22 Sep, 2008 2 commits