1. 18 Jan, 2011 5 commits
    • John H. Embretsen's avatar
      Post push test fix for show_check.test. · 634b1025
      John H. Embretsen authored
      Fix for bug#45740 introduced test case using SHOW TABLE STATUS against a Memory table using latin1 character in table name.
      The test failed on Windows and FreeBSD due to a difference in the value for Avg_row_length.
      The average row length normally depends on the values for data length and row count. According to the 5.5 manual data length is approximate with Memory tables.
      With MyISAM and InnoDB the Avg_row_length is the same on Windows and Solaris.
      The solution implemented by this patch is to mask out the value for Avg_row_length, as it may vary when using Memory tables.
      634b1025
    • Alexander Barkov's avatar
      Merging from 5.1. · 8a576b83
      Alexander Barkov authored
      8a576b83
    • Alexander Barkov's avatar
      Bug#44332 my_xml_scan reads behind the end of buffer · cf0e22fe
      Alexander Barkov authored
      Problem: the scanner function tested for strings "<![CDATA[" and
      "-->" without checking input string boundaries, which led to valgrind's
      "Conditional jump or move depends on uninitialised value(s)" error.
      
      Fix: Adding boundary checking.
      
        @ mysql-test/r/xml.result
        @ mysql-test/t/xml.test
        Adding test
      
        @ strings/xml.c
        Adding a helper function my_xml_parser_prefix_cmp(),
        with input string boundary check.
      cf0e22fe
    • Vinay Fisrekar's avatar
      Merge from mysql-5.1 for · 3712d6c1
      Vinay Fisrekar authored
      sys_vars.innodb_max_dirty_pages_pct_func fails sporadically
            
      3712d6c1
    • Vinay Fisrekar's avatar
      · f25ab9fe
      Vinay Fisrekar authored
      BUG#58858 : sys_vars.innodb_max_dirty_pages_pct_func fails sporadically
      
      Committing After latest merge.      
      Modified check_pct procedure to check return value of wait condition instead 
      of calling "dirty_pct".
         
      Adding Review comments:
      1) Added comment for success variable value
      2) Procedure check_pct changed For Adding BOOLEAN input and SELECT QUERY Change
      f25ab9fe
  2. 17 Jan, 2011 3 commits
    • Luis Soares's avatar
      BUG#42879: CHANGE MASTER RELAY_LOG_FILE=path fails on windows · f6e9720f
      Luis Soares authored
      Re-enabling the test case on windows since BUG#12190 has fixed
      the issue.
      f6e9720f
    • Alexander Barkov's avatar
      Bug#58371 Assertion failed: !s.uses_buffer_owned_by(this) with format string function · 18e4f23a
      Alexander Barkov authored
      Introduced by the fix for bug#44766.
      
      Problem: it's not correct to use args[0]->str_value as a buffer,
      because args[0] may need this buffer for its own purposes.
      
      Fix: adding a new class member tmp_value to use as return value.
      
        @ mysql-test/r/ctype_many.result
        @ mysql-test/t/ctype_many.test
        Adding tests
      
        @ sql/item_strfunc.cc
        Changing code into traditional style:
        use "str" as a buffer for the argument and tmp_value for the result value.
      
        @ sql/item_strfunc.h
        Adding tmp_value
      18e4f23a
    • Alexander Barkov's avatar
      Bug#59149 valgrind warnings with "like .. escape .." function · 1c9515f6
      Alexander Barkov authored
            
      Problem: when processing a query like:
        SELECT '' LIKE '1' ESCAPE COUNT(1);
      escape_item->val_str() was never executed and the "escape" class member
      stayed initialized, which led to valgrind uninitialized memory error.
            
      Note, a query with some tables in "FROM" clause
      returns ER_WRONG_ARGUMENTS in the same situation:
      
         SELECT '' LIKE '1' ESCAPE COUNT(1) FROM t1;
         ERROR 1210 (HY000): Incorrect arguments to ESCAPE
      
      Fix: disallowing using aggregate functions in ESCAPE clause,
      even if there are no tables used. There is no much use of that anyway.
      1c9515f6
  3. 15 Jan, 2011 3 commits
    • Nirbhay Choubey's avatar
      Bug#58221 : mysqladmin --sleep=x --count=x keeps looping · 44d23cdb
      Nirbhay Choubey authored
      When mysqldadmin is run with sleep and count options,
      it goes into an infinite loop and keeps executing the
      specified command.
      
      This happened because the statement, responsible for
      decrementing the count value, was missing.
      
      Fixed by adding a statement which will decrement the
      count value for each iteration.
      44d23cdb
    • 's avatar
      Null merge from 5.0 · 38277835
      authored
      It is a backported patch.
      38277835
    • 's avatar
      BUG#49124 Security issue with /*!-versioned */ SQL statements on Slave · ade1c74b
      authored
      Backport to 5.0.
      
      /*![:version:] Query Code */, where [:version:] is a sequence of 5 
      digits representing the mysql server version(e.g /*!50200 ... */),
      is a special comment that the query in it can be executed on those 
      servers whose versions are larger than the version appearing in the 
      comment. It leads to a security issue when slave's version is larger 
      than master's. A malicious user can improve his privileges on slaves. 
      Because slave SQL thread is running with SUPER privileges, so it can
      execute queries that he/she does not have privileges on master.
            
      This bug is fixed with the logic below: 
      - To replace '!' with ' ' in the magic comments which are not applied on
        master. So they become common comments and will not be applied on slave.
            
      - Example:
        'INSERT INTO t1 VALUES (1) /*!10000, (2)*/ /*!99999 ,(3)*/
         will be binlogged as
        'INSERT INTO t1 VALUES (1) /*!10000, (2)*/ /* 99999 ,(3)*/
      ade1c74b
  4. 14 Jan, 2011 3 commits
    • Alexey Botchkov's avatar
      Bug#52208 gis fails on some platforms (Solaris, HP-UX, Linux) · 0b692500
      Alexey Botchkov authored
              IA64 and some other arcitectures use different float rounding mode and
              i find no decent way to make it consistent.
              So the test changed to be insensitive to this.
      
      per-file messages:
        mysql-test/t/gis.test
      Bug#52208      gis fails on some platforms (Solaris, HP-UX, Linux)
              --replace_result added
      0b692500
    • Nirbhay Choubey's avatar
      Bug#13618 : mysqldump --xml omits comment on table field · 95e07a6f
      Nirbhay Choubey authored
      When mysqldump tries to dump information in xml format,
      the result does not contain field level comments.
      
      In order to retrieve various informations for a field/column,
      mysqldump currently uses 'show fields from <tab>' statement.
      The attributes returned by the statement lacks the information
      regarding field comments.
      
      Fixed by changing the query to one that probes I_S to retrieve
      required field informations, including the field comment.
      95e07a6f
    • Sven Sandberg's avatar
      BUG#59063: rpl_migration_crash_safe fails on Windows · d3ea6f9b
      Sven Sandberg authored
      Backported the fix to 5.1.
      Problem: the auxiliary test files rpl_start_server.inc and rpl_stop_server.inc
      write a file that is later read by mtr. The bug was that the file was written
      with platform-dependent newline terminators, i.e., \r\n on windows, whereas mtr
      only understands \n.
      Fix: write the file so that it uses \n on all platforms.
      d3ea6f9b
  5. 13 Jan, 2011 5 commits
  6. 12 Jan, 2011 6 commits
    • Bjorn Munch's avatar
      merge from 5.1-mtr · f23725f2
      Bjorn Munch authored
      f23725f2
    • Luis Soares's avatar
      BUG#59177: mysqlbinlog_row_big fails on Windows with out of memory · 51c6f8eb
      Luis Soares authored
            
      The test case fails with out of memory while updating a table
      with several multi-megabytes sized rows. This can probably be too
      exhausting for PB2 env.
            
      The quick fix here is to reduce the size of the biggest
      row (256MB) so that it becomes a little smaller (64MB).
      51c6f8eb
    • Bjorn Munch's avatar
      merge from 5.1 · 06c43adc
      Bjorn Munch authored
      06c43adc
    • Dmitry Lenev's avatar
      Fix for bug #58499 "DEFINER-security view selecting from · 94fbedd3
      Dmitry Lenev authored
      INVOKER-security view access check wrong".
      
      When privilege checks were done for tables used from an 
      INVOKER-security view which in its turn was used from 
      a DEFINER-security view connection's active security
      context was incorrectly used instead of security context
      with privileges of the second view's creator.
      
      This meant that users which had enough rights to access
      the DEFINER-security view and as result were supposed to 
      be able successfully access it were unable to do so in 
      cases when they didn't have privileges on underlying tables 
      of the INVOKER-security view.
      
      This problem was caused by the fact that for INVOKER-security
      views TABLE_LIST::security_ctx member for underlying tables
      were set to 0 even in cases when particular view was used from 
      another DEFINER-security view. This meant that when checks of
      privileges on these underlying tables was done in
      setup_tables_and_check_access() active connection security 
      context was used instead of context corresponding to the 
      creator of caller view.
      
      This fix addresses the problem by ensuring that underlying
      tables of an INVOKER-security view inherit security context
      from the view and thus correct security context is used for
      privilege checks on underlying tables in cases when such view 
      is used from another view with DEFINER-security.
      94fbedd3
    • Alexey Botchkov's avatar
      Bug #57321 crashes and valgrind errors from spatial types · e073e2c0
      Alexey Botchkov authored
              Item_func_spatial_collection::fix_length_and_dec didn't call parent's method, so
              the maybe_null was set to '0' after it. But in this case the result was
              just NULL, that caused wrong behaviour.
      
      per-file comments:
        mysql-test/r/gis.result
      Bug #57321 crashes and valgrind errors from spatial types 
              test result updated.
      
        mysql-test/t/gis.test
      Bug #57321 crashes and valgrind errors from spatial types 
              test case added.
        sql/item_geofunc.h
      Bug #57321 crashes and valgrind errors from spatial types 
              Item_func_geometry::fix_length_and_dec() called in
              Item_func_spatial_collection::fix_length_and_dec().
      e073e2c0
    • Martin Hansson's avatar
      Bug#58207: invalid memory reads when using default column value and · fc42cbac
      Martin Hansson authored
      tmptable needed
      
      The function DEFAULT() works by modifying the the data buffer pointers (often
      referred to as 'record' or 'table record') of its argument. This modification
      is done during name resolution (fix_fields().) Unfortunately, the same
      modification is done when creating a temporary table, because default values
      need to propagate to the new table.
      
      Fixed by skipping the pointer modification for fields that are arguments to
      the DEFAULT function.
      fc42cbac
  7. 11 Jan, 2011 7 commits
  8. 10 Jan, 2011 3 commits
  9. 08 Jan, 2011 2 commits
  10. 07 Jan, 2011 3 commits
    • Davi Arnaut's avatar
      Bug#51023: Mysql server crashes on SIGHUP and destroys InnoDB files · 4c810790
      Davi Arnaut authored
      WIN32 compilation fixes: define ETIMEDOUT only if not available and
      fix typos and add a missing parameter.
      4c810790
    • Davi Arnaut's avatar
      Bug#51023: Mysql server crashes on SIGHUP and destroys InnoDB files · 78b6ca55
      Davi Arnaut authored
      From a user perspective, the problem is that a FLUSH LOGS or SIGHUP
      signal could end up associating the stdout and stderr to random
      files. In the case of this bug report, the streams would end up
      associated to InnoDB ibd files.
      
      The freopen(3) function is not thread-safe on FreeBSD. What this
      means is that if another thread calls open(2) during freopen()
      is executing that another thread's fd returned by open(2) may get
      re-associated with the file being passed to freopen(3). See FreeBSD
      PR number 79887 for reference:
      
        http://www.freebsd.org/cgi/query-pr.cgi?pr=79887
      
      This problem is worked around by substituting a internal hook within
      the FILE structure. This avoids the loss of atomicity by not having
      the original fd closed before its duplicated.
      
      Patch based on the original work by Vasil Dimov.
      78b6ca55
    • Vasil Dimov's avatar
      Followup to vasil.dimov@oracle.com-20110107091222-q23qpb5skev0j9gc · c4aee1b4
      Vasil Dimov authored
      Do not use nested AC_CHECK_FUNC() because they result in:
      
      ./configure: line 52688: syntax error: unexpected end of file
      
      (which happens only on some platforms and does not happen on others,
      I have no idea what is the reason for this)
      c4aee1b4