An error occurred fetching the project authors.
  1. 01 Jun, 2006 1 commit
  2. 30 May, 2006 1 commit
  3. 28 May, 2006 1 commit
  4. 26 May, 2006 1 commit
    • gkodinov@mysql.com's avatar
      BUG#18681: View privileges are broken · a21a2b5b
      gkodinov@mysql.com authored
      The check for view security was lacking several points :
      1. Check with the right set of permissions : for each table ref that
      participates in a view there were the right credentials to use in it's
      security_ctx member, but these weren't used for checking the credentials.
      This makes hard enforcing the SQL SECURITY DEFINER|INVOKER property
      consistently.
      2. Because of the above the security checking for views was just ruled out
      in explicit ways in several places.
      3. The security was checked only for the columns of the tables that are
      brought into the query from a view. So if there is no column reference
      outside of the view definition it was not detecting the lack of access to
      the tables in the view in SQL SECURITY INVOKER mode.
      
      The fix below tries to fix the above 3 points.
      a21a2b5b
  5. 24 May, 2006 1 commit
    • monty@mysql.com's avatar
      More DBUG statements · 9e9ca8b6
      monty@mysql.com authored
      Replaced COND_refresh with COND_global_read_lock becasue of a bug in NTPL threads when using different mutexes as arguments to pthread_cond_wait()
      The original code caused a hang in FLUSH TABLES WITH READ LOCK in some circumstances because pthread_cond_broadcast() was not delivered to other threads.
      This fixes:
      Bug#16986: Deadlock condition with MyISAM tables
      Bug#20048: FLUSH TABLES WITH READ LOCK causes a deadlock
      9e9ca8b6
  6. 15 May, 2006 1 commit
  7. 14 May, 2006 1 commit
  8. 12 May, 2006 1 commit
  9. 09 May, 2006 2 commits
    • aelkin@mysql.com's avatar
      BUG#14157: utf8 encoding in binlog without set character_set_client e.g DROP temporary · 226d978a
      aelkin@mysql.com authored
      Binlog lacks encoding info about DROPped temporary table.
      
      Idea of the fix is to switch temporary to system_charset_info when a temporary table
      is DROPped for binlog. Since that is the server, that automatically, but not the client, who generates the query
      the binlog should be updated on the server's encoding for the coming DROP.
      The `write_binlog_with_system_charset()' is introduced to replace similar problematic places in the code.
      226d978a
    • 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
  10. 23 Apr, 2006 4 commits
  11. 19 Apr, 2006 3 commits
  12. 02 Mar, 2006 1 commit
    • timour@mysql.com's avatar
      Fix for BUG#15229. · 103604ed
      timour@mysql.com authored
      The cause of this bug was a design flaw due to which the list of natural
      join columns was incorrectly computed and stored for nested joins that
      are not natural joins, but are operands (possibly indirect) of nested joins.
      
      The patch corrects the flaw in a such a way, that the result columns of a
      table reference are materialized only if it is a leaf table (that is, only
      if it is a view, stored table, or natural/using join).
      103604ed
  13. 25 Feb, 2006 1 commit
  14. 24 Feb, 2006 1 commit
  15. 23 Feb, 2006 1 commit
  16. 16 Feb, 2006 1 commit
    • dlenev@mysql.com's avatar
      Fix for bug #16593 "Deadlock or crash in stress test for case where · 4a41a00d
      dlenev@mysql.com authored
      trigger starts trigger".
      
      In short, the deadlock/crash happened when execution of statement, which used
      stored functions or activated triggers, coincided with alteration of the
      tables used by these functions or triggers (in highly concurrent environment).
      
      Bug was caused by the incorrect handling of tables from prelocked set in
      open_tables() functions in situations when refresh happened. This fix replaces
      old smart but not very robust way of handling tables after refresh (which was
      closing only old tables), with new one which simply closes all tables opened so
      far and restarts open_tables().
      Also fixed handling of temporary tables in close_tables_for_reopen().
      
      No test case present since bug manifests itself only in concurrent environment.
      4a41a00d
  17. 03 Feb, 2006 1 commit
  18. 25 Jan, 2006 1 commit
  19. 23 Jan, 2006 1 commit
    • evgen@moonbone.local's avatar
      Fixed bug #16510: Updating field named like '*name' caused server crash. · b1967ad7
      evgen@moonbone.local authored
      When setup_fields() function finds field named '*' it expands it to the list
      of all table fields. It does so by checking that the first char of
      field_name is '*', but it doesn't checks that the '* is the only char.
      Due to this, when updating table with a field named like '*name', such field
      is wrongly treated as '*' and expanded. This leads to making list of fields
      to update being longer than list of the new values. Later, the fill_record() 
      function crashes by dereferencing null when there is left fields to update,
      but no more values.
      
      Added check in the setup_fields() function which ensures that the field
      expanding will be done only when '*' is the only char in the field name.
      b1967ad7
  20. 10 Jan, 2006 1 commit
  21. 05 Jan, 2006 1 commit
    • monty@mysql.com's avatar
      Review fixes of new pushed code · 6e22e29d
      monty@mysql.com authored
      - Fixed tests
      - Optimized new code
      - Fixed some unlikely core dumps
      - Better bug fixes for:
        - #14397 - OPTIMIZE TABLE with an open HANDLER causes a crash
        - #14850 (ERROR 1062 when a quering a view using a Group By on a column that can be null
      6e22e29d
  22. 04 Jan, 2006 2 commits
    • konstantin@mysql.com's avatar
      Post-merge fixes. · 4a4b8eac
      konstantin@mysql.com authored
      4a4b8eac
    • konstantin@mysql.com's avatar
      A fix for Bug#7209 "Client error with "Access Denied" on updates · f7d6fa6f
      konstantin@mysql.com authored
      when high concurrency": remove HASH::current_record and make it
      an external search parameter, so that it can not be the cause of a 
      race condition under high concurrent load.
      The bug was in a race condition in table_hash_search,
      when column_priv_hash.current_record was overwritten simultaneously
      by multiple threads, causing the search for a suitable grant record
      to fail.
      No test case as the bug is repeatable only under concurrent load.
      f7d6fa6f
  23. 20 Dec, 2005 1 commit
    • ingo@mysql.com's avatar
      BUG#5390 - problems with merge tables · b0e84cb9
      ingo@mysql.com authored
      Problem #1: INSERT...SELECT, Version for 5.0.
      Extended the unique table check by a check of lock data.
      Merge sub-tables cannot be detected by doing name checks only.
      b0e84cb9
  24. 07 Dec, 2005 1 commit
    • dlenev@mysql.com's avatar
      Fix for bug #11555 "Stored procedures: current SP tables locking make · 06b895c0
      dlenev@mysql.com authored
      impossible view security".
      
      We should not expose names of tables which are explicitly or implicitly (via
      routine or trigger) used by view even if we find that they are missing.
      So during building of list of prelocked tables for statement we track which
      routines (and therefore tables for these routines) are used from views. We
      mark elements of LEX::routines set which correspond to routines used in views
      by setting Sroutine_hash_entry::belong_to_view member to point to TABLE_LIST
      object for topmost view which uses routine. We propagate this mark to all
      routines which are used by this routine and which we add to this set. We also
      mark tables used by such routine which we add to the list of tables for
      prelocking as belonging to this view.
      06b895c0
  25. 30 Nov, 2005 1 commit
  26. 28 Nov, 2005 1 commit
  27. 25 Nov, 2005 1 commit
  28. 24 Nov, 2005 1 commit
  29. 22 Nov, 2005 1 commit
  30. 21 Nov, 2005 1 commit
  31. 15 Nov, 2005 1 commit
    • ingo@mysql.com's avatar
      Bug#14397 - OPTIMIZE TABLE with an open HANDLER causes a crash · 74781d65
      ingo@mysql.com authored
      Version for 5.0.
      It fixes three problems:
      1. The cause of the bug was that we did not check the table version for
       the HANDLER ... READ commands. We did not notice when a table was
       replaced by a new one. This can happen during ALTER TABLE, REPAIR
       TABLE, and OPTIMIZE TABLE (there might be more cases). I call the fix
       for this problem "the primary bug fix".
      2. mysql_ha_flush() was not always called with a locked LOCK_open.
       Though the function comment clearly said it must.
       I changed the code so that the locking is done when required. I call
       the fix for this problem "the secondary fix".
      3. In 5.0 (not in 4.1 or 4.0) DROP TABLE had a possible deadlock flaw in
       concur with FLUSH TABLES WITH READ LOCK. I call the fix for this
       problem "the 5.0 addendum fix".
      74781d65
  32. 03 Nov, 2005 2 commits
    • ingo@mysql.com's avatar
      Bug#14397 - OPTIMIZE TABLE with an open HANDLER causes a crash · 1b99d30c
      ingo@mysql.com authored
      Version for 4.0.
      It fixes two problems:
      1. The cause of the bug was that we did not check the table version for
         the HANDLER ... READ commands. We did not notice when a table was
         replaced by a new one. This can happen during ALTER TABLE, REPAIR
         TABLE, and OPTIMIZE TABLE (there might be more cases). I call the fix
         for this problem "the primary bug fix".
      2. mysql_ha_flush() was not always called with a locked LOCK_open.
         Though the function comment clearly said it must.
         I changed the code so that the locking is done when required. I call
         the fix for this problem "the secondary fix".
      1b99d30c
    • jani@ua141d10.elisa.omakaista.fi's avatar
      Changes in get_table_type() and mysql_frm_type(). The main problem was · 0ee589b4
      jani@ua141d10.elisa.omakaista.fi authored
      that in mysql_rm_table_part2_with_lock() previously we needed to open
      same file twice. Now once is enough.
      0ee589b4