1. 26 Mar, 2008 5 commits
  2. 25 Mar, 2008 7 commits
    • unknown's avatar
      Merge quad.opbmk:/mnt/raid/alik/MySQL/devel/5.1 · ca57d040
      unknown authored
      into  quad.opbmk:/mnt/raid/alik/MySQL/devel/5.1-rt-merged
      
      
      ca57d040
    • unknown's avatar
      Eliminating compiler warnings. · 2daa0168
      unknown authored
      
      sql/set_var.h:
        Changing order of initializer list for sys_var class constructor to
        eliminate compiler warning.
      mysql-test/suite/binlog/combinations:
        New BitKeeper file ``mysql-test/suite/binlog/combinations''
      2daa0168
    • unknown's avatar
      Merge quad.opbmk:/mnt/raid/alik/MySQL/devel/5.0-rt · a9283538
      unknown authored
      into  quad.opbmk:/mnt/raid/alik/MySQL/devel/5.1-rt-merged
      
      
      sql/sql_delete.cc:
        Auto merged
      a9283538
    • unknown's avatar
      Merge quad.opbmk:/mnt/raid/alik/MySQL/devel/5.1 · 6cd3a150
      unknown authored
      into  quad.opbmk:/mnt/raid/alik/MySQL/devel/5.1-rt-merged
      
      
      sql/sql_delete.cc:
        Auto merged
      6cd3a150
    • 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
    • unknown's avatar
      Bug#33275 Server crash when creating temporary table mysql.user · a3126bfc
      unknown authored
      When creating a temporary table that uses the same name as the mysql
      privs table the server would crash on FLUSH PRIVILEGES.
      
      This patches corrects the problem by setting a flag to ignore any
      temporary table when trying to reload the privileges.
      
      
      mysql-test/r/grant.result:
        Test for checking shadowing of privilege tables
      mysql-test/t/grant.test:
        Test for checking shadowing of privilege tables
      sql/sql_acl.cc:
        Set flag for ignoring temporary tables when trying to reload privileges.
      a3126bfc
    • unknown's avatar
      Patch for bug 28386 enabled table logging for all tests in · 33dde6eb
      unknown authored
      mysql_client_test causing a severe slowdown and increase
      in memory usage, especially for test cases with long queries.
      
      The solution is to enable the general log only in tests that
      actually need the general log and disable it during the
      execution of all other tests.
      
      
      tests/mysql_client_test.c:
        Selectively enable and disable the general log.
      33dde6eb
  3. 22 Mar, 2008 2 commits
    • unknown's avatar
      Fix for Bug#34274: Invalid handling of 'DEFAULT 0' · 28cd75fe
      unknown authored
      for YEAR data type.
      
      The problem was that for some unknown reason 0 was not allowed
      as a default value for YEAR data type. That was coded before BK.
      However the Manual does not say a word about such a limitation.
      Also, it looks inconsistent with other data types.
      
      The fix is to allow 0 as a default value.
      
      
      mysql-test/r/create.result:
        Update result file.
      mysql-test/t/create.test:
        Add a test case for Bug#34274: Invalid handling of 'DEFAULT 0'
        for YEAR data type.
      sql/unireg.cc:
        Allow 0 as a default value for YEAR data type.
      28cd75fe
    • unknown's avatar
      Fix result files (Bug#21854). · 9965de17
      unknown authored
      
      mysql-test/r/information_schema_db.result:
        Update result file.
      mysql-test/r/sp-security.result:
        Update result file.
      mysql-test/r/trigger_notembedded.result:
        Update result file.
      mysql-test/r/view_grant.result:
        Update result file.
      9965de17
  4. 21 Mar, 2008 2 commits
    • unknown's avatar
      A patch for Bug#21854: Problems with CREATE TRIGGER without · d05f6b9f
      unknown authored
      DEFINER clause in --skip-grant-tables mode.
      
      Update error message.
      
      
      mysql-test/r/information_schema_db.result:
        Update result file.
      mysql-test/r/sp-security.result:
        Update result file.
      mysql-test/r/trigger_notembedded.result:
        Update result file.
      mysql-test/r/view_grant.result:
        Update result file.
      sql/share/errmsg.txt:
        Update error message.
      d05f6b9f
    • unknown's avatar
      Fix tree. · 8eb01668
      unknown authored
      8eb01668
  5. 20 Mar, 2008 1 commit
  6. 19 Mar, 2008 2 commits
    • unknown's avatar
      Merge mysql.com:/Users/davi/mysql/mysql-5.0-runtime · 23d4ab3b
      unknown authored
      into  mysql.com:/Users/davi/mysql/mysql-5.1-runtime
      
      
      include/my_pthread.h:
        Auto merged
      23d4ab3b
    • 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
  7. 18 Mar, 2008 6 commits
    • unknown's avatar
      Merge kpettersson@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime · 550de36c
      unknown authored
      into  adventure.(none):/home/thek/Development/cpp/mysql-5.1-runtime
      
      
      sql/sql_acl.cc:
        Auto merged
      550de36c
    • unknown's avatar
      Merge adventure.(none):/home/thek/Development/cpp/bug25175/my51-bug25175 · ef82f206
      unknown authored
      into  adventure.(none):/home/thek/Development/cpp/mysql-5.1-runtime
      
      
      ef82f206
    • unknown's avatar
      Merge quad.opbmk:/mnt/raid/alik/MySQL/devel/5.0-rt · 66ca0765
      unknown authored
      into  quad.opbmk:/mnt/raid/alik/MySQL/devel/5.1-rt-merged
      
      
      libmysql/libmysql.c:
        Auto merged
      sql-common/client.c:
        Auto merged
      tests/mysql_client_test.c:
        Manually merged.
      66ca0765
    • unknown's avatar
      Merge quad.opbmk:/mnt/raid/alik/MySQL/devel/5.0 · f77686df
      unknown authored
      into  quad.opbmk:/mnt/raid/alik/MySQL/devel/5.0-rt-merged
      
      
      libmysql/libmysql.c:
        Auto merged
      sql-common/client.c:
        Auto merged
      tests/mysql_client_test.c:
        Manually merged.
      f77686df
    • unknown's avatar
      Merge quad.opbmk:/mnt/raid/alik/MySQL/devel/5.1 · 07db330a
      unknown authored
      into  quad.opbmk:/mnt/raid/alik/MySQL/devel/5.1-rt-merged
      
      
      libmysql/libmysql.c:
        Auto merged
      sql-common/client.c:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/mysqld.cc:
        Auto merged
      tests/mysql_client_test.c:
        Auto merged
      07db330a
    • unknown's avatar
      Bug#25175 Too much memory used by MySQL grant system · 00182991
      unknown authored
      Each time the server reloads privileges containing table grants, the 
      system will allocate too much memory than needed because of badly
      chosen growth prediction in the underlying dynamic arrays.
      
      This patch introduces a new signature to the hash container initializer
      which enables a much more pessimistic approach in favour for more
      efficient memory useage.
      
      This patch was supplied by Google Inc.
      
      
      include/hash.h:
        * New signature for _hash_init.
        * Defined new function hash_init2 which takes growth_size argument.
      mysys/hash.c:
        * New signature for _hash_init.
      sql/sql_acl.cc:
        * Changed hash_init signature so that it takes a 'growth_size' smaller
        than the default. Each time a GRANT_TABLE is allocated a pre-allocated
        dynamic array is instantiated. A large growth size can result in too
        many unused hash-entries per table-entry and thus be a waste of free
        memory.
      00182991
  8. 17 Mar, 2008 5 commits
    • unknown's avatar
      Post-merge fixes for Bug 35103 · 80952259
      unknown authored
      
      libmysql/libmysql.c:
        Manual merge
      sql/sql_class.cc:
        Don't send anything back to the client if disabled.
      sql/sql_prepare.cc:
        Don't send any packet back for statement close.
      tests/mysql_client_test.c:
        Manual merge
      80952259
    • unknown's avatar
      Merge buzz.(none):/home/davi/mysql-5.0-runtime · ce34828e
      unknown authored
      into  buzz.(none):/home/davi/mysql-5.1-runtime
      
      
      sql-common/client.c:
        Auto merged
      sql/sql_prepare.cc:
        Manual merge
      tests/mysql_client_test.c:
        Manual merge
      libmysql/libmysql.c:
        Manual merge
      ce34828e
    • unknown's avatar
      Post-merge fix for Bug 35103. · 23d567aa
      unknown authored
      
      sql/sql_prepare.cc:
        Don't send unexpected error to the client.
      23d567aa
    • unknown's avatar
      Avoid races in connect.test. · c1e69a77
      unknown authored
      The problem was in a test case for Bug33507:
        - when the number of active connections reaches the limit,
          the server accepts only root connections. That's achieved by
          accepting a connection, negotiating with the client and
          checking user credentials. If it is not SUPER, the connection
          is dropped.
        - when the server accepts connection, it increases the counter;
        - when the server drops connection, it decreases the counter;
        - the race was in between of decreasing the counter and accepting
          new connection:
          - max_user_connections = 2;
          - 2 oridinary user connections accepted;
          - extra user connection is establishing;
          - server checked user credentials, and sent 'Too many connections'
            error;
          - the client receives the error and establishes extra SUPER user
            connection;
          - the server however didn't decrease the counter (the extra
            user connection still is "alive" in the server) -- so, the new
            SUPER-user connection, will be dropped, because it exceeds
            (max_user_connections + 1).
      
      The fix is to implement "safe connect", which makes several attempts
      to connect and use it in the test script.
      
      
      mysql-test/r/connect.result:
        Update test file.
      mysql-test/t/connect.test:
        Avoid races in connect.test.
      mysql-test/include/connect2.inc:
        Auxiliary routine to establish a connection reliably.
      c1e69a77
    • unknown's avatar
      A patch for Bug#35329: connect does not set mysql_errno variable. · 30d644f8
      unknown authored
      The problem was that 'connect' command didn't set mysql_errno
      variable, thus the script was unable to determine whether connection
      was opened or not.
      
      The fix is to set this variable.
      
      Test cases will be added in the scope of Bug33507
      into connect.test file.
      
      
      client/mysqltest.c:
        Set 'mysql_errno' variable.
      30d644f8
  9. 14 Mar, 2008 7 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
      Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl · 92a09cf9
      unknown authored
      into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl
      
      
      sql/slave.cc:
        Auto merged
      sql/sql_repl.h:
        Auto merged
      92a09cf9
    • unknown's avatar
      Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.1 · 774d21cf
      unknown authored
      into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl
      
      
      mysql-test/include/commit.inc:
        Auto merged
      mysql-test/lib/mtr_report.pl:
        Auto merged
      mysql-test/r/commit_1innodb.result:
        Auto merged
      mysql-test/r/variables.result:
        Auto merged
      mysql-test/suite/binlog/r/binlog_stm_ctype_ucs.result:
        Auto merged
      mysql-test/t/variables.test:
        Auto merged
      sql/handler.cc:
        Auto merged
      sql/item_func.cc:
        Auto merged
      sql/item_func.h:
        Auto merged
      sql/log.cc:
        Auto merged
      sql/rpl_rli.cc:
        Auto merged
      sql/set_var.cc:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      774d21cf
    • 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
    • unknown's avatar
      Merge mkindahl@bk-internal.mysql.com:/home/bk/mysql-5.1-new-rpl · 0b7d39fd
      unknown authored
      into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl
      
      
      mysql-test/suite/binlog/r/binlog_unsafe.result:
        Auto merged
      mysql-test/suite/binlog/t/binlog_unsafe.test:
        Auto merged
      0b7d39fd
    • unknown's avatar
      Post-merge fixes. · 45978147
      unknown authored
      
      mysql-test/extra/rpl_tests/rpl_loaddata.test:
        Removing SHOW MASTER STATUS that does not seem to make sense.
      mysql-test/extra/rpl_tests/rpl_log.test:
        Correcting test case to sync slave with master.
      mysql-test/suite/binlog/r/binlog_unsafe.result:
        Result change.
      mysql-test/suite/binlog/t/binlog_unsafe.test:
        Removing unsafe variable from list of safe variables.
      mysql-test/suite/rpl/r/rpl_loaddata.result:
        Result change.
      mysql-test/suite/rpl/r/rpl_skip_error.result:
        Result change.
      mysql-test/suite/rpl/t/rpl_skip_error.test:
        Correcting bad manual+automatic merge. Test is now only relevant for statement-
        based replication.
      sql/rpl_rli.cc:
        Correcting automerge undoing previous change of return value.
        Relay_log_info::wait_for_pos() should return -2 when not initialized to work
        correctly.
      45978147
    • unknown's avatar
      A fix for Bug#35289: Too many connections -- wrong SQL state · 2ebee313
      unknown authored
      in some case.
      
      ER_CON_COUNT_ERROR is defined with SQL state 08004. However, this SQL state is not always
      returned.
      
      This error can be thrown in two cases:
      
        1. when an ordinary user (a user w/o SUPER privilege) is connecting,
          and the number of active user connections is equal or greater than
          max_connections.
      
        2. when a user is connecting and the number of active user connections is
          already (max_connections + 1) -- that means that no more connections will
          be accepted regardless of the user credentials.
      
      In the 1-st case, SQL state is correct.
      
      The bug happens in the 2-nd case -- on UNIX the client gets 00000 SQL state, which is
      absolutely wrong (00000 means "not error SQL state); on Windows
      the client accidentally gets HY000 (which means "unknown SQL state).
      
      The cause of the problem is that the server rejects extra connection
      prior to read a packet with client capabilities. Thus, the server
      does not know if the client supports SQL states or not (if the client
      supports 4.1 protocol or not). So, the server supposes the worst and
      does not send SQL state at all.
      
      The difference in behavior on UNIX and Windows occurs because on Windows
      CLI_MYSQL_REAL_CONNECT() invokes create_shared_memory(), which returns
      an error (in default configuration, where shared memory is not configured).
      Then, the client does not reset this error, so when the connection is
      rejected, SQL state is HY000 (from the error from create_shared_memory()).
      
      The bug appeared after test case for Bug#33507 -- before that, this behavior
      just had not been tested.
      
      The fix is to 1) reset the error after create_shared_memory();
      2) set SQL state to 'unknown error' if it was not received from
      the server.
      
      A separate test case is not required, since the behavior is already
      tested in connect.test.
      
      Note for doc-team: the manual should be updated to say that under
      some circumstances, 'Too many connections' has HY000 SQL state.
      
      
      mysql-test/r/connect.result:
        Update result file.
      sql-common/client.c:
        1. Reset an error from create_shared_memory();
        2. Set SQL state to 'unknown error' if it was not received from
           the server.
      2ebee313
  10. 13 Mar, 2008 3 commits
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.1-runtime · 64cba9ba
      unknown authored
      into  mysql.com:/Users/davi/mysql/mysql-5.1-runtime
      
      
      64cba9ba
    • unknown's avatar
      Bug#34891 sp_notembedded.test fails sporadically · 416ab853
      unknown authored
      The problem is that since MyISAM's concurrent_insert is on by
      default some concurrent SELECT statements might not see changes
      made by INSERT statements in other connections, even if the
      INSERT statement has returned.
      
      The solution is to disable concurrent_insert so that INSERT
      statements returns after the data is actually visible to other
      statements.
      
      
      mysql-test/r/flush_read_lock_kill.result:
        Restore old value of @@global.concurrent_insert
      mysql-test/r/kill.result:
        Restore old value of @@global.concurrent_insert
      mysql-test/r/sp_notembedded.result:
        Update test case result
      mysql-test/t/flush_read_lock_kill.test:
        Restore old value of @@global.concurrent_insert so it
        doesn't affect other tests.
      mysql-test/t/kill.test:
        Restore old value of @@global.concurrent_insert so it
        doesn't affect other tests.
      mysql-test/t/sp_notembedded.test:
        Disable and restore concurrent_insert value at the end of the
        test case. The test case for Bug 29936 requires that the inserted
        rows need to be visible before a SELECT statement is queued in
        another connection.
        
        Remove sleep at the start of the test, it's not necessary to log
        the result of the processlist command, showing the warnings has
        the same end result.
      416ab853
    • unknown's avatar
      Merge quad.:/mnt/raid/alik/MySQL/devel/5.1-rt · 1f3c062b
      unknown authored
      into  quad.:/mnt/raid/alik/MySQL/devel/bug-35074/5.1-rt-bug35074
      
      
      1f3c062b