1. 13 Nov, 2006 6 commits
  2. 11 Nov, 2006 3 commits
  3. 10 Nov, 2006 13 commits
  4. 09 Nov, 2006 12 commits
    • unknown's avatar
      Bug#20691: DATETIME col (NOT NULL, NO DEFAULT) may insert garbage when \ · 19d61b1b
      unknown authored
      	specifying DEFAULT
      
      This was not specific to datetime.  When there is no default value 
      for a column, and the user inserted DEFAULT, we would write 
      uninitialized memory to the table.  
      
      Now, insist on writing a default value, a zero-ish value, the same 
      one that comes from inserting NULL into a not-NULL field.
      
      (This is, at best, really strange behavior that comes from allowing 
      sloppy usage, and serves as a good reason always to run one's server 
      in a strict SQL mode.)
      
      
      mysql-test/r/default.result:
        Verify that all kinds of types work, even others other than datetime.
      mysql-test/t/default.test:
        Verify that all kinds of types work, even others other than datetime.
      sql/item.cc:
        Even if we warn that there is no default value in the table definition,
        we have to insert /something/.
      19d61b1b
    • unknown's avatar
      Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint · 6cd30595
      unknown authored
      into  neptunus.(none):/home/msvensson/mysql/mysql-5.1-new-maint
      
      
      mysql-test/mysql-test-run.pl:
        Auto merged
      6cd30595
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-5.1-new-maint · b58590a1
      unknown authored
      into  neptunus.(none):/home/msvensson/mysql/mysql-5.1-new-maint
      
      
      b58590a1
    • unknown's avatar
      Merge neptunus.(none):/home/msvensson/mysql/mysql-4.1-maint · 2eeb38ac
      unknown authored
      into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
      
      
      mysql-test/mysql-test-run.pl:
        Merge
      2eeb38ac
    • unknown's avatar
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-4.1-maint · 4a1869b1
      unknown authored
      into  neptunus.(none):/home/msvensson/mysql/mysql-4.1-maint
      
      
      4a1869b1
    • unknown's avatar
      Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.1-maint · 298b1174
      unknown authored
      into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/inno/51
      
      
      client/mysql_upgrade.c:
        Auto merged
      client/mysqltest.c:
        Auto merged
      mysql-test/mysql-test-run.pl:
        Auto merged
      mysql-test/r/im_daemon_life_cycle.result:
        Auto merged
      mysql-test/t/im_daemon_life_cycle.imtest:
        Auto merged
      vio/viosslfactories.c:
        Auto merged
      298b1174
    • unknown's avatar
      Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/inno/50 · 20e44a34
      unknown authored
      into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/inno/51
      
      
      storage/innobase/buf/buf0buf.c:
        use local
      storage/innobase/buf/buf0flu.c:
        use local
      storage/innobase/buf/buf0lru.c:
        use local
      storage/innobase/dict/dict0crea.c:
        use local
      storage/innobase/fil/fil0fil.c:
        use local
      storage/innobase/include/buf0buf.h:
        use local
      storage/innobase/include/buf0buf.ic:
        use local
      storage/innobase/include/dict0crea.h:
        use local
      storage/innobase/include/sync0arr.h:
        use local
      storage/innobase/include/sync0rw.h:
        use local
      storage/innobase/include/sync0rw.ic:
        use local
      storage/innobase/include/sync0sync.h:
        use local
      storage/innobase/os/os0sync.c:
        use local
      storage/innobase/row/row0mysql.c:
        use local
      storage/innobase/row/row0sel.c:
        use local
      storage/innobase/srv/srv0start.c:
        use local
      storage/innobase/sync/sync0arr.c:
        use local
      storage/innobase/sync/sync0rw.c:
        use local
      storage/innobase/sync/sync0sync.c:
        use local
      20e44a34
    • unknown's avatar
      Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/inno/41 · 44f15cae
      unknown authored
      into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/inno/50
      
      
      innobase/fil/fil0fil.c:
        use local
      44f15cae
    • unknown's avatar
      This ChangeSet must be null-merged to 5.0. Applied innodb-4.1-ss33 · 870b2e0a
      unknown authored
      Fixes:
      - Bug #24089: Race condition in fil_flush_file_spaces()
      
      
      innobase/fil/fil0fil.c:
        Applied innodb-4.1-ss33
        
        Revision r33:
        innodb-4.1: Merge r1002 from innodb/trunk:
        
        fil_flush_file_spaces(): Copy the system->unflushed_spaces list to an
        array while holding the mutex.  This removes the crash-triggering
        race condition that was introduced when fixing Bug 15653.  (Bug #24089)
      870b2e0a
    • unknown's avatar
      This ChangeSet must be null-merged to 5.1. Applied innodb-5.0-ss982, -ss998, -ss1003 · c12c382f
      unknown authored
      Fixes:
      - Bug #15815: Very poor performance with multiple queries running concurrently
      - Bug #22868: 'Thread thrashing' with > 50 concurrent conns under an upd-intensive workloadw
      - Bug #23769: Debug assertion failure with innodb_locks_unsafe_for_binlog
      - Bug #24089: Race condition in fil_flush_file_spaces()
      
      
      innobase/buf/buf0buf.c:
        Applied innodb-5.0-ss982, -ss998, -ss1003
        
        Revision r1000:
        branches/5.0: Merge r999 from trunk:
        
        Reduce buffer pool mutex contention under >= 4 big concurrent
        CPU-bound SELECT queries.  (Bug #22868)
        
        Fix: replace the mutex by one mutex protecting the 'flush list'
        (and the free list) and several mutexes protecting portions of the
        buffer pool, where we keep several indivudual LRU lists of pages.
        
        This patch is from Sunny Bains and Heikki Tuuri.
      innobase/buf/buf0flu.c:
        Applied innodb-5.0-ss982, -ss998, -ss1003
        
        Revision r1000:
        branches/5.0: Merge r999 from trunk:
        
        Reduce buffer pool mutex contention under >= 4 big concurrent
        CPU-bound SELECT queries.  (Bug #22868)
        
        Fix: replace the mutex by one mutex protecting the 'flush list'
        (and the free list) and several mutexes protecting portions of the
        buffer pool, where we keep several indivudual LRU lists of pages.
        
        This patch is from Sunny Bains and Heikki Tuuri.
      innobase/buf/buf0lru.c:
        Applied innodb-5.0-ss982, -ss998, -ss1003
        
        Revision r1000:
        branches/5.0: Merge r999 from trunk:
        
        Reduce buffer pool mutex contention under >= 4 big concurrent
        CPU-bound SELECT queries.  (Bug #22868)
        
        Fix: replace the mutex by one mutex protecting the 'flush list'
        (and the free list) and several mutexes protecting portions of the
        buffer pool, where we keep several indivudual LRU lists of pages.
        
        This patch is from Sunny Bains and Heikki Tuuri.
      innobase/dict/dict0crea.c:
        Applied innodb-5.0-ss982, -ss998, -ss1003
        
        Revision r974:
        branches/5.0: Port r973 from trunk.
        
        Do not break the latching order in TRUNCATE TABLE.
        
        dict_truncate_index_tree(): Replace parameter rec_t* rec with
        btr_pcur_t* pcur.  Reposition pcur before calling btr_create().
        
        sync_thread_add_level(): Remove the relaxation of the assertion added in r968.
      innobase/fil/fil0fil.c:
        Applied innodb-5.0-ss982, -ss998, -ss1003
        
        Revision r1003:
        branches/5.0: Merge r1002 from trunk:
        
        fil_flush_file_spaces(): Copy the system->unflushed_spaces list to an
        array while holding the mutex.  This removes the crash-triggering
        race condition that was introduced when fixing Bug 15653.  (Bug #24089)
      innobase/include/buf0buf.h:
        Applied innodb-5.0-ss982, -ss998, -ss1003
        
        Revision r1000:
        branches/5.0: Merge r999 from trunk:
        
        Reduce buffer pool mutex contention under >= 4 big concurrent
        CPU-bound SELECT queries.  (Bug #22868)
        
        Fix: replace the mutex by one mutex protecting the 'flush list'
        (and the free list) and several mutexes protecting portions of the
        buffer pool, where we keep several indivudual LRU lists of pages.
        
        This patch is from Sunny Bains and Heikki Tuuri.
      innobase/include/buf0buf.ic:
        Applied innodb-5.0-ss982, -ss998, -ss1003
        
        Revision r1000:
        branches/5.0: Merge r999 from trunk:
        
        Reduce buffer pool mutex contention under >= 4 big concurrent
        CPU-bound SELECT queries.  (Bug #22868)
        
        Fix: replace the mutex by one mutex protecting the 'flush list'
        (and the free list) and several mutexes protecting portions of the
        buffer pool, where we keep several indivudual LRU lists of pages.
        
        This patch is from Sunny Bains and Heikki Tuuri.
      innobase/include/dict0crea.h:
        Applied innodb-5.0-ss982, -ss998, -ss1003
        
        Revision r974:
        branches/5.0: Port r973 from trunk.
        
        Do not break the latching order in TRUNCATE TABLE.
        
        dict_truncate_index_tree(): Replace parameter rec_t* rec with
        btr_pcur_t* pcur.  Reposition pcur before calling btr_create().
        
        sync_thread_add_level(): Remove the relaxation of the assertion added in r968.
      innobase/include/sync0arr.h:
        Applied innodb-5.0-ss982, -ss998, -ss1003
        
        Revision r1001:
        branches/5.0: Reduce locking contention:
        
        Bug #15815: 'Thread thrashing' with > 50 concurrent connections under
        an update-intensive workload.
        Fix: Introduce one event per InnoDB semaphore.
        
        This patch is from Sunny Bains and Heikki Tuuri.
        This patch will not be merged to trunk (MySQL/InnoDB 5.1) yet,
        because it tries to address the problem in a different way.
      innobase/include/sync0rw.h:
        Applied innodb-5.0-ss982, -ss998, -ss1003
        
        Revision r1001:
        branches/5.0: Reduce locking contention:
        
        Bug #15815: 'Thread thrashing' with > 50 concurrent connections under
        an update-intensive workload.
        Fix: Introduce one event per InnoDB semaphore.
        
        This patch is from Sunny Bains and Heikki Tuuri.
        This patch will not be merged to trunk (MySQL/InnoDB 5.1) yet,
        because it tries to address the problem in a different way.
      innobase/include/sync0rw.ic:
        Applied innodb-5.0-ss982, -ss998, -ss1003
        
        Revision r1001:
        branches/5.0: Reduce locking contention:
        
        Bug #15815: 'Thread thrashing' with > 50 concurrent connections under
        an update-intensive workload.
        Fix: Introduce one event per InnoDB semaphore.
        
        This patch is from Sunny Bains and Heikki Tuuri.
        This patch will not be merged to trunk (MySQL/InnoDB 5.1) yet,
        because it tries to address the problem in a different way.
      innobase/include/sync0sync.h:
        Applied innodb-5.0-ss982, -ss998, -ss1003
        
        Revision r1001:
        branches/5.0: Reduce locking contention:
        
        Bug #15815: 'Thread thrashing' with > 50 concurrent connections under
        an update-intensive workload.
        Fix: Introduce one event per InnoDB semaphore.
        
        This patch is from Sunny Bains and Heikki Tuuri.
        This patch will not be merged to trunk (MySQL/InnoDB 5.1) yet,
        because it tries to address the problem in a different way.
      innobase/os/os0sync.c:
        Applied innodb-5.0-ss982, -ss998, -ss1003
        
        Revision r1001:
        branches/5.0: Reduce locking contention:
        
        Bug #15815: 'Thread thrashing' with > 50 concurrent connections under
        an update-intensive workload.
        Fix: Introduce one event per InnoDB semaphore.
        
        This patch is from Sunny Bains and Heikki Tuuri.
        This patch will not be merged to trunk (MySQL/InnoDB 5.1) yet,
        because it tries to address the problem in a different way.
      innobase/row/row0mysql.c:
        Applied innodb-5.0-ss982, -ss998, -ss1003
        
        Revision r974:
        branches/5.0: Port r973 from trunk.
        
        Do not break the latching order in TRUNCATE TABLE.
        
        dict_truncate_index_tree(): Replace parameter rec_t* rec with
        btr_pcur_t* pcur.  Reposition pcur before calling btr_create().
        
        sync_thread_add_level(): Remove the relaxation of the assertion added in r968.
      innobase/row/row0sel.c:
        Applied innodb-5.0-ss982, -ss998, -ss1003
        
        Revision r982:
        branches/5.0: row_sel(): Do not try to acquire a LOCK_REC_NOT_GAP lock
        on the supremum record.  Instead, skip to the next record.  (Bug #23769)
        This fix was backported from r623 in the 5.1 tree.
      innobase/srv/srv0start.c:
        Applied innodb-5.0-ss982, -ss998, -ss1003
        
        Revision r926:
        Refer to bug: 22268. Since no one tries to run 5.0 on Windows 95/ME it was
        decided to raise the limit of srv_max_n_threads to 10000 on Windows.
      innobase/sync/sync0arr.c:
        Applied innodb-5.0-ss982, -ss998, -ss1003
        
        Revision r1001:
        branches/5.0: Reduce locking contention:
        
        Bug #15815: 'Thread thrashing' with > 50 concurrent connections under
        an update-intensive workload.
        Fix: Introduce one event per InnoDB semaphore.
        
        This patch is from Sunny Bains and Heikki Tuuri.
        This patch will not be merged to trunk (MySQL/InnoDB 5.1) yet,
        because it tries to address the problem in a different way.
      innobase/sync/sync0rw.c:
        Applied innodb-5.0-ss982, -ss998, -ss1003
        
        Revision r1001:
        branches/5.0: Reduce locking contention:
        
        Bug #15815: 'Thread thrashing' with > 50 concurrent connections under
        an update-intensive workload.
        Fix: Introduce one event per InnoDB semaphore.
        
        This patch is from Sunny Bains and Heikki Tuuri.
        This patch will not be merged to trunk (MySQL/InnoDB 5.1) yet,
        because it tries to address the problem in a different way.
      innobase/sync/sync0sync.c:
        Applied innodb-5.0-ss982, -ss998, -ss1003
        
        Revision r969:
        branches/5.0: Port r968 from trunk:
        
        sync_thread_add_level(): When level == SYNC_TREE_NODE, allow the latching
        order to be violated if the thread holds dict_operation_lock, whose level is
        SYNC_DICT_OPERATION.  This removes the assertion failure of TRUNCATE TABLE
        #ifdef UNIV_SYNC_DEBUG.
        
        
        Revision r974:
        branches/5.0: Port r973 from trunk.
        
        Do not break the latching order in TRUNCATE TABLE.
        
        dict_truncate_index_tree(): Replace parameter rec_t* rec with
        btr_pcur_t* pcur.  Reposition pcur before calling btr_create().
        
        sync_thread_add_level(): Remove the relaxation of the assertion added in r968.
        
        
        Revision r1001:
        branches/5.0: Reduce locking contention:
        
        Bug #15815: 'Thread thrashing' with > 50 concurrent connections under
        an update-intensive workload.
        Fix: Introduce one event per InnoDB semaphore.
        
        This patch is from Sunny Bains and Heikki Tuuri.
        This patch will not be merged to trunk (MySQL/InnoDB 5.1) yet,
        because it tries to address the problem in a different way.
      c12c382f
    • unknown's avatar
      Applied innodb-5.1-ss1004 · 0ea6669e
      unknown authored
      Fixes:
      - Bug #15815: Very poor performance with multiple queries running concurrently
      - Bug #22868: 'Thread thrashing' with > 50 concurrent conns under an upd-intensive workloadw
      - Bug #24089: Race condition in fil_flush_file_spaces()
      
      
      storage/innobase/btr/btr0btr.c:
        Applied innodb-5.1-ss1004
        
        Revision r934:
        btr_lift_page_up(): Set new page levels in all ancestor pages, not just
        in the father page.
        
        btr0btr.h: Add a BTR_MAX_LEVELS define.
      storage/innobase/buf/buf0buf.c:
        Applied innodb-5.1-ss1004
        
        Revision r999:
        Reduce buffer pool mutex contention under >= 4 big concurrent
        CPU-bound SELECT queries.  (Bug #22868)
        
        Fix: replace the mutex by one mutex protecting the 'flush list'
        (and the free list) and several mutexes protecting portions of the
        buffer pool, where we keep several indivudual LRU lists of pages.
        
        This patch is from Sunny Bains and Heikki Tuuri.
      storage/innobase/buf/buf0flu.c:
        Applied innodb-5.1-ss1004
        
        Revision r999:
        Reduce buffer pool mutex contention under >= 4 big concurrent
        CPU-bound SELECT queries.  (Bug #22868)
        
        Fix: replace the mutex by one mutex protecting the 'flush list'
        (and the free list) and several mutexes protecting portions of the
        buffer pool, where we keep several indivudual LRU lists of pages.
        
        This patch is from Sunny Bains and Heikki Tuuri.
      storage/innobase/buf/buf0lru.c:
        Applied innodb-5.1-ss1004
        
        Revision r999:
        Reduce buffer pool mutex contention under >= 4 big concurrent
        CPU-bound SELECT queries.  (Bug #22868)
        
        Fix: replace the mutex by one mutex protecting the 'flush list'
        (and the free list) and several mutexes protecting portions of the
        buffer pool, where we keep several indivudual LRU lists of pages.
        
        This patch is from Sunny Bains and Heikki Tuuri.
        
        
        Revision r1004:
        UT_LIST_REMOVE(): Invalidate the node pointers #ifdef UNIV_DEBUG.
        
        buf_LRU_invalidate_tablespace(): Invoke UT_LIST_GET_PREV(LRU, block)
        before UT_LIST_REMOVE(LRU, buf_pool->LRU, block).
      storage/innobase/dict/dict0crea.c:
        Applied innodb-5.1-ss1004
        
        Revision r973:
        Do not break the latching order in TRUNCATE TABLE.
        
        dict_truncate_index_tree(): Replace parameter rec_t* rec with
        btr_pcur_t* pcur.  Reposition pcur before calling btr_create().
        
        sync_thread_add_level(): Remove the relaxation of the assertion added in r968.
      storage/innobase/fil/fil0fil.c:
        Applied innodb-5.1-ss1004
        
        Revision r1002:
        fil_flush_file_spaces(): Copy the system->unflushed_spaces list to an
        array while holding the mutex.  This removes the crash-triggering
        race condition that was introduced when fixing Bug 15653.  (Bug #24089)
      storage/innobase/include/btr0btr.h:
        Applied innodb-5.1-ss1004
        
        Revision r934:
        btr_lift_page_up(): Set new page levels in all ancestor pages, not just
        in the father page.
        
        btr0btr.h: Add a BTR_MAX_LEVELS define.
      storage/innobase/include/buf0buf.h:
        Applied innodb-5.1-ss1004
        
        Revision r999:
        Reduce buffer pool mutex contention under >= 4 big concurrent
        CPU-bound SELECT queries.  (Bug #22868)
        
        Fix: replace the mutex by one mutex protecting the 'flush list'
        (and the free list) and several mutexes protecting portions of the
        buffer pool, where we keep several indivudual LRU lists of pages.
        
        This patch is from Sunny Bains and Heikki Tuuri.
      storage/innobase/include/buf0buf.ic:
        Applied innodb-5.1-ss1004
        
        Revision r999:
        Reduce buffer pool mutex contention under >= 4 big concurrent
        CPU-bound SELECT queries.  (Bug #22868)
        
        Fix: replace the mutex by one mutex protecting the 'flush list'
        (and the free list) and several mutexes protecting portions of the
        buffer pool, where we keep several indivudual LRU lists of pages.
        
        This patch is from Sunny Bains and Heikki Tuuri.
      storage/innobase/include/dict0crea.h:
        Applied innodb-5.1-ss1004
        
        Revision r973:
        Do not break the latching order in TRUNCATE TABLE.
        
        dict_truncate_index_tree(): Replace parameter rec_t* rec with
        btr_pcur_t* pcur.  Reposition pcur before calling btr_create().
        
        sync_thread_add_level(): Remove the relaxation of the assertion added in r968.
      storage/innobase/include/ut0lst.h:
        Applied innodb-5.1-ss1004
        
        Revision r1004:
        UT_LIST_REMOVE(): Invalidate the node pointers #ifdef UNIV_DEBUG.
        
        buf_LRU_invalidate_tablespace(): Invoke UT_LIST_GET_PREV(LRU, block)
        before UT_LIST_REMOVE(LRU, buf_pool->LRU, block).
      storage/innobase/row/row0mysql.c:
        Applied innodb-5.1-ss1004
        
        Revision r973:
        Do not break the latching order in TRUNCATE TABLE.
        
        dict_truncate_index_tree(): Replace parameter rec_t* rec with
        btr_pcur_t* pcur.  Reposition pcur before calling btr_create().
        
        sync_thread_add_level(): Remove the relaxation of the assertion added in r968.
      0ea6669e
  5. 08 Nov, 2006 6 commits