1. 16 Apr, 2010 1 commit
    • Kristofer Pettersson's avatar
      Bug#50373 --secure-file-priv="" · 794a4413
      Kristofer Pettersson authored
      The server variable opt_secure_file_priv wasn't
      normalized properly and caused the operations
      LOAD DATA INFILE .. INTO TABLE ..
      and
      SELECT load_file(..)
      to do different interpretations of the 
      --secure-file-priv option.
      
      The patch moves code to the server initialization
      routines so that the path always is normalized
      once and only once.
      
      It was also intended that setting the option
      to an empty string should be equal to 
      lifting all previously set restrictions. This
      is also fixed by this patch.
      
      
      sql/mysqld.cc:
        * If --secure_file_option is an empty string then the option variable
          should be unset.
        * opt_secure_file_option should be normalized once when the server starts.
      sql/sql_load.cc:
        * moved variable normalization code to fix_paths()
      794a4413
  2. 22 Feb, 2010 8 commits
  3. 20 Feb, 2010 2 commits
  4. 19 Feb, 2010 3 commits
    • Tatiana A. Nurnberg's avatar
      manual merge · 60a114d8
      Tatiana A. Nurnberg authored
      60a114d8
    • Tatiana A. Nurnberg's avatar
      Bug#49487: crash with explain extended and group_concat in a derived table · 1fc1f462
      Tatiana A. Nurnberg authored
      When EXPLAIN EXTENDED tries to print column names, it checks whether the
      referenced table is CONST (in which case, the column's value rather than
      its name will be printed). If no proper table is reference (i.e. because
      a derived table was used that has since gone out of scope), this will fail
      spectacularly.
      
      This ports an equivalent of the fix for Bug 43354.
      
      mysql-test/r/func_gconcat.result:
        Show that EXPLAIN EXTENDED on a GROUP_CONCAT() on a derived table
        no longer crashes the server.
      mysql-test/t/func_gconcat.test:
        Show that EXPLAIN EXTENDED on a GROUP_CONCAT() on a derived table
        no longer crashes the server.
      sql/item_sum.cc:
        Do not de-ref what cannot be, that is, temp-tables that have gone away.
        This is of questionable utility anyway, since our deref has the sole
        purpose of checking whether the table is const (in which case, we'll
        substitute the column with its value in EXPLAIN EXTENDED - that is all).
      1fc1f462
    • Bjorn Munch's avatar
  5. 18 Feb, 2010 2 commits
    • Tatiana A. Nurnberg's avatar
      Bug#48525: trigger changes "Column 'id' cannot be null" behaviour · e0fbc5d2
      Tatiana A. Nurnberg authored
      CHECK_FIELD_IGNORE was treated as CHECK_FIELD_ERROR_FOR_NULL;
      UPDATE...SET...NULL on NOT NULL fields behaved differently after
      a trigger.
      
      Now distinguishes between IGNORE and ERROR_FOR_NULL and save/restores
      check-field options.
      
      mysql-test/r/trigger.result:
        Show that UPDATE...SET...NULL on NOT NULL columns doesn't behave differently
        when run after a trigger.
      mysql-test/t/trigger.test:
        Show that UPDATE...SET...NULL on NOT NULL columns doesn't behave differently
        when run after a trigger.
      sql/field_conv.cc:
        CHECK_FIELD_IGNORE was treated as CHECK_FIELD_ERROR_FOR_NULL.
        Distinguish between the two.
      sql/sp_head.cc:
        raise error as needed
      sql/sql_class.cc:
        Save and restore check-fields options.
      sql/sql_class.h:
        Make room so we can save check-fields options.
      sql/sql_insert.cc:
        raise error as needed
      e0fbc5d2
    • Georgi Kodinov's avatar
      Bug #51049: main.bug39022 fails in mysql-trunk-merge · 20dfd709
      Georgi Kodinov authored
      Fixed the test to behave correctly with ps-protocol
      and binlog format row.
      20dfd709
  6. 17 Feb, 2010 9 commits
  7. 16 Feb, 2010 4 commits
    • Mattias Jonsson's avatar
      post push fix for bug#42438, did not compile on non debug, · 6cb7abe6
      Mattias Jonsson authored
      due to ifdef of include file
      
      sql/sql_table.cc:
        removed if defined since DEBUG_SYNC macro is defined in that
        include file.
      6cb7abe6
    • Sergey Glukhov's avatar
      automerge · b6d36087
      Sergey Glukhov authored
      b6d36087
    • Sergey Glukhov's avatar
      Bug#50591 bit(31) causes Duplicate entry '1-NULL' for key 'group_key' · 82e2d858
      Sergey Glukhov authored
      The problem is that during temporary table creation uneven bits
      are not taken into account for hidden fields. It leads to incorrect
      calculation&allocation of null bytes size for table record. And
      if grouped value is null we set wrong bit for this value(see end_update()).
      Fixed by adding separate calculation of uneven bit for hidden fields.
      
      
      mysql-test/r/type_bit.result:
        test case
      mysql-test/t/type_bit.test:
        test case
      sql/sql_select.cc:
        added separate calculation of uneven bit for hidden fields
      82e2d858
    • Mattias Jonsson's avatar
      merge · e32414df
      Mattias Jonsson authored
      e32414df
  8. 15 Feb, 2010 1 commit
  9. 14 Feb, 2010 1 commit
  10. 13 Feb, 2010 1 commit
    • Davi Arnaut's avatar
      Bug#50624: crash in check_table_access during call procedure · 07c30f91
      Davi Arnaut authored
      This bug is just one facet of stored routines not being able to
      detect changes in meta-data (WL#4179). This particular problem
      can be triggered within a single session due to the improper
      management of the pre-locking list if the view is expanded after
      the pre-locking list is calculated.
      
      Since the overall solution for the meta-data detection issue is
      planned for a later release, for now a workaround is used to
      fix this particular aspect that only involves a single session.
      The workaround is to flush the thread-local stored routine cache
      every time a view is created or modified, causing locally cached
      routines to be re-evaluated upon invocation.
      
      mysql-test/r/sp-bugs.result:
        Add test case result for Bug#50624.
      mysql-test/t/sp-bugs.test:
        Add test case for Bug#50624.
      sql/sp_cache.cc:
        Update function description.
      sql/sql_view.cc:
        Invalidate the SP cache if a view is being created or modified.
      07c30f91
  11. 12 Feb, 2010 2 commits
  12. 11 Feb, 2010 4 commits
  13. 10 Feb, 2010 2 commits
    • Luis Soares's avatar
      8e07b583
    • Sergey Glukhov's avatar
      Bug#45195 valgrind warnings about uninitialized values in store_record_in_cache() · f2aee237
      Sergey Glukhov authored
      The problem becomes apparent only if HAVE_purify is undefined.
      It related to the part of code placed in open_table_from_share() fuction
      where we initialize record buffer only if HAVE_purify is enabled.
      So in case of HAVE_purify=OFF record buffer is not initialized
      on open table stage.
      Next we read key, find NULL value and update appropriate null bit
      but do not update record buffer. After that the record is stored
      in the join cache(store_record_in_cache). For CHAR fields we
      strip trailing spaces and in our case this procedure uses
      uninitialized record buffer.
      The fix is to skip stripping space procedure in case of null values
      for CHAR fields(partially based on 6.0 JOIN_CACHE implementation).
      
      
      mysql-test/r/join.result:
        test case
      mysql-test/t/join.test:
        test case
      sql/field.cc:
        code updated according to new CACHE_FIELD struct
      sql/sql_select.cc:
        code updated according to new CACHE_FIELD struct
      sql/sql_select.h:
        CACHE_FIELD struct:
        added new fields: Field *field, uint type;
        removed fields: Field_blob *blob_field, bool strip;
      f2aee237