1. 29 Sep, 2007 3 commits
    • unknown's avatar
      Fix compile warnings. · 25c7e4be
      unknown authored
      25c7e4be
    • unknown's avatar
      Merge moksha.local:/Users/davi/mysql/push/mysql-5.1-runtime · 842fe93b
      unknown authored
      into  moksha.local:/Users/davi/mysql/push/bugs/21136-regression
      
      
      842fe93b
    • unknown's avatar
      The fix for BUG 21136 (ChangeSet@1.2611.1.1) introduced a regression that · 1241a9da
      unknown authored
      caused a few tests to fail because the thd->extra_lock wasn't being set to
      NULL after the table was unlocked. This poses a serious problem because later
      attempts to access thd->extra_lock (now a dangling pointer) will probably
      result in a crash (undefined behavior) -- and that's what actually happens
      in some test cases.
      
      The solution is to set the select_create::m_plock pointee to NULL, which
      means that thd->extra_lock is set to NULL when the lock data is not for a
      temporary table.
      
      
      sql/sql_insert.cc:
        Set the m_plock pointee to NULL, thus avoiding a dangling thd->extra_lock pointer
        in some cases.
      1241a9da
  2. 28 Sep, 2007 5 commits
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.1-runtime · ee7f61ab
      unknown authored
      into  station.:/mnt/raid/alik/MySQL/devel/bug-30472/5.1-rt-bug30472
      
      
      ee7f61ab
    • unknown's avatar
      Post-merge fix for Bug 21136, initial merge missed the modifications for · 3c66a859
      unknown authored
      the sql_class.h file.
      
      
      sql/sql_class.h:
        Add pointers for holding lock data for temporary tables.
      3c66a859
    • unknown's avatar
      Bug#21136 CREATE TABLE SELECT within CREATE TABLE SELECT causes server crash · 6e668b4f
      unknown authored
      When CREATE TEMPORARY TABLE .. SELECT is invoked from a stored function
      which in turn is called from CREATE TABLE SELECT causes a memory leak
      because the inner create temporary table overrides the outter extra_lock
      reference when locking the table.
      
      The solution is to simply not overrride the extra_lock by only using the
      extra_lock for a non-temporary table lock.
      
      
      mysql-test/r/create.result:
        Add test case result for Bug#21136
      mysql-test/t/create.test:
        Add test case for Bug#21136
      sql/sql_insert.cc:
        For temporary tables, store the lock data within the select_create class
        since tmp tables contents are not replicated. For "real" tables, store
        the lock data in the thread extra_lock pointer.
      6e668b4f
    • unknown's avatar
      Patch for BUG#30472: libmysql doesn't reset charset, · 20b08f47
      unknown authored
      insert_id after succ. mysql_change_user() call.
      
      See also WL 4066.
        
      This bug reveals two problems:
        - the problem on the client side which was described originally;
        - the problem in protocol / the server side: connection context
          on client and server should be like after mysql_real_connect()
          and be consistent. The server however just resets character
          set variables to the global defaults.
      
      The fix seems to be as follows:
        - extend the protocol so that the client be able to send
          character set information in COM_CHANGE_USER command;
        - change the server so that it understands client character set
          in the command;
        - change the client:
          - reset character set to the default value (which has been
            read from the configuration);
          - send character set in COM_CHANGE_USER command.
      
      
      client/client_priv.h:
        Declare a function, used in libmysql.c and client.c.
      libmysql/libmysql.c:
        1. Reset character set on the client in mysql_change_user().
        2. Send character set to the server in COM_CHANGE_USER command.
      mysql-test/t/mysql_client_test.test:
        mysql_client_test.log is used by the test suite.
        
        Use mysql_client_test.out.log to collect mysql_client_test
        real output.
      sql/sql_parse.cc:
        Switch character set in COM_CHANGE_USER.
      tests/mysql_client_test.c:
        Test case for BUG#30472.
      20b08f47
    • unknown's avatar
      Prerequisite patch for BUG#30472: libmysql doesn't reset charset, · fa48986a
      unknown authored
      insert_id after succ. mysql_change_user() call.
      
      Supply a correct packet length to dispatch command.
      
      
      sql/sp_head.cc:
        Fix packet length.
      sql/sql_parse.cc:
        Fix packet length.
      sql/sql_prepare.cc:
        Fix packet length.
      tests/mysql_client_test.c:
        Test case for COM_CHANGE_USER.
      fa48986a
  3. 13 Sep, 2007 2 commits
    • unknown's avatar
      Bug#30747 Create table with identical constraint names behaves incorrectly · a73a5755
      unknown authored
      MySQL provides what appears to be a non standard extension to the
      FOREIGN KEY syntax which let users name (label/tag) a foreign key
      to more easily identify a specific foreign key if any problems show
      up later during the query parsing or execution. But the foreign key
      name was not being properly set to the right key, possible leaving
      the foreign key with no name.
      
      
      mysql-test/include/mix1.inc:
        Add test case for Bug#30747
      mysql-test/r/innodb_mysql.result:
        Add test case result for Bug#30747
      sql/sql_yacc.yy:
        Set the foreign key name to the constraint name if a specific name was
        not provided. As for the constraint name, only use the foreign name if
        a specific name was not provided.
      a73a5755
    • unknown's avatar
      Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime · 424a8eae
      unknown authored
      into  lambda.weblab:/home/malff/TREE/mysql-5.1-28360-b
      
      
      sql/sql_yacc.yy:
        Auto merged
      424a8eae
  4. 12 Sep, 2007 1 commit
    • unknown's avatar
      Cleanup of sql_yacc.yy · 8eae7166
      unknown authored
      
      sql/sql_yacc.yy:
        Remove useless actions from the grammar.
        Empty {} actions in the middle of a rule caused an extra reduce,
        which is affecting the parser complexity and performances.
      8eae7166
  5. 10 Sep, 2007 3 commits
    • unknown's avatar
      WL#4030 (Deprecate RENAME DATABASE: replace with ALTER DATABASE <name> · 8076d23f
      unknown authored
        UPGRADE)
      
      Bug 17565 (RENAME DATABASE destroys events)
      Bug#28360 (RENAME DATABASE destroys routines)
      
      Removed the
        RENAME DATABASE db1 TO db2
      statement.
      
      Implemented the
        ALTER DATABASE db UPGRADE DATA DIRECTORY NAME
      statement, which has the same function.
      
      
      client/mysqlcheck.c:
          ALTER DATABASE db UPGRADE DATA DIRECTORY NAME
      mysql-test/r/create.result:
          ALTER DATABASE db UPGRADE DATA DIRECTORY NAME
      mysql-test/r/query_cache.result:
          ALTER DATABASE db UPGRADE DATA DIRECTORY NAME
      mysql-test/r/renamedb.result:
          ALTER DATABASE db UPGRADE DATA DIRECTORY NAME
      mysql-test/r/sp-code.result:
          ALTER DATABASE db UPGRADE DATA DIRECTORY NAME
      mysql-test/r/sp-error.result:
          ALTER DATABASE db UPGRADE DATA DIRECTORY NAME
      mysql-test/r/upgrade.result:
          ALTER DATABASE db UPGRADE DATA DIRECTORY NAME
      mysql-test/t/create.test:
          ALTER DATABASE db UPGRADE DATA DIRECTORY NAME
      mysql-test/t/query_cache.test:
          ALTER DATABASE db UPGRADE DATA DIRECTORY NAME
      mysql-test/t/renamedb.test:
          ALTER DATABASE db UPGRADE DATA DIRECTORY NAME
      mysql-test/t/sp-error.test:
          ALTER DATABASE db UPGRADE DATA DIRECTORY NAME
      mysql-test/t/upgrade.test:
          ALTER DATABASE db UPGRADE DATA DIRECTORY NAME
      sql/mysql_priv.h:
          ALTER DATABASE db UPGRADE DATA DIRECTORY NAME
      sql/sql_lex.h:
          ALTER DATABASE db UPGRADE DATA DIRECTORY NAME
      sql/sql_parse.cc:
          ALTER DATABASE db UPGRADE DATA DIRECTORY NAME
      sql/sql_prepare.cc:
          ALTER DATABASE db UPGRADE DATA DIRECTORY NAME
      sql/sql_yacc.yy:
          ALTER DATABASE db UPGRADE DATA DIRECTORY NAME
      sql/sql_db.cc:
          ALTER DATABASE db UPGRADE DATA DIRECTORY NAME
      8076d23f
    • unknown's avatar
      Merge adventure.(none):/home/thek/Development/cpp/bug27358/my51-bug27358 · 5a437ae9
      unknown authored
      into  adventure.(none):/home/thek/Development/cpp/mysql-5.1-runtime
      
      
      sql/sql_insert.cc:
        Auto merged
      5a437ae9
    • unknown's avatar
      Merge adventure.(none):/home/thek/Development/cpp/bug27358/my50-bug27358 · 22436c86
      unknown authored
      into  adventure.(none):/home/thek/Development/cpp/bug27358/my51-bug27358
      
      
      mysql-test/r/delayed.result:
        Auto merged
      mysql-test/t/delayed.test:
        Auto merged
      sql/sql_insert.cc:
        SCCS merged
      22436c86
  6. 06 Sep, 2007 4 commits
  7. 05 Sep, 2007 5 commits
    • unknown's avatar
      Merge omega.weblab:/home/malff/TREE/mysql-5.1-base · 7f553f34
      unknown authored
      into  omega.weblab:/home/malff/TREE/mysql-5.1-rt-merge
      
      
      7f553f34
    • unknown's avatar
      Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime · 41ae90df
      unknown authored
      into  omega.weblab:/home/malff/TREE/mysql-5.1-cleanup
      
      
      41ae90df
    • unknown's avatar
      Test events_logs_tests cleanup · 712b9b00
      unknown authored
      Fixed test failure under heavy load, in case truncate table is slow.
      
      
      mysql-test/r/events_logs_tests.result:
        Fixed test failure under heavy load, in case truncate table is slow.
      mysql-test/t/events_logs_tests.test:
        Fixed test failure under heavy load, in case truncate table is slow.
      712b9b00
    • unknown's avatar
      The test case for Bug#29936 doesn't work with the embedded version, · bfbe3350
      unknown authored
      the first query is not running while we are doing wait queries on
      a second connection.
      
      
      mysql-test/r/sp.result:
        Remove test case result for Bug#29936, moving to sp_notembedded.result
      mysql-test/r/sp_notembedded.result:
        Test case result for Bug#29936, moved from sp.result
      mysql-test/t/sp.test:
        Remove test case for Bug#29936, moving to sp_notembedded.test
      mysql-test/t/sp_notembedded.test:
        Test case result for Bug#29936, moved from sp.test
      bfbe3350
    • unknown's avatar
      Discovered a bug while working with backup. Since it is possible to execute a... · 700d8b1f
      unknown authored
      Discovered a bug while working with backup. Since it is possible to execute a statement in a pre/post statment clause that can return a result, we need to test for that and free it. 
      
      
      client/mysqlslap.c:
        Cleanup resuls if rows are returned.
      700d8b1f
  8. 04 Sep, 2007 6 commits
  9. 03 Sep, 2007 11 commits