An error occurred fetching the project authors.
  1. 31 May, 2007 1 commit
  2. 30 May, 2007 2 commits
  3. 29 May, 2007 1 commit
  4. 28 May, 2007 1 commit
  5. 23 May, 2007 1 commit
    • unknown's avatar
      5.1 version of fix for: · 206a6bb1
      unknown authored
        Bug #23667 "CREATE TABLE LIKE is not isolated from alteration
                    by other connections"
        Bug #18950 "CREATE TABLE LIKE does not obtain LOCK_open"
      As well as:
        Bug #25578 "CREATE TABLE LIKE does not require any privileges
                    on source table".
      
      The first and the second bugs resulted in various errors and wrong
      binary log order when one tried to execute concurrently CREATE TABLE LIKE
      statement and DDL statements on source table or DML/DDL statements on its
      target table.
      
      The problem was caused by incomplete protection/table-locking against
      concurrent statements implemented in mysql_create_like_table() routine.
      We solve it by simply implementing such protection in proper way.
      Most of actual work for 5.1 was already done by fix for bug 20662 and
      preliminary patch changing locking in ALTER TABLE.
      
      The third bug allowed user who didn't have any privileges on table create
      its copy and therefore circumvent privilege check for SHOW CREATE TABLE.
      
      This patch solves this problem by adding privilege check, which was missing.
      
      Finally it also removes some duplicated code from mysql_create_like_table()
      and thus fixes bug #26869 "TABLE_LIST::table_name_length inconsistent with
      TABLE_LIST::table_name".
      
      
      mysql-test/r/create-big.result:
        Added test coverage for concurrency-related issues with CREATE TABLE LIKE.
      mysql-test/r/create.result:
        Adjusted error-code in the test case after refactoring code that
        implements CREATE TABLE ... LIKE.
      mysql-test/r/grant2.result:
        Added test for bug#25578 "CREATE TABLE LIKE does not require any privileges
        on source table".
      mysql-test/t/create-big.test:
        Added test coverage for concurrency-related issues with CREATE TABLE LIKE.
      mysql-test/t/create.test:
        Adjusted error-code in the test case after refactoring code that
        implements CREATE TABLE ... LIKE.
      mysql-test/t/disabled.def:
        Recent code changes ensured that CREATE TABLE LIKE statement is properly
        isolated against other statements, so synchronization.test should no
        longer fail (see fix for bug 20662 and preliminary patch for bug 23667
        changing ALTER TABLE locking).
      mysql-test/t/grant2.test:
        Added test for bug#25578 "CREATE TABLE LIKE does not require any privileges
        on source table".
      sql/handler.h:
        Introduced new flag for HA_CREATE_INFO::options in order to be able to
        distinguish CREATE TABLE ... LIKE from other types of CREATE TABLE.
      sql/mysql_priv.h:
        mysql_create_like_table() now takes source table name not as a
        Table_ident object but as regular table list element.
      sql/sql_lex.h:
        Removed LEX::like_name member. Now we use special flag in
        LEX::create_info::options for distinguishing CREATE TABLE ... LIKE
        from other types of CREATE TABLE and store name of source table as
        regular element in statement's table list.
      sql/sql_parse.cc:
        CREATE TABLE ... LIKE implementation now uses statement's table list
        for storing information about the source table. We also use flag
        in LEX::create_info.options for distinguishing it from other types
        of CREATE TABLE.
        Finally CREATE TABLE ... LIKE now requires the same privileges on
        the source tables as SHOW CREATE TABLE. Moved this privilege check
        to check_show_create_table_access() function.
      sql/sql_partition.cc:
        Now we use special flag in LEX::create_info::options for distinguishing
        CREATE TABLE ... LIKE from other types of CREATE TABLE and store name
        of source table as regular element in statement's table list.
      sql/sql_table.cc:
        mysql_create_like_table():  
         - Commented and cleaned-up a bit code which is responsible for achieving
           isolation from concurrent statements. Most of actual work was done by
           fix for bug 20662 and preliminary patch changing locking locking in
           ALTER TABLE, so here we do minor things like relaxing locking on
           source table (we don't need lock on it, to have it open is enough) and
           adjusting code to make it more friendly against code implementing I_S.
         - Get rid of duplicated code related to source database/table name
           handling. All these operations are already done in
           st_select_lex::add_table_to_list(), so we achieve the same effect
           by including source table into the statement's table list.
      sql/sql_yacc.yy:
        Now we use special flag in LEX::create_info::options for distinguishing
        CREATE TABLE ... LIKE from other types of CREATE TABLE and store name
        of source table as regular element in statement's table list.
      206a6bb1
  6. 21 May, 2007 1 commit
  7. 14 May, 2007 5 commits
  8. 11 May, 2007 1 commit
  9. 04 May, 2007 1 commit
    • unknown's avatar
      BUG#18980 : Test 'rpl_row_blob_innodb' fails randomly · 70e94549
      unknown authored
      Failure was not reproduced under testing with the latest clone.
      This patch re-enables the test.
      
      
      mysql-test/t/disabled.def:
        BUG#18980 : Test 'rpl_row_blob_innodb' fails randomly
        
        This patch enables the test.
      70e94549
  10. 29 Apr, 2007 1 commit
  11. 28 Apr, 2007 1 commit
    • unknown's avatar
      Bug#19710 · deca8bd3
      unknown authored
      revert patch because these two test cases still fail on Solaris & Power BE machines
      
      
      BitKeeper/deleted/.del-rpl_ndb_myisam2ndb.result:
        Delete: mysql-test/r/rpl_ndb_myisam2ndb.result
      BitKeeper/deleted/.del-rpl_ndb_innodb2ndb.result:
        Delete: mysql-test/r/rpl_ndb_innodb2ndb.result
      mysql-test/t/disabled.def:
        revert patch
      mysql-test/t/rpl_ndb_innodb2ndb-slave.opt:
        revert patch
      mysql-test/t/rpl_ndb_myisam2ndb-slave.opt:
        revert patch
      deca8bd3
  12. 24 Apr, 2007 1 commit
    • unknown's avatar
      The fix for Bug#18946: Test case rpl_ndb_ddl disabled pushed around end of... · 4d62eb39
      unknown authored
      The fix for   Bug#18946: Test case rpl_ndb_ddl disabled   pushed around end of March 2007 enabled this testcase.
      It was later disabled because the test failed with timeout on one testing box.
      The reason for this failing test could not be found because we do not have informations about the conditions on the box during this test.
      Jeb and I tried this test on other boxes and it passed.
      My experience is that
      - tests using NDB need in general often significant more runtime
        than comparable tests of other storage engines
      - the actual load of the box where the test is running and the
        filesystem (nfs could be extreme slow) where the tests are
        executed might have a huge impact on the test performance 
        (runtime * 2 till 3)
      - there are sometimes problems with the ports most probably
        caused by OS properties (NDB+RPL need many ports) or
        parallel tests accidently running with the same ports.
      AFAIK these are the reasons why the NDB tests fail sometimes with timeout.
      Conclusion: We enable rpl_ndb_ddl again because the failure happens in rare cases
      and seems not to be caused by errors within the server or test code. 
      
      
      mysql-test/t/disabled.def:
        Enable t/rpl_ndb_ddl.test again
      4d62eb39
  13. 22 Apr, 2007 1 commit
  14. 20 Apr, 2007 1 commit
  15. 16 Apr, 2007 1 commit
    • unknown's avatar
      Clear field_alloc when it's moved to result set (allows us to always call free_root on field_alloc) · 48892844
      unknown authored
      Change to use remove_file instead of 'system rm' in a lot of tests. (Should fix some windows test problems)
      Removed memory leak in mysql_test if sync_with_master fails.
      Do not terminate ndb_cluster_binary_log before the util thread has finnished. This should fix a shutdown bug where a thread is accessing injector_mutex after it's freed.
      Patch may fix Bug#27622 "mysqld shutdown, util thread continues, while binlog thread exits"
      
      
      client/mysqltest.c:
        Added missing 'mysql_free_result' (fixed confusing memory leak when sync_with_master fails)ug
      mysql-test/mysql-test-run.pl:
        Add the test case name to the instance manager log files
      mysql-test/r/rpl_log_pos.result:
        Made test more portable (for powermac)
      mysql-test/t/disabled.def:
        Disabled im_life_cycle (added bug#27851)
      mysql-test/t/myisam-system.test:
        Use remove_file instead of "system rm"
      mysql-test/t/ndb_autodiscover.test:
        Use remove_file instead of "system rm"
      mysql-test/t/ndb_loaddatalocal.test:
        Use remove_file instead of "system rm"
      mysql-test/t/rpl_loaddatalocal.test:
        Use remove_file instead of "system rm"
      mysql-test/t/rpl_log_pos.test:
        Made test more portable (for powermac)
      mysql-test/t/rpl_misc_functions.test:
        Use remove_file instead of "system rm"
      mysql-test/t/rpl_rbr_to_sbr.test:
        Use remove_file instead of "system rm"
      mysql-test/t/rpl_row_NOW.test:
        Use remove_file instead of "system rm"
      mysql-test/t/rpl_row_sp001.test:
        Use remove_file instead of "system rm"
      mysql-test/t/rpl_row_sp011.test:
        Use remove_file instead of "system rm"
      mysql-test/t/show_check.test:
        Use remove_file instead of "system rm"
      mysys/my_alloc.c:
        Don't return on zero argument, as this may hide other errors
      server-tools/instance-manager/log.cc:
        Log errors to both stdout and stderr (to know in which context we got the error)
      server-tools/instance-manager/thread_registry.cc:
        Log error before common assert (to know in which context we fail)
      sql/ha_ndbcluster.cc:
        Do not terminate ndb_cluster_binary_log before the util thread has finnished.
      sql/ha_ndbcluster.h:
        Do not terminate ndb_cluster_binary_log before the util thread has finnished.
      sql/ha_ndbcluster_binlog.cc:
        Do not terminate ndb_cluster_binary_log before the util thread has finnished.
      sql-common/client.c:
        Clear field_alloc when it's moved to result set (allows us to always call free_root on field_alloc)
      48892844
  16. 07 Apr, 2007 1 commit
  17. 06 Apr, 2007 2 commits
    • unknown's avatar
      disabled test and feature · 375bb35e
      unknown authored
      375bb35e
    • unknown's avatar
      BUG#19710 Cluster replication to partition table fails on DELETE FROM statement · 68d74c0a
      unknown authored
      update rpl_ndb_innodb2ndb and rpl_ndb_myisam2ndb testcase's option and result
      
      
      mysql-test/t/disabled.def:
        recover test case 'rpl_ndb_innodb2ndb' and 'rpl_ndb_myisam2ndb'
      mysql-test/t/rpl_ndb_innodb2ndb-slave.opt:
        add "--new=ture" option to mysqld, that means "Use very new possible 'unsafe' functions"
      mysql-test/t/rpl_ndb_myisam2ndb-slave.opt:
        add "--new=ture" option to mysqld, that means "Use very new possible 'unsafe' functions"
      mysql-test/r/rpl_ndb_innodb2ndb.result:
        get the test result by 'mysql-test-run.pl --record rpl_ndb_innodb2ndb'
      mysql-test/r/rpl_ndb_myisam2ndb.result:
        get the test result by 'mysql-test-run.pl --record rpl_ndb_myisam2ndb'
      68d74c0a
  18. 31 Mar, 2007 2 commits
  19. 27 Mar, 2007 1 commit
  20. 23 Mar, 2007 1 commit
  21. 20 Mar, 2007 1 commit
    • unknown's avatar
      enabled test case · 4890ea8a
      unknown authored
      + some fixes to do the enable
      
      
      mysql-test/r/rpl_ndb_sync.result:
        enabled test case
      mysql-test/t/disabled.def:
        enabled test case
      sql/ha_ndbcluster.cc:
        enabled test case
      sql/ha_ndbcluster_tables.h:
        add defines for old sys table
      storage/ndb/tools/restore/Restore.cpp:
        add check for old sys table
      4890ea8a
  22. 10 Mar, 2007 1 commit
  23. 06 Mar, 2007 1 commit
    • unknown's avatar
      Bug#18946 Test case rpl_ndb_ddl disabled · d3f71886
      unknown authored
      1. Fixes within the testscripts   (affects rpl_ddl.test and rpl_ndb_ddl.test)
         - slave connection is only an observer (-> AUTOCOMMIT = 0)
           This removes the problem with the hanging test around DROP DATABASE (NDB). The hanging test around DROP DATABASE is a difference to InnoDB/MyISAm behaviour but fare
           away of a clear bug. IMHO this behaviour does not violate the SQL standard and should be therefore simply accepted.   
         - removal of wrong comments
         - CREATE/DROP TEMPORARY TABLE must not cause implicit commit of the current transaction.
           NDB behaves here correct and InnoDB/Falcon wrong.
         - Add a missing connection slave
         - Reenable the test rpl_ndb_ddl.
      2. Disable rpl_ddl.test because of Bug#26418.
      3. Reenable rpl_ndb_ddl.test
      4. Improvements (affect rpl_ddl.test and rpl_ndb_ddl.test)
         - Better + extended comments which should prevent that somebody accidently destroys the logics of the test
         - Replace SELECT's printing comments by "--echo"  (decreases the number of auxiliary SQL commands)
         - Remove the need for include/rpl_stmt_seq2.inc   (was mostly redundant to rpl_stmt_seq.inc)
         - Remove extra/rpl_tests/rpl_ndb_ddl.test         (corrected extra/rpl_tests/rpl_ddl.test is sufficient)  
         - Shift assignment of values to $show_binlog, $manipulate (variables useful for debugging) into the toplevel scripts
         - The temporary tables get now their storage engine from the variable $temp_engine_type. (more deterministic testing conditions)
         - Add additional protocol line if the connection is switched (was partially missing)
         - Add two DML commands for comparison purposes 
      
      
      BitKeeper/deleted/.del-rpl_ndb_ddl.test:
        Delete: mysql-test/extra/rpl_tests/rpl_ndb_ddl.test
      BitKeeper/deleted/.del-rpl_stmt_seq2.inc:
        Delete: mysql-test/include/rpl_stmt_seq2.inc
      mysql-test/extra/rpl_tests/rpl_ddl.test:
        Improvements + Fixes
      mysql-test/include/rpl_stmt_seq.inc:
        Improvements
      mysql-test/r/rpl_ddl.result:
        Updated expected results
      mysql-test/r/rpl_ndb_ddl.result:
        Updated expected results
      mysql-test/t/disabled.def:
        Reenable rpl_ndb_ddl because of bug fix.
        Disable rpl_ddl because of Bug#26418.
      mysql-test/t/rpl_ddl.test:
        Improvements
      mysql-test/t/rpl_ndb_ddl.test:
        Improvements
      d3f71886
  24. 28 Feb, 2007 1 commit
  25. 23 Feb, 2007 2 commits
    • unknown's avatar
      the fix for BUG#24432 · 8c07265c
      unknown authored
        "INSERT... ON DUPLICATE KEY UPDATE skips auto_increment values"
      didn't make it into 5.0.36 and 5.1.16,
      so we need to adjust the bug-detection-based-on-version-number code.
      Because the rpl tree has a too old version, rpl_insert_id cannot pass,
      so I disable it (like is already the case in 5.1-rpl for the same reason),
      and the repl team will re-enable it when they merge 5.0 and 5.1 into
      their trees (thus getting the right version number).
      
      
      mysql-test/t/disabled.def:
            rpl_insert_id tests statement-based replication of INSERT ON
            DUPLICATE KEY UPDATE. This type of INSERT had BUG#24432, which is
            fixed in 5.0.38; we made the slave detect if it is connected to a
            <5.0.38 master and if so refuse to replicate.
            The problem is that this 5.0-rpl tree, even though it will produce
            the 5.0.38 release, still has a 5.0.36 version in configure.in.
            Thus rpl_insert_id fails. So I disable it. As soon as the 5.0-rpl
            tree gets the changesets from the main 5.0, its version will change
            to 5.0.38 and so the repl team will re-enable the test.
      sql/slave.cc:
        the fix for BUG#24432 didn't make it into 5.0.36 and 5.1.16,
        so we need to adjust the bug-detection-based-on-version-number code.
      8c07265c
    • unknown's avatar
      Fixed compiler warnings · 9e678492
      unknown authored
      Fixed compile-pentium64 scripts
      Fixed wrong estimate of update_with_key_prefix in sql-bench
      Merge bk-internal.mysql.com:/home/bk/mysql-5.1 into mysql.com:/home/my/mysql-5.1
      Fixed unsafe define of uint4korr()
      Fixed that --extern works with mysql-test-run.pl
      Small trivial cleanups
      This also fixes a bug in counting number of rows that are updated when we have many simultanous queries
      Move all connection handling and command exectuion main loop from sql_parse.cc to sql_connection.cc
      Split handle_one_connection() into reusable sub functions.
      Split create_new_thread() into reusable sub functions.
      Added thread_scheduler; Preliminary interface code for future thread_handling code.
      
      Use 'my_thread_id' for internal thread id's
      Make thr_alarm_kill() to depend on thread_id instead of thread
      Make thr_abort_locks_for_thread() depend on thread_id instead of thread
      In store_globals(), set my_thread_var->id to be thd->thread_id.
      Use my_thread_var->id as basis for my_thread_name()
      The above changes makes the connection we have between THD and threads more soft.
      
      Added a lot of DBUG_PRINT() and DBUG_ASSERT() functions
      Fixed compiler warnings
      Fixed core dumps when running with --debug
      Removed setting of signal masks (was never used)
      Made event code call pthread_exit() (portability fix)
      Fixed that event code doesn't call DBUG_xxx functions before my_thread_init() is called.
      Made handling of thread_id and thd->variables.pseudo_thread_id uniform.
      Removed one common 'not freed memory' warning from mysqltest
      Fixed a couple of usage of not initialized warnings (unlikely cases)
      Suppress compiler warnings from bdb and (for the moment) warnings from ndb
      
      
      BitKeeper/deleted/.del-SETUP.sh.rej:
        Rename: BUILD/SETUP.sh.rej -> BitKeeper/deleted/.del-SETUP.sh.rej
      BitKeeper/deleted/.del-configure.in.rej:
        Rename: configure.in.rej -> BitKeeper/deleted/.del-configure.in.rej
      BitKeeper/deleted/.del-my_global.h.rej:
        Rename: include/my_global.h.rej -> BitKeeper/deleted/.del-my_global.h.rej
      BitKeeper/deleted/.del-my_pthread.h.rej:
        Rename: include/my_pthread.h.rej -> BitKeeper/deleted/.del-my_pthread.h.rej
      BitKeeper/deleted/.del-mysql_client_test.c.rej:
        Rename: tests/mysql_client_test.c.rej -> BitKeeper/deleted/.del-mysql_client_test.c.rej
      BitKeeper/deleted/.del-mysqld.cc.rej~35c1c438e11ebd89:
        Rename: sql/mysqld.cc.rej -> BitKeeper/deleted/.del-mysqld.cc.rej~35c1c438e11ebd89
      BitKeeper/deleted/.del-sql_parse.cc.rej:
        Rename: sql/sql_parse.cc.rej -> BitKeeper/deleted/.del-sql_parse.cc.rej
      BitKeeper/deleted/.del-table.cc.rej:
        Rename: sql/table.cc.rej -> BitKeeper/deleted/.del-table.cc.rej
      BitKeeper/deleted/.del-thr_alarm.c.rej:
        Rename: mysys/thr_alarm.c.rej -> BitKeeper/deleted/.del-thr_alarm.c.rej
      BUILD/compile-pentium64:
        Update this to be in line with compile-pentium
      BUILD/compile-pentium:
        Send command line options to SETUP.sh
      BUILD/compile-solaris-sparc-debug:
        Update scripts
      BUILD/compile-solaris-sparc-forte:
        Update scripts
      BUILD/compile-solaris-sparc-purify:
        Update scripts
      BUILD/compile-solaris-sparc:
        Update scripts
      BitKeeper/deleted/.del-DbtupSystemRestart.cpp~15b54d7e4e75d2d:
        Removed compiler warning
      BitKeeper/deleted/.del-ha_berkeley.cc:
        Moved get_auto_primary_key() here as int5store() gives (wrong) compiler warnings in win64
      configure.in:
        Added detection of port_create and port.h (for future)as 
        ---
        manual merge
      BitKeeper/deleted/.del-ha_berkeley.h:
        Moved get_auto_primary_key() to ha_berkeley.cc
      BitKeeper/deleted/.del-mysqlmanager.c~e97636d71145a0b:
        Fixed compiler warnings
      BitKeeper/etc/ignore:
        added storage/ndb/src/ndbapi/ndberror_check
      client/mysqlbinlog.cc:
        Removed not needed 'static' (caused compiler warning)
      client/mysqldump.c:
        Fixed compiler warnings from 'max' build
      client/mysqltest.c:
        Free warning and query memory no abort.
        (Removes strange warnings on screen if mysql-test-run fails)
        Removed compiler warnings
        Portability fix for windows (windows doesn't have mode_t)
      client/sql_string.h:
        Removed compiler warning
      cmd-line-utils/readline/xmalloc.c:
        Fixed compiler warnings from 'max' build
      extra/charset2html.c:
        Fixed compiler warnings
      extra/comp_err.c:
        Fixed compiler warnings from 'max' build
      extra/yassl/include/lock.hpp:
        Fix for windows64
      extra/yassl/include/openssl/ssl.h:
        Changed prototype for SSL_set_fd() to fix compiler warnings (and possible errors) on windows 64 bit
      extra/yassl/include/socket_wrapper.hpp:
        Moved socket_t to ssl.h, to be able to removed compiler warnings on windows 64 bit
      extra/yassl/include/yassl.hpp:
        Fix for windows64
      extra/yassl/src/ssl.cpp:
        Removed compiler warning
        Detect wrong parameter (Happens when running test suite on solaris)
        Changed prototype for SSL_set_fd() to fix compiler warnings (and possible errors) on windows 64 bit
      extra/yassl/taocrypt/src/integer.cpp:
        Fixed compiler warnings
      extra/yassl/testsuite/testsuite.cpp:
        Removed compiler warning
      include/config-win.h:
        Added HAVE_WINSOCK2 (for future)
      include/my_dbug.h:
        Fixed DBUG_PROCESS() so that we don't get compiler warnings for it
      include/my_global.h:
        Fixed unsafe define of uint4korr()
        manual merge (ignore changes from 5.0)
        Fixed warnings on win64 when using int5store and int6store
      include/my_pthread.h:
        Added my_thread_id typedef
        Renamed 'my_thread_id() function to my_thead_dbug_id()
      include/thr_alarm.h:
        Make thr_alarm_kill() to depend on thread_id instead of thread
      include/thr_lock.h:
        Make thr_abort_locks_for_thread() depend on thread_id instead of thread
      libmysql/libmysql.def:
        Fixed compiler warnings on win64
      libmysqld/CMakeLists.txt:
        Added missing files
      libmysqld/Makefile.am:
        Added new files
      libmysqld/lib_sql.cc:
        Remove not needed code (store_globals() now takes care of things)
      mysql-test/lib/mtr_report.pl:
        Removed wrong messages when using --extern
      mysql-test/mysql-test-run.pl:
        Fixed that --extern works
        Print help on stdout instead of stderr (make it easier to pipe it to less)
        Fixed typo that caused mysql-test-run.pl to fail on Solaris
      mysql-test/r/keywords.result:
        manual merge
      mysql-test/r/ndb_lock.result:
        After merge fixes
      mysql-test/r/ps.result:
        Portability fix
      mysql-test/t/disabled.def:
        Disabled ndb_alter_table as this very often fails for me (and have done it for a long time)
      mysql-test/t/keywords.test:
        manual merge
      mysql-test/t/ndb_lock.test:
        Added other possible error code
      mysql-test/t/ps.test:
        Portability fix (when compiling without DLOPEN)
      mysql-test/t/wait_timeout.test:
        Don't run this if we are not using a thread per connection (as other thread_handling code may not support timeouts)
      mysys/base64.c:
        Fixed compiler warnings on win64
      mysys/mf_keycache.c:
        Fixed compiler warnings
      mysys/my_getopt.c:
        Fixed compiler warning
      mysys/my_init.c:
        Fixed compiler warning
        Re-indented long comment
      mysys/my_thr_init.c:
        Always use mysys_var->id to generate thread name (makes things uniform accross thread implementations and thread usage)
        Always generate my_thread_name() when using DBUG
        Ensure mysys_var->pthread_self is set
        Fixed compiler warnings
      mysys/ptr_cmp.c:
        Fixed compiler warnings from 'max' build
      mysys/thr_alarm.c:
        Change thr_alarm_kill() to use mysys_var->id instead of thread id
        Fixed compiler warning on windows
      mysys/thr_lock.c:
        Change thr_abort_locks_for_thread() to use mysys_var->id instead of thread id
        Add purecov statements around not tested code
        Fixed compiler warnings
      mysys/thr_mutex.c:
        my_thread_id() -> my_thread_dbug_id()
      server-tools/instance-manager/guardian.cc:
        Fixed compiler warning
      server-tools/instance-manager/instance.cc:
        Fixed compiler warning
      server-tools/instance-manager/mysql_connection.cc:
        Fixed compiler warnings
      server-tools/instance-manager/mysqlmanager.cc:
        Fixed compiler warnings
      sql/CMakeLists.txt:
        Added missing files
      sql/Makefile.am:
        Added new files
      sql/event_scheduler.cc:
        Added pthread_exit() calls
        Ensure DBUG_xxx calls are not made before my_thread_init()
        Use common functions to set up thread handling
      sql/field.h:
        manual merge
      sql/ha_ndbcluster.cc:
        Removed some trivial 'current_thd' calls
      sql/handler.cc:
        Avoid warnings on KILL_CONNECTION
        Don't print out null pointer with printf()  (Causes crashes on Solaris)
      sql/item.cc:
        Fixed compiler warnings from 'max' build
      sql/item_cmpfunc.cc:
        After merge fixes
      sql/item_func.cc:
        Merge embedded and normal code usage
        (GET_LOCK, RELEASE_LOCK now works on my_thread_id instead of pthread_t)
        Fixed compiler warning
      sql/item_strfunc.cc:
        Fixed compiler warning
      sql/item_timefunc.cc:
        Fixed compiler warnings
      sql/lock.cc:
        Use (new) parameter to thr_abort_locks_for_thread()
      sql/log.cc:
        Fixed compiler warning
      sql/log_event.cc:
        Fixed compiler warnings about not used variable
      sql/mysql_priv.h:
        Remove TEST_NO_THREADS (not needed with new scheduler interface)
        Added functions from sql_connect.cc and new functions from sql_parse.cc
      sql/mysqld.cc:
        Use thread_scheduler structure to dispatch calls (make code more dynamic)
        Change --one-thread option to use thread_scheduler interface
        Made ONE_THREAD option independent of DBUG_BUILD
        --one-thread is now depricated. One should instead use '--thread-handling=no-threads'
        Remove not used uname() function.
        Split create_new_thread() into reusable sub functions.
        Preliminary interface code for future thread_handling code.
        Fixed compiler warnings
      sql/parse_file.cc:
        Don't send zero pointer to fn_format() (Causes crashes when using --debug)
      sql/repl_failsafe.cc:
        Setup pseudo_thread_id same way as other code
      sql/set_var.cc:
        Added variables 'thread_handling'
        Prepare for future variable 'thread_pool_size'
        Fixed compiler warnings
      sql/set_var.h:
        Fixed compiler warning
      sql/slave.cc:
        Setup pseudo_thread_id same way as other code
        Removed not used signal mask
      sql/sql_acl.cc:
        Fixed compiler warnings from 'max' build
      sql/sql_base.cc:
        Fixed long comments
        Normalized variable setup
        Don't destroy value of thd->variables.pseduo_thread_id
        More DBUG_PRINT()'s
        More DBUG_ASSERT()'s
        Fixed compiler warnings from 'max' build
      sql/sql_class.cc:
        Remove thd->real_id and thd->dbug_thread_id
        Added DBUG_ASSERT()
        Use thread_scheduler to signal threads to be killed.
        In THD::store_globals(), set my_thread_var->id to be thd->thread_id.
        Fixed compiler warnings
      sql/sql_class.h:
        Use 'my_thread_id' for internal thread id's
        Remove not needed THD elements: block_signals and dbug_thread_id
        Added 'thread_scheduler' scheduling extension element to THD
      sql/sql_insert.cc:
        After merge fixes
        (This actually fixes a bug in old code when many connections are in use)
        Setup pseudo_thread_id same way as other code
        Removed not used signal mask
        Initialize variable that may be used unitialized on error conditions (not fatal)
      sql/sql_parse.cc:
        Move connection related code to sql_connect.cc
        Remove setting of signal mask (not needed)
        Ensure TABLE_LIST->alias is set for generated TABLE_LIST elements (fixed core dumps when running with --debug)
        Added previous 'optional' element to reset_mgh()
        Removed not needed DBUG_PRINT call
      sql/sql_partition.cc:
        Fixed compiler warnings
      sql/sql_prepare.cc:
        Removed not needed casts
        Fixed compiler warnings from 'max' build
      sql/sql_select.cc:
        Fixed compiler warnings
      sql-bench/bench-init.pl.sh:
        Added --one-missing-tests
      sql-bench/example:
        Better example
      sql-bench/run-all-tests.sh:
        Added --only-missing-tests
      sql-bench/test-insert.sh:
        Fixed wrong estimate of update_with_key_prefix
      sql/sql_show.cc:
        Don't send pthread_kill() to threads to detect if they exists.
        (Not that useful and causes problems with future thread_handling code)
        Fixed compiler warnings
      sql/sql_table.cc:
        Simplify code
        Fixed compiler warnings
      sql/sql_test.cc:
        Remove dbug_thread_id from test output
      sql/sql_view.cc:
        Don't send zero pointer to fn_format()
      sql/tztime.cc:
        Fixed compiler warning
      sql/udf_example.def:
        Fixed compiler warnings on win64
      sql/unireg.cc:
        Initialize variable that may be used unitialized on error conditions
      storage/archive/archive_test.c:
        Fixed compiler warnings
      storage/archive/azio.c:
        Fixed compiler warnings
      storage/innobase/dict/dict0crea.c:
        Fixed compiler warnings detected on windows64
      storage/innobase/dict/dict0dict.c:
        Fixed compiler warnings detected on windows64
      storage/innobase/dict/dict0load.c:
        Fixed compiler warnings detected on windows64
      storage/innobase/dict/dict0mem.c:
        Fixed compiler warnings detected on windows64
      storage/innobase/eval/eval0proc.c:
        Fixed compiler warnings detected on windows64
      storage/innobase/handler/ha_innodb.cc:
        Fixed compiler warnings detected on windows64
      storage/innobase/include/ut0byte.ic:
        Fixed compiler warnings on win64
      storage/innobase/include/ut0ut.ic:
        Fixed compiler warnings on win64
      storage/innobase/mtr/mtr0log.c:
        Fixed compiler warnings detected on windows64
      storage/innobase/pars/pars0lex.l:
        Fixed warnings on win64
      storage/innobase/rem/rem0cmp.c:
        Fixed compiler warnings detected on windows64
      storage/innobase/row/row0mysql.c:
        Fixed compiler warnings detected on windows64
      storage/innobase/row/row0sel.c:
        Fixed compiler warnings detected on windows64
      storage/innobase/sync/sync0rw.c:
        Fixed compiler warnings detected on windows64
      storage/innobase/trx/trx0trx.c:
        Fixed compiler warnings detected on windows64
      storage/myisam/mi_log.c:
        my_thread_id() -> my_thread_debug_id()
      storage/myisam/mi_packrec.c:
        Fixed compiler warnings detected on windows64
      storage/myisam/myisamchk.c:
        Fixed compiler warnings from 'max' build
      storage/ndb/src/common/debugger/EventLogger.cpp:
        Fixed compiler warnings
      storage/ndb/src/common/util/ConfigValues.cpp:
        Removed compiler warnings
      storage/ndb/src/common/util/NdbSqlUtil.cpp:
        Removed compiler warnings
      storage/ndb/src/cw/cpcd/CPCD.hpp:
        Fixed compiler warnings
      storage/ndb/src/kernel/blocks/backup/Backup.cpp:
        Fixed compiler warnings detected on windows64
      storage/ndb/src/kernel/blocks/dbacc/Dbacc.hpp:
        Fixed compiler warnings detected on windows64
      storage/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp:
        Fixed compiler warnings detected on windows64
      storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
        Fixed compiler warnings
      storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
        Fixed compiler warnings
      storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
        Fixed compiler warnings
      storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
        Fixed compiler warnings
      storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
        Fixed compiler warnings
      storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
        Fixed compiler warnings
      storage/ndb/src/kernel/blocks/dbtup/DbtupDiskAlloc.cpp:
        Fixed compiler warnings
      storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp:
        Fixed compiler warnings
      storage/ndb/src/kernel/blocks/dbtup/DbtupFixAlloc.cpp:
        Fixed compiler warnings
      storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp:
        Fixed compiler warnings
      storage/ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp:
        Fixed compiler warnings
      storage/ndb/src/kernel/blocks/dbtup/DbtupScan.cpp:
        Fixed compiler warnings
      storage/ndb/src/kernel/blocks/dbtup/DbtupVarAlloc.cpp:
        Fixed compiler warnings
      storage/ndb/src/kernel/blocks/dbtup/tuppage.cpp:
        Fixed compiler warnings
      storage/ndb/src/kernel/blocks/dbtup/tuppage.hpp:
        Fixed compiler warnings
      storage/ndb/src/kernel/blocks/dbtux/DbtuxStat.cpp:
        Fixed compiler warnings
      storage/ndb/src/kernel/blocks/diskpage.hpp:
        Fixed compiler warnings
      storage/ndb/src/kernel/vm/ndbd_malloc.cpp:
        Fixed compiler warnings
      storage/ndb/src/kernel/vm/ndbd_malloc_impl.cpp:
        Fixed compiler warnings
      storage/ndb/src/mgmclient/main.cpp:
        Fixed compiler warnings
      storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp:
        Fixed compiler warnings
      storage/ndb/src/ndbapi/NdbOperationExec.cpp:
        Fixed compiler warnings
      storage/ndb/src/ndbapi/SignalSender.cpp:
        Fixed compiler warnings
      storage/ndb/tools/restore/consumer_restore.cpp:
        Fixed compiler warnings
      strings/ctype-ucs2.c:
        Fixed compiler warnings
      strings/ctype-utf8.c:
        Fixed compiler warnings
      strings/decimal.c:
        Fixed compiler warnings
      strings/my_strchr.c:
        Fixed conflict between function and prototype
      support-files/compiler_warnings.supp:
        Ignore warnings from sql_yacc.cc that are hard to remove
        Ignore some not important warnings from windows 64 bit build
        Suppress warnings from bdb and (for the moment) warnings from ndb
        Suppress all warnings for all pushbuild platforms (should make all trees green)
      vio/viosslfactories.c:
        Added DBUG_PRINT
      BUILD/compile-pentium64-max:
        New BitKeeper file ``BUILD/compile-pentium64-max''
      libmysqld/scheduler.cc:
        New BitKeeper file ``libmysqld/scheduler.cc''
      libmysqld/sql_connect.cc:
        New BitKeeper file ``libmysqld/sql_connect.cc''
      mysql-test/include/one_thread_per_connection.inc:
        New BitKeeper file ``mysql-test/include/one_thread_per_connection.inc''
      mysql-test/r/no-threads.result:
        New BitKeeper file ``mysql-test/r/no-threads.result''
      mysql-test/r/one_thread_per_connection.require:
        New BitKeeper file ``mysql-test/r/one_thread_per_connection.require''
      mysql-test/t/no-threads-master.opt:
        New BitKeeper file ``mysql-test/t/no-threads-master.opt''
      mysql-test/t/no-threads.test:
        New BitKeeper file ``mysql-test/t/no-threads.test''
      sql/scheduler.cc:
        New BitKeeper file ``sql/scheduler.cc''
      sql/scheduler.h:
        New BitKeeper file ``sql/scheduler.h''
      sql/sql_connect.cc:
        New BitKeeper file ``sql/sql_connect.cc''
      9e678492
  26. 20 Feb, 2007 1 commit
    • unknown's avatar
      Fix for BUG#24415: Instance manager test im_daemon_life_cycle fails randomly. · 4bb9efa6
      unknown authored
      The cause of im_daemon_life_cycle.imtest random failures was the following
      behaviour of some implementations of LINUX threads: let's suppose that a
      process has several threads (in LINUX threads, there is a separate process for
      each thread). When the main process gets killed, the parent receives SIGCHLD
      before all threads (child processes) die. In other words, the parent receives
      SIGCHLD, when its child is not completely dead.
      
      In terms of IM, that means that IM-angel receives SIGCHLD when IM-main is not dead
      and still holds some resources. After receiving SIGCHLD, IM-angel restarts
      IM-main, but IM-main failed to initialize, because previous instance (copy) of
      IM-main still holds server socket (TCP-port).
      
      Another problem here was that IM-angel restarted IM-main only if it was killed
      by signal. If it exited with error, IM-angel thought it's intended / graceful
      shutdown and exited itself.
      
      So, when the second instance of IM-main failed to initialize, IM-angel thought
      it's intended shutdown and quit.
      
      The fix is
        1. to change IM-angel so that it restarts IM-main if it exited with error code;
        2. to change IM-main so that it returns proper exit code in case of failure.
      
      
      mysql-test/t/disabled.def:
        Enable im_daemon_life_cycle.
      server-tools/instance-manager/listener.cc:
        Set error status if Listener failed to initialize.
      server-tools/instance-manager/manager.cc:
        Return exit code from the manager.
      server-tools/instance-manager/manager.h:
        Return exit code from the manager.
      server-tools/instance-manager/mysqlmanager.cc:
        1. Restart IM-main if exit code is not EXIT_SUCCESS (0).
        2. Log IM-main exit code in case of failure.
      server-tools/instance-manager/thread_registry.cc:
        Add support for exit code.
      server-tools/instance-manager/thread_registry.h:
        Add support for exit code.
      4bb9efa6
  27. 15 Feb, 2007 1 commit
    • unknown's avatar
      Manual merge from 5.0-rpl, of fixes for: · af71cac0
      unknown authored
      1)
        BUG#25507 "multi-row insert delayed + auto increment causes
        duplicate key entries on slave" (two concurrrent connections doing
        multi-row INSERT DELAYED to insert into an auto_increment column,
        caused replication slave to stop with "duplicate key error" (and
        binlog was wrong), and BUG#26116 "If multi-row INSERT
        DELAYED has errors, statement-based binlogging breaks" (the binlog
        was not accounting for all rows inserted, or slave could stop).
        The fix is that: in statement-based binlogging, a multi-row INSERT
        DELAYED is silently converted to a non-delayed INSERT.
        This is supposed to not affect many 5.1 users as in 5.1, the default
        binlog format is "mixed", which does not have the bug (the bug is
        only with binlog_format=STATEMENT).
        We should document how the system delayed_insert thread decides of
        its binlog format (which is not modified by this patch):
        this decision is taken when the thread is created
        and holds until it is terminated (is not affected by any later change
        via SET GLOBAL BINLOG_FORMAT). It is also not affected by the binlog
        format of the connection which issues INSERT DELAYED (this binlog
        format does not affect how the row will be binlogged).
        If one wants to change the binlog format of its server with SET
        GLOBAL BINLOG_FORMAT, it should do FLUSH TABLES to be sure all
        delayed_insert threads terminate and thus new threads are created,
        taking into account the new format.
      2)
        BUG#24432
        "INSERT... ON DUPLICATE KEY UPDATE skips auto_increment values".
        When in an INSERT ON DUPLICATE KEY UPDATE, using
        an autoincrement column, we inserted some autogenerated values and
        also updated some rows, some autogenerated values were not used
        (for example, even if 10 was the largest autoinc value in the table
        at the start of the statement, 12 could be the first autogenerated
        value inserted by the statement, instead of 11). One autogenerated
        value was lost per updated row. Led to exhausting the range of the
        autoincrement column faster.
        Bug introduced by fix of BUG#20188; present since 5.0.24 and 5.1.12.
        This bug breaks replication from a pre-5.0.24/pre-5.1.12 master.
        But the present bugfix, as it makes INSERT ON DUP KEY UPDATE
        behave like pre-5.0.24/pre-5.1.12, breaks replication from a
        [5.0.24,5.0.34]/[5.1.12,5.1.15]
        master to a fixed (5.0.36/5.1.16) slave! To warn users against this when
        they upgrade their slave, as agreed with the support team, we add
        code for a fixed slave to detect that it is connected to a buggy
        master in a situation (INSERT ON DUP KEY UPDATE into autoinc column)
        likely to break replication, in which case it cannot replicate so
        stops and prints a message to the slave's error log and to SHOW SLAVE
        STATUS.
        For 5.0.36->[5.0.24,5.0.34] replication or 5.1.16->[5.1.12,5.1.15]
        replication we cannot warn as master
        does not know the slave's version (but we always recommended to users
        to have slave at least as new as master).
        As agreed with support, I have asked for an alert to be put into
        the MySQL Network Monitoring and Advisory Service.
      3) note that I'll re-enable rpl_insert_id as soon as 5.1-rpl gets
        the changes from the main 5.1.
      
      
      BitKeeper/deleted/.del-rpl_insert_delayed.result:
        Delete: mysql-test/r/rpl_insert_delayed.result
      mysql-test/extra/rpl_tests/rpl_insert_delayed.test:
        tests for BUG#25507 (lauch many concurrent INSERT DELAYED into an auto_inc
        column and see if they cause duplicates) and BUG#26116 (see if one error
        at first row on master makes the slave's data incorrect).
        It is then incorporated into a statement-based and mixed binlogging
        test, and into a row-based test.
        It is in fact mysql-test/t/rpl_insert_delayed.test from 5.0, renamed
        and extended to test BUG#25507.
      mysql-test/extra/rpl_tests/rpl_insert_id.test:
        manual merge of test for BUG#24432
        "INSERT... ON DUPLICATE KEY UPDATE skips auto_increment values"
        from 5.0
      mysql-test/r/rpl_insert_id.result:
        result update (it automerged from 5.0, contrary to the test file)
      mysql-test/r/rpl_known_bugs_detection.result:
        result update (binlog event sizes differ from 5.0)
      mysql-test/t/disabled.def:
        rpl_insert_id tests statement-based replication of INSERT ON
        DUPLICATE KEY UPDATE. This type of INSERT had BUG#24432, which is
        fixed in 5.1.16; we made the slave detect if it is connected to a
        <5.1.16 master and if so refuse to replicate.
        The problem is that this 5.1-rpl tree, even though it will produce
        the 5.1.16 release, still has a 5.1.15 version in configure.in.
        Thus rpl_insert_id fails. So I disable it. As soon as the 5.1-rpl
        tree gets the changesets from the main 5.1, its version will change
        to 5.1.16 and so I'll be able to re-enable the test.
      mysql-test/t/rpl_known_bugs_detection.test:
        only in statement-based; row-based has no bug so test would fail.
      sql/slave.cc:
        slave_print_msg(ERROR_LEVEL) calls my_error(ER_UNKNOWN_ERROR);
        so, for our my_printf_error(), which has a nicer message than this
        my_error(), to have any effect, it must be 
        called before slave_print_msg()
      sql/sql_insert.cc:
        manual merge from 5.0 of a piece of the fixes for
        BUG#24432 "INSERT... ON DUPLICATE KEY UPDATE skips auto_increment values"
        BUG#25507 "multi-row insert delayed + auto increment causes
        duplicate key entries on slave"
        BUG#26116 "If multi-row INSERT DELAYED has errors, statement-based
        binlogging breaks".
        The other pieces (e.g. log_event.cc) automerged from 5.0.
      mysql-test/r/rpl_row_insert_delayed.result:
        result
      mysql-test/r/rpl_stm_insert_delayed.result:
        result. Note how "mixed" and "statement" insert different data in
        the table.
      mysql-test/t/rpl_row_insert_delayed.test:
        wrapper to test INSERT DELAYED binlogging in row-based mode
      mysql-test/t/rpl_stm_insert_delayed.test:
        wrapper to test INSERT DELAYED binlogging in statement-based and mixed
        mode
      af71cac0
  28. 06 Feb, 2007 1 commit
    • unknown's avatar
      Bug#24805 mtr.pl can't handle test with --disable-log-bin · 04b52251
      unknown authored
      - Don't give mysqld the --log-bin argument if .opt file
        contains --skip-log-bin
      - Enable flush2 test
      
      
      mysql-test/mysql-test-run.pl:
        Don't give mysqld the --log-bin argument if .opt file contains --skip-log-bin 
        Don't pass mysqld --binlog-format=s if --skip-log-bin
      mysql-test/t/disabled.def:
        Enable flush2
      mysql-test/t/flush2-master.opt:
        Use --skip-log-bin in flush2 to test flush without bin logging
      04b52251
  29. 29 Jan, 2007 1 commit
    • unknown's avatar
      after merge fixes · 721e4128
      unknown authored
      Removed 
      
      
      mysql-test/t/disabled.def:
        Disabled rp_ndb_dd_advance, becasue of random failures
      mysql-test/t/rpl_ndb_dd_advance.test:
        Added big_test, as this test takes +600 seconds
      plugin/daemon_example/daemon_example.c:
        Removed compiler warnings
      sql/item_cmpfunc.cc:
        after merge fixes
      sql/item_subselect.cc:
        after merge fixes
      storage/ndb/src/common/util/ConfigValues.cpp:
        Removed declarations to nonexisting functions
      storage/ndb/src/kernel/blocks/dbdict/printSchemaFile.cpp:
        Removed not used function
      storage/ndb/src/kernel/blocks/lgman.cpp:
        Removed not used variables
      storage/ndb/src/kernel/blocks/pgman.cpp:
        Removed not used variables
      storage/ndb/src/kernel/blocks/restore.cpp:
        Removed not used variables
      storage/ndb/src/kernel/blocks/tsman.cpp:
        Removed not used variables
      storage/ndb/src/kernel/vm/DynArr256.cpp:
        Removed not used variables
      storage/ndb/src/kernel/vm/ndbd_malloc_impl.cpp:
        Removed not used variables
      storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp:
        Removed not used variables
      storage/ndb/src/ndbapi/NdbIndexStat.cpp:
        Removed not used variable
      storage/ndb/src/ndbapi/NdbRecAttr.cpp:
        Removed not used variable
      storage/ndb/tools/desc.cpp:
        Removed not used variable
      support-files/compiler_warnings.supp:
        Added suppress message for hard to remove warning
      721e4128
  30. 24 Jan, 2007 1 commit
  31. 22 Jan, 2007 2 commits