1. 03 Jun, 2008 2 commits
    • Davi Arnaut's avatar
      Bug#33362: Query cache invalidation (truncate) may hang · 92d5c4d7
      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.
      92d5c4d7
    • Matthias Leich mleich@mysql.com's avatar
      Upmerge of fix for · 6fec7fc1
      Matthias Leich mleich@mysql.com authored
      Bug 36788 Multiple funcs_1 'trig' tests are failing on vanilla builds
      6fec7fc1
  2. 02 Jun, 2008 1 commit
    • Matthias Leich mleich@mysql.com's avatar
      Bug#36788 Multiple funcs_1 'trig' tests are failing on vanilla builds · be574a3a
      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
      be574a3a
  3. 30 May, 2008 2 commits
  4. 29 May, 2008 2 commits
  5. 28 May, 2008 4 commits
  6. 27 May, 2008 4 commits
  7. 26 May, 2008 1 commit
  8. 23 May, 2008 5 commits
  9. 22 May, 2008 2 commits
  10. 21 May, 2008 5 commits
  11. 20 May, 2008 8 commits
  12. 19 May, 2008 3 commits
  13. 18 May, 2008 1 commit