1. 05 Mar, 2009 3 commits
    • Kristofer Pettersson's avatar
      Automerge · 9db67e1c
      Kristofer Pettersson authored
      9db67e1c
    • Kristofer Pettersson's avatar
      Bug#39843 DELETE requires write access to table in subquery in where clause · ddaede80
      Kristofer Pettersson authored
      An unnecessarily restrictive lock were taken on sub-SELECTs during DELETE.
      
      During parsing, a global structure is reused for sub-SELECTs and the attribute
      keeping track of lock options were not reset properly.
      This patch introduces a new attribute to keep track on the syntactical lock
      option elements found in a sub-SELECT and then sets the lock options accordingly.
      
      Now the sub-SELECTs will try to acquire a READ lock if possible
      instead of a WRITE lock as inherited from the outer DELETE statement.
      
      
      mysql-test/r/lock.result:
        Added test case for bug39843
      mysql-test/t/lock.test:
        Added test case for bug39843
      sql/sql_lex.cc:
        * Reset member variable lock_option on each new query.
      sql/sql_lex.h:
        * Introduced new member variable 'lock_option' which is keeping track
          of the syntactical lock option of a (sub-)select query.
      sql/sql_parse.cc:
        * Wrote comments to functions.
      sql/sql_yacc.yy:
        * Introduced an attribute to keep track of syntactical lock options
          in sub-selects.
        * Made sure that the default value TL_READ_DEFAULT is at the begining
          of each subselect-rule.
      ddaede80
    • Kristofer Pettersson's avatar
      Bug#37416 When SQL_NO_CACHE is used, MySQL still lookup into the query cache · 5c42a6cf
      Kristofer Pettersson authored
                  
      The query cache module did not check for the SQL_NO_CACHE keyword before
      attempting to query the hash lookup table. This had a small performance impact.
      
      By introducing a check on the query string before obtaining the hash mutex
      we can gain some performance if the SQL_NO_CACHE directive is used often.
      
      
      sql/sql_cache.cc:
        * Introduced new helper function, has_no_cache_directive, for checking the
          existance of a SQL_NO_CACHE directive before actual parsing of the query.
      5c42a6cf
  2. 27 Feb, 2009 15 commits
  3. 26 Feb, 2009 11 commits
  4. 25 Feb, 2009 11 commits