1. 30 Jul, 2010 13 commits
    • Luis Soares's avatar
      7d0ca7ab
    • Georgi Kodinov's avatar
      null merge · 9e0fbca7
      Georgi Kodinov authored
      9e0fbca7
    • Georgi Kodinov's avatar
    • Georgi Kodinov's avatar
      merge · cf48f992
      Georgi Kodinov authored
      cf48f992
    • Luis Soares's avatar
      Manual merge from mysql-5.1-bugteam into mysql-trunk-merge. · 3f55f3ed
      Luis Soares authored
      Revert BUG#34283.
      
      Conflicts
      =========
        Text conflict in sql/sql_load.cc
        1 conflicts encountered.
      3f55f3ed
    • Luis Soares's avatar
      Revert patch for BUG#34283. Causing lots of test failures in PB2, · 2a996946
      Luis Soares authored
      mostly because existing test result files were not updated.
      2a996946
    • Georgi Kodinov's avatar
      Bug #55188: GROUP BY, GROUP_CONCAT and TEXT - inconsistent results · 1670dd4d
      Georgi Kodinov authored
      In order to be able to check if the set of the grouping fields in a 
      GROUP BY has changed (and thus to start a new group) the optimizer
      caches the current values of these fields in a set of Cached_item 
      derived objects.
      The Cached_item_str, used for caching varchar and TEXT columns,
      is limited in length by the max_sort_length variable.
      A String buffer to store the value with an alloced length of either
      the max length of the string or the value of max_sort_length 
      (whichever is smaller) in Cached_item_str's constructor.
      Then, at compare time the value of the string to compare to was 
      truncated to the alloced length of the string buffer inside 
      Cached_item_str.
      This is all fine and valid, but only if you're not assigning 
      values near or equal to the alloced length of this buffer.
      Because when assigning values like this the alloced length is 
      rounded up and as a result the next set of data will not match the
      group buffer, thus leading to wrong results because of the changed
      alloced_length.
      Fixed by preserving the original maximum length in the 
      Cached_item_str's constructor and using this instead of the 
      alloced_length to limit the string to compare to.
      Test case added.
      1670dd4d
    • Davi Arnaut's avatar
      e2b53dbf
    • Davi Arnaut's avatar
      18fa4d21
    • Davi Arnaut's avatar
      Bug#54041: MySQL 5.0.92 fails when tests from Connector/C suite run · 0079e33b
      Davi Arnaut authored
      Fix a regression (due to a typo) which caused spurious incorrect
      argument errors for long data stream parameters if all forms of
      logging were disabled (binary, general and slow logs).
      
      sql/sql_prepare.cc:
        Add a missing logical NOT operator.
      0079e33b
    • Davi Arnaut's avatar
      Bug#54041: MySQL 5.0.92 fails when tests from Connector/C suite run · 07dcc366
      Davi Arnaut authored
      Fix a regression (due to a typo) which caused spurious incorrect
      argument errors for long data stream parameters if all forms of
      logging were disabled (binary, general and slow logs).
      
      mysql-test/t/mysql_client_test.test:
        Save the status of the slow_log.
      sql/sql_prepare.cc:
        Add a missing logical NOT operator.
      tests/mysql_client_test.c:
        Disable all query logs when running C tests. Fixes a omission
        when, slow log should have been disabled too.
        
        Run test case for Bug#54041 with query logs enabled and disabled.
      07dcc366
    • unknown's avatar
      Bug #34283 mysqlbinlog leaves tmpfile after termination if binlog contains load data infile · b467fd05
      unknown authored
            
      With statement- or mixed-mode logging, "LOAD DATA INFILE" queries
      are written to the binlog using special types of log events.
      When mysqlbinlog reads such events, it re-creates the file in a
      temporary directory with a generated filename and outputs a
      "LOAD DATA INFILE" query where the filename is replaced by the
      generated file. The temporary file is not deleted by mysqlbinlog
      after termination.
            
      To fix the problem, in mixed mode we go to row-based. In SBR, we
      document it to remind user the tmpfile is left in a temporary
      directory.
      
      
      mysql-test/suite/binlog/r/binlog_mixed_load_data.result:
        Test result for BUG#34283.
      mysql-test/suite/binlog/t/binlog_mixed_load_data.test:
        Added the test file to verify that 'load data infile...' statement
        will go to row-based in mixed mode.
      sql/sql_load.cc:
        Added code to go to row-based in mixed mode for
        'load data infile ...' statement
      b467fd05
    • unknown's avatar
      Bug #34283 mysqlbinlog leaves tmpfile after termination if binlog contains load data infile · 7778820a
      unknown authored
      With statement- or mixed-mode logging, "LOAD DATA INFILE" queries
      are written to the binlog using special types of log events.
      When mysqlbinlog reads such events, it re-creates the file in a
      temporary directory with a generated filename and outputs a
      "LOAD DATA INFILE" query where the filename is replaced by the
      generated file. The temporary file is not deleted by mysqlbinlog
      after termination.
      
      To fix the problem, in mixed mode we go to row-based. In SBR, we
      document it to remind user the tmpfile is left in a temporary
      directory.
      
      
      mysql-test/suite/binlog/r/binlog_mixed_load_data.result:
        Test result for BUG#34283.
      mysql-test/suite/binlog/t/binlog_mixed_load_data.test:
        Added the test file to verify that 'load data infile...' statement
        will go to row-based in mixed mode.
      sql/sql_load.cc:
        Added code to go to row-based in mixed mode for
        'load data infile ...' statement
      7778820a
  2. 29 Jul, 2010 8 commits
    • Davi Arnaut's avatar
      6102bdd6
    • Vasil Dimov's avatar
      Merge mysql-5.1-bugteam -> mysql-trunk-merge · ed491179
      Vasil Dimov authored
      This is a null merge of the InnoDB changesets which get to trunk
      by manual porting and committing into mysql-trunk-innodb and then
      merging into mysql-trunk-bugfixing.
      ed491179
    • Vasil Dimov's avatar
      Merge mysql-5.1-bugteam -> mysql-trunk-merge · 22ddd870
      Vasil Dimov authored
      22ddd870
    • Vasil Dimov's avatar
      Merge mysql-5.1-innodb -> mysql-5.1-bugteam · 681ca4f8
      Vasil Dimov authored
      681ca4f8
    • Vasil Dimov's avatar
      Merge mysql-5.1-bugteam -> mysql-5.1-innodb · 25341c06
      Vasil Dimov authored
      25341c06
    • Alexander Barkov's avatar
      Postfix for BUG#45012. · 7e00365f
      Alexander Barkov authored
      Problem: The original patch didn't compile on debug_werror
      due to wrong format in printf("%d") for size_t variables.
      
      Fix: Adding cast to (int).
      7e00365f
    • unknown's avatar
      Manual merge · b37ed51f
      unknown authored
      b37ed51f
    • unknown's avatar
      BUG#49124 Security issue with /*!-versioned */ SQL statements on Slave · d7ad4352
      unknown authored
      /*![: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)*/
      
      mysql-test/suite/rpl/t/rpl_conditional_comments.test:
        Test the patch for this bug.
      sql/mysql_priv.h:
        Rename inBuf as rawBuf and remove the const limitation.
      sql/sql_lex.cc:
        To replace '!' with ' ' in the magic comments which are not applied on
        master.
      sql/sql_lex.h:
        Remove the const limitation on parameter buff, as it can be modified in the function since
        this patch.
        Add member function yyUnput for Lex_input_stream. It set a character back the query buff.
      sql/sql_parse.cc:
        Rename inBuf as rawBuf and remove the const limitation.
      sql/sql_partition.cc:
        Remove the const limitation on parameter part_buff, as it can be modified in the function since
        this patch.
      sql/sql_partition.h:
        Remove the const limitation on parameter part_buff, as it can be modified in the function since
        this patch.
      sql/table.h:
        Remove the const limitation on variable partition_info, as it can be modified since
        this patch.
      d7ad4352
  3. 28 Jul, 2010 3 commits
  4. 26 Jul, 2010 4 commits
  5. 24 Jul, 2010 4 commits
  6. 23 Jul, 2010 5 commits
  7. 22 Jul, 2010 2 commits
  8. 21 Jul, 2010 1 commit