1. 30 Jan, 2008 2 commits
    • unknown's avatar
      Fix a build failure (embedded server). · b9451318
      unknown authored
      b9451318
    • unknown's avatar
      A fix and a test case for Bug#34166 Server crash in SHOW OPEN TABLES and · a80ec7ad
      unknown authored
      pre-locking.
      
      The crash was caused by an implicit assumption in check_table_access() that
      table_list parameter is always a part of lex->query_tables.
      
      When iterating over the passed list of tables, check_table_access() used
      to stop only when lex->query_tables_last_not_own was reached. 
      In case of pre-locking, lex->query_tables_last_own is not NULL and points
      to some element of lex->query_tables. When the parameter
      of check_table_access() was not part of lex->query_tables, loop invariant
      could never be violated and a crash would happen when the current table
      pointer would point beyond the end of the provided list.
      
      The fix is to change the signature of check_table_access() to also accept
      a numeric limit of loop iterations, similarly to check_grant(), and 
      supply this limit in all places when we want to check access of tables
      that are outside lex->query_tables, or just want to check access to one table.
      
      
      mysql-test/r/information_schema.result:
        Update test results (Bug#34166).
      mysql-test/t/information_schema.test:
        Add a test case for Bug#34166.
      sql/mysql_priv.h:
        Change signature of check_table_access() to accept a numeric limit
        of tables to check.
      sql/sp_head.cc:
        Update to the new signature of check_table_access().
      sql/sql_acl.cc:
        Improve code clarity: if there is a numeric limit, we should not need
        to look at first_not_own_table.
      sql/sql_base.cc:
        Update to the new signature of check_table_access().
      sql/sql_cache.cc:
        Update to the new signature of check_table_access().
      sql/sql_parse.cc:
        Update to the new signature of check_table_access().
        Change check_table_access() to accept an optional numeric limit of tables
        to check. A crash would happen when check_table_access() was
        passed a list of tables that is not part of lex->query_tables and
        lex->query_tables_last_own was not NULL.
      sql/sql_plugin.cc:
        Update to the new signature of check_table_access().
      sql/sql_prepare.cc:
        Update to the new signature of check_table_access().
      sql/sql_show.cc:
        Update to the new signature of check_table_access().
        Ensure that check_table_access() only checks access to the first
        table in the table list when called from list_open_tables().
        list_open_tables() supplies a table list that is created on stack,
        whereas check_table_access() used to assume that the supplied list is a part
        of thd->lex.
      sql/sql_trigger.cc:
        Update to the new signature of check_table_access().
      sql/sql_view.cc:
        Update to the new signature of check_table_access().
      a80ec7ad
  2. 29 Jan, 2008 3 commits
  3. 28 Jan, 2008 2 commits
    • unknown's avatar
      Remove spurious commented out test line. · c885ba4b
      unknown authored
      
      mysql-test/t/lock_multi.test:
        Remove spurious test line.
      c885ba4b
    • unknown's avatar
      Bug#30331 Table_locks_waited shows inaccurate values · 0e315b39
      unknown authored
      The problem is that the Table_locks_waited was incremented only
      when the lock request succeed. If a thread waiting for the lock
      gets killed or the lock request is aborted, the variable would
      not be incremented, leading to inaccurate values in the variable.
      
      The solution is to increment the Table_locks_waited whenever the
      lock request is queued. This reflects better the intended behavior
      of the variable -- show how many times a lock was waited.
      
      
      mysql-test/r/lock_multi.result:
        Add test case result for Bug#30331
      mysql-test/t/lock_multi.test:
        Add test case for Bug#30331
      mysys/thr_lock.c:
        Increment locks_waited whenever the thread is supposed
        to wait for the lock.
      0e315b39
  4. 24 Jan, 2008 4 commits
  5. 23 Jan, 2008 5 commits
    • unknown's avatar
      Manual merge · bf296bb1
      unknown authored
      bf296bb1
    • unknown's avatar
      Merge lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.0-33618 · c26bcbaf
      unknown authored
      into  lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.1-33618
      
      
      mysql-test/r/sp-code.result:
        Auto merged
      mysql-test/t/sp-code.test:
        Auto merged
      sql/sp_head.cc:
        Auto merged
      sql/sp_head.h:
        Auto merged
      sql/sp_rcontext.cc:
        Auto merged
      c26bcbaf
    • unknown's avatar
      manual merge · 5ecbc830
      unknown authored
      5ecbc830
    • unknown's avatar
      Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime · 5e065732
      unknown authored
      into  lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.0-33618
      
      
      mysql-test/t/sp.test:
        Auto merged
      sql/sp_head.cc:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      5e065732
    • unknown's avatar
      Bug#33618 (Crash in sp_rcontext) · 96dc5f05
      unknown authored
      Bug 33983 (Stored Procedures: wrong end <label> syntax is accepted)
      
      The server used to crash when REPEAT or another control instruction
      was used in conjunction with labels and a LEAVE instruction.
      
      The crash was caused by a missing "pop" of handlers or cursors in the
      code representing the stored program. When executing the code in a loop,
      this missing "pop" would result in a stack overflow, corrupting memory.
      
      Code generation has been fixed to produce the missing h_pop/c_pop
      instructions.
      
      Also, the logic checking that labels at the beginning and the end of a
      statement are matched was incorrect, causing Bug 33983.
      End labels, when used, must match the label used at the beginning of a block.
      
      
      mysql-test/r/sp-code.result:
        Bug#33618 (Crash in sp_rcontext)
      mysql-test/r/sp-error.result:
        Bug 33983 (Stored Procedures: wrong end <label> syntax is accepted)
      mysql-test/r/sp.result:
        Bug#33618 (Crash in sp_rcontext)
      mysql-test/t/sp-code.test:
        Bug#33618 (Crash in sp_rcontext)
      mysql-test/t/sp-error.test:
        Bug 33983 (Stored Procedures: wrong end <label> syntax is accepted)
      mysql-test/t/sp.test:
        Bug#33618 (Crash in sp_rcontext)
      sql/sp_head.cc:
        Bug#33618 (Crash in sp_rcontext)
      sql/sp_head.h:
        Bug#33618 (Crash in sp_rcontext)
      sql/sp_rcontext.cc:
        Bug#33618 (Crash in sp_rcontext)
      sql/sp_rcontext.h:
        Bug#33618 (Crash in sp_rcontext)
      sql/sql_yacc.yy:
        Bug#33618 (Crash in sp_rcontext)
      96dc5f05
  6. 20 Jan, 2008 2 commits
  7. 19 Jan, 2008 7 commits
    • unknown's avatar
      Fix merge. · 61854391
      unknown authored
      61854391
    • unknown's avatar
      Merge ibm.:/home/alik/Documents/MySQL/devel/5.0-rt · 1c9040b3
      unknown authored
      into  ibm.:/home/alik/Documents/MySQL/devel/5.1-rt-merged-5.0-rt
      
      
      mysql-test/t/sp.test:
        Manually merged.
      1c9040b3
    • unknown's avatar
      Merge ibm.:/home/alik/Documents/MySQL/devel/5.1 · 37fbb4d7
      unknown authored
      into  ibm.:/home/alik/Documents/MySQL/devel/5.1-rt-merged-5.1
      
      
      configure.in:
        Auto merged
      client/mysqldump.c:
        Auto merged
      sql/item_sum.cc:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      sql/sql_show.cc:
        Auto merged
      sql/sql_table.cc:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      sql/unireg.cc:
        Auto merged
      37fbb4d7
    • unknown's avatar
      Post-merge fixes. · 72f9fc48
      unknown authored
      
      mysql-test/r/group_by.result:
        Post-merge fix after merging 5.0-opt to 5.1-opt.
      mysql-test/t/disabled.def:
        Disabled innodb_mysql back, bug #32724 is still not fixed.
      72f9fc48
    • unknown's avatar
      Merge ibm.:/home/alik/Documents/MySQL/devel/5.0 · 4e5922c3
      unknown authored
      into  ibm.:/home/alik/Documents/MySQL/devel/5.0-rt-merged-5.0
      
      4e5922c3
    • unknown's avatar
      Merge kaamos.(none):/data/src/opt/mysql-5.0-opt · 8243bdf1
      unknown authored
      into  kaamos.(none):/data/src/opt/mysql-5.1-opt
      
      
      mysql-test/r/group_by.result:
        Auto merged
      mysql-test/r/type_decimal.result:
        Auto merged
      mysql-test/r/view.result:
        Auto merged
      mysql-test/t/type_decimal.test:
        Auto merged
      sql/item.cc:
        Auto merged
      sql/item_func.cc:
        Auto merged
      sql/sql_insert.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      mysql-test/r/subselect.result:
        Manual merge.
      mysql-test/t/group_by.test:
        Manual merge.
      mysql-test/t/subselect.test:
        Manual merge.
      mysql-test/t/view.test:
        Manual merge.
      8243bdf1
    • unknown's avatar
      Raise version number after cloning 5.1.23-rc · c477db1b
      unknown authored
      c477db1b
  8. 18 Jan, 2008 2 commits
    • unknown's avatar
      Merge mhansson@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 5a82c60b
      unknown authored
      into  lamia.dupka:/home/mhansson/my50-bug33143-again-pushee
      
      5a82c60b
    • unknown's avatar
      BUG#33794 "MySQL crashes executing specific query": · c726f011
      unknown authored
      The problem occurred when one had a subquery that had an equality X=Y where 
      Y referred to a named select list expression from the parent select. MySQL 
      crashed when trying to use the X=Y equality for ref-based access. 
      
      Fixed by allowing non-Item_field items in the described case.
      
      
      mysql-test/r/subselect.result:
        BUG#33794 "MySQL crashes executing specific query"
        - Testcase
      mysql-test/t/subselect.test:
        BUG#33794 "MySQL crashes executing specific query"
        - Testcase
      sql/sql_select.cc:
        BUG#33794 "MySQL crashes executing specific query"
        get_store_key() assumed that if it got a reference
          t.key=Item_outer_ref(Item_direct_ref(x)) 
        then x was an Item_field object, which is not the case when one refers to a
        named select list expression out ot subquery.
      c726f011
  9. 17 Jan, 2008 3 commits
  10. 16 Jan, 2008 1 commit
    • unknown's avatar
      A minor cleanup. · 48ada9f5
      unknown authored
      
      sql/sql_insert.cc:
        Remove a redundant call to my_error() -- in case of out of memory, the error
        is reported already by operator new (Delayed_inserts inherits from ilink).
      48ada9f5
  11. 14 Jan, 2008 1 commit
    • unknown's avatar
      Bug#33143: Incorrect ORDER BY for ROUND()/TRUNCATE() result · 01557dde
      unknown authored
      The ROUND(X, D) function would change the Item::decimals field during
      execution to achieve the effect of a dynamic number of decimal digits.
      This caused a series of bugs:
      Bug #30617:Round() function not working under some circumstances in InnoDB
      Bug #33402:ROUND with decimal and non-constant cannot round to 0 decimal places
      Bug #30889:filesort and order by with float/numeric crashes server
      Fixed by never changing the number of shown digits for DECIMAL when
      used with a nonconstant number of decimal digits.
      
      
      mysql-test/r/type_decimal.result:
        Bug#33143: Test result
      mysql-test/t/type_decimal.test:
        Bug#33143: Test case
      sql/item_func.cc:
        Bug#33143: 
        - Moved the DECIMAL_MAX_SCALE limitation to fix_length_and_dec.
        - Removed resetting of Item::decimals field.
        - set the frac field of the output value to current scale.
      strings/decimal.c:
        Bug#33143: It is necessary to set all digits in the buffer following the 
        rounded one to zero, as they may now be displayed.
      01557dde
  12. 12 Jan, 2008 1 commit
  13. 11 Jan, 2008 7 commits