1. 10 May, 2006 1 commit
    • dlenev@mysql.com's avatar
      Follow-up for the patch for bugs #12472/#15137 "CREATE TABLE ... SELECT ... · 02d692eb
      dlenev@mysql.com authored
      which explicitly or implicitly uses stored function gives 'Table not locked'
      error"
      
      Test case for these bugs crashed in --ps-protocol mode. The crash was caused
      by incorrect usage of check_grant() routine from create_table_precheck()
      routine. The former assumes that either number of tables to be inspected by
      it is limited explicitly (i.e. is is not UINT_MAX) or table list used and
      thd->lex->query_tables_own_last value correspond to each other.
      create_table_precheck() was not fulfilling this condition and crash happened.
      The fix simply sets number of tables to be inspected by check_grant() to 1.
      02d692eb
  2. 09 May, 2006 2 commits
    • dlenev@mysql.com's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime · b9d49ee8
      dlenev@mysql.com authored
      into  mysql.com:/home/dlenev/mysql-5.0-bg12472
      b9d49ee8
    • dlenev@mysql.com's avatar
      Fix for bugs#12472/#15137 'CREATE TABLE ... SELECT ... which explicitly · 589daad1
      dlenev@mysql.com authored
      or implicitly uses stored function gives "Table not locked" error'
      
      CREATE TABLE ... SELECT ... statement which was explicitly or implicitly
      (through view) using stored function gave "Table not locked" error.
      
      The actual bug resides in the current locking scheme of CREATE TABLE SELECT
      code, which first opens and locks tables of the SELECT statement itself,
      and then, having SELECT tables locked, creates the .FRM, opens the .FRM and
      acquires lock on it. This scheme opens a possibility for a deadlock, which
      was present and ignored since version 3.23 or earlier. This scheme also
      conflicts with the invariant of the prelocking algorithm -- no table can
      be open and locked while there are tables locked in prelocked mode.
      
      The patch makes an exception for this invariant when doing CREATE TABLE ...
      SELECT, thus extending the possibility of a deadlock to the prelocked mode.
      We can't supply a better fix in 5.0.
      589daad1
  3. 06 May, 2006 2 commits
    • dlenev@mysql.com's avatar
      Fix for bug #17260 "Multiple invocations of triggers or stored functions · d8bc635e
      dlenev@mysql.com authored
      hog memory".
      
      During each invocation of stored function or trigger some objects which
      lifetime is one function call (e.g. sp_rcontext) were allocated on
      arena/memroot of calling statement. This led to consumption of fixed amount
      of memory for each function/trigger invocation and so statements which
      involve lot of them were hogging memory. This in its return led to OOM
      crashes or freezes.
      
      This fix introduces new memroot and arena for objects which lifetime is
      whole duration of function call. So all memory consumed by such objects
      is freed at the end of function call.
      d8bc635e
    • kroki@mysql.com's avatar
      Fix race condition of concurrent RENAME and SHOW TABLES which caused · aeb75a2e
      kroki@mysql.com authored
      random test failures.
      aeb75a2e
  4. 04 May, 2006 2 commits
  5. 03 May, 2006 1 commit
  6. 02 May, 2006 6 commits
  7. 01 May, 2006 9 commits
  8. 29 Apr, 2006 3 commits
  9. 28 Apr, 2006 14 commits