1. 27 Feb, 2009 6 commits
    • Staale Smedseng's avatar
      Commit after merge from 5.0-bugteam · c8eade99
      Staale Smedseng authored
      c8eade99
    • Staale Smedseng's avatar
      Recommit for merging and pushing · 76ff67d6
      Staale Smedseng authored
      76ff67d6
    • Georgi Kodinov's avatar
      Bug #41610: key_infix_len can be overwritten causing some group by queries to · baf88385
      Georgi Kodinov authored
      return no rows
      
      The algorithm of determining the best key for loose index scan is doing a loop
      over the available indexes and selects the one that has the best cost.
      It retrieves the parameters of the current index into a set of variables.
      If the cost of using the current index is lower than the best cost so far it 
      copies these variables into another set of variables that contain the 
      information for the best index so far.
      After having checked all the indexes it uses these variables (outside of the 
      index loop) to create the table read plan object instance.
      The was a single omission : the key_infix/key_infix_len variables were used 
      outside of the loop without being preserved in the loop for the best index 
      so far.
      This causes these variables to get overwritten by the next index(es) checked.
      Fixed by adding variables to hold the data for the current index, passing 
      the new variables to the function that assigns values to them and copying 
      the new variables into the existing ones when selecting a new current best 
      index.
      To avoid further such problems moved the declarations of the variables used 
      to keep information about the current index inside the loop's compound 
      statement.
      
      mysql-test/r/group_min_max.result:
        Bug #41610: test case
      mysql-test/t/group_min_max.test:
        Bug #41610: test case
      sql/opt_range.cc:
        Bug #41610: copy the infix data for the current best index
      baf88385
    • Patrick Crews's avatar
    • Patrick Crews's avatar
      merge. · f26b50dc
      Patrick Crews authored
      f26b50dc
    • Georgi Kodinov's avatar
  2. 26 Feb, 2009 5 commits
    • Georgi Kodinov's avatar
      Bug #41354: Access control is bypassed when all columns · 6f026345
      Georgi Kodinov authored
      of a view are selected by * wildcard
      
      Backported a part of the fix for 36086 to 5.0
      
      mysql-test/r/view_grant.result:
        Bug #41354: test case
      mysql-test/t/view_grant.test:
        Bug #41354: test case
      sql/sql_acl.cc:
        Bug #41354: return table error when no access and *
      sql/sql_base.cc:
        Bug #41354: backported the check in bug 36086 to 5.0
      6f026345
    • Patrick Crews's avatar
      Bug#41893 - main.variables mysql-test fails if new variable like '%alloc%' is added. · 1003f3ee
      Patrick Crews authored
      Fixed a typo in the bug fix patch.
      1003f3ee
    • Ramil Kalimullin's avatar
      Auto-merge · ec191ce2
      Ramil Kalimullin authored
      ec191ce2
    • Patrick Crews's avatar
      Bug#41893: main.variables mysql-test fails if new variable like '%alloc%' is added. · b88fefba
      Patrick Crews authored
      Started fix in 5.0 as the same issue is here.
      Revising queries used given what appears to be the scope of this test to only select the manipulated variables.
      Added tests for values that are / are not multiples of 1024 to test rounding / constraints.
      This behavior is not currently documented (docs bug has been opened)
      b88fefba
    • Ramil Kalimullin's avatar
      Fix for bug#19829:make test Failed in mysql_client_test · 877fedaa
      Ramil Kalimullin authored
      *with --with-charset=utf8*
      
      Problem: wrong LONG TEXT field length is sent to a client 
      when multibyte server character set used.
      
      Fix: always limit field length sent to a client to 2^32,
      as we store it in 4 byte slot.
      
      Note: mysql_client_test changed accordingly.
      
      
      sql/protocol.cc:
        Fix for bug#19829:make test Failed in mysql_client_test 
        *with --with-charset=utf8*
          - limit field length sent to client to UINT_MAX32 as 
            it may exceeds 32 bit slot for LONG TEXT fields if
            thd_charset->mbmaxlen > 1.
      tests/mysql_client_test.c:
        Fix for bug#19829:make test Failed in mysql_client_test
        *with --with-charset=utf8*
          - checking field members have in mind that field length
            is limited to UINT_MAX32.
      877fedaa
  3. 25 Feb, 2009 8 commits
  4. 24 Feb, 2009 10 commits
    • Andrei Elkin's avatar
      merging from 5.0-bt rep to a local branch · b75cf4b2
      Andrei Elkin authored
      b75cf4b2
    • Andrei Elkin's avatar
    • Georgi Kodinov's avatar
      Bug #31060: MySQL CLI parser bug 2 · a201577d
      Georgi Kodinov authored
            
      There was a problem when a DELIMITER COMMAND is not the first 
      command on the line. I this case an extra line feed was added
      to the glob buffer and this was causing subsequent attempts 
      to enter this delimiter to fail.
      Fixed by not adding a new line to the glob buffer if the 
      command being added is a DELIMITER
      
      client/mysql.cc:
        Bug #31060: Don't add a new line if DELIMTER is added to
        the glob buffer
      mysql-test/r/mysql.result:
        Bug #31060: test case
      mysql-test/t/mysql.test:
        Bug #31060: test case
      a201577d
    • Alexey Botchkov's avatar
      merging. · 0091ab20
      Alexey Botchkov authored
      0091ab20
    • Chad MILLER's avatar
      Merge bug 39370 fix from bug tree. · 8de8f6d5
      Chad MILLER authored
      8de8f6d5
    • Chad MILLER's avatar
      Bug#39370: wrong output for error code 153 · 83aa3e94
      Chad MILLER authored
      Add all HA error numbers and descriptions to perror.
      
      Add reminder to header.
      
      This is already fixed in smarter ways in future codebases, and this 
      codebase is unlikely to change, since new development is forbidden
      here.
      83aa3e94
    • Davi Arnaut's avatar
      Bug#41110: crash with handler command when used concurrently with alter table · 990bca3b
      Davi Arnaut authored
      Bug#41112: crash in mysql_ha_close_table/get_lock_data with alter table
      
      The problem is that the server wasn't handling robustly failures
      to re-open a table during a HANDLER .. READ statement. If the
      table needed to be re-opened due to it's storage engine being
      altered to one that doesn't support HANDLER, a reference (dangling
      pointer) to a closed table could be left in place and accessed in
      later attempts to fetch from the table using the handler. Also,
      if the server failed to set a error message if the re-open
      failed. These problems could lead to server crashes or hangs.
      
      The solution is to remove any references to a closed table and
      to set a error if reopening a table during a HANDLER .. READ
      statement fails.
      
      There is no test case in this change set as the test depends on
      a testing feature only available on 5.1 and later.
      
      sql/sql_handler.cc:
        Remove redundant reopen check.
        Set errors even if reopening table.
        Reset TABLE_LIST::table reference when the table is closed.
      990bca3b
    • Tatiana A. Nurnberg's avatar
      automerge · 9047f1a0
      Tatiana A. Nurnberg authored
      9047f1a0
    • Tatiana A. Nurnberg's avatar
      automerge · 3d6963db
      Tatiana A. Nurnberg authored
      3d6963db
    • Tatiana A. Nurnberg's avatar
      automerge · e8c17219
      Tatiana A. Nurnberg authored
      e8c17219
  5. 23 Feb, 2009 4 commits
    • Alexey Kopytov's avatar
      Automerge. · 301308b7
      Alexey Kopytov authored
      301308b7
    • Alexey Kopytov's avatar
      Fix for bug #15936: "round" differs on Windows to Unix · 1b5d173b
      Alexey Kopytov authored
      Both of our own implementations of rint(3) were inconsistent with the
      most common behavior of rint() on those platforms that have it: round
      to nearest, break ties by rounding to nearest even.
      
      Fixed by leaving just one implementation of rint() in our source tree,
      and changing its behavior to match the most common native
      implementations on other platforms.
      
      configure.in:
        Added checks for fenv.h and fesetround().
      include/config-win.h:
        Removed the incorrect implementation of rint() for Windows.
      include/my_global.h:
        Added an rint() implementation for platforms that do not have it.
      mysql-test/r/func_math.result:
        Added a test case for bug #15936.
      mysql-test/t/func_math.test:
        Added a test case for bug #15936.
      sql/mysqld.cc:
        Explicitly set the FPU rounding mode with fesetround().
      1b5d173b
    • Tatiana A. Nurnberg's avatar
      auto-merge · a97aca4a
      Tatiana A. Nurnberg authored
      a97aca4a
    • Tatiana A. Nurnberg's avatar
      auto-merge · cef3706e
      Tatiana A. Nurnberg authored
      cef3706e
  6. 20 Feb, 2009 4 commits
    • Patrick Crews's avatar
      automerge · 73c30397
      Patrick Crews authored
      73c30397
    • Andrei Elkin's avatar
      Bug #37313 BINLOG Contains Incorrect server id · e2e6e14c
      Andrei Elkin authored
        
      Signed integer format specifier forced to print the binlog header with server_id
      negative if the unsigned value sets the sign-bit ON.
        
      Fixed with correcting the specifier to correspond to typeof(server_id) == ulong.
      
      mysql-test/r/mysqlbinlog.result:
        results changed.
      mysql-test/t/mysqlbinlog.test:
        displaying the expected unsignedly formatted server_id value, bug#37313.
      sql/log_event.cc:
        Format specifier is corrected to correspond to typeof(server_id).
      e2e6e14c
    • Georgi Kodinov's avatar
      fixed a warning · 1ee9cfa0
      Georgi Kodinov authored
      1ee9cfa0
    • Georgi Kodinov's avatar
      Bug #42419: test suite fix · 81956f43
      Georgi Kodinov authored
      Moved the test case for the bug into a separate file (and restored the 
      original innodb_mysql test setup).
      Used the new wait_show_condition test macro to avoid the usage of sleep
      
      mysql-test/include/wait_show_condition.inc:
        Bug #42419: new test macro to wait for a row in SHOW to have a certain value.
      mysql-test/r/innodb_bug42419.result:
        Bug #42419: test case
      mysql-test/r/innodb_mysql.result:
        Bug #42419: revert to the original innodb_mysql test
      mysql-test/t/innodb_bug42419.test:
        Bug #42419: test case
      mysql-test/t/innodb_mysql-master.opt:
        Bug #42419: revert to the original innodb_mysql test
      mysql-test/t/innodb_mysql.test:
        Bug #42419: revert to the original innodb_mysql test
      81956f43
  7. 19 Feb, 2009 3 commits
    • Patrick Crews's avatar
      Bug#38831: 11 test cases fail on Windows due to missing commands · decee3cb
      Patrick Crews authored
      Re-enabling mysqlbinlog.test on Windows - removed the use of grep/sed
      decee3cb
    • Patrick Crews's avatar
      Bug#38831: 11 test cases fail on Windows due to missing commands · c2e92617
      Patrick Crews authored
      Replaced Unix calls with mysql-test-run's built-in functions / SQL manipulation where possible.
      Replaced error codes with error names as well.
      Disabled two tests on Windows due to more complex Unix command usage
      See Bug#41307, Bug#41308
      c2e92617
    • Tatiana A. Nurnberg's avatar
      Bug#33550: mysqldump 4.0 compatibility broken · 1c5c2a45
      Tatiana A. Nurnberg authored
      mysqldump included character_set_client magic
      that is unknown before 4.1 even when asked for
      an appropriate compatibility mode.
      
      In compatibility (3.23, 4.0) mode, we do not
      output charset statements (not even in a
      "comment conditional"), nor do we do magic on
      the server, even if the server is sufficient
      new (4.1+). Table-names will be output converted
      to the charset requested by mysqldump; if such
      a conversion is not possible (Ivrit -> Latin),
      mysqldump will fail.
      1c5c2a45