1. 04 Jun, 2008 1 commit
  2. 03 Jun, 2008 3 commits
    • Davi Arnaut's avatar
      Bug#33362: Query cache invalidation (truncate) may hang · 2100ec9e
      Davi Arnaut authored
                 if cached query uses many tables
      
      The problem was that query cache would not properly cache
      queries which used 256 or more tables but yet would leave
      behind query cache blocks pointing to freed (destroyed)
      data. Later when invalidating (due to a truncate) query cache
      would attempt to grab a lock which resided in the freed data,
      leading to hangs or undefined behavior.
      
      This was happening due to a improper return value from the
      function responsible for registering the tables used in the
      query (so the cache can be invalidated later if one of the
      tables is modified). The function expected a return value of
      type boolean (char, 8 bits) indicating success (1) or failure
      (0) but the number of tables registered (unsigned int, 32 bits)
      was being returned instead. This caused the function to return
      failure for cases where it had actually succeed because when
      a type (unsigned int) is converted to a narrower type (char),
      the excess bits on the left are discarded. Thus if the 8
      rightmost bits are zero, the return value will be 0 (failure).
      
      The solution is to simply return true (1) only if the number of
      registered table is greater than zero and false (0) otherwise.
      
      mysql-test/r/query_cache_merge.result:
        Add test case result for Bug#33362
      mysql-test/t/query_cache_merge.test:
        Add test case for Bug#33362
      sql/sql_cache.cc:
        Return 1 or 0 depending on the number of registered tables.
      2100ec9e
    • Mattias Jonsson's avatar
      Bug#31210: INSERT DELAYED crashes server when used on partitioned tables · a8af693b
      Mattias Jonsson authored
        
      Problem was an unclear error message since it could suggest that
      MyISAM did not support INSERT DELAYED.
      Changed the error message to say that DELAYED is not supported by the
      table, instead of the table's storage engine.
      The confusion is that a partitioned table is in somewhat sense using
      the partitioning storage engine, which in turn uses the ordinary
      storage engine. By saying that the table does not support DELAYED we
      do not give any extra informantion about the storage engine or if it
      is partitioned.
      
      mysql-test/r/innodb-replace.result:
        Bug#31210: INSERT DELAYED crashes server when used on partitioned tables
        
        changed error message
      mysql-test/t/innodb-replace.test:
        Bug#31210: INSERT DELAYED crashes server when used on partitioned tables
        
        changed error message
      mysql-test/t/merge.test:
        Bug#31210: INSERT DELAYED crashes server when used on partitioned tables
        
        changed error message
      mysql-test/t/partition_hash.test:
        Bug#31210: INSERT DELAYED crashes server when used on partitioned tables
        
        changed error message
      sql/share/errmsg.txt:
        Bug#31210: INSERT DELAYED crashes server when used on partitioned tables
        
        added error message for tables not supporting DELAYED
      sql/sql_insert.cc:
        Bug#31210: INSERT DELAYED crashes server when used on partitioned tables
        
        changed error message
      a8af693b
    • Matthias Leich mleich@mysql.com's avatar
      Upmerge of fix for · 8d7fcad1
      Matthias Leich mleich@mysql.com authored
      Bug 36788 Multiple funcs_1 'trig' tests are failing on vanilla builds
      8d7fcad1
  3. 02 Jun, 2008 1 commit
    • Matthias Leich mleich@mysql.com's avatar
      Bug#36788 Multiple funcs_1 'trig' tests are failing on vanilla builds · 15440264
      Matthias Leich mleich@mysql.com authored
      Fix for this bug and additional improvements/fixes
      In detail:
      - Remove unicode attribute from several columns
        (unicode properties were nowhere needed/tested)
        of the table tb3
        -> The runnability of these tests depends no more on
           the availibility of some optional collations.
      - Use a table tb3 with the same layout for all
        engines to be tested and unify the engine name
        within the protocols.
        -> <engine>_trig_<abc>.result have the same content
      - Do not load data into tb3 if these rows have no
        impact on result sets
      - Add tests for NDB (they exist already in 5.1)
      - "--replace_result" at various places because
        NDB variants of tests failed with "random" row
        order in results
        This fixes a till now unknown weakness within the
        funcs_1 NDB tests existing in 5.1 and 6.0
      - Fix the expected result of ndb_trig_1011ext
        which suffered from Bug 32656
        + disable this test
      - funcs_1 could be executed with the mysql-test-run.pl
        option "--reorder", which saves some runtime by
        optimizing server restarts.
        Runtimes on tmpfs (one attempt only):
        with    reorder 132 seconds
        without reorder 183 seconds
      - Adjust two "check" statements within func_misc.test
        which were incorrect (We had one run with result set
        difference though the server worked good.)
      - minor fixes in comments
      15440264
  4. 30 May, 2008 2 commits
  5. 29 May, 2008 2 commits
  6. 28 May, 2008 4 commits
  7. 27 May, 2008 4 commits
    • Patrick Crews's avatar
      Bug#36721 - Test funcs1.<engine>_func_view failing for multiple engines · 914bb34b
      Patrick Crews authored
      Bug#36724 - Test funcs_1.<engine>_storedproc_02 needs to be updated
      Bug#36726 - Test funcs_1.<engine>_storedproc failing - Needs to be updated on 5.1+
      
      func_view bug:  re-records .result files to account for addition of charset and collation data 
                      to SHOW CREATE VIEW output
      storedproc bugs:  Added expected errors for those storedprocs that use SQLSTATE:00000
                        in their handlers.  re-recorded .result files to account for these
                        expected errors.
      
      mysql-test/suite/funcs_1/r/innodb_func_view.result:
        Update result set for changes to SHOW CREATE VIEW output
      mysql-test/suite/funcs_1/r/memory_func_view.result:
        Updated result set due to changes in SHOW CREATE VIEW output
      mysql-test/suite/funcs_1/r/myisam_func_view.result:
        Updated result set due to changes in SHOW CREATE VIEW output
      914bb34b
    • Davi Arnaut's avatar
      Merge. · 52066c51
      Davi Arnaut authored
      52066c51
    • Davi Arnaut's avatar
      Add variation of compile-pentium-valgrind-max which does not build ndb. · f972dce2
      Davi Arnaut authored
      BUILD/compile-pentium-valgrind-max-no-ndb:
        Disable ndb.
      f972dce2
    • Georgi Kodinov's avatar
      Bug #36887: Typo in mysql_client_test.c uses bind instead of my_bind · ed786398
      Georgi Kodinov authored
      There was a typo in a error check causing wrong thing to be ckecked 
      and a possible error not being caught.
      Fixed by using the correct variable to test for malloc() errors. 
      
      tests/mysql_client_test.c:
        Bug #36887: fixed a typo
      ed786398
  8. 26 May, 2008 1 commit
    • Sven Sandberg's avatar
      BUG#36826: rpl_slave_status fails sporadically in pushbuild · 605ba686
      Sven Sandberg authored
      rpl_slave_status failed on pushbuild. The slave stopped with an
      error. Adding sync_slave_with_master fixes the problem. Updated
      test case. 
      
      mysql-test/suite/rpl/r/rpl_slave_status.result:
        Updated result file.
      mysql-test/suite/rpl/t/rpl_slave_status.test:
        - Added comment explaining what the test does.
        - Added sync_slave_with_master in two places where it was missing. This
          caused sporadic pushbuild errors.
        - Added wait_for_slave_to_{start,stop} after {START,STOP} SLAVE queries.
        - Removed 'drop table if exists' from setup code.
        - Replaced save_master_pos;connection slave;sync_with_master by
          sync_slave_with_master.
        - Replaced 'delete from mysql.user' by 'drop user'.
        - Wrapped 'show slave status' inside query_get_value(), so that only what
          we test is in the output.
      605ba686
  9. 23 May, 2008 5 commits
  10. 22 May, 2008 2 commits
  11. 21 May, 2008 5 commits
    • Chad MILLER's avatar
      Add branch metainfo for mailer plugin. · 636e751f
      Chad MILLER authored
      636e751f
    • Kristofer Pettersson's avatar
      Reverted merging misstake. · f6b7e7e4
      Kristofer Pettersson authored
      mysql-test/r/status.result:
        reverted merging misstake
      mysql-test/t/status.test:
        reverted merging misstake
      f6b7e7e4
    • Kristofer Pettersson's avatar
      Bug#34417 Assertion failure in Diagnostics_area::set_error_status() · 5b7566a1
      Kristofer Pettersson authored
        
      The Diagnostic_area caused an assertion failure in debug mode when
      the disk was full.
        
      By setting the internal error handler to ignore errors caused by
      underlying logging methods, the error is avoided.
      
      
      sql/log.cc:
        MYSQL_QUERY_LOG::write uses IOCACHE for writing data. If writing fails 
        an error is pushed by the procedure my_error which in turn invokes
        the default error handler my_message_sql. When the error is set the
        Diagnostic_area status changes and later trigger an assertion on the
        next consecutive status change which happens by for example the 
        function my_ok(). By intercepting the error handler from the logger
        interface this error can be silenced.
      5b7566a1
    • unknown's avatar
      Raise version number after cloning 5.1.25-rc · 59a880f9
      unknown authored
      59a880f9
    • Kristofer Pettersson's avatar
      Bug#32966 main.status fails · 8d07122a
      Kristofer Pettersson authored
      The failing test case is depending on unnecessary status variable output
      which changes based on build configuration. By reducing the output the test
      becomes more stable.
      
      mysql-test/r/status.result:
        Modified test case
      mysql-test/t/disabled.def:
        Enabled status.test
      mysql-test/t/status.test:
        Modified test case.
      8d07122a
  12. 20 May, 2008 8 commits
    • unknown's avatar
      Update test coverage for Bug#27430 "Crash in subquery code when in PS · 3433706a
      unknown authored
      and table DDL changed after PREPARE" to pass in embedded mode.
      
      
      mysql-test/r/ps.result:
        Update results (Bug#27430)
      mysql-test/r/ps_ddl.result:
        Update results (Bug#27430)
      mysql-test/t/ps.test:
        Add a test case for Bug#27430. ps.test is not run in --embedded-server,
        thus it now contains the part of the test for Bug#27430 that
        doesn't work in embedded server.
      mysql-test/t/ps_ddl.test:
        Move a part of the test for Bug#27430 that doesn't work
        in embedded server to ps.test, that includes not_embedded.inc.
      3433706a
    • unknown's avatar
      A number of fixes after a merge from the main 5.1 tree: · 7ce32c91
      unknown authored
      the local tree contains a fix for 
      Bug#32748 "Inconsistent handling of assignments to 
      general_log_file/slow_query_log_file",
      which changes output of a number of tests.
      
      
      mysql-test/r/general_log_file_basic.result:
        Update results (Bug#32748)
      mysql-test/r/log_output_basic.result:
        Update the test with results of the fix for Bug#32748
      mysql-test/r/slow_query_log_file_basic.result:
        Update the test with results of the fix for Bug#32748
      mysql-test/t/general_log_file_basic.test:
        Adjust to take into account the fix for Bug#32748 
        (a port from 6.0-bugteam)
      mysql-test/t/log_output_basic.test:
        Adjust to take into account the fix for Bug#32748 
        (a port from 6.0-bugteam)
      mysql-test/t/slow_query_log_file_basic.test:
        Adjust to take into account the fix for Bug#32748 
        (a port from 6.0-bugteam)
      tests/mysql_client_test.c:
        Fix a compilation warning.
      7ce32c91
    • unknown's avatar
      Bug#27430 "Crash in subquery code when in PS and table DDL changed · 3587539f
      unknown authored
      after PREPARE"
      Update test results after a merge with the main tree: the new minimum for 
      the table definition cache is 256.
      
      
      mysql-test/r/table_definition_cache_basic.result:
        Update test results: the new minimum for table definition cache is 256
      3587539f
    • unknown's avatar
      Bug#27430 "Crash in subquery code when in PS and table DDL changed after · 02c901ee
      unknown authored
       PREPARE", review fixes:
      - make the patch follow the specification of WL#4166 and remove  
      the new error that was originally introduced.
      Now the client never gets an error from reprepare, unless it failed.
      I.e. even if the statement at hand returns a completely different
      result set, this is not considered a server error.
      The C API library, that can not handle this situation, was modified to
      return a client error.
      Added additional test coverage.
      
      
      include/errmsg.h:
        Add a new client side error: now when we automatically
        reprepare a statement, the new result set may contain a different
        number of columns.
      include/mysql_com.h:
        Add a new server status to be sent to the client if the 
        number of columns in the result set is different.
      libmysql/errmsg.c:
        Add a new error message.
      libmysql/libmysql.c:
        Make the client library robust against a result set that
        contains a different number of columns from prepare time.
        Previously that could never happen, and we simply had an assert.
        That means in particular that all clients are advised to upgrade
        with transition to 5.1, if they are using prepared statements C API.
        Make mysql_stmt_store_result() and mysql_stmt_execute() robust against 
        "broken" statement handles (those that have an error).
      sql/sql_parse.cc:
        Clear transient server status flags at start of statement more 
        systematically.
      sql/share/errmsg.txt:
        Remove an error that is unused and is not part of any public release.
      sql/sql_prepare.cc:
        Instead of returning an error in case the number of result set columns
        has changed, simply update the client in server status.
        That will allow modern clients automatically recover from an error.
      tests/mysql_client_test.c:
        Add additional coverage to the cases when the number of result
        set columns changed as a result of reprepare.
        Cover conversion and truncation of result set columns.
      02c901ee
    • Chad MILLER's avatar
      Bug#36818: rpl_server_id1 fails expecting slave has stopped · 78cda882
      Chad MILLER authored
      The test is vulnerable because it does not check if slave has stopped at time
      of the new session is requested `start slave;'
      
      Fixed with deploying explicitly wait_for_slave_to_stop synchronization macro.
      78cda882
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.1 · 4175806e
      unknown authored
      into  bodhi.(none):/opt/local/work/mysql-5.1-27430
      
      
      Makefile.am:
        Auto merged
      include/my_global.h:
        Auto merged
      mysql-test/include/mix1.inc:
        Auto merged
      sql/item.cc:
        Auto merged
      sql/my_decimal.h:
        Auto merged
      sql/mysqld.cc:
        Auto merged
      sql/set_var.cc:
        Auto merged
      sql/set_var.h:
        Auto merged
      sql/sp.cc:
        Auto merged
      sql/sp_head.cc:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_class.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/sql_table.cc:
        Auto merged
      sql/sql_update.cc:
        Auto merged
      sql/share/errmsg.txt:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      libmysqld/CMakeLists.txt:
        Manual merge.
      libmysqld/lib_sql.cc:
        Manual merge.
      mysql-test/t/disabled.def:
        Manual merge.
      4175806e
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.1-27430 · 4b13b5cb
      unknown authored
      into  bodhi.(none):/opt/local/work/mysql-5.1-27430
      
      
      sql/sql_base.cc:
        Manual merge.
      4b13b5cb
    • unknown's avatar
      Bug#27430 "Crash in subquery code when in PS and table DDL changed after · 37b2c32d
      unknown authored
      PREPARE": rename members, methods, classes to follow the spec 
      (a code review request)
      
      
      sql/mysql_priv.h:
        enum_metadata_type -> enum_table_ref_type
      sql/sp_head.cc:
        Metadata_version_observer -> Reprepare_observer
      sql/sql_base.cc:
        metadata -> table_ref
      sql/sql_class.cc:
        Replace an abstract interface with a concrete implementation.
      sql/sql_class.h:
        enum_metadata_type -> enum_table_ref_type
      sql/sql_prepare.cc:
        Move implementation of Execute_observer to sql_class.cc and
        rename the class to Reprepare_observer.
        Use getters instead of direct access to the members.
      sql/table.h:
        metadata -> table_ref
      37b2c32d
  13. 19 May, 2008 2 commits