1. 27 Mar, 2008 1 commit
  2. 26 Mar, 2008 2 commits
    • unknown's avatar
      Merge host.loc:/home/uchum/work/5.0-opt-35193 · c3f2e303
      unknown authored
      into  host.loc:/home/uchum/work/5.0-opt
      
      
      c3f2e303
    • unknown's avatar
      Fixed bug #35193. · 0b8342ba
      unknown authored
      View definition as SELECT ... FROM DUAL WHERE ... has
      valid syntax, but use of such view in SELECT or
      SHOW CREATE VIEW syntax causes unexpected syntax error.
      
      Server omits FROM DUAL clause when storing view body
      string in a .frm file for further evaluation.
      However, syntax of SELECT-witout-FROM query is more
      restrictive than SELECT FROM DUAL syntax, and doesn't
      allow the WHERE clause.
      
      NOTE: this syntax difference is not documented.
      
      
      View registration procedure has been modified to
      preserve original structure of view's body.
      
      
      
      mysql-test/r/view.result:
        Added test case for bug #35193.
      mysql-test/t/view.test:
        Added test case for bug #35193.
      sql/sql_select.cc:
        Fixed bug #35193.
        The st_select_lex::print function always omits FROM DUAL clause,
        even if original SELECT query has the WHERE clause.
        
        The mysql_register_view function uses this function to reconstruct
        a body of view's AS clause for further evaluation and stores that
        reconstructed clause in a .frm file.
        
        SELECT without FROM syntax is more restrictive than 
        SELECT FROM DUAL syntax: second one allows
        the WHERE clause, but first one is not.
        
        Use of this view in SELECT or SHOW CREATE VIEW queries
        causes unexpected syntax errors.
        
        
        The st_select_lex::print function has been modified to
        reconstruct FROM DUAL clause in queries when needed.
        
        
        TODO: Syntax difference is not documented and should be
        eliminated, however improvement of
        the SELECT-without-FROM syntax is not trivial and leads to
        significant modification of grammar file because of additional
        shift/reduce conflicts.
      0b8342ba
  3. 25 Mar, 2008 3 commits
    • unknown's avatar
      Bug#20906 (Multiple assignments in SET in stored routine produce incorrect · 18801aa8
      unknown authored
      instructions)
      
      This bug can not be reproduced in the current version,
      adding the test case to the test suite for coverage, no code change.
      
      
      mysql-test/r/sp-code.result:
        Bug#20906 (Multiple assignments in SET in stored routine produce incorrect
        instructions)
      mysql-test/t/sp-code.test:
        Bug#20906 (Multiple assignments in SET in stored routine produce incorrect
        instructions)
      18801aa8
    • unknown's avatar
      information_schema.test, information_schema.result: · d62c9e33
      unknown authored
        Minor test case cleanup after bug#34529.
      
      
      mysql-test/r/information_schema.result:
        Minor test case cleanup after bug#34529.
      mysql-test/t/information_schema.test:
        Minor test case cleanup after bug#34529.
      d62c9e33
    • unknown's avatar
      Merge quad.opbmk:/mnt/raid/alik/MySQL/devel/5.0 · 4816e7b7
      unknown authored
      into  quad.opbmk:/mnt/raid/alik/MySQL/devel/5.0-rt-merged
      
      
      sql/sql_delete.cc:
        Auto merged
      4816e7b7
  4. 24 Mar, 2008 1 commit
  5. 23 Mar, 2008 1 commit
  6. 21 Mar, 2008 2 commits
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · a3558b5f
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B26461-5.0-opt
      
      
      a3558b5f
    • unknown's avatar
      Bug #26461: Intrinsic data type bool (1 byte) redefined to BOOL (4 bytes) · cebb6727
      unknown authored
      The bool data type was redefined to BOOL (4 bytes on windows).
      Removed the #define and fixed some of the warnings that were uncovered
      by this.
      Note that the fix also disables 2 warnings :
      4800 : 'type' : forcing value to bool 'true' or 'false' (performance warning)
      4805: 'operation' : unsafe mix of type 'type' and type 'type' in operation
      
      These warnings will be handled in a separate bug, as they are performance related or bogus.
      
      Fixed to int the return type of functions that return more than 
      2 distinct values.
      
      
      CMakeLists.txt:
        Bug #26461: disable the C4800 and C4805 warnings temporarily
      include/config-win.h:
        Bug #26461: 
         - no need for this define for Windows.
         - windows C++ compilers have a bool type
      include/my_global.h:
        Bug #26461: removed bool_defined (no longer needed)
      sql/handler.h:
        Bug #26461: bool functions must return boolean values
      sql/mysql_priv.h:
        Bug #26461: fixed return type of functions that return more than
        2 distinct values.
      sql/procedure.h:
        Bug #26461: fixed return type of functions that return more than
        2 distinct values.
      sql/sql_acl.cc:
        Bug #26461: fixed return type of functions that return more than
        2 distinct values.
      sql/sql_acl.h:
        Bug #26461: fixed return type of functions that return more than
        2 distinct values.
      sql/sql_analyse.cc:
        Bug #26461: fixed return type of functions that return more than
        2 distinct values.
      sql/sql_analyse.h:
        Bug #26461: fixed return type of functions that return more than
        2 distinct values.
      sql/sql_base.cc:
        Bug #26461: fixed return type of functions that return more than
        2 distinct values.
      sql/sql_db.cc:
        Bug #26461: fixed return type of functions that return more than
        2 distinct values.
      sql/sql_delete.cc:
        Bug #26461: fixed return type of functions that return more than
        2 distinct values.
      sql/sql_load.cc:
        Bug #26461: fixed return type of functions that return more than
        2 distinct values.
      sql/sql_parse.cc:
        Bug #26461: fixed return type of functions that return more than
        2 distinct values.
      sql/sql_prepare.cc:
        Bug #26461: fixed return type of functions that return more than
        2 distinct values.
      sql/sql_update.cc:
        Bug #26461: fixed return type of functions that return more than
        2 distinct values.
      cebb6727
  7. 19 Mar, 2008 5 commits
    • unknown's avatar
      Merge host.loc:/home/uchum/work/PA/5.0-opt-34763 · 070a2334
      unknown authored
      into  host.loc:/home/uchum/work/5.0-opt
      
      
      sql/item.cc:
        Auto merged
      070a2334
    • unknown's avatar
      Bug#30960 processlist state '*** DEAD ***' on recent 5.0.48 windows builds · edce44ee
      unknown authored
      The problem is that unimplemented WIN32 version of pthread_kill
      is returning ESRCH no matter the arguments, causing calls to
      mysqld_list_processes to set the procinfo to dead because
      pthread_kill returns non zero. The dead procinfo would show
      up on a second invocation of show processlist.
      
      
      include/my_pthread.h:
        When unimplemented, pthread_kill must return zero for
        any process id other then zero.
      edce44ee
    • unknown's avatar
      Bug#34529: Crash on complex Falcon I_S select after ALTER .. PARTITION BY · 3c5894ba
      unknown authored
        
      When swapping out heap I_S tables to disk, this is done after plan refinement.
      Thus, READ_RECORD::file will still point to the (deleted) heap handler at start
      of execution. This causes segmentation fault if join buffering is used and the 
      query is a star query where the result is found to be empty before accessing
      some table. In this case that table has not been initialized (i.e. had its 
      READ_RECORD re-initialized) before the cleanup routine tries to close the handler.
      Fixed by updating READ_RECORD::file when changing handler.
      
      
      mysql-test/r/information_schema.result:
        Bug#34529: Test result.
      mysql-test/t/information_schema.test:
        Bug#34529: Test case.
      sql/sql_show.cc:
        Bug#34529: The fix.
      3c5894ba
    • unknown's avatar
      Merge kaamos.(none):/data/src/opt/bug34512/my50 · e12afb1e
      unknown authored
      into  kaamos.(none):/data/src/opt/mysql-5.0-opt
      
      
      e12afb1e
    • unknown's avatar
      Bug #33334 mysqltest_embedded crashes when disconnecting before reap. · 4018b139
      unknown authored
      Before breaking the connection we have to check that there's no query
        executing at the moment. Otherwise it can lead to crash in embedded server.
      
      
      client/mysqltest.c:
        Bug #33334 mysqltest_embedded crashes when disconnecting before reap.
        
        Wait until the query thread is finished before we break the connection.
        Waiting part moved to a separate wait_query_thread_end() function
      mysql-test/r/flush.result:
        Bug #33334 mysqltest_embedded crashes when disconnecting before reap.
        
        test result
      mysql-test/t/flush.test:
        Bug #33334 mysqltest_embedded crashes when disconnecting before reap.
        
        test case
      4018b139
  8. 18 Mar, 2008 1 commit
  9. 17 Mar, 2008 1 commit
  10. 14 Mar, 2008 3 commits
    • unknown's avatar
      Bug#35103 mysql_client_test::test_bug29948 causes sporadic failures · 063b5047
      unknown authored
      The problem was that the COM_STMT_SEND_LONG_DATA was sending a response
      packet if the prepared statement wasn't found in the server (due to
      reconnection). The commands COM_STMT_SEND_LONG_DATA and COM_STMT_CLOSE
      should not send any packets, even error packets should not be sent since
      they are not expected by the client API.
      
      The solution is to clear generated during the execution of the aforementioned
      commands and to skip resend of prepared statement commands. Another fix is
      that if the connection breaks during the send of prepared statement command,
      the command is not sent again since the prepared statement is no longer in the
      server.
      
      
      libmysql/libmysql.c:
        The mysql handle might be reset after a reconnection.
        Pass the now used stmt argument to cli_advanced_command.
      sql-common/client.c:
        Don't resend command if the connection broke and it's a prepared
        statement command. If the session is broken, prepared statements
        on the server are gone, set the error accordanly.
      sql/sql_prepare.cc:
        Clear any error set during the execution of the request
        command.
      tests/mysql_client_test.c:
        Fix memory leak by freeing result associated with statement.
        Remove test case for Bug 29948 because it's not reliable in
        5.0 (fixed in 5.1) due to KILL queries sending two packets for
        a thread that kills itself.
      063b5047
    • unknown's avatar
      Fixed bug #34763. · 9699767c
      unknown authored
      Queries like:
      
        SELECT ROW(1, 2) IN (SELECT t1.a, 2)
          FROM t1 GROUP BY t1.a
      
      or 
      
        SELECT ROW(1, 2) IN (SELECT t1.a, 2 FROM t2)
          FROM t1 GROUP BY t1.a
      
      lead to assertion failure in the
      Item_in_subselect::row_value_transformer method in debugging
      build, or to unexpected error message in release build:
      
        ERROR 1247 (42S22): Reference '<list ref>' not supported (forward
                            reference in item list)
      
      Unexpected error message and assertion failure have been
      eliminated.
      
      
      mysql-test/r/subselect3.result:
        Added test case for bug #34763.
      mysql-test/t/subselect3.test:
        Added test case for bug #34763.
      sql/item.cc:
        Fixed bug #34763.
        The Item_ref::fix_fields method has been modified to silently
        ignore not fixed outer references: by the definition, those
        references should be fixed later by the call to the
        fix_inner_refs function.
      sql/item_subselect.cc:
        Fixed bug #34763.
        The Item_in_subselect::row_value_transformer method has been
        modified to eliminate assertion failure on not fixed outer
        references: by the definition those references are allowed in
        this context and should be fixed later by the call to the
        fix_inner_refs function.
      9699767c
    • unknown's avatar
      Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0 · 4097ee7f
      unknown authored
      into  dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl
      
      
      4097ee7f
  11. 13 Mar, 2008 1 commit
  12. 12 Mar, 2008 5 commits
    • unknown's avatar
      A fix for Bug#34643: TRUNCATE crash if trigger and foreign key. · 326c4e90
      unknown authored
        
      In cases when TRUNCATE was executed by invoking mysql_delete() rather
      than by table recreation (for example, when TRUNCATE was issued on
      InnoDB table with is referenced by foreign key) triggers were invoked.
      In debug builds this also led to crash because of an assertion, which
      assumes that some preliminary actions take place before trigger 
      invocation, which doesn't happen in case of TRUNCATE.
      
      The fix is not to execute triggers in mysql_delete() when this
      function is used by TRUNCATE.
      
      
      mysql-test/r/trigger-trans.result:
        Update result file.
      mysql-test/t/trigger-trans.test:
        A test case for Bug#34643: TRUNCATE crash if trigger and foreign key.
      sql/sql_delete.cc:
        Do not process triggers in TRUNCATE.
      326c4e90
    • unknown's avatar
    • unknown's avatar
      Merge kaamos.(none):/data/src/opt/mysql-4.1-opt · 66507ba8
      unknown authored
      into  kaamos.(none):/data/src/opt/mysql-5.0-opt
      
      
      66507ba8
    • unknown's avatar
      Merge kaamos.(none):/data/src/mysql-5.0 · 09f8a4af
      unknown authored
      into  kaamos.(none):/data/src/opt/mysql-5.0-opt
      
      
      client/mysql.cc:
        Auto merged
      sql/filesort.cc:
        Auto merged
      sql/item.cc:
        Auto merged
      sql/item.h:
        Auto merged
      sql/item_func.cc:
        Auto merged
      sql/mysqld.cc:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      tests/mysql_client_test.c:
        Auto merged
      mysql-test/r/view.result:
        Manual merge.
      mysql-test/t/view.test:
        Manual merge.
      scripts/mysql_config.sh:
        Manual merge.
      09f8a4af
    • unknown's avatar
      Merge kaamos.(none):/data/src/mysql-4.1 · 6dfe411c
      unknown authored
      into  kaamos.(none):/data/src/opt/mysql-4.1-opt
      
      
      6dfe411c
  13. 11 Mar, 2008 1 commit
    • unknown's avatar
      BUG#31024: STOP SLAVE does not stop attempted connect()s · 1836625f
      unknown authored
      Problem: if the IO slave thread is attempting to connect,
      STOP SLAVE waits for the attempt to finish. 
      It may take a long time.
      Fix: don't wait, stop the slave immediately.
      
      
      sql/slave.cc:
        Send a SIGALRM signal to the slave thread when stopping it (using
        pthread_kill()). This breaks current socket(), connect(), poll() etc.
        calls, and makes the subsequent thd->awake() call effective.
        
        Also, move the definition of KICK_SLAVE to slave.cc.
      sql/sql_repl.h:
        Removed KICK_SLAVE and inlined it in slave.cc because:
         - it was only called once, so better to make it local to where it is used
         - it needed to include a preprocessor conditional in the middle
      1836625f
  14. 10 Mar, 2008 2 commits
  15. 08 Mar, 2008 1 commit
  16. 07 Mar, 2008 4 commits
    • unknown's avatar
      Merge host.loc:/home/uchum/work/5.0-opt · 4fa1c9e9
      unknown authored
      into  host.loc:/home/uchum/work/5.0-opt-34763
      
      
      4fa1c9e9
    • unknown's avatar
      Bug #26622 MASTER_POS_WAIT does not work as documented · 0e679ab7
      unknown authored
      Affected tests fixing. After the fix for st_relay_log_info::wait_for_pos() that
      handles widely used select('master-bin.xxxx',pos) invoked by mysqltest
      there appeared to be four tests that either tried synchronizing when
      the slave was stopped or used incorrect synchronization method like
      to call `sync_with_master' from the current connection being to the
      master itself.
      
      Fixed with correcting the current connection or/and using the correct
      synchronization macro when possible.
      
      
      mysql-test/r/rpl_loaddata.result:
        results changed
      mysql-test/r/rpl_slave_status.result:
        results changed
      mysql-test/t/rpl_loaddata.test:
        fixing cleanup for two tests
      mysql-test/t/rpl_skip_error.test:
        fixing cleanup for two tests
      mysql-test/t/rpl_slave_status.test:
        fixing cleanup
      mysql-test/t/rpl_temporary.test:
        fixing synchronizations to use the intended correct macro.
      0e679ab7
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · a104844d
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B34909-5.0-opt
      
      
      a104844d
    • unknown's avatar
      Bug #34909: mysqldump returns a 0 status on error when using · 99c0b5e1
      unknown authored
        --master-data
      
      No error code was returned by mysqldump if it detects that binary
      logging is not enabled on the server.
      Fixed by returning error code.
      
      
      client/mysqldump.c:
        Bug #34909: add error code
      mysql-test/r/mysqldump-no-binlog.result:
        Bug #34909: test case
      mysql-test/t/mysqldump-no-binlog-master.opt:
        Bug #34909: test case
      mysql-test/t/mysqldump-no-binlog.test:
        Bug #34909: test case
      99c0b5e1
  17. 06 Mar, 2008 4 commits
    • unknown's avatar
      Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 8b5189c3
      unknown authored
      into  mysql.com:/home/psergey/mysql-5.0-bug34945
      
      
      8b5189c3
    • unknown's avatar
      Fix for bug #34512: CAST( AVG( double ) AS DECIMAL ) · 8270d987
      unknown authored
                          returns wrong results
      
      Casting AVG() to DECIMAL led to incorrect results when the arguments
      had a non-DECIMAL type, because in this case
      Item_sum_avg::val_decimal() performed the division by the number of
      arguments twice.
      
      Fixed by changing Item_sum_avg::val_decimal() to not rely on
      Item_sum_sum::val_decimal(), i.e. calculate sum and divide using
      DECIMAL arithmetics for DECIMAL arguments, and utilize val_real() with
      subsequent conversion to DECIMAL otherwise.
      
      
      mysql-test/r/func_group.result:
        Added a test case for bug #34512.
      mysql-test/t/func_group.test:
        Added a test case for bug #34512.
      sql/item_sum.cc:
        Do not use Item_sum_sum::val_decimal() in Item_sum_avg::val_decimal()
        because the first one, depending on the arguments type, may return
        either the sum of the arguments, or the average calculated by the
        virtual val_real() method of Item_sum_avg. Instead, do our own
        calculation based on the arguments type.
      8270d987
    • unknown's avatar
      Bug#26622 MASTER_POS_WAIT does not work as documented · 04c5af18
      unknown authored
      MASTER_POS_WAIT return values are different than expected when the server is not a slave. 
      It returns -1 instead of NULL.
      
      Fixed with correcting  st_relay_log_info::wait_for_pos() to return the proper
      value in the case of rli info is not inited.
      
      
      mysql-test/r/rpl_master_pos_wait.result:
        results changed
      mysql-test/t/rpl_master_pos_wait.test:
        the new test to check that select master_pos_wait() to a server does 
        not have master info returns NULL as specified.
      sql/slave.cc:
        changing the return value to correspond the specification.
      04c5af18
    • unknown's avatar
      Bug#35103 mysql_client_test::test_bug29948 causes sporadic failures · aafb492d
      unknown authored
      Disable test case for bug 29948, which is causing sporadically
      failures in other tests inside mysql_client_test.
      
      
      tests/mysql_client_test.c:
        Disable test case.
      aafb492d
  18. 05 Mar, 2008 2 commits
    • unknown's avatar
      Fix for bug #34889: mysql_client_test::test_mysql_insert_id test fails · 0c1dd98e
      unknown authored
                          sporadically
      
      Under some circumstances, the mysql_insert_id() value after SELECT ...
      INSERT could return a wrong value. This could happen when the last
      SELECT ... INSERT did not involve an AUTO_INCREMENT column, but the
      value of mysql_insert_id() was changed by some previous statements.
      
      Fixed by checking the value of thd->insert_id_used in
      select_insert::send_eof() and returning 0 for mysql_insert_id() if it
      is not set.
      
      
      sql/sql_insert.cc:
        Do not return thd->last_insert_id unconditionally in
        select_insert::send_eof(). First check if thd->insert_id_used is
        non-zero, and return 0 otherwise.
      tests/mysql_client_test.c:
        Added a test case for bug #34889.
      0c1dd98e
    • unknown's avatar
      Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0 · d20bfbbe
      unknown authored
      into  dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl
      
      
      d20bfbbe