Commit graph

59 commits

Author SHA1 Message Date
marko
227df33ed6 branches/innodb+: Merge revisions 6560:6773 from branches/zip:
------------------------------------------------------------------------
  r6560 | sunny | 2010-02-04 16:11:23 +0200 (Thu, 04 Feb 2010) | 7 lines
  Changed paths:
     M /branches/zip/lock/lock0lock.c

  branches/zip: Remove the additional check introduced in r6534 which tries
  to check if the joining transaction has any other transactions waiting on
  its locks. This optimization results in excessive deadlocks when running
  Sysbench with a large number of threads. The function seems to return
  FALSE positives.

  rb://250
  ------------------------------------------------------------------------
  r6591 | marko | 2010-02-08 10:06:39 +0200 (Mon, 08 Feb 2010) | 3 lines
  Changed paths:
     M /branches/zip/row/row0merge.c

  branches/zip: row_merge_drop_index(): Remove redundant condition
  on SYS_INDEXES.TABLE_ID.  INDEX_ID must be instance-widely unique,
  because SYS_FIELDS is not indexed by TABLE_ID.
  ------------------------------------------------------------------------
  r6594 | marko | 2010-02-08 12:55:04 +0200 (Mon, 08 Feb 2010) | 2 lines
  Changed paths:
     M /branches/zip/rem/rem0rec.c

  branches/zip: rec_get_nth_field_offs_old():
  Replace if (!cond) ut_error; tests with ut_a(cond).
  ------------------------------------------------------------------------
  r6595 | marko | 2010-02-08 13:53:02 +0200 (Mon, 08 Feb 2010) | 1 line
  Changed paths:
     M /branches/zip/include/btr0pcur.h
     M /branches/zip/include/btr0pcur.ic

  branches/zip: btr_pcur_commit(): Unused function, remove.
  ------------------------------------------------------------------------
  r6608 | marko | 2010-02-09 11:02:37 +0200 (Tue, 09 Feb 2010) | 1 line
  Changed paths:
     M /branches/zip/handler/handler0alter.cc

  branches/zip: ha_innobase::add_index(): Check for !innodb_table.
  ------------------------------------------------------------------------
  r6609 | marko | 2010-02-09 13:45:40 +0200 (Tue, 09 Feb 2010) | 1 line
  Changed paths:
     M /branches/zip/dict/dict0dict.c

  branches/zip: dict_field_print_low(): Add const qualifier.
  ------------------------------------------------------------------------
  r6610 | marko | 2010-02-09 13:53:59 +0200 (Tue, 09 Feb 2010) | 17 lines
  Changed paths:
     M /branches/zip/dict/dict0boot.c
     M /branches/zip/include/dict0boot.h
     M /branches/zip/row/row0merge.c
     M /branches/zip/row/row0mysql.c

  branches/zip: When dropping temporary indexes and tables at startup,
  first load them to the data dictionary cache and use the normal
  routines for dropping tables or indexes.  This should reduce the
  risk of bugs and also make the code compatible with the upcoming
  TablespaceDictionary implementation.

  DICT_SYS_INDEXES_NAME_FIELD: The clustered index position of SYS_INDEXES.NAME.

  row_merge_drop_temp_indexes(): Scan SYS_INDEXES for tables containing
  temporary indexes, and load the tables as needed. Invoke
  row_merge_drop_index() to drop the indexes.

  row_mysql_drop_temp_tables(): Scan SYS_TABLES for temporary tables,
  load them with dict_load_table() and drop them with
  row_drop_table_for_mysql().

  rb://251, not yet reviewed
  ------------------------------------------------------------------------
  r6611 | marko | 2010-02-09 14:28:25 +0200 (Tue, 09 Feb 2010) | 11 lines
  Changed paths:
     M /branches/zip/include/log0recv.h
     M /branches/zip/log/log0recv.c
     M /branches/zip/srv/srv0start.c

  branches/zip: Roll back dictionary transaction(s) before scanning *.ibd files

  innobase_start_or_create_for_mysql(): Roll back data dictionary
  transactions before scanning the *.ibd files. Then, data dictionary
  records can be loaded to the cache before opening the *.ibd files.

  recv_recovery_rollback_active(): Refactored from
  recv_recovery_from_checkpoint_finish().

  rb://235, committing without review, because this is needed for
  TablespaceDictionary.
  ------------------------------------------------------------------------
  r6612 | marko | 2010-02-09 14:32:39 +0200 (Tue, 09 Feb 2010) | 3 lines
  Changed paths:
     M /branches/zip/log/log0recv.c

  branches/zip: recv_recovery_rollback_active():
  Drop the temporary tables and indexes after enabling sync order checks.
  This should not make any difference. This could have been done in r6611.
  ------------------------------------------------------------------------
  r6614 | inaam | 2010-02-09 20:26:23 +0200 (Tue, 09 Feb 2010) | 7 lines
  Changed paths:
     M /branches/zip/srv/srv0srv.c

  branches/plugin rb://242

  Let the master thread sleep if the amount of work to be done is
  calibrated as taking less than a second.

  Approved by: Heikki
  ------------------------------------------------------------------------
  r6631 | marko | 2010-02-10 09:19:52 +0200 (Wed, 10 Feb 2010) | 1 line
  Changed paths:
     M /branches/zip/ChangeLog

  branches/zip: Document r6614 in ChangeLog.
  ------------------------------------------------------------------------
  r6633 | marko | 2010-02-10 10:40:55 +0200 (Wed, 10 Feb 2010) | 31 lines
  Changed paths:
     M /branches/zip/ChangeLog
     M /branches/zip/buf/buf0buf.c
     M /branches/zip/lock/lock0lock.c

  branches/zip: Merge revisions 6538:6613 from branches/5.1:

    ------------------------------------------------------------------------
    r6545 | jyang | 2010-02-03 03:57:32 +0200 (Wed, 03 Feb 2010) | 8 lines
    Changed paths:
       M /branches/5.1/lock/lock0lock.c

    branches/5.1: Fix bug #49001, "SHOW INNODB STATUS deadlock info
    incorrect when deadlock detection aborts". Print the correct
    lock owner when recursive function lock_deadlock_recursive()
    exceeds its maximum depth LOCK_MAX_DEPTH_IN_DEADLOCK_CHECK.

    rb://217, approved by Marko.
    ------------------------------------------------------------------------
    r6613 | inaam | 2010-02-09 20:23:09 +0200 (Tue, 09 Feb 2010) | 11 lines
    Changed paths:
       M /branches/5.1/buf/buf0buf.c
       M /branches/5.1/buf/buf0rea.c
       M /branches/5.1/include/buf0rea.h

    branches/5.1: Fix Bug #38901
    InnoDB logs error repeatedly when trying to load page into buffer pool

    In buf_page_get_gen() if we are unable to read a page (because of
    corruption or some other reason) we keep on retrying. This fills up
    error log with millions of entries in no time and we'd eventually run
    out of disk space. This patch limits the number of attempts that we
    make (currently set to 100) and after that we abort with a message.

    rb://241 Approved by: Heikki
    ------------------------------------------------------------------------
  ------------------------------------------------------------------------
  r6635 | marko | 2010-02-10 11:07:05 +0200 (Wed, 10 Feb 2010) | 4 lines
  Changed paths:
     M /branches/zip/row/row0sel.c

  branches/zip: Clean up after r6559.  Now that
  btr_pcur_open_with_no_init() is a macro, do not mix preprocessor
  directives in the macro invocation, because it is implementation-defined
  whether that is going to work.
  ------------------------------------------------------------------------
  r6639 | marko | 2010-02-10 13:11:04 +0200 (Wed, 10 Feb 2010) | 1 line
  Changed paths:
     M /branches/zip/include/trx0rseg.h
     M /branches/zip/trx/trx0rseg.c

  branches/zip: trx_rseg_create(): Unused function, remove.
  ------------------------------------------------------------------------
  r6660 | marko | 2010-02-11 11:21:11 +0200 (Thu, 11 Feb 2010) | 7 lines
  Changed paths:
     M /branches/zip/row/row0umod.c

  branches/zip: Clarify the rollback of INSERT by UPDATE of delete-marked rec.

  row_undo_mod_remove_clust_low(): Augment the function comment.

  row_undo_mod_remove_clust_low(), row_undo_mod_del_mark_or_remove_sec_low(),
  row_undo_mod_del_mark_or_remove_sec(), row_undo_mod_upd_del_sec():
  Add ut_ad(node->rec_type == TRX_UNDO_UPD_DEL_REC);
  ------------------------------------------------------------------------
  r6672 | marko | 2010-02-11 13:01:18 +0200 (Thu, 11 Feb 2010) | 1 line
  Changed paths:
     M /branches/zip/include/que0que.h
     M /branches/zip/include/que0que.ic
     M /branches/zip/row/row0umod.c

  branches/zip: Introduce thr_is_recv().
  ------------------------------------------------------------------------
  r6673 | marko | 2010-02-11 13:09:48 +0200 (Thu, 11 Feb 2010) | 9 lines
  Changed paths:
     M /branches/zip/btr/btr0cur.c
     M /branches/zip/include/trx0types.h
     M /branches/zip/row/row0umod.c

  branches/zip: Relax a debug assertion about a missing BLOB. (Issue #452)
  When rolling back an incomplete transaction in purge, tolerate missing
  BLOBs also in update undo, when undoing an INSERT by updating a delete-marked
  record, and the delete-marked record is no longer needed.
  Previously, we only tolerated missing BLOBs in insert undo.
  This merely fixes a debug assertion; the code performed correctly
  without UNIV_DEBUG.

  rb://249 approved by Sunny Bains.
  ------------------------------------------------------------------------
  r6674 | inaam | 2010-02-11 17:54:44 +0200 (Thu, 11 Feb 2010) | 16 lines
  Changed paths:
     M /branches/zip/include/mem0mem.h
     M /branches/zip/include/mem0mem.ic
     M /branches/zip/mem/mem0mem.c

  branches/zip bug# 49535

  This is a backport of r4924.
  mem_heap_get_size() scans all allocated blocks to calculate the total
  size of the heap. This patch introduces a new, total_size, field in
  mem_block_info_struct. This field is valid only for base block 
  (i.e.: the first block allocated for the heap) and is set to
  ULINT_UNDEFINED in other blocks.
  This considerably improves the performance of redo scan during recovery.

  rb://108 issue#216

  Approved by: Heikki
  ------------------------------------------------------------------------
  r6675 | marko | 2010-02-11 22:41:11 +0200 (Thu, 11 Feb 2010) | 1 line
  Changed paths:
     M /branches/zip/row/row0umod.c

  branches/zip: Remove bogus debug assertions introduced in r6660.
  ------------------------------------------------------------------------
  r6707 | inaam | 2010-02-12 19:22:35 +0200 (Fri, 12 Feb 2010) | 4 lines
  Changed paths:
     M /branches/zip/ChangeLog

  branches/zip

  ChangeLog entry for r6674.
  ------------------------------------------------------------------------
  r6712 | marko | 2010-02-16 10:05:36 +0200 (Tue, 16 Feb 2010) | 2 lines
  Changed paths:
     M /branches/zip/trx/trx0trx.c

  branches/zip: trx_lists_init_at_db_start(): Assert that the kernel_mutex
  is held by the caller.
  ------------------------------------------------------------------------
  r6713 | sunny | 2010-02-16 10:12:17 +0200 (Tue, 16 Feb 2010) | 7 lines
  Changed paths:
     M /branches/zip/include/trx0trx.h

  branches/zip: Change the bit fields back to ulint. Bit fields were causing
  problems with concurrency on SMP systems because of word packing issues.
  The number of trx_t's in a system is not sufficient enough to require that
  we try and save a few bytes in the data structure.

  See rb://255 for details.
  ------------------------------------------------------------------------
  r6714 | sunny | 2010-02-16 10:12:25 +0200 (Tue, 16 Feb 2010) | 2 lines
  Changed paths:
     M /branches/zip/include/trx0trx.h

  branches/zip: Update the comments and fix the whitespace issues.
  See rb://255 Approved by: Marko
  ------------------------------------------------------------------------
  r6715 | sunny | 2010-02-16 10:14:21 +0200 (Tue, 16 Feb 2010) | 1 line
  Changed paths:
     M /branches/zip/include/trx0trx.h

  branches/zip: Fix comment. Non functional change.
  ------------------------------------------------------------------------
  r6717 | marko | 2010-02-16 14:53:20 +0200 (Tue, 16 Feb 2010) | 2 lines
  Changed paths:
     M /branches/zip/include/log0log.ic

  branches/zip: log_reserve_and_write_fast(): Correct a race condition
  in UNIV_LOG_LSN_DEBUG.  This could have caused Issue #440.
  ------------------------------------------------------------------------
  r6718 | marko | 2010-02-16 15:06:16 +0200 (Tue, 16 Feb 2010) | 1 line
  Changed paths:
     M /branches/zip/include/trx0trx.h

  branches/zip: Fix a comment.
  ------------------------------------------------------------------------
  r6723 | marko | 2010-02-17 11:48:34 +0200 (Wed, 17 Feb 2010) | 3 lines
  Changed paths:
     M /branches/zip/lock/lock0lock.c

  branches/zip: lock_table_other_has_incompatible():
  Return an incompatible lock or NULL instead of TRUE or FALSE.
  Approved by Sunny over IM.
  ------------------------------------------------------------------------
  r6724 | marko | 2010-02-17 15:52:05 +0200 (Wed, 17 Feb 2010) | 11 lines
  Changed paths:
     M /branches/zip/os/os0file.c

  branches/zip: Merge revisions 6613:6669 from branches/5.1:
    ------------------------------------------------------------------------
    r6669 | jyang | 2010-02-11 12:24:19 +0200 (Thu, 11 Feb 2010) | 7 lines

    branches/5.1: Fix bug #50691, AIX implementation of readdir_r
    causes InnoDB errors. readdir_r() returns an non-NULL value
    in the case of reaching the end of a directory. It should
    not be treated as an error return.

    rb://238 approved by Marko
    ------------------------------------------------------------------------
  ------------------------------------------------------------------------
  r6726 | marko | 2010-02-17 18:49:21 +0200 (Wed, 17 Feb 2010) | 3 lines
  Changed paths:
     M /branches/zip/include/fil0fil.h

  branches/zip: FIL_PAGE_FILE_FLUSH_LSN: Note that the field is only valid
  for the first page of each ibdata* file, not *.ibd files.
  Suggested by Heikki, in connection with the LSN warning noted in Issue #341.
  ------------------------------------------------------------------------
  r6727 | marko | 2010-02-17 18:50:20 +0200 (Wed, 17 Feb 2010) | 2 lines
  Changed paths:
     M /branches/zip/fsp/fsp0fsp.c

  branches/zip: fsp_init_file_page_low(): Declare the page uninitialized
  for Valgrind.
  ------------------------------------------------------------------------
  r6728 | marko | 2010-02-17 18:54:04 +0200 (Wed, 17 Feb 2010) | 3 lines
  Changed paths:
     M /branches/zip/fsp/fsp0fsp.c
     M /branches/zip/include/univ.i

  branches/zip: Remove UNIV_BASIC_LOG_DEBUG.
  This fixes the FILE_FLUSH_LSN printouts mentioned in Issue #341.
  Suggested by Heikki.
  ------------------------------------------------------------------------
  r6740 | sunny | 2010-02-18 13:44:31 +0200 (Thu, 18 Feb 2010) | 6 lines
  Changed paths:
     M /branches/zip/lock/lock0lock.c

  branches/zip: Don't print the entire lock bit set if the block was not
  found in the buffer pool. Only print the bits that are set and that
  information is in the lock and not in the block.

  See rb://256 approved by Marko.
  ------------------------------------------------------------------------
  r6749 | vasil | 2010-02-20 18:45:41 +0200 (Sat, 20 Feb 2010) | 5 lines
  Changed paths:
     M /branches/embedded-1.0/btr/btr0btr.c
     M /branches/embedded-1.0/btr/btr0cur.c
     M /branches/embedded-1.0/btr/btr0pcur.c
     M /branches/embedded-1.0/buf/buf0buf.c
     M /branches/embedded-1.0/buf/buf0flu.c
     M /branches/embedded-1.0/buf/buf0lru.c
     M /branches/embedded-1.0/dict/dict0boot.c
     M /branches/embedded-1.0/dict/dict0crea.c
     M /branches/embedded-1.0/dict/dict0dict.c
     M /branches/embedded-1.0/dict/dict0load.c
     M /branches/embedded-1.0/fil/fil0fil.c
     M /branches/embedded-1.0/fsp/fsp0fsp.c
     M /branches/embedded-1.0/ibuf/ibuf0ibuf.c
     M /branches/embedded-1.0/include/btr0btr.h
     M /branches/embedded-1.0/include/btr0cur.h
     M /branches/embedded-1.0/include/btr0pcur.h
     M /branches/embedded-1.0/include/btr0pcur.ic
     M /branches/embedded-1.0/include/buf0buf.h
     M /branches/embedded-1.0/include/buf0buf.ic
     M /branches/embedded-1.0/include/dict0boot.h
     M /branches/embedded-1.0/include/fil0fil.h
     M /branches/embedded-1.0/include/lock0lock.h
     M /branches/embedded-1.0/include/log0log.h
     M /branches/embedded-1.0/include/log0log.ic
     M /branches/embedded-1.0/include/log0recv.h
     M /branches/embedded-1.0/include/mem0dbg.h
     M /branches/embedded-1.0/include/mem0dbg.ic
     M /branches/embedded-1.0/include/mem0mem.h
     M /branches/embedded-1.0/include/mem0mem.ic
     M /branches/embedded-1.0/include/os0file.h
     M /branches/embedded-1.0/include/os0sync.h
     M /branches/embedded-1.0/include/os0sync.ic
     M /branches/embedded-1.0/include/os0thread.h
     M /branches/embedded-1.0/include/que0que.h
     M /branches/embedded-1.0/include/que0que.ic
     M /branches/embedded-1.0/include/row0merge.h
     M /branches/embedded-1.0/include/row0prebuilt.h
     M /branches/embedded-1.0/include/srv0srv.h
     M /branches/embedded-1.0/include/sync0sync.h
     M /branches/embedded-1.0/include/trx0rseg.h
     M /branches/embedded-1.0/include/trx0sys.h
     M /branches/embedded-1.0/include/trx0trx.h
     M /branches/embedded-1.0/include/trx0types.h
     M /branches/embedded-1.0/include/trx0undo.h
     M /branches/embedded-1.0/include/trx0xa.h
     M /branches/embedded-1.0/include/univ.i
     M /branches/embedded-1.0/include/ut0vec.h
     M /branches/embedded-1.0/include/ut0vec.ic
     M /branches/embedded-1.0/lock/lock0lock.c
     M /branches/embedded-1.0/log/log0log.c
     M /branches/embedded-1.0/log/log0recv.c
     M /branches/embedded-1.0/mem/mem0mem.c
     M /branches/embedded-1.0/os/os0file.c
     M /branches/embedded-1.0/os/os0thread.c
     M /branches/embedded-1.0/page/page0page.c
     M /branches/embedded-1.0/rem/rem0rec.c
     M /branches/embedded-1.0/row/row0ins.c
     M /branches/embedded-1.0/row/row0merge.c
     M /branches/embedded-1.0/row/row0prebuilt.c
     M /branches/embedded-1.0/row/row0sel.c
     M /branches/embedded-1.0/row/row0umod.c
     M /branches/embedded-1.0/row/row0undo.c
     M /branches/embedded-1.0/row/row0upd.c
     M /branches/embedded-1.0/srv/srv0srv.c
     M /branches/embedded-1.0/srv/srv0start.c
     M /branches/embedded-1.0/sync/sync0sync.c
     M /branches/embedded-1.0/trx/trx0sys.c
     M /branches/embedded-1.0/trx/trx0trx.c
     M /branches/embedded-1.0/trx/trx0undo.c
     M /branches/embedded-1.0/ut/ut0mem.c
     M /branches/innodb+/btr/btr0btr.c
     M /branches/innodb+/btr/btr0cur.c
     M /branches/innodb+/btr/btr0pcur.c
     M /branches/innodb+/buf/buf0buf.c
     M /branches/innodb+/buf/buf0lru.c
     M /branches/innodb+/dict/dict0crea.c
     M /branches/innodb+/dict/dict0dict.c
     M /branches/innodb+/dict/dict0load.c
     M /branches/innodb+/handler/ha_innodb.cc
     M /branches/innodb+/handler/ha_innodb.h
     M /branches/innodb+/handler/handler0alter.cc
     M /branches/innodb+/include/btr0btr.h
     M /branches/innodb+/include/btr0cur.h
     M /branches/innodb+/include/btr0pcur.h
     M /branches/innodb+/include/btr0pcur.ic
     M /branches/innodb+/include/buf0buf.h
     M /branches/innodb+/include/log0log.h
     M /branches/innodb+/include/mem0dbg.h
     M /branches/innodb+/include/mem0dbg.ic
     M /branches/innodb+/include/os0file.h
     M /branches/innodb+/include/row0mysql.h
     M /branches/innodb+/include/srv0srv.h
     M /branches/innodb+/include/sync0sync.h
     M /branches/innodb+/include/trx0trx.h
     M /branches/innodb+/lock/lock0lock.c
     M /branches/innodb+/log/log0log.c
     M /branches/innodb+/log/log0recv.c
     M /branches/innodb+/mem/mem0dbg.c
     M /branches/innodb+/os/os0file.c
     M /branches/innodb+/page/page0page.c
     M /branches/innodb+/row/row0ins.c
     M /branches/innodb+/row/row0mysql.c
     M /branches/innodb+/row/row0sel.c
     M /branches/innodb+/srv/srv0srv.c
     M /branches/innodb+/srv/srv0start.c
     M /branches/innodb+/sync/sync0sync.c
     M /branches/innodb+_metrics_table/btr/btr0btr.c
     M /branches/innodb+_metrics_table/buf/buf0buf.c
     M /branches/innodb+_metrics_table/buf/buf0flu.c
     M /branches/innodb+_metrics_table/dict/dict0crea.c
     M /branches/innodb+_metrics_table/dict/dict0dict.c
     M /branches/innodb+_metrics_table/dict/dict0load.c
     M /branches/innodb+_metrics_table/handler/ha_innodb.cc
     M /branches/innodb+_metrics_table/handler/ha_innodb.h
     M /branches/innodb+_metrics_table/handler/handler0alter.cc
     M /branches/innodb+_metrics_table/handler/i_s.cc
     M /branches/innodb+_metrics_table/handler/i_s.h
     M /branches/innodb+_metrics_table/include/mem0dbg.h
     M /branches/innodb+_metrics_table/include/mem0dbg.ic
     M /branches/innodb+_metrics_table/include/srv0mon.h
     M /branches/innodb+_metrics_table/include/srv0mon.ic
     M /branches/innodb+_metrics_table/include/srv0srv.h
     M /branches/innodb+_metrics_table/lock/lock0lock.c
     M /branches/innodb+_metrics_table/log/log0log.c
     M /branches/innodb+_metrics_table/mem/mem0dbg.c
     M /branches/innodb+_metrics_table/os/os0file.c
     M /branches/innodb+_metrics_table/page/page0zip.c
     M /branches/innodb+_metrics_table/row/row0mysql.c
     M /branches/innodb+_metrics_table/row/row0purge.c
     M /branches/innodb+_metrics_table/row/row0sel.c
     M /branches/innodb+_metrics_table/srv/srv0mon.c
     M /branches/innodb+_metrics_table/srv/srv0srv.c
     M /branches/innodb+_metrics_table/sync/sync0sync.c
     M /branches/innodb+_metrics_table/trx/trx0roll.c
     M /branches/innodb+_metrics_table/trx/trx0trx.c
     M /branches/innodb+_persistent_stats/btr/btr0btr.c
     M /branches/innodb+_persistent_stats/buf/buf0buf.c
     M /branches/innodb+_persistent_stats/data/data0type.c
     M /branches/innodb+_persistent_stats/dict/dict0boot.c
     M /branches/innodb+_persistent_stats/dict/dict0crea.c
     M /branches/innodb+_persistent_stats/dict/dict0dict.c
     M /branches/innodb+_persistent_stats/dict/dict0load.c
     M /branches/innodb+_persistent_stats/dict/dict0mem.c
     M /branches/innodb+_persistent_stats/fil/fil0fil.c
     M /branches/innodb+_persistent_stats/fsp/fsp0fsp.c
     M /branches/innodb+_persistent_stats/handler/ha_innodb.cc
     M /branches/innodb+_persistent_stats/handler/ha_innodb.h
     M /branches/innodb+_persistent_stats/handler/handler0alter.cc
     M /branches/innodb+_persistent_stats/ibuf/ibuf0ibuf.c
     M /branches/innodb+_persistent_stats/include/btr0pcur.h
     M /branches/innodb+_persistent_stats/include/btr0pcur.ic
     M /branches/innodb+_persistent_stats/include/db0err.h
     M /branches/innodb+_persistent_stats/include/dict0dict.h
     M /branches/innodb+_persistent_stats/include/dict0mem.h
     M /branches/innodb+_persistent_stats/include/ha_prototypes.h
     M /branches/innodb+_persistent_stats/include/lock0lock.h
     M /branches/innodb+_persistent_stats/include/log0log.h
     M /branches/innodb+_persistent_stats/include/log0recv.h
     M /branches/innodb+_persistent_stats/include/mem0dbg.h
     M /branches/innodb+_persistent_stats/include/mem0dbg.ic
     M /branches/innodb+_persistent_stats/include/os0file.h
     M /branches/innodb+_persistent_stats/include/pars0pars.h
     M /branches/innodb+_persistent_stats/include/srv0srv.h
     M /branches/innodb+_persistent_stats/include/sync0sync.h
     M /branches/innodb+_persistent_stats/include/trx0sys.h
     M /branches/innodb+_persistent_stats/include/trx0trx.h
     M /branches/innodb+_persistent_stats/include/ut0lst.h
     M /branches/innodb+_persistent_stats/include/ut0ut.h
     M /branches/innodb+_persistent_stats/lock/lock0lock.c
     M /branches/innodb+_persistent_stats/log/log0log.c
     M /branches/innodb+_persistent_stats/log/log0recv.c
     M /branches/innodb+_persistent_stats/mem/mem0dbg.c
     M /branches/innodb+_persistent_stats/os/os0file.c
     M /branches/innodb+_persistent_stats/page/page0page.c
     M /branches/innodb+_persistent_stats/pars/pars0pars.c
     M /branches/innodb+_persistent_stats/row/row0merge.c
     M /branches/innodb+_persistent_stats/row/row0mysql.c
     M /branches/innodb+_persistent_stats/row/row0sel.c
     M /branches/innodb+_persistent_stats/row/row0umod.c
     M /branches/innodb+_persistent_stats/row/row0upd.c
     M /branches/innodb+_persistent_stats/srv/srv0srv.c
     M /branches/innodb+_persistent_stats/srv/srv0start.c
     M /branches/innodb+_persistent_stats/sync/sync0sync.c
     M /branches/innodb+_persistent_stats/trx/trx0i_s.c
     M /branches/innodb+_persistent_stats/trx/trx0sys.c
     M /branches/innodb+_persistent_stats/trx/trx0trx.c
     M /branches/innodb+_persistent_stats/ut/ut0ut.c
     M /branches/innofts+/handler/ha_innodb.cc
     M /branches/innofts+/handler/i_s.cc
     M /branches/innofts+/handler/i_s.h
     M /branches/innofts+/include/fut0fut.h
     M /branches/performance_schema/btr/btr0sea.c
     M /branches/performance_schema/buf/buf0buf.c
     M /branches/performance_schema/dict/dict0dict.c
     M /branches/performance_schema/fil/fil0fil.c
     M /branches/performance_schema/handler/ha_innodb.cc
     M /branches/performance_schema/include/srv0srv.h
     M /branches/performance_schema/include/sync0rw.h
     M /branches/performance_schema/include/sync0rw.ic
     M /branches/performance_schema/include/sync0sync.h
     M /branches/performance_schema/include/sync0sync.ic
     M /branches/performance_schema/include/sync0types.h
     M /branches/performance_schema/log/log0log.c
     M /branches/performance_schema/srv/srv0srv.c
     M /branches/performance_schema/sync/sync0rw.c
     M /branches/performance_schema/trx/trx0i_s.c
     M /branches/performance_schema/trx/trx0purge.c
     M /branches/plugin-2.0/buf/buf0buf.c
     M /branches/plugin-2.0/buf/buf0lru.c
     M /branches/plugin-2.0/dict/dict0boot.c
     M /branches/plugin-2.0/dict/dict0crea.c
     M /branches/plugin-2.0/dict/dict0dict.c
     M /branches/plugin-2.0/dict/dict0load.c
     M /branches/plugin-2.0/dict/dict0mem.c
     M /branches/plugin-2.0/fil/fil0fil.c
     M /branches/plugin-2.0/fsp/fsp0fsp.c
     M /branches/plugin-2.0/handler/ha_innodb.cc
     M /branches/plugin-2.0/handler/ha_innodb.h
     M /branches/plugin-2.0/handler/handler0alter.cc
     M /branches/plugin-2.0/ibuf/ibuf0ibuf.c
     M /branches/plugin-2.0/include/dict0mem.h
     M /branches/plugin-2.0/include/ha_prototypes.h
     M /branches/plugin-2.0/include/lock0lock.h
     M /branches/plugin-2.0/include/log0log.h
     M /branches/plugin-2.0/include/log0recv.h
     M /branches/plugin-2.0/include/mem0dbg.h
     M /branches/plugin-2.0/include/mem0dbg.ic
     M /branches/plugin-2.0/include/os0file.h
     M /branches/plugin-2.0/include/row0mysql.h
     M /branches/plugin-2.0/include/srv0srv.h
     M /branches/plugin-2.0/include/sync0sync.h
     M /branches/plugin-2.0/include/trx0sys.h
     M /branches/plugin-2.0/include/trx0trx.h
     M /branches/plugin-2.0/lock/lock0lock.c
     M /branches/plugin-2.0/log/log0log.c
     M /branches/plugin-2.0/log/log0recv.c
     M /branches/plugin-2.0/mem/mem0dbg.c
     M /branches/plugin-2.0/os/os0file.c
     M /branches/plugin-2.0/page/page0page.c
     M /branches/plugin-2.0/row/row0merge.c
     M /branches/plugin-2.0/row/row0mysql.c
     M /branches/plugin-2.0/row/row0sel.c
     M /branches/plugin-2.0/row/row0umod.c
     M /branches/plugin-2.0/row/row0upd.c
     M /branches/plugin-2.0/srv/srv0srv.c
     M /branches/plugin-2.0/srv/srv0start.c
     M /branches/plugin-2.0/sync/sync0sync.c
     M /branches/plugin-2.0/trx/trx0i_s.c
     M /branches/plugin-2.0/trx/trx0sys.c
     M /branches/plugin-2.0/trx/trx0trx.c
     M /branches/zip/btr/btr0btr.c
     M /branches/zip/btr/btr0cur.c
     M /branches/zip/btr/btr0pcur.c
     M /branches/zip/buf/buf0buf.c
     M /branches/zip/buf/buf0lru.c
     M /branches/zip/dict/dict0boot.c
     M /branches/zip/dict/dict0crea.c
     M /branches/zip/dict/dict0dict.c
     M /branches/zip/dict/dict0load.c
     M /branches/zip/fsp/fsp0fsp.c
     M /branches/zip/handler/ha_innodb.cc
     M /branches/zip/handler/ha_innodb.h
     M /branches/zip/handler/handler0alter.cc
     M /branches/zip/include/btr0btr.h
     M /branches/zip/include/btr0cur.h
     M /branches/zip/include/btr0pcur.h
     M /branches/zip/include/btr0pcur.ic
     M /branches/zip/include/buf0buf.h
     M /branches/zip/include/dict0boot.h
     M /branches/zip/include/fil0fil.h
     M /branches/zip/include/log0log.h
     M /branches/zip/include/log0log.ic
     M /branches/zip/include/log0recv.h
     M /branches/zip/include/mem0dbg.h
     M /branches/zip/include/mem0dbg.ic
     M /branches/zip/include/mem0mem.h
     M /branches/zip/include/mem0mem.ic
     M /branches/zip/include/os0file.h
     M /branches/zip/include/que0que.h
     M /branches/zip/include/que0que.ic
     M /branches/zip/include/row0mysql.h
     M /branches/zip/include/srv0srv.h
     M /branches/zip/include/sync0sync.h
     M /branches/zip/include/trx0rseg.h
     M /branches/zip/include/trx0trx.h
     M /branches/zip/include/trx0types.h
     M /branches/zip/include/univ.i
     M /branches/zip/lock/lock0lock.c
     M /branches/zip/log/log0log.c
     M /branches/zip/log/log0recv.c
     M /branches/zip/mem/mem0dbg.c
     M /branches/zip/mem/mem0mem.c
     M /branches/zip/os/os0file.c
     M /branches/zip/page/page0page.c
     M /branches/zip/rem/rem0rec.c
     M /branches/zip/row/row0ins.c
     M /branches/zip/row/row0merge.c
     M /branches/zip/row/row0mysql.c
     M /branches/zip/row/row0sel.c
     M /branches/zip/row/row0umod.c
     M /branches/zip/srv/srv0srv.c
     M /branches/zip/srv/srv0start.c
     M /branches/zip/sync/sync0sync.c
     M /branches/zip/trx/trx0rseg.c
     M /branches/zip/trx/trx0trx.c

  Non-functional change: update copyright year to 2010 of the files
  that have been modified after 2010-01-01 according to svn.

  for f in $(svn log -v -r{2010-01-01}:HEAD |grep "^   M " |cut -b 16- |sort -u) ; do sed -i "" -E 's/(Copyright \(c\) [0-9]{4},) [0-9]{4}, (.*Innobase Oy.+All Rights Reserved)/\1 2010, \2/' $f ; done
  ------------------------------------------------------------------------
  r6750 | marko | 2010-02-22 08:57:23 +0200 (Mon, 22 Feb 2010) | 2 lines
  Changed paths:
     M /branches/zip/include/row0sel.h
     M /branches/zip/row/row0sel.c

  branches/zip: row_fetch_store_uint4(): Remove unused function.
  This was added to trunk in r435.
  ------------------------------------------------------------------------
  r6754 | marko | 2010-02-24 10:56:43 +0200 (Wed, 24 Feb 2010) | 17 lines
  Changed paths:
     M /branches/zip/row/row0merge.c

  branches/zip: Allocate the merge sort buffers from a heap, not stack.

  The merge sort can use up to 48KiB of buffers when merging blocks.
  That can cause a stack overflow, especially on 64-bit systems when not
  building with inlined functions.  This was reported as Issue #462.

  row_merge_dup_report(): Allocate buf and offsets from a heap.

  row_merge_heap_create(): Allocate space for buf[3] too. Fix bogus
  sizeof arithmetics that happened to work, because
  sizeof(ulint)==sizeof(void*).

  row_merge_blocks(), row_merge_blocks_copy(): Allocate buf[3] from heap.

  row_merge_insert_index_tuples(): Allocate buf from graph_heap.

  rb://258 approved and tested by Sunny Bains
  ------------------------------------------------------------------------
  r6767 | calvin | 2010-03-01 18:16:10 +0200 (Mon, 01 Mar 2010) | 3 lines
  Changed paths:
     M /branches/zip/srv/srv0srv.c

  branches/zip: fix bug#51587
  Non-functional change.
  ------------------------------------------------------------------------
  r6768 | vasil | 2010-03-02 18:20:48 +0200 (Tue, 02 Mar 2010) | 5 lines
  Changed paths:
     M /branches/zip/include/btr0btr.h
     M /branches/zip/include/btr0btr.ic

  branches/zip:

  Add a NOTE to the comment of btr_node_ptr_get_child_page_no()
  to prevent mysterious bugs.
  ------------------------------------------------------------------------
  r6770 | marko | 2010-03-03 12:52:55 +0200 (Wed, 03 Mar 2010) | 12 lines
  Changed paths:
     M /branches/zip/handler/handler0alter.cc
     M /branches/zip/mysql-test/innodb-index.result
     M /branches/zip/mysql-test/innodb-index.test
     M /branches/zip/mysql-test/innodb.result
     M /branches/zip/mysql-test/innodb.test

  branches/zip: Disallow duplicate index name when creating an index.
  This should fix Mantis Issue #461.

  innodb.test, innodb.result, innodb-index.test, innodb-index.result:
  Adjust the test result and mention that the introduced restriction
  has been reported as MySQL Bug #51451.

  innobase_check_index_keys(): Add a parameter for the InnoDB table and
  check that no duplicate index name is added.  Report errors by
  my_error() instead of sql_print_error().

  rb://260 approved by Sunny Bains
  ------------------------------------------------------------------------
  r6771 | marko | 2010-03-03 14:52:43 +0200 (Wed, 03 Mar 2010) | 1 line
  Changed paths:
     M /branches/zip/ChangeLog

  Document r6770.
  ------------------------------------------------------------------------
  r6773 | marko | 2010-03-03 15:31:54 +0200 (Wed, 03 Mar 2010) | 2 lines
  Changed paths:
     M /branches/zip/row/row0row.c

  branches/zip: row_raw_format(): Silence a GCC 4.4.2 warning
  of possibly uninitialized variable format_in_hex.
  ------------------------------------------------------------------------
2010-03-04 10:15:07 +00:00
inaam
0757affd7b branches/innodb+: Merged revisions 5525:5971 from branches/zip
------------------------------------------------------------------------
  r5971 | marko | 2009-09-23 09:03:51 -0400 (Wed, 23 Sep 2009) | 2 lines
  
  branches/zip: os_file_pwrite(): Make the code compile in InnoDB Hot Backup
  when the pwrite system call is not available.
  ------------------------------------------------------------------------
  r5956 | calvin | 2009-09-22 19:30:10 -0400 (Tue, 22 Sep 2009) | 4 lines
  
  branches/zip: remove handler0vars.h from Makefile.am
  
  Left over from r5950.
  
  ------------------------------------------------------------------------
  r5951 | calvin | 2009-09-22 11:17:01 -0400 (Tue, 22 Sep 2009) | 4 lines
  
  branches/zip: adjust CMake file to work with old versions of MySQL
  
  Tested with MySQL 5.1.38 and 5.1.30.
  
  ------------------------------------------------------------------------
  r5950 | calvin | 2009-09-22 02:42:46 -0400 (Tue, 22 Sep 2009) | 17 lines
  
  branches/zip: adjust Windows loading method for 5.1.38
  
  Starting at 5.1.38, MySQL server exports symbols needed
  for dynamic plugin on Windows. There is no need for
  Windows specific loading. Also, the CMake files are
  simplified in 5.1.38.
  
  When WITH_INNOBASE_STORAGE_ENGINE is specified during
  configuration (win\configure.js), InnoDB is built as
  a static library. Otherwise, a dynamic InnoDB will be
  built (ha_innodb.dll).
  
  CMakeLists.txt requires minor changes in order to work
  with MySQL prior to 5.1.38. The changes will be in a
  separate patch.
  
  This patch addresses Mantis issue#286.
  ------------------------------------------------------------------------
  r5945 | calvin | 2009-09-21 10:53:22 -0400 (Mon, 21 Sep 2009) | 4 lines
  
  branches/zip: fix a type in r5935
  
  Should be innodb_open_files, spotted by Michael.
  
  ------------------------------------------------------------------------
  r5940 | vasil | 2009-09-21 01:26:04 -0400 (Mon, 21 Sep 2009) | 4 lines
  
  branches/zip:
  
  Add ChangeLog entries for c5938.
  
  ------------------------------------------------------------------------
  r5938 | calvin | 2009-09-19 03:14:25 -0400 (Sat, 19 Sep 2009) | 41 lines
  
  branches/zip: Merge revisions 2584:2956 from branches/6.0,
  except c2932.
  
  Bug#37232 and bug#31183 were fixed in the 6.0 branch only.
  They should be fixed in the plugin too, specially MySQL 6.0
  is discontinued at this point.
  
      ------------------------------------------------------------------------
      r2604 | inaam | 2008-08-21 09:37:06 -0500 (Thu, 21 Aug 2008) | 8 lines
  
      branches/6.0     bug#37232
  
      Relax locking behaviour for REPLACE INTO t SELECT ... FROM t1.
      Now SELECT on t1 is performed as a consistent read when the isolation
      level is set to READ COMMITTED.
  
      Reviewed by: Heikki
      ------------------------------------------------------------------------
      r2605 | inaam | 2008-08-21 09:59:33 -0500 (Thu, 21 Aug 2008) | 7 lines
  
      branches/6.0
  
      Added a comment to clarify why distinct calls to read MySQL binary
      log file name and log position do not entail any race condition.
  
      Suggested by: Heikki
      ------------------------------------------------------------------------
      r2956 | inaam | 2008-11-04 04:47:30 -0600 (Tue, 04 Nov 2008) | 11 lines
  
      branches/6.0  bug#31183
  
      If the system tablespace runs out of space because 'autoextend' is
      not specified with innodb_data_file_path there was no error message
      printed to the error log. The client would get 'table full' error.
      This patch prints an appropriate error message to the error log.
  
      rb://43
  
      Approved by: Marko
      ------------------------------------------------------------------------
  
  ------------------------------------------------------------------------
  r5935 | calvin | 2009-09-18 17:08:02 -0400 (Fri, 18 Sep 2009) | 6 lines
  
  branches/zip: fix bug#44338; minor non-functional changes
  
  Bug#44338 innodb has message about non-existing option 
  innodb_max_files_open. Change the option to innodb_open_files.
  The fix was committed into 6.0 branch.
  
  ------------------------------------------------------------------------
  r5934 | vasil | 2009-09-18 13:06:46 -0400 (Fri, 18 Sep 2009) | 4 lines
  
  branches/zip:
  
  Fix typo.
  
  ------------------------------------------------------------------------
  r5924 | vasil | 2009-09-18 00:59:30 -0400 (Fri, 18 Sep 2009) | 4 lines
  
  branches/zip:
  
  White space and formatting cleanup in the ChangeLog
  
  ------------------------------------------------------------------------
  r5922 | marko | 2009-09-17 02:32:08 -0400 (Thu, 17 Sep 2009) | 4 lines
  
  branches/zip: innodb-zip.test: Make the test work with zlib 1.2.3.3.
  Apparently, the definition of compressBound() has slightly changed.
  
  This has been filed as Mantis Issue #345.
  ------------------------------------------------------------------------
  r5920 | vasil | 2009-09-16 14:47:22 -0400 (Wed, 16 Sep 2009) | 4 lines
  
  branches/zip:
  
  Add ChangeLog entries for r5916.
  
  ------------------------------------------------------------------------
  r5919 | vasil | 2009-09-16 14:37:13 -0400 (Wed, 16 Sep 2009) | 4 lines
  
  branches/zip:
  
  Whitespace cleanup in the ChangeLog.
  
  ------------------------------------------------------------------------
  r5917 | marko | 2009-09-16 05:56:23 -0400 (Wed, 16 Sep 2009) | 1 line
  
  branches/zip: innobase_get_cset_width(): Cache the value of current_thd.
  ------------------------------------------------------------------------
  r5916 | marko | 2009-09-16 05:54:43 -0400 (Wed, 16 Sep 2009) | 128 lines
  
  branches/zip: Merge revisions 5622:5912 from branches/5.1, except r5700
  (changes to CMakeLists.txt)
  
    ------------------------------------------------------------------------
    r5622 | vasil | 2009-08-03 15:27:00 +0300 (Mon, 03 Aug 2009) | 20 lines
    Changed paths:
       M /branches/5.1/Makefile.am
  
    branches/5.1:
  
    Merge a change from MySQL:
  
      ------------------------------------------------------------
      revno: 2988
      committer: Satya B <satya.bn@sun.com>
      branch nick: mysql-5.1-bugteam
      timestamp: Wed 2009-07-01 11:06:05 +0530
      message:
        Fix build failure after applying Innodb snapshot 5.1-ss5282
  
        After applying Innodb snapshot 5.1-ss5282, build was broken
        because of missing header file.
  
        Adding the header file to Makefile.am after informing the
        innodb developers.
      modified:
        storage/innobase/Makefile.am
    ------------------------------------------------------------------------
    r5740 | jyang | 2009-09-03 06:33:47 +0300 (Thu, 03 Sep 2009) | 5 lines
    Changed paths:
       M /branches/5.1/handler/ha_innodb.cc
       M /branches/5.1/include/db0err.h
       A /branches/5.1/mysql-test/innodb_bug46000.result
       A /branches/5.1/mysql-test/innodb_bug46000.test
  
    branches/5.1: Disallow creating index with the name of
    "GEN_CLUST_INDEX" which is reserved for the default system
    primary index. (Bug #46000) rb://149 approved by Sunny Bains.
    ------------------------------------------------------------------------
    r5741 | jyang | 2009-09-03 07:16:01 +0300 (Thu, 03 Sep 2009) | 5 lines
    Changed paths:
       M /branches/5.1/dict/dict0dict.c
       M /branches/5.1/handler/ha_innodb.cc
       A /branches/5.1/mysql-test/innodb_bug44369.result
       A /branches/5.1/mysql-test/innodb_bug44369.test
       M /branches/5.1/row/row0mysql.c
  
    branches/5.1: Block creating table with column name conflicting
    with Innodb reserved key words. (Bug #44369) rb://151 approved
    by Sunny Bains.
    ------------------------------------------------------------------------
    r5757 | jyang | 2009-09-04 04:26:13 +0300 (Fri, 04 Sep 2009) | 3 lines
    Changed paths:
       M /branches/5.1/handler/ha_innodb.cc
       M /branches/5.1/include/db0err.h
       D /branches/5.1/mysql-test/innodb_bug46000.result
       D /branches/5.1/mysql-test/innodb_bug46000.test
  
    branches/5.1: Revert change in 5740. Making the fix in a subsequent
    check in.
    ------------------------------------------------------------------------
    r5760 | jyang | 2009-09-04 07:07:34 +0300 (Fri, 04 Sep 2009) | 3 lines
    Changed paths:
       M /branches/5.1/dict/dict0dict.c
       M /branches/5.1/handler/ha_innodb.cc
       D /branches/5.1/mysql-test/innodb_bug44369.result
       D /branches/5.1/mysql-test/innodb_bug44369.test
       M /branches/5.1/row/row0mysql.c
  
    branches/5.1: This is to revert change 5741. A return status for
    create_table_def() needs to be fixed.
    ------------------------------------------------------------------------
    r5797 | calvin | 2009-09-09 18:26:29 +0300 (Wed, 09 Sep 2009) | 3 lines
    Changed paths:
       M /branches/5.1/handler/ha_innodb.cc
  
    branches/5.1: merge change from 5.1.38
  
    HA_ERR_TOO_MANY_CONCURRENT_TRXS is added in 5.1.38.
    ------------------------------------------------------------------------
    r5799 | calvin | 2009-09-09 20:47:31 +0300 (Wed, 09 Sep 2009) | 10 lines
    Changed paths:
       M /branches/5.1/handler/ha_innodb.cc
  
    branches/5.1: fix bug#46256
  
    Allow tables to be dropped even if the collation is not found,
    but issue a warning.
  
    Could not find an easy way to add mysql-test since it requires
    changes to charsets and restarting the server. Tests were
    executed manually.
  
    Approved by: Heikki (on IM)
    ------------------------------------------------------------------------
    r5805 | vasil | 2009-09-10 08:41:48 +0300 (Thu, 10 Sep 2009) | 7 lines
    Changed paths:
       M /branches/5.1/handler/ha_innodb.cc
  
    branches/5.1:
  
    Fix a compilation warning caused by c5799:
  
    handler/ha_innodb.cc: In function 'void innobase_get_cset_width(ulint, ulint*, ulint*)':
    handler/ha_innodb.cc:830: warning: format '%d' expects type 'int', but argument 2 has type 'ulint'
    ------------------------------------------------------------------------
    r5834 | jyang | 2009-09-11 00:43:05 +0300 (Fri, 11 Sep 2009) | 5 lines
    Changed paths:
       M /branches/5.1/dict/dict0dict.c
       M /branches/5.1/handler/ha_innodb.cc
       A /branches/5.1/mysql-test/innodb_bug44369.result
       A /branches/5.1/mysql-test/innodb_bug44369.test
       M /branches/5.1/row/row0mysql.c
  
    branches/5.1: Block creating table with column name conflicting
    with Innodb reserved key words. (Bug #44369) rb://151 approved
    by Sunny Bains.
    ------------------------------------------------------------------------
    r5895 | jyang | 2009-09-15 03:39:21 +0300 (Tue, 15 Sep 2009) | 5 lines
    Changed paths:
       M /branches/5.1/handler/ha_innodb.cc
       A /branches/5.1/mysql-test/innodb_bug46000.result
       A /branches/5.1/mysql-test/innodb_bug46000.test
  
    branches/5.1: Disallow creating index with the name of
    "GEN_CLUST_INDEX" which is reserved for the default system
    primary index. (Bug #46000) rb://149 approved by Marko Makela.
    ------------------------------------------------------------------------
  ------------------------------------------------------------------------
  r5910 | marko | 2009-09-16 04:07:21 -0400 (Wed, 16 Sep 2009) | 9 lines
  
  branches/zip: Introduce UNIV_LOG_LSN_DEBUG and MLOG_LSN for redo log
  diagnostics.  This was written in order to better track down
  Issue #313 in InnoDB Hot Backup.
  
  MLOG_LSN: A new redo log entry type, for recording the current log
  sequence number (LSN).  This will be checked in an assertion in
  recv_parse_log_rec().
  
  rb://161, discussed with Sunny and Vasil.
  ------------------------------------------------------------------------
  r5899 | marko | 2009-09-15 07:26:01 -0400 (Tue, 15 Sep 2009) | 4 lines
  
  branches/zip: ut0ut.h: Do not #include "os0sync.h" #ifdef UNIV_HOTBACKUP.
  Since r5872, the InnoDB Hot Backup build was broken.
  Fix it by not defining any thread synchronization primitives in ut0ut.h.
  InnoDB Hot Backup is a single-threaded program.
  ------------------------------------------------------------------------
  r5898 | marko | 2009-09-15 06:18:50 -0400 (Tue, 15 Sep 2009) | 2 lines
  
  branches/zip: Add */.dirstamp to svn:ignore,
  for https://svn.innodb.com/svn/hotbackup/branches/3.5
  ------------------------------------------------------------------------
  r5897 | marko | 2009-09-15 04:29:00 -0400 (Tue, 15 Sep 2009) | 8 lines
  
  branches/zip: Avoid bogus messages about latching order violations when
  UNIV_SYNC_DEBUG is defined.
  
  sync_thread_levels_g(): Add the parameter "warn".  Do not print
  anything unless it is set.
  
  sync_thread_add_level(): Pass warn=TRUE to sync_thread_levels_g()
  when the check is within an assertion; FALSE if it is not.
  ------------------------------------------------------------------------
  r5893 | inaam | 2009-09-14 11:20:48 -0400 (Mon, 14 Sep 2009) | 10 lines
  
  branches/zip  rb://159
  
  In case of pages that are not made young the counter is incremented
  only when the page in question is 'old'. In case of pages that are
  made young the counter is incremented in case of all pages. For apple
  to apple comparison this patch changes the 'young-making' counter to
  consider only 'old' blocks.
  
  Approved by: Marko
  
  ------------------------------------------------------------------------
  r5889 | vasil | 2009-09-14 05:17:18 -0400 (Mon, 14 Sep 2009) | 5 lines
  
  branches/zip:
  
  Add missing return statement in the test program that could have
  caused a warning.
  
  ------------------------------------------------------------------------
  r5888 | vasil | 2009-09-14 04:38:45 -0400 (Mon, 14 Sep 2009) | 40 lines
  
  branches/zip:
  
  Back-merge c5880 and c5881 from branches/embedded-1.0:
  
    ------------------------------------------------------------------------
    r5880 | vasil | 2009-09-12 17:28:44 +0300 (Sat, 12 Sep 2009) | 18 lines
    Changed paths:
       M /branches/embedded-1.0/configure.in
       M /branches/embedded-1.0/include/os0sync.h
       M /branches/embedded-1.0/srv/srv0start.c
    
    branches/embedded-1.0:
    
    Clean up and simplify the code that surrounds the atomic ops:
    
    * Simplify the code that prints what atomics are used:
    Instead of repeating the same conditions on which each atomics are used
    use just one printf that prints a variable defined by the code which
    chooses what atomics to use.
    
    * In os0sync.h pick up each atomic variant only if it has been selected
    by autoconf (based on IB_ATOMIC_MODE_* macros). Define the startup message
    to be printed.
    
    * In configure.in: check what user has chosen and if he has chosen
    something that is not available, emit an error. If nothing has been chosen
    explicitly by the user, auto select an option according to the described
    logic in configure.in.
    
    ------------------------------------------------------------------------
    r5881 | vasil | 2009-09-12 20:08:27 +0300 (Sat, 12 Sep 2009) | 4 lines
    Changed paths:
       M /branches/embedded-1.0/configure.in
    
    branches/embedded-1.0:
    
    Fix syntax error in test program.
    
    ------------------------------------------------------------------------
  
  ------------------------------------------------------------------------
  r5875 | vasil | 2009-09-12 08:11:25 -0400 (Sat, 12 Sep 2009) | 4 lines
  
  branches/zip:
  
  Remove unnecessary macro.
  
  ------------------------------------------------------------------------
  r5872 | vasil | 2009-09-12 05:35:17 -0400 (Sat, 12 Sep 2009) | 5 lines
  
  branches/zip:
  
  Explicitly include os0sync.h to the places where HAVE_ATOMIC_BUILTINS and
  INNODB_RW_LOCKS_USE_ATOMICS are used to avoid potential problems.
  
  ------------------------------------------------------------------------
  r5871 | vasil | 2009-09-12 05:25:44 -0400 (Sat, 12 Sep 2009) | 6 lines
  
  branches/zip:
  
  Rename HAVE_SOLARIS_ATOMICS to HAVE_IB_SOLARIS_ATOMICS and 
  IB_HAVE_PAUSE_INSTRUCTION to HAVE_IB_PAUSE_INSTRUCTION so they
  all follow the same HAVE_IB_* convention.
  
  ------------------------------------------------------------------------
  r5870 | vasil | 2009-09-12 05:13:44 -0400 (Sat, 12 Sep 2009) | 7 lines
  
  branches/zip:
  
  Define HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS in os0sync.h
  instead of in univ.i. The code expects os_*() macros to be present if
  HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS are defined. So define
  them next to defining the os_*() macros.
  
  ------------------------------------------------------------------------
  r5869 | vasil | 2009-09-12 04:33:11 -0400 (Sat, 12 Sep 2009) | 15 lines
  
  branches/zip:
  
  Include ut0auxconf.h only if none of the macros it would define is defined.
  The check when to include this header was outdated from the time when there
  was only one macro involved.
  
  Move the atomics checks that are in univ.i outside of
  #if windows ... #else ... #endif
  This simplifies the code and removes some duplicates like defining
  HAVE_ATOMIC_BUILTINS if HAVE_WINDOWS_ATOMICS is defined in both branches.
  
  Do not define the same macro HAVE_ATOMIC_PTHREAD_T for different events.
  Instead define HAVE_IB_ATOMIC_PTHREAD_T_GCC and
  HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS.
  
  ------------------------------------------------------------------------
  r5868 | vasil | 2009-09-12 04:01:17 -0400 (Sat, 12 Sep 2009) | 6 lines
  
  branches/zip:
  
  Move the check whether to include ut0auxconf.h before everything because
  we are now even checking for GCC atomics, we relied on MySQL to define
  this macro before.
  
  ------------------------------------------------------------------------
  r5867 | vasil | 2009-09-12 03:43:45 -0400 (Sat, 12 Sep 2009) | 4 lines
  
  branches/zip:
  
  Update comment to reflect reality.
  
  ------------------------------------------------------------------------
  r5866 | vasil | 2009-09-12 03:30:08 -0400 (Sat, 12 Sep 2009) | 5 lines
  
  branches/zip:
  
  Add the check for GCC atomics to ut0auxconf* (copied from plug.in) because
  we no longer rely on MySQL's HAVE_GCC_ATOMIC_BUILTINS.
  
  ------------------------------------------------------------------------
  r5865 | vasil | 2009-09-12 03:26:03 -0400 (Sat, 12 Sep 2009) | 10 lines
  
  branches/zip:
  
  Simplify the compile time checks by splittig them into 5 independent checks:
  
  * Whether GCC atomics are available
  * Whether pthread_t can be used by GCC atomics
  * Whether Solaris libc atomics are available
  * Whether pthread_t can be used by Solaris libs atomics
  * Checking the size of pthread_t
  
  ------------------------------------------------------------------------
  r5864 | vasil | 2009-09-12 03:22:55 -0400 (Sat, 12 Sep 2009) | 4 lines
  
  branches/zip:
  
  Include string.h which is needed for memset().
  
  ------------------------------------------------------------------------
  r5863 | vasil | 2009-09-12 03:07:08 -0400 (Sat, 12 Sep 2009) | 10 lines
  
  branches/zip:
  
  Check that pthread_t can indeed be passed to Solaris atomic functions, instead
  of assuming that it can be passed if 0 can be assigned to it. It could be that:
  * 0 can be assigned, but pthread_t cannot be passed and
  * 0 cannot be assigned but pthread_t can be passed
  
  Better to check what we are interested in, not something else and make
  assumptions.
  
  ------------------------------------------------------------------------
  r5858 | vasil | 2009-09-11 13:46:47 -0400 (Fri, 11 Sep 2009) | 4 lines
  
  branches/zip:
  
  Fix the indentation of the closing bracket.
  
  ------------------------------------------------------------------------
  r5826 | marko | 2009-09-10 07:29:46 -0400 (Thu, 10 Sep 2009) | 12 lines
  
  branches/zip: Roll back recovered dictionary transactions before
  dropping incomplete indexes (Issue #337).
  
  trx_rollback_or_clean_recovered(ibool all): New function, split from
  trx_rollback_or_clean_all_recovered().  all==FALSE will only roll back
  dictionary transactions.
  
  recv_recovery_from_checkpoint_finish(): Call
  trx_rollback_or_clean_recovered(FALSE) before
  row_merge_drop_temp_indexes().
  
  rb://158 approved by Sunny Bains
  ------------------------------------------------------------------------
  r5825 | marko | 2009-09-10 06:47:09 -0400 (Thu, 10 Sep 2009) | 20 lines
  
  branches/zip: Reduce mutex contention that was introduced when
  addressing Bug #45015 (Issue #316), in r5703.
  
  buf_page_set_accessed_make_young(): New auxiliary function, called by
  buf_page_get_zip(), buf_page_get_gen(),
  buf_page_optimistic_get_func(). Call ut_time_ms() outside of
  buf_pool_mutex. Use cached access_time.
  
  buf_page_set_accessed(): Add the parameter time_ms, so that
  ut_time_ms() need not be called while holding buf_pool_mutex.
  
  buf_page_optimistic_get_func(), buf_page_get_known_nowait(): Read
  buf_page_t::access_time without holding buf_pool_mutex. This should be
  OK, because the field is only used for heuristic purposes.
  
  buf_page_peek_if_too_old(): If buf_pool->freed_page_clock == 0, return
  FALSE, so that we will not waste time moving blocks in the LRU list in
  the warm-up phase or when the workload fits in the buffer pool.
  
  rb://156 approved by Sunny Bains
  ------------------------------------------------------------------------
  r5822 | marko | 2009-09-10 06:10:20 -0400 (Thu, 10 Sep 2009) | 1 line
  
  branches/zip: buf_page_release(): De-stutter the function comment.
  ------------------------------------------------------------------------
  r5804 | marko | 2009-09-10 01:29:31 -0400 (Thu, 10 Sep 2009) | 1 line
  
  branches/zip: trx_cleanup_at_db_startup(): Fix a typo in comment.
  ------------------------------------------------------------------------
  r5798 | calvin | 2009-09-09 11:28:10 -0400 (Wed, 09 Sep 2009) | 5 lines
  
  branches/zip:
  
  HA_ERR_TOO_MANY_CONCURRENT_TRXS is added in 5.1.38.
  But the plugin should still work with previous versions
  of MySQL.
  ------------------------------------------------------------------------
  r5792 | vasil | 2009-09-09 09:35:58 -0400 (Wed, 09 Sep 2009) | 32 lines
  
  branches/zip:
  
  Fix a bug in manipulating the variable innodb_old_blocks_pct:
  
  for any value assigned it got that value -1, except for 75. When
  assigned 75, it got 75.
  
    mysql> set global innodb_old_blocks_pct=15;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> show variables like 'innodb_old_blocks_pct';
    +-----------------------+-------+
    | Variable_name         | Value |
    +-----------------------+-------+
    | innodb_old_blocks_pct | 14    | 
    +-----------------------+-------+
    1 row in set (0.00 sec)
    
    mysql> set global innodb_old_blocks_pct=75;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> show variables like 'innodb_old_blocks_pct';
    +-----------------------+-------+
    | Variable_name         | Value |
    +-----------------------+-------+
    | innodb_old_blocks_pct | 75    | 
    +-----------------------+-------+
  
  After the fix it gets exactly what was assigned.
  
  Approved by:	Marko (via IM)
  
  ------------------------------------------------------------------------
  r5783 | marko | 2009-09-09 03:25:00 -0400 (Wed, 09 Sep 2009) | 1 line
  
  branches/zip: buf_page_is_accessed(): Correct the function comment.
  ------------------------------------------------------------------------
  r5782 | marko | 2009-09-09 03:00:59 -0400 (Wed, 09 Sep 2009) | 2 lines
  
  branches/zip: buf_page_peek_if_too_old(): Silence a compiler warning
  that was introduced in r5779 on 32-bit systems.
  ------------------------------------------------------------------------
  r5780 | marko | 2009-09-09 02:50:50 -0400 (Wed, 09 Sep 2009) | 1 line
  
  branches/zip: ut_time_ms(): Return ulint, not uint.
  ------------------------------------------------------------------------
  r5779 | marko | 2009-09-09 02:17:19 -0400 (Wed, 09 Sep 2009) | 2 lines
  
  branches/zip: buf_page_peek_if_too_old(): Make the bitmasking work when
  buf_pool->freed_page_clock is wider than 32 bits.
  ------------------------------------------------------------------------
  r5777 | marko | 2009-09-08 11:50:25 -0400 (Tue, 08 Sep 2009) | 2 lines
  
  branches/zip: Remove BUF_LRU_INITIAL_RATIO, which should have been removed
  together with buf_LRU_get_recent_limit().
  ------------------------------------------------------------------------
  r5775 | calvin | 2009-09-07 17:15:05 -0400 (Mon, 07 Sep 2009) | 13 lines
  
  branches/zip: Build InnoDB on Windows with UNIV_HOTBACKUP
  
  The changes are non-functional changes for normal InnoDB,
  but needed for building the Hot Backup on Windows (with
  UNIV_HOTBACKUP defined).
  
  - Define os_aio_use_native_aio for HB.
  - Do not acquire seek mutexes for backup since HB is single threaded.
  - Do not use srv_flush_log_at_trx_commit for HB build
  
  rb://155
  
  Approved by: Marko
  ------------------------------------------------------------------------
  r5752 | marko | 2009-09-03 10:55:51 -0400 (Thu, 03 Sep 2009) | 10 lines
  
  branches/zip: recv_recover_page_func(): Write the log sequence number
  to the compressed page, if there is one.  Previously, the function only
  wrote the LSN to the uncompressed page.
  
  It is not clear why recv_recover_page_func() is updating FIL_PAGE_LSN
  in the buffer pool.  The log sequence number will be stamped on the
  page when it is flushed to disk, in buf_flush_init_for_writing().
  I noticed this inconsistency when analyzing Issue #313, but this patch
  does not fix it.  That is no surprise, since FIL_PAGE_LSN should only
  matter on disk files, not in the buffer pool.
  ------------------------------------------------------------------------
  r5751 | marko | 2009-09-03 10:36:15 -0400 (Thu, 03 Sep 2009) | 7 lines
  
  branches/zip: row_merge(): Remove a bogus debug assertion
  that was triggered when creating an index on an empty table.
  
  row_merge_sort(): Add debug assertions and comments that justify
  the loop termination condition.
  
  The bogus assertion ut_ad(ihalf > 0) was reported by Michael.
  ------------------------------------------------------------------------
  r5748 | marko | 2009-09-03 07:05:44 -0400 (Thu, 03 Sep 2009) | 1 line
  
  branches/zip: MLOG_MULTI_REC_END: Correct the comment.
  ------------------------------------------------------------------------
  r5747 | marko | 2009-09-03 06:46:38 -0400 (Thu, 03 Sep 2009) | 2 lines
  
  branches/zip: recv_scan_log_recs(): Replace while with do...while,
  because the termination condition will always hold on the first iteration.
  ------------------------------------------------------------------------
  r5746 | marko | 2009-09-03 04:55:36 -0400 (Thu, 03 Sep 2009) | 2 lines
  
  branches/zip: log_reserve_and_write_fast(): Do not cache the log_sys pointer
  in a local variable.
  ------------------------------------------------------------------------
  r5745 | marko | 2009-09-03 04:38:22 -0400 (Thu, 03 Sep 2009) | 2 lines
  
  branches/zip: log_check_log_recs(): Enclose in #ifdef UNIV_LOG_DEBUG.
  Add const qualifiers.
  ------------------------------------------------------------------------
  r5744 | marko | 2009-09-03 04:28:35 -0400 (Thu, 03 Sep 2009) | 1 line
  
  branches/zip: ut_align(): Make ptr const, like in ut_align_down().
  ------------------------------------------------------------------------
  r5743 | marko | 2009-09-03 02:36:12 -0400 (Thu, 03 Sep 2009) | 3 lines
  
  branches/zip: log_reserve_and_write_fast(): Remove the redundant
  output parameter "success".
  Success is also indicated by a nonzero return value.
  ------------------------------------------------------------------------
  r5736 | marko | 2009-09-02 03:53:19 -0400 (Wed, 02 Sep 2009) | 1 line
  
  branches/zip: Enclose some timestamp functions in #ifndef UNIV_HOTBACKUP.
  ------------------------------------------------------------------------
  r5735 | marko | 2009-09-02 03:43:09 -0400 (Wed, 02 Sep 2009) | 2 lines
  
  branches/zip: univ.i: Do not undefine PACKAGE or VERSION.
  InnoDB source code does not refer to these macros.
  ------------------------------------------------------------------------
  r5734 | sunny | 2009-09-02 03:08:45 -0400 (Wed, 02 Sep 2009) | 2 lines
  
  branches/zip: Update ChangeLog with r5733 changes.
  
  ------------------------------------------------------------------------
  r5733 | sunny | 2009-09-02 03:05:15 -0400 (Wed, 02 Sep 2009) | 6 lines
  
  branches/zip: Fix a regression introduced by the fix for bug#26316. We check
  whether a transaction holds any AUTOINC locks before we acquire the kernel
  mutex and release those locks.
  
  Fix for rb://153. Approved by Marko.
  
  ------------------------------------------------------------------------
  r5716 | vasil | 2009-08-31 03:47:49 -0400 (Mon, 31 Aug 2009) | 9 lines
  
  branches/zip:
  
  Fix Bug#46718 InnoDB plugin incompatible with gcc 4.1 (at least: on PPC): "Undefined symbol"
  
  by implementing our own check in plug.in instead of using the result from
  the check from MySQL because it is insufficient.
  
  Approved by:	Marko (rb://154)
  
  ------------------------------------------------------------------------
  r5714 | marko | 2009-08-31 02:10:10 -0400 (Mon, 31 Aug 2009) | 5 lines
  
  branches/zip: buf_chunk_not_freed(): Do not acquire block->mutex unless
  block->page.state == BUF_BLOCK_FILE_PAGE.  Check that block->page.state
  makes sense.
  
  Approved by Sunny Bains over the IM.
  ------------------------------------------------------------------------
  r5709 | inaam | 2009-08-28 02:22:46 -0400 (Fri, 28 Aug 2009) | 5 lines
  
  branches/zip rb://152
  
  Disable display of deprecated parameter innodb_file_io_threads in
  'show variables'.
  
  ------------------------------------------------------------------------
  r5708 | inaam | 2009-08-27 18:43:32 -0400 (Thu, 27 Aug 2009) | 4 lines
  
  branches/zip
  
  Remove redundant TRUE : FALSE from the return statement
  
  ------------------------------------------------------------------------
  r5707 | inaam | 2009-08-27 12:20:35 -0400 (Thu, 27 Aug 2009) | 6 lines
  
  branches/zip
  
  Remove unused macros as we erased the random readahead code in r5703.
  Also fixed some comments.
  
  
  ------------------------------------------------------------------------
  r5706 | inaam | 2009-08-27 12:00:27 -0400 (Thu, 27 Aug 2009) | 20 lines
  
  branches/zip rb://147
  
  Done away with following two status variables:
  
  innodb_buffer_pool_read_ahead_rnd
  innodb_buffer_pool_read_ahead_seq
  
  Introduced two new status variables:
  innodb_buffer_pool_read_ahead = number of pages read as part of
  readahead since server startup
  innodb_buffer_pool_read_ahead_evicted = number of pages that are read
  in as readahead but were evicted before ever being accessed since
  server startup i.e.: a measure of how badly our readahead is
  performing
  
  SHOW INNODB STATUS will show two extra numbers in buffer pool section:
  pages read ahead/sec and pages evicted without access/sec
  
  Approved by: Marko
  
  ------------------------------------------------------------------------
  r5705 | marko | 2009-08-27 07:56:24 -0400 (Thu, 27 Aug 2009) | 11 lines
  
  branches/zip: dict_index_find_cols(): On column name lookup failure,
  return DB_CORRUPTION (HA_ERR_CRASHED) instead of abnormally
  terminating the server.  Also, disable the previously added diagnostic
  output to the error log, because mysql-test-run does not like extra
  output in the error log.  (Bug #44571)
  
  dict_index_add_to_cache(): Handle errors from dict_index_find_cols().
  
  mysql-test/innodb_bug44571.test: A test case for triggering the bug.
  
  rb://135 approved by Sunny Bains.
  ------------------------------------------------------------------------
  r5704 | marko | 2009-08-27 04:31:17 -0400 (Thu, 27 Aug 2009) | 32 lines
  
  branches/zip: Fix a critical bug in fast index creation that could
  corrupt the created indexes.
  
  row_merge(): Make "half" an in/out parameter. Determine the offset of
  half the output file. Copy the last blocks record-by-record instead of
  block-by-block, so that the records can be counted. Check that the
  input and output have matching n_rec.
  
  row_merge_sort(): Do not assume that two blocks of size N are merged
  into a block of size 2*N. The output block can be shorter than the
  input if the last page of each input block is almost empty. Use an
  accurate termination condition, based on the "half" computed by
  row_merge().
  
  row_merge_read(), row_merge_write(), row_merge_blocks(): Add debug output.
  
  merge_file_t, row_merge_file_create(): Add n_rec, the number of records
  in the merge file.
  
  row_merge_read_clustered_index(): Update n_rec.
  
  row_merge_blocks(): Update and check n_rec.
  
  row_merge_blocks_copy(): New function, for copying the last blocks in
  row_merge().  Update and check n_rec.
  
  This bug was discovered with a user-supplied test case that creates an
  index where the initial temporary file is 249 one-megabyte blocks and
  the merged files become smaller. In the test, possible merge record
  sizes are 10, 18, and 26 bytes.
  
  rb://150 approved by Sunny Bains.  This addresses Issue #320.
  ------------------------------------------------------------------------
  r5703 | marko | 2009-08-27 03:25:00 -0400 (Thu, 27 Aug 2009) | 41 lines
  
  branches/zip: Replace the constant 3/8 ratio that controls the LRU_old
  size with the settable global variable innodb_old_blocks_pct. The
  minimum and maximum values are 5 and 95 per cent, respectively. The
  default is 100*3/8, in line with the old behavior.
  
  ut_time_ms(): New utility function, to return the current time in
  milliseconds. TODO: Is there a more efficient timestamp function, such
  as rdtsc divided by a power of two?
  
  buf_LRU_old_threshold_ms: New variable, corresponding to
  innodb_old_blocks_time. The value 0 is the default behaviour: no
  timeout before making blocks 'new'.
  
  bpage->accessed, bpage->LRU_position, buf_pool->ulint_clock: Remove.
  
  bpage->access_time: New field, replacing bpage->accessed. Protected by
  buf_pool_mutex instead of bpage->mutex. Updated when a page is created
  or accessed the first time in the buffer pool.
  
  buf_LRU_old_ratio, innobase_old_blocks_pct: New variables,
  corresponding to innodb_old_blocks_pct
  
  buf_LRU_old_ratio_update(), innobase_old_blocks_pct_update(): Update
  functions for buf_LRU_old_ratio, innobase_old_blocks_pct.
  
  buf_page_peek_if_too_old(): Compare ut_time_ms() to bpage->access_time
  if buf_LRU_old_threshold_ms && bpage->old.  Else observe
  buf_LRU_old_ratio and bpage->freed_page_clock.
  
  buf_pool_t: Add n_pages_made_young, n_pages_not_made_young,
  n_pages_made_young_old, n_pages_not_made_young, for statistics.
  
  buf_print(): Display buf_pool->n_pages_made_young,
  buf_pool->n_pages_not_made_young.  This function is only for crash
  diagnostics.
  
  buf_print_io(): Display buf_pool->LRU_old_len and quantities derived
  from buf_pool->n_pages_made_young, buf_pool->n_pages_not_made_young.
  This function is invoked by SHOW ENGINE INNODB STATUS.
  
  rb://129 approved by Heikki Tuuri.  This addresses Bug #45015.
  ------------------------------------------------------------------------
  r5702 | marko | 2009-08-27 03:03:15 -0400 (Thu, 27 Aug 2009) | 1 line
  
  branches/zip: Document also the files affected by r5698 in the ChangeLog.
  ------------------------------------------------------------------------
  r5701 | marko | 2009-08-27 03:01:42 -0400 (Thu, 27 Aug 2009) | 1 line
  
  branches/zip: Document r5698 in the ChangeLog.
  ------------------------------------------------------------------------
  r5698 | inaam | 2009-08-26 10:34:35 -0400 (Wed, 26 Aug 2009) | 13 lines
  
  branches/zip  bug#42885  rb://148
  
  The call to put IO threads to sleep was most probably meant for Windows
  only as the comment in buf0rea.c suggests. However it was enabled on
  all platforms. This patch restricts the sleep call to windows. This
  approach of not putting threads to sleep makes even more sense because
  now we have multiple threads working in the background and it probably
  is not a good idea to put all of them to sleep because a user thread
  wants to post a batch for readahead.
  
  Approved by: Marko
  
  
  ------------------------------------------------------------------------
  r5697 | vasil | 2009-08-26 09:44:40 -0400 (Wed, 26 Aug 2009) | 4 lines
  
  branches/zip:
  
  Fix typo.
  
  ------------------------------------------------------------------------
  r5696 | vasil | 2009-08-26 09:15:59 -0400 (Wed, 26 Aug 2009) | 14 lines
  
  branches/zip:
  
  Merge a change from MySQL:
  
   http://lists.mysql.com/commits/80832
  
   2968 Jonathan Perkin	2009-08-14
        Build fixes for Windows, AIX, HP/UX and Sun Studio11, from Timothy Smith.
        modified:
          CMakeLists.txt
          cmd-line-utils/readline/util.c
          storage/innodb_plugin/handler/i_s.cc
          storage/innodb_plugin/include/univ.i
  
  ------------------------------------------------------------------------
  r5695 | marko | 2009-08-26 09:14:59 -0400 (Wed, 26 Aug 2009) | 1 line
  
  branches/zip: UNIV_DEBUG_LOCK_VALIDATE: Move the definition to univ.i.
  ------------------------------------------------------------------------
  r5694 | marko | 2009-08-26 07:25:26 -0400 (Wed, 26 Aug 2009) | 2 lines
  
  branches/zip: buf_page_t: Clarify that bpage->list may contain garbage.
  This comment was provoked by Inaam.
  ------------------------------------------------------------------------
  r5687 | vasil | 2009-08-20 05:20:22 -0400 (Thu, 20 Aug 2009) | 8 lines
  
  branches/zip:
  
  ChangeLog:
  Follow the convention from the rest of the ChangeLog: for bugfixes from
  bugs.mysql.com only the bug number and title goes in the ChangeLog. Detailed
  explanation on what is the problem and how it was fixed is present in
  the bugs database.
  
  ------------------------------------------------------------------------
  r5686 | vasil | 2009-08-20 05:15:05 -0400 (Thu, 20 Aug 2009) | 4 lines
  
  branches/zip:
  
  White-space fixup.
  
  ------------------------------------------------------------------------
  r5685 | sunny | 2009-08-20 04:18:29 -0400 (Thu, 20 Aug 2009) | 2 lines
  
  branches/zip: Update the ChangeLog with r5684 change.
  
  ------------------------------------------------------------------------
  r5684 | sunny | 2009-08-20 04:05:30 -0400 (Thu, 20 Aug 2009) | 10 lines
  
  branches/zip: Fix bug# 46650:  Innodb assertion autoinc_lock == lock in lock_table_remove_low on INSERT SELECT
  
  We only store the autoinc locks that are granted in the transaction's autoinc
  lock vector. A transacton, that has been rolled back due to a deadlock because
  of an AUTOINC lock attempt, will not have added that lock to the vector. We
  need to check for that when we remove that lock.
  
  rb://145
  Approved by Marko.
  
  ------------------------------------------------------------------------
  r5681 | sunny | 2009-08-14 02:16:24 -0400 (Fri, 14 Aug 2009) | 3 lines
  
  branches/zip: When building HotBackup srv_use_sys_malloc is #ifdef out. We
  move access to the this variable within a !UNIV_HOTBACKUP block.
  
  ------------------------------------------------------------------------
  r5671 | marko | 2009-08-13 04:46:33 -0400 (Thu, 13 Aug 2009) | 5 lines
  
  branches/zip: ha_innobase::add_index(): Fix Bug #46557:
  after a successful operation, read innodb_table->flags from
  the newly created table object, not from the old one that was just freed.
  
  Approved by Sunny.
  ------------------------------------------------------------------------
  r5670 | marko | 2009-08-12 09:16:37 -0400 (Wed, 12 Aug 2009) | 2 lines
  
  branches/zip: trx_undo_rec_copy(): Add const qualifier to undo_rec.
  This is a non-functional change.
  ------------------------------------------------------------------------
  r5663 | marko | 2009-08-11 07:42:37 -0400 (Tue, 11 Aug 2009) | 2 lines
  
  branches/zip: trx_general_rollback_for_mysql(): Remove the redundant
  parameter partial. If savept==NULL, partial==FALSE.
  ------------------------------------------------------------------------
  r5662 | marko | 2009-08-11 05:54:16 -0400 (Tue, 11 Aug 2009) | 1 line
  
  branches/zip: Bump the version number to 1.0.5 after releasing 1.0.4.
  ------------------------------------------------------------------------
  r5642 | calvin | 2009-08-06 19:04:03 -0400 (Thu, 06 Aug 2009) | 2 lines
  
  branches/zip: remove duplicate "the" in comments.
  
  ------------------------------------------------------------------------
  r5639 | marko | 2009-08-06 06:39:34 -0400 (Thu, 06 Aug 2009) | 3 lines
  
  branches/zip: mem_heap_block_free(): If innodb_use_sys_malloc is set,
  do not tell Valgrind that the memory is free, to avoid
  a bogus warning in Valgrind's built-in free() hook.
  ------------------------------------------------------------------------
  r5636 | marko | 2009-08-05 08:27:30 -0400 (Wed, 05 Aug 2009) | 2 lines
  
  branches/zip: lock_rec_validate_page(): Add the parameter zip_size.
  This should help track down Mantis Issue #289.
  ------------------------------------------------------------------------
  r5635 | marko | 2009-08-05 07:06:55 -0400 (Wed, 05 Aug 2009) | 2 lines
  
  branches/zip: Replace <number> with NUMBER in some comments,
  to avoid problems with Doxygen XML output.
  ------------------------------------------------------------------------
  r5629 | marko | 2009-08-04 07:42:44 -0400 (Tue, 04 Aug 2009) | 1 line
  
  branches/zip: mysql-test: Pass MTR's internal checks.
  ------------------------------------------------------------------------
  r5626 | vasil | 2009-08-04 01:53:31 -0400 (Tue, 04 Aug 2009) | 4 lines
  
  branches/zip:
  
  Revert the dummy change from c5625.
  
  ------------------------------------------------------------------------
  r5625 | vasil | 2009-08-04 01:52:48 -0400 (Tue, 04 Aug 2009) | 32 lines
  
  branches/zip: Merge 5518:5622 from branches/5.1, resolving conflict in r5622
  (after resolving the conflict Makefile.am was not changed so I have made
  a dummy change so I can commit and thus record that branches/5.1 has been
  merged in branches/zip up to 5622):
  
    ------------------------------------------------------------------------
    r5622 | vasil | 2009-08-03 15:27:00 +0300 (Mon, 03 Aug 2009) | 20 lines
    Changed paths:
       M /branches/5.1/Makefile.am
    
    branches/5.1:
    
    Merge a change from MySQL:
    
      ------------------------------------------------------------
      revno: 2988
      committer: Satya B <satya.bn@sun.com>
      branch nick: mysql-5.1-bugteam
      timestamp: Wed 2009-07-01 11:06:05 +0530
      message:
        Fix build failure after applying Innodb snapshot 5.1-ss5282
        
        After applying Innodb snapshot 5.1-ss5282, build was broken
        because of missing header file. 
        
        Adding the header file to Makefile.am after informing the 
        innodb developers.
      modified:
        storage/innobase/Makefile.am
    
    ------------------------------------------------------------------------
  
  ------------------------------------------------------------------------
  r5614 | vasil | 2009-07-31 11:09:07 -0400 (Fri, 31 Jul 2009) | 6 lines
  
  branches/zip:
  
  Add fsp0types.h to the list of noinst_HEADERS
  
  Suggested by:	Sergey Vojtovich <svoj@sun.com>
  
  ------------------------------------------------------------------------
  r5539 | vasil | 2009-07-21 06:28:27 -0400 (Tue, 21 Jul 2009) | 4 lines
  
  branches/zip:
  
  Add a test program to check whether the PAUSE instruction is available.
  
  ------------------------------------------------------------------------
  r5537 | vasil | 2009-07-21 05:31:26 -0400 (Tue, 21 Jul 2009) | 5 lines
  
  branches/zip:
  
  Fixups in ChangeLog: sort filenames alphabetically and wrap to 78 chars per
  line.
  
  ------------------------------------------------------------------------
  r5527 | sunny | 2009-07-20 17:56:30 -0400 (Mon, 20 Jul 2009) | 2 lines
  
  branches/zip: For HotBackup builds we don't want to hide the symbols.
  
  ------------------------------------------------------------------------
  r5525 | calvin | 2009-07-20 13:14:30 -0400 (Mon, 20 Jul 2009) | 2 lines
  
  branches/zip: add ChangeLog entry for r5524.
  
  ------------------------------------------------------------------------
2009-09-28 17:34:23 +00:00
marko
1601bdc38a branches/innodb+: Merge revisions 5091:5143 from branches/zip:
------------------------------------------------------------------------
  r5092 | marko | 2009-05-25 09:54:17 +0300 (Mon, 25 May 2009) | 1 line

  branches/zip: Adjust some function comments after r5091.
  ------------------------------------------------------------------------
  r5100 | marko | 2009-05-25 12:09:45 +0300 (Mon, 25 May 2009) | 1 line

  branches/zip: Split some long lines that were introduced in r5091.
  ------------------------------------------------------------------------
  r5101 | marko | 2009-05-25 12:42:47 +0300 (Mon, 25 May 2009) | 2 lines

  branches/zip: Introduce the macro TEMP_INDEX_PREFIX_STR.
  This is to avoid triggering an error in Doxygen.
  ------------------------------------------------------------------------
  r5102 | marko | 2009-05-25 13:47:14 +0300 (Mon, 25 May 2009) | 1 line

  branches/zip: Add missing file comments.
  ------------------------------------------------------------------------
  r5103 | marko | 2009-05-25 13:52:29 +0300 (Mon, 25 May 2009) | 10 lines

  branches/zip: Add @file comments, and convert decorative
  /*********************************
  comments to Doxygen /** style like this:
  /*****************************//**

  This conversion was performed by the following command:

  perl -i -e 'while(<ARGV>){if (m|^/\*{30}\**$|) {
  s|\*{4}$|//**| if ++$com>1; $_ .= "\@file $ARGV\n" if $com==2}
  print; if(eof){$.=0;undef $com}}' */*[ch] include/univ.i
  ------------------------------------------------------------------------
  r5104 | marko | 2009-05-25 14:39:07 +0300 (Mon, 25 May 2009) | 2 lines

  branches/zip: Revert ut0auxconf_* to r5102,
  that is, make Doxygen ignore these test programs.
  ------------------------------------------------------------------------
  r5105 | marko | 2009-05-25 14:52:20 +0300 (Mon, 25 May 2009) | 2 lines

  branches/zip: Enclose some #error checks inside #ifndef DOXYGEN
  to prevent bogus Doxygen errors.
  ------------------------------------------------------------------------
  r5106 | marko | 2009-05-25 16:09:24 +0300 (Mon, 25 May 2009) | 2 lines

  branches/zip: Add some Doxygen comments, mainly to structs, typedefs,
  macros and global variables.  Many more to go.
  ------------------------------------------------------------------------
  r5108 | marko | 2009-05-26 00:32:35 +0300 (Tue, 26 May 2009) | 2 lines

  branches/zip: lexyy.c: Remove the inadvertently added @file directive.
  There is nothing for Doxygen to see in this file, move along.
  ------------------------------------------------------------------------
  r5125 | marko | 2009-05-26 16:28:49 +0300 (Tue, 26 May 2009) | 3 lines

  branches/zip: Add some Doxygen comments for many structs, typedefs,
  #defines and global variables.  Many are still missing.
  ------------------------------------------------------------------------
  r5134 | marko | 2009-05-27 09:08:43 +0300 (Wed, 27 May 2009) | 1 line

  branches/zip: Add some Doxygen @return comments.
  ------------------------------------------------------------------------
  r5139 | marko | 2009-05-27 10:01:40 +0300 (Wed, 27 May 2009) | 1 line

  branches/zip: Add Doxyfile.
  ------------------------------------------------------------------------
  r5143 | marko | 2009-05-27 10:57:25 +0300 (Wed, 27 May 2009) | 3 lines

  branches/zip: buf0buf.h, Doxyfile: Fix the Doxygen translation.
  @defgroup is for source code modules, not for field groups.
  Tell Doxygen to expand the UT_LIST declarations.
  ------------------------------------------------------------------------
2009-05-27 09:52:16 +00:00
marko
61bddcc89b branches/innodb+: Merge revisions 5090:5091 from branches/zip:
(Ran doxygenify.pl conversion locally, then merged and checked consistency.)
  ------------------------------------------------------------------------
  r5091 | marko | 2009-05-25 09:30:14 +0300 (Mon, 25 May 2009) | 33 lines

  branches/zip: Convert the function comments to Doxygen format.

  This patch was created by running the following commands:

  for i in */*[ch]; do doxygenify.pl $i; done
  perl -i -pe 's#\*{3} \*/$#****/#' */*[ch]

  where doxygenify.pl is
  https://svn.innodb.com/svn/misc/trunk/tools/doxygenify.pl r510

  Verified the consistency as follows:

  (0) not too many /* in: */ or /* out: */ comments left in the code:
  grep -l '/\*\s*\(in\|out\)[,:/]' */*[ch]

  (1) no difference when ignoring blank lines, after stripping all
  C90-style /* comments */, including multi-line ones, before and after
  applying this patch:

  perl -i -e 'undef $/;while(<ARGV>){s#/\*(.*?)\*/##gs;print}' */*[ch]
  diff -I'^\s*$' --exclude .svn -ru TREE1 TREE2

  (2) after stripping @return comments and !<, generated a diff and omitted
  the hunks where /* out: */ function return comments were removed:

  perl -i -e'undef $/;while(<ARGV>){s#!<##g;s#\n\@return\t.*?\*/# \*/#gs;print}'\
   */*[ch]
  svn diff|
  perl -e 'undef $/;$_=<>;s#\n-\s*/\* out[:,]([^\n]*?)(\n-[^\n]*?)*\*/##gs;print'

  Some unintended changes were left.  These will be removed in a
  subsequent patch.
  ------------------------------------------------------------------------
2009-05-25 06:46:10 +00:00
marko
e76b873f24 branches/innodb+: Merge revisions 4660:5090 from branches/zip:
------------------------------------------------------------------------
  r4670 | vasil | 2009-04-07 09:35:23 +0300 (Tue, 07 Apr 2009) | 11 lines

  branches/zip:

  Fix Bug#43660 SHOW INDEXES/ANALYZE does NOT update cardinality for
  indexes of InnoDB table

  by replacing the pseudo random number generator with a better one (LCG).

  This also fixes Mantis Issue#212.

  Approved by:	Heikki (rb://110)
  ------------------------------------------------------------------------
  r4671 | vasil | 2009-04-07 09:37:31 +0300 (Tue, 07 Apr 2009) | 4 lines

  branches/zip:

  Add ChangeLog entry for r4670.
  ------------------------------------------------------------------------
  r4673 | marko | 2009-04-07 15:45:28 +0300 (Tue, 07 Apr 2009) | 4 lines

  branches/zip: Allow in-place updates of UTF-8 CHAR columns
  from or to NULL in ROW_FORMAT=REDUNDANT. (Bug #44032)

  rb://107 approved by Heikki Tuuri.
  ------------------------------------------------------------------------
  r4677 | marko | 2009-04-07 16:19:31 +0300 (Tue, 07 Apr 2009) | 1 line

  branches/zip: Adjust r4673 as in the merge to branches/6.0 -r4676.
  ------------------------------------------------------------------------
  r4678 | inaam | 2009-04-07 18:45:37 +0300 (Tue, 07 Apr 2009) | 12 lines

  branches/zip

  Enable atomics on solaris (using the libc functions as defined in
  atomic.h) if GCC atomic builtins are not present.

  There still remains some work to be done (by Vasil?). This patch
  makes changes to plug.in to check pthread_t size and presence of
  atomic functions when running on solaris. The same has to become
  a part of the generated Makefile.in when we bake our source.

  Reviewed by: Heikki rb://106
  ------------------------------------------------------------------------
  r4687 | vasil | 2009-04-08 13:08:59 +0300 (Wed, 08 Apr 2009) | 4 lines

  branches/zip:

  Whitespace fixup in the ChangeLog
  ------------------------------------------------------------------------
  r4688 | vasil | 2009-04-08 13:11:15 +0300 (Wed, 08 Apr 2009) | 4 lines

  branches/zip:

  Add ChangeLog entry for r4678.
  ------------------------------------------------------------------------
  r4689 | marko | 2009-04-08 14:24:49 +0300 (Wed, 08 Apr 2009) | 5 lines

  branches/zip: Hide unnecessarily visible globals.
  dict_ind_redundant, dict_ind_compact: Declare these UNIV_INTERN.
  innodb_hton_ptr: Declare static.  We do not attempt to access the
  built-in InnoDB any more.
  trx_roll_savepoints_free(): Declare UNIV_INTERN.
  ------------------------------------------------------------------------
  r4700 | calvin | 2009-04-11 00:37:10 +0300 (Sat, 11 Apr 2009) | 9 lines

  branches/zip: Rewrite CMakeLists.txt

  CMakeLists.txt is completely rewritten:
  - To replace the one written by mysql
  - Print out some useful information, such as
    system name, directory, generator used,
    win64, Microsoft compiler, etc.
  - Remove one workaround for mysqld.lib location.
    User does not need to specify a build type
  ------------------------------------------------------------------------
  r4702 | calvin | 2009-04-13 18:16:44 +0300 (Mon, 13 Apr 2009) | 3 lines

  branches/zip: delete the original CMakeLists.txt

  A new version will be committed, suggested by Ken.
  ------------------------------------------------------------------------
  r4703 | calvin | 2009-04-13 18:20:45 +0300 (Mon, 13 Apr 2009) | 9 lines

  branches/zip: new CMakeLists.txt

  CMakeLists.txt is completely rewritten with enhancements:
  - Print out useful information, such as
    system name, directory, generator used,
    win64, Microsoft compiler, etc.
  - Remove one workaround for mysqld.lib location.
    User does not need to specify a build type
    when invoking MSVC generator.
  ------------------------------------------------------------------------
  r4706 | vasil | 2009-04-14 14:32:11 +0300 (Tue, 14 Apr 2009) | 5 lines

  branches/zip:

  When using the random function, first take the modulus by the number of pages
  and then typecast to ulint.
  ------------------------------------------------------------------------
  r4707 | calvin | 2009-04-14 17:47:31 +0300 (Tue, 14 Apr 2009) | 13 lines

  branches/zip: remove statically linked libraries from mysql

  To make zlib and strings dynamically linked; mysqld will export
  additional functions required by InnoDB.

  Since the symbols will be resolved dynamically during runtime,
  wdl_load_mapfile() is no longer able to make any function calls
  to ones in mysqld. As the result, strtoull() (from strings.lib)
  is replaced with _strtoui64().

  rb://111

  Approved by: Marko
  ------------------------------------------------------------------------
  r4712 | vasil | 2009-04-15 12:26:32 +0300 (Wed, 15 Apr 2009) | 157 lines

  branches/zip: Merge revisions 4481:4710 from branches/5.1:

  (resolving conflict in r4574, r4575 and skipping r4699 and r4705 because
  analogous changes to r4699 and r4705 were already made to branches/zip)

    ------------------------------------------------------------------------
    r4573 | vasil | 2009-03-30 14:17:13 +0300 (Mon, 30 Mar 2009) | 4 lines
    Changed paths:
       M /branches/5.1/mysql-test/innodb.test

    branches/5.1:

    Fix email address from dev@innodb.com to innodb_dev_ww@oracle.com

    ------------------------------------------------------------------------
    r4574 | vasil | 2009-03-30 14:27:08 +0300 (Mon, 30 Mar 2009) | 38 lines
    Changed paths:
       M /branches/5.1/Makefile.am
       M /branches/5.1/mysql-test/innodb.test

    branches/5.1:

    Restore the state of INNODB_THREAD_CONCURRENCY to silence this warning:

      TEST                                      RESULT   TIME (ms)
      ------------------------------------------------------------

      worker[1] Using MTR_BUILD_THREAD 250, with reserved ports 12500..12509
      main.innodb                              [ pass ]   8803

      MTR's internal check of the test case 'main.innodb' failed.
      This means that the test case does not preserve the state that existed
      before the test case was executed.  Most likely the test case did not
      do a proper clean-up.
      This is the diff of the states of the servers before and after the
      test case was executed:
      mysqltest: Logging to '/tmp/autotest.sh-20090330_033000-5.1.5Hg8CY/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.log'.
      mysqltest: Results saved in '/tmp/autotest.sh-20090330_033000-5.1.5Hg8CY/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.result'.
      mysqltest: Connecting to server localhost:12500 (socket /tmp/autotest.sh-20090330_033000-5.1.5Hg8CY/mysql-5.1/mysql-test/var/tmp/mysqld.1.sock) as 'root', connection 'default', attempt 0 ...
      mysqltest: ... Connected.
      mysqltest: Start processing test commands from './include/check-testcase.test' ...
      mysqltest: ... Done processing test commands.
      --- /tmp/autotest.sh-20090330_033000-5.1.5Hg8CY/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.result	2009-03-30 14:12:31.000000000 +0300
      +++ /tmp/autotest.sh-20090330_033000-5.1.5Hg8CY/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.reject	2009-03-30 14:12:41.000000000 +0300
      @@ -99,7 +99,7 @@
       INNODB_SUPPORT_XA	ON
       INNODB_SYNC_SPIN_LOOPS	20
       INNODB_TABLE_LOCKS	ON
      -INNODB_THREAD_CONCURRENCY	8
      +INNODB_THREAD_CONCURRENCY	16
       INNODB_THREAD_SLEEP_DELAY	10000
       INSERT_ID	0
       INTERACTIVE_TIMEOUT	28800

      mysqltest: Result content mismatch

      not ok
    ------------------------------------------------------------------------
    r4575 | vasil | 2009-03-30 15:55:31 +0300 (Mon, 30 Mar 2009) | 8 lines
    Changed paths:
       M /branches/5.1/mysql-test/innodb.result
       M /branches/5.1/mysql-test/innodb.test

    branches/5.1:

    Fix Bug#43309 Test main.innodb can't be run twice

    Make the innodb mysql-test more flexible by inspecting how much a
    variable of interest has changed since the start of the test. Do not
    assume the variables have zero values at the start of the test.
    ------------------------------------------------------------------------
    r4576 | vasil | 2009-03-30 16:25:10 +0300 (Mon, 30 Mar 2009) | 4 lines
    Changed paths:
       M /branches/5.1/Makefile.am

    branches/5.1:

    Revert a change to Makefile.am that I committed accidentally in c4574.
    ------------------------------------------------------------------------
    r4659 | vasil | 2009-04-06 15:34:51 +0300 (Mon, 06 Apr 2009) | 6 lines
    Changed paths:
       M /branches/5.1/mysql-test/innodb.test

    branches/5.1:

    Followup to r4575 and the fix of Bug#43309 Test main.innodb can't be run twice:

    Add an explanatory comment, as suggested by Patrick Crews in the bug report.
    ------------------------------------------------------------------------
    r4699 | vasil | 2009-04-09 14:01:52 +0300 (Thu, 09 Apr 2009) | 15 lines
    Changed paths:
       M /branches/5.1/handler/ha_innodb.cc
       M /branches/5.1/include/srv0srv.h
       M /branches/5.1/page/page0cur.c
       M /branches/5.1/srv/srv0srv.c

    branches/5.1:

    Fix Bug#43660 SHOW INDEXES/ANALYZE does NOT update cardinality for indexes
    of InnoDB table

    by replacing the PRNG that is used to pick random pages with a better
    one.

    This is based on r4670 but also adds a new configuration option and
    enables the fix only if this option is changed. Please skip the present
    revision when merging.

    Approved by:	Heikki (via email)
    ------------------------------------------------------------------------
    r4705 | vasil | 2009-04-14 14:30:13 +0300 (Tue, 14 Apr 2009) | 5 lines
    Changed paths:
       M /branches/5.1/page/page0cur.c

    branches/5.1:

    When using the random function, first take the modulus by the number of pages
    and then typecast to ulint.

    ------------------------------------------------------------------------
    r4710 | vasil | 2009-04-15 11:55:18 +0300 (Wed, 15 Apr 2009) | 25 lines
    Changed paths:
       M /branches/5.1/handler/ha_innodb.cc

    branches/5.1:

    Merge a change from MySQL (looks like this is against 5.0 but they later
    merged it to 5.1):

      ------------------------------------------------------------
      revno: 1810.3846.1
      committer: Alexey Botchkov <holyfoot@mysql.com>
      branch nick: 31435
      timestamp: Tue 2008-11-11 14:42:32 +0400
      message:
        Bug#31435 ha_innodb.cc:3983: ulint convert_search_mode_to_innobase(ha_rkey_function): Asse 
            I think we don't need to issue an error statement in the convert_search_mode_to_innobase().
            Returning the PAGE_CUR_UNSUPP value is enough as allows to handle this
            case depending on the requirements.

        per-file comments:
          sql/ha_innodb.cc 
        Bug#31435 ha_innodb.cc:3983: ulint convert_search_mode_to_innobase(ha_rkey_function): Asse 
             no error issued in convert_search_mode_to_innobase.
             ha_innobase::records_in_range() returns HA_POS_ERROR if search mode isn't supported.
      modified:
        sql/ha_innodb.cc
    ------------------------------------------------------------------------
  ------------------------------------------------------------------------
  r4713 | vasil | 2009-04-15 12:36:16 +0300 (Wed, 15 Apr 2009) | 4 lines

  branches/zip:

  Add missing ChangeLog entries
  ------------------------------------------------------------------------
  r4714 | vasil | 2009-04-15 12:36:57 +0300 (Wed, 15 Apr 2009) | 4 lines

  branches/zip:

  Fix typo in the ChangeLog
  ------------------------------------------------------------------------
  r4715 | vasil | 2009-04-15 12:39:04 +0300 (Wed, 15 Apr 2009) | 4 lines

  branches/zip:

  Whitespace cleanup in ChangeLog
  ------------------------------------------------------------------------
  r4716 | vasil | 2009-04-15 21:36:06 +0300 (Wed, 15 Apr 2009) | 4 lines

  branches/zip:

  Add ChangeLog entry for r4543.
  ------------------------------------------------------------------------
  r4717 | calvin | 2009-04-16 01:22:35 +0300 (Thu, 16 Apr 2009) | 18 lines

  branches/zip: Use the Windows Interlocked functions for atomic memory
  access

  Mapping the atomic operations to Windows Interlocked functions:

  os_compare_and_swap_* to InterlockedCompareExchange(64)
  os_atomic_increment_* to InterlockedExchangeAdd(64)
  os_atomic_test_and_set_byte to InterlockedExchange

  In this patch, the legacy code under UNIV_CAN_USE_X86_ASSEMBLER is
  removed all together, and add HAVE_WINDOWS_ATOMICS and
  INNODB_RW_LOCKS_USE_ATOMICS to CMakeLists.txt

  This is to address mantis issue#194.

  rb://113

  Approved by: Marko
  ------------------------------------------------------------------------
  r4720 | vasil | 2009-04-16 09:44:48 +0300 (Thu, 16 Apr 2009) | 4 lines

  branches/zip:

  Add ChangeLog entry for r4717.
  ------------------------------------------------------------------------
  r4721 | marko | 2009-04-16 10:32:09 +0300 (Thu, 16 Apr 2009) | 2 lines

  branches/zip: row_scan_and_check_index(): Initialize prebuilt->index_usable.
  This should have been done in r4631.  Spotted by Michael.
  ------------------------------------------------------------------------
  r4728 | marko | 2009-04-16 16:02:27 +0300 (Thu, 16 Apr 2009) | 3 lines

  branches/zip: univ.i: Define REFMAN as the base URL of the
  MySQL Reference Manual and use it in every string.
  This fixes Issue #221.
  ------------------------------------------------------------------------
  r4733 | calvin | 2009-04-17 08:13:20 +0300 (Fri, 17 Apr 2009) | 6 lines

  branches/zip: minor changes to CMakeLists.txt

  All are non-functional changes:
  - should check for long (not int), spotted by Sunny
  - comment out the project definition, avoiding to generate another
    .sln file.
  ------------------------------------------------------------------------
  r4748 | vasil | 2009-04-18 00:50:09 +0300 (Sat, 18 Apr 2009) | 118 lines

  branches/zip: Merge revisions 4710:4746 from branches/5.1:

    ------------------------------------------------------------------------
    r4746 | vasil | 2009-04-18 00:32:08 +0300 (Sat, 18 Apr 2009) | 110 lines
    Changed paths:
       M /branches/5.1/handler/ha_innodb.cc
       M /branches/5.1/include/pars0pars.h

    branches/5.1:

    Merge a change from MySQL:

      ------------------------------------------------------------
      revno: 2728.10.2
      committer: Ignacio Galarza <iggy@mysql.com>
      branch nick: mysql-5.1-bugteam-bug29125
      timestamp: Fri 2009-02-13 11:41:47 -0500
      message:
        Bug#29125 Windows Server X64: so many compiler warnings
        - Remove bothersome warning messages.  This change focuses on the warnings 
        that are covered by the ignore file: support-files/compiler_warnings.supp.
        - Strings are guaranteed to be max uint in length
      modified:
        client/mysql_upgrade.c
        client/mysqladmin.cc
        client/mysqlbinlog.cc
        client/mysqlcheck.c
        client/mysqldump.c
        client/mysqlslap.c
        client/mysqltest.cc
        client/sql_string.cc
        extra/comp_err.c
        extra/yassl/src/buffer.cpp
        extra/yassl/taocrypt/include/block.hpp
        extra/yassl/taocrypt/src/algebra.cpp
        extra/yassl/taocrypt/src/asn.cpp
        include/config-win.h
        libmysql/libmysql.c
        mysys/array.c
        mysys/base64.c
        mysys/charset.c
        mysys/checksum.c
        mysys/default.c
        mysys/default_modify.c
        mysys/hash.c
        mysys/mf_keycache.c
        mysys/mf_tempdir.c
        mysys/my_append.c
        mysys/my_compress.c
        mysys/my_conio.c
        mysys/my_copy.c
        mysys/my_getwd.c
        mysys/my_pread.c
        mysys/my_quick.c
        mysys/my_read.c
        mysys/safemalloc.c
        mysys/string.c
        server-tools/instance-manager/buffer.cc
        server-tools/instance-manager/instance.cc
        server-tools/instance-manager/options.cc
        server-tools/instance-manager/parse.h
        sql-common/client.c
        sql-common/my_user.c
        sql/event_data_objects.cc
        sql/event_parse_data.cc
        sql/events.cc
        sql/gen_lex_hash.cc
        sql/item.h
        sql/item_func.cc
        sql/item_strfunc.cc
        sql/item_timefunc.cc
        sql/lock.cc
        sql/log_event.cc
        sql/log_event.h
        sql/log_event_old.cc
        sql/net_serv.cc
        sql/sp_head.h
        sql/spatial.h
        sql/sql_class.h
        sql/sql_connect.cc
        sql/sql_crypt.cc
        sql/sql_error.cc
        sql/sql_insert.cc
        sql/sql_lex.cc
        sql/sql_lex.h
        sql/sql_load.cc
        sql/sql_prepare.cc
        sql/sql_profile.cc
        sql/sql_repl.cc
        sql/sql_servers.cc
        sql/sql_string.cc
        sql/sql_table.cc
        sql/sql_trigger.cc
        sql/sql_udf.cc
        sql/sql_view.cc
        sql/udf_example.c
        sql/uniques.cc
        storage/archive/azio.c
        storage/archive/azlib.h
        storage/csv/ha_tina.cc
        storage/csv/ha_tina.h
        storage/csv/transparent_file.h
        storage/federated/ha_federated.cc
        storage/federated/ha_federated.h
        storage/heap/hp_write.c
        storage/innobase/handler/ha_innodb.cc
        storage/innobase/include/pars0pars.h
        storage/myisam/ha_myisam.cc
        storage/myisam/mi_check.c
        storage/myisam/mi_packrec.c
        storage/myisam/mi_search.c
        storage/myisam/rt_index.c
        storage/myisammrg/ha_myisammrg.cc
        strings/ctype.c
        strings/my_vsnprintf.c
        tests/bug25714.c
        tests/mysql_client_test.c
  ------------------------------------------------------------------------
  r4749 | vasil | 2009-04-18 00:58:08 +0300 (Sat, 18 Apr 2009) | 4 lines

  branches/zip:

  Add ChangeLog entry for t4748.
  ------------------------------------------------------------------------
  r4751 | vasil | 2009-04-18 01:29:16 +0300 (Sat, 18 Apr 2009) | 4 lines

  branches/zip:

  Silence warning about unused variables.
  ------------------------------------------------------------------------
  r4752 | vasil | 2009-04-18 01:30:37 +0300 (Sat, 18 Apr 2009) | 4 lines

  branches/zip:

  Include the needed header for memset().
  ------------------------------------------------------------------------
  r4753 | vasil | 2009-04-18 01:31:34 +0300 (Sat, 18 Apr 2009) | 4 lines

  branches/zip:

  Silence a compiler warning.
  ------------------------------------------------------------------------
  r4756 | vasil | 2009-04-18 02:19:03 +0300 (Sat, 18 Apr 2009) | 5 lines

  branches/zip:

  Rename the aux config program and give it a more specific name because
  more are coming.
  ------------------------------------------------------------------------
  r4757 | vasil | 2009-04-18 02:22:33 +0300 (Sat, 18 Apr 2009) | 4 lines

  branches/zip:

  Add comment and copyright notice to the aux config program.
  ------------------------------------------------------------------------
  r4758 | vasil | 2009-04-18 02:40:47 +0300 (Sat, 18 Apr 2009) | 5 lines

  branches/zip:

  Add aux config programs to emulate the newly added checks in plug.in
  (from r4678).
  ------------------------------------------------------------------------
  r4830 | marko | 2009-04-20 16:11:38 +0300 (Mon, 20 Apr 2009) | 6 lines

  branches/zip: Cosmetic fixes.

  row_unlock_for_mysql(): Add a const qualifier to read-only rec_t*.
  Use dict_index_is_clust().

  CMakeLists.txt: svn propset svn:eol-style native.
  ------------------------------------------------------------------------
  r4893 | marko | 2009-04-23 09:32:36 +0300 (Thu, 23 Apr 2009) | 11 lines

  branches/zip: Introduce the logical type names trx_id_t, roll_ptr_t,
  and undo_no_t. Each type is still defined as dulint.

  This is an initial step towards replacing dulint with a 64-bit data type.
  Because modern compilers have no trouble supporting 64-bit arithmetics
  even on 32-bit targets, the dulint struct is a relic that should go.

  The last remaining major use of dulint is dictionary IDs
  (table, index, and row ids).

  rb://114 approved by Sunny Bains
  ------------------------------------------------------------------------
  r4894 | marko | 2009-04-23 10:21:07 +0300 (Thu, 23 Apr 2009) | 1 line

  branches/zip: ChangeLog: Document r4893.
  ------------------------------------------------------------------------
  r4895 | marko | 2009-04-23 10:22:06 +0300 (Thu, 23 Apr 2009) | 1 line

  branches/zip: ChangeLog: Add the missing include/ to two files.
  ------------------------------------------------------------------------
  r4896 | marko | 2009-04-23 10:37:40 +0300 (Thu, 23 Apr 2009) | 4 lines

  branches/zip: row_scan_and_check_index(): Improve the diagnostics, by reporting
  errors from row_search_for_mysql() in the error log.
  The errors will still be ignored by CHECK TABLE.
  This is somewhat related to Issue #211.
  ------------------------------------------------------------------------
  r4897 | marko | 2009-04-23 10:40:34 +0300 (Thu, 23 Apr 2009) | 2 lines

  branches/zip: row_scan_and_check_index(): Check
  row_merge_is_index_usable() earlier, to make the logic clearer.
  ------------------------------------------------------------------------
  r4898 | marko | 2009-04-23 15:15:07 +0300 (Thu, 23 Apr 2009) | 4 lines

  branches/zip: Correct a misleading comment.  PAGE_MAX_TRX_ID
  will be updated in ibuf_insert_low() and updated from the
  insert buffer tree page to the secondary index tree page
  during the insert buffer merge.
  ------------------------------------------------------------------------
  r4915 | marko | 2009-04-27 13:40:20 +0300 (Mon, 27 Apr 2009) | 2 lines

  branches/zip: row_scan_and_check_index(): Add some comments on
  prebuilt->index_usable, as suggested by Michael.
  ------------------------------------------------------------------------
  r4921 | marko | 2009-04-29 11:51:25 +0300 (Wed, 29 Apr 2009) | 2 lines

  branches/zip: btr_cur_optimistic_insert(): Remove a redundant condition.
  The insert buffer tree is a clustered index.
  ------------------------------------------------------------------------
  r4922 | marko | 2009-04-29 23:23:27 +0300 (Wed, 29 Apr 2009) | 22 lines

  branches/zip: Distinguish temporary tables in MLOG_FILE_CREATE.
  This addresses Mantis Issue #23 in InnoDB Hot Backup and some
  of MySQL Bug #41609.

  In MLOG_FILE_CREATE, we need to distinguish temporary tables, so that
  InnoDB Hot Backup can work correctly.  It turns out that we can do this
  easily, by using a bit of the previously unused parameter for page number.
  (The page number parameter of MLOG_FILE_CREATE has been written as 0 
  ever since MySQL 4.1, which introduced MLOG_FILE_CREATE.)

  MLOG_FILE_FLAG_TEMP: A flag for indicating a temporary table in
  the page number parameter of MLOG_FILE_ operations.

  fil_op_write_log(): Add the parameter log_flags.

  fil_op_log_parse_or_replay(): Add the parameter log_flags.
  Do not replay MLOG_FILE_CREATE when MLOG_FILE_FLAG_TEMP is set in log_flags.
  This only affects ibbackup --apply-log.  InnoDB itself never replays file
  operations.

  rb://117 approved by Heikki Tuuri
  ------------------------------------------------------------------------
  r4977 | marko | 2009-05-13 15:49:38 +0300 (Wed, 13 May 2009) | 12 lines

  branches/zip: Merge revisions 4746:4976 from branches/5.1:

    ------------------------------------------------------------------------
    r4976 | marko | 2009-05-13 15:44:54 +0300 (Wed, 13 May 2009) | 6 lines

    branches/5.1: Display DB_ROLL_PTR in the COLUMNS section of the
    innodb_table_monitor output.  It was accidentally omitted due to an
    off-by-one loop condition.  (Bug #44320)

    rb://116 approved by Heikki Tuuri
    ------------------------------------------------------------------------
  ------------------------------------------------------------------------
  r4978 | vasil | 2009-05-13 16:21:55 +0300 (Wed, 13 May 2009) | 4 lines

  branches/zip:

  Add ChangeLog entry for r4977.

  ------------------------------------------------------------------------
  r4995 | marko | 2009-05-14 15:31:43 +0300 (Thu, 14 May 2009) | 24 lines

  branches/zip: Merge revisions 4976:4994 from branches/5.1:

    ------------------------------------------------------------------------
    r4994 | marko | 2009-05-14 15:04:55 +0300 (Thu, 14 May 2009) | 18 lines

    branches/5.1: Prevent a race condition in innobase_commit() by ensuring
    that innodb_commit_concurrency>0 remains constant at run time. (Bug #42101)

    srv_commit_concurrency: Make this a static variable in ha_innodb.cc.

    innobase_commit_concurrency_validate(): Check that innodb_commit_concurrency
    is not changed from or to 0 at run time.  This is needed, because
    innobase_commit() assumes that innodb_commit_concurrency>0 remains constant.
    Without this limitation, the checks for innodb_commit_concurrency>0
    in innobase_commit() should be removed and that function would have to
    acquire and release commit_cond_m at least twice per invocation.
    Normally, innodb_commit_concurrency=0, and introducing the mutex operations
    would mean significant overhead.

    innodb_bug42101.test, innodb_bug42101-nonzero.test: Test cases.

    rb://123 approved by Heikki Tuuri
    ------------------------------------------------------------------------
  ------------------------------------------------------------------------
  r5000 | vasil | 2009-05-14 20:13:41 +0300 (Thu, 14 May 2009) | 4 lines

  branches/zip:

  Add ChangeLog entry for r4994.
  ------------------------------------------------------------------------
  r5026 | marko | 2009-05-18 16:29:51 +0300 (Mon, 18 May 2009) | 1 line

  branches/zip: buf_validate(): Add missing out: comment.
  ------------------------------------------------------------------------
  r5027 | marko | 2009-05-18 16:36:10 +0300 (Mon, 18 May 2009) | 1 line

  branches/zip: Add some missing out: comments to buf0buf.h, buf0buf.c.
  ------------------------------------------------------------------------
  r5028 | marko | 2009-05-18 16:40:07 +0300 (Mon, 18 May 2009) | 11 lines

  branches/zip: When executing an optimistic update by delete-and-insert,
  correctly estimate the free space on the compressed page by
  page_zip_available(..., create=TRUE). This was reported as Issue #231.

  btr_cur_update_alloc_zip(): Add the parameter ibool create and pass it
  to page_zip_available(). The parameter was previously passed as 0.

  btr_cur_optimistic_update(): Pass create=TRUE to btr_cur_update_alloc_zip().

  rb://120 approved by Heikki Tuuri
  ------------------------------------------------------------------------
  r5030 | marko | 2009-05-19 10:04:04 +0300 (Tue, 19 May 2009) | 2 lines

  branches/zip: os_thread_get_curr_id(), os_thread_get_curr():
  Add missing out: comments.
  ------------------------------------------------------------------------
  r5031 | marko | 2009-05-19 10:30:02 +0300 (Tue, 19 May 2009) | 1 line

  branches/zip: Add missing out: comments to nullary functions.
  ------------------------------------------------------------------------
  r5033 | marko | 2009-05-19 11:00:51 +0300 (Tue, 19 May 2009) | 1 line

  branches/zip: Remove bogus out: comments of functions returning void.
  ------------------------------------------------------------------------
  r5034 | marko | 2009-05-19 12:41:32 +0300 (Tue, 19 May 2009) | 1 line

  branches/zip: row_update_prebuilt_trx(): Correct bogus comment.
  ------------------------------------------------------------------------
  r5035 | marko | 2009-05-19 13:04:58 +0300 (Tue, 19 May 2009) | 3 lines

  branches/zip: ut0auxconf_have_solaris_atomics.c: Get the
  function declarations from <atomic.h>.
  Call the functions with proper arguments.
  ------------------------------------------------------------------------
  r5036 | marko | 2009-05-19 13:05:50 +0300 (Tue, 19 May 2009) | 1 line

  branches/zip: Add proper comments to some file page accessors.
  ------------------------------------------------------------------------
  r5037 | marko | 2009-05-19 13:08:16 +0300 (Tue, 19 May 2009) | 1 line

  branches/zip: Fix a typo that was introduced in r5036.
  ------------------------------------------------------------------------
  r5038 | marko | 2009-05-19 22:59:07 +0300 (Tue, 19 May 2009) | 30 lines

  branches/zip: Write PAGE_MAX_TRX_ID to the redo log. Otherwise,
  transactions that are started before the rollback of incomplete
  transactions has finished may have an inconsistent view of the
  secondary indexes.

  dict_index_is_sec_or_ibuf(): Auxiliary function for controlling
  updates and checks of PAGE_MAX_TRX_ID: check whether an index is a
  secondary index or the insert buffer tree.

  page_set_max_trx_id(), page_update_max_trx_id(),
  lock_rec_insert_check_and_lock(),
  lock_sec_rec_modify_check_and_lock(), btr_cur_ins_lock_and_undo(),
  btr_cur_upd_lock_and_undo(): Add the parameter mtr.

  page_set_max_trx_id(): Allow mtr to be NULL.  When mtr==NULL, do not
  attempt to write to the redo log.  This only occurs when creating a
  page or reorganizing a compressed page.  In these cases, the
  PAGE_MAX_TRX_ID will be set correctly during the application of redo
  log records, even though there is no explicit log record about it.

  btr_discard_only_page_on_level(): Preserve PAGE_MAX_TRX_ID.  This
  function should be unreachable, though.

  btr_cur_pessimistic_update(): Update PAGE_MAX_TRX_ID.

  Add some assertions for checking that PAGE_MAX_TRX_ID is set on all
  secondary index leaf pages.

  rb://115 tested by Michael, fixes Issue #211
  ------------------------------------------------------------------------
  r5039 | marko | 2009-05-19 23:13:12 +0300 (Tue, 19 May 2009) | 1 line

  branches/zip: ib_wqueue_wait(): Add decorative comment.
  ------------------------------------------------------------------------
  r5041 | marko | 2009-05-20 08:42:12 +0300 (Wed, 20 May 2009) | 1 line

  branches/zip: Add missing function comments.
  ------------------------------------------------------------------------
  r5042 | marko | 2009-05-20 08:46:01 +0300 (Wed, 20 May 2009) | 1 line

  branches/zip: sync0rw.ic: Remove an extra ; that was added in r5041.
  ------------------------------------------------------------------------
  r5044 | marko | 2009-05-20 11:11:58 +0300 (Wed, 20 May 2009) | 2 lines

  branches/zip: mlog_parse_index(): Correct a parameter comment
  and add a const qualifier that was missing.
  ------------------------------------------------------------------------
  r5045 | marko | 2009-05-20 11:37:08 +0300 (Wed, 20 May 2009) | 1 line

  branches/zip: fil0fil.c: Correct some comments.
  ------------------------------------------------------------------------
  r5046 | marko | 2009-05-20 12:19:40 +0300 (Wed, 20 May 2009) | 1 line

  branches/zip: Fix some function comments.
  ------------------------------------------------------------------------
  r5047 | marko | 2009-05-20 12:26:49 +0300 (Wed, 20 May 2009) | 1 line

  branches/zip: ut_snprintf(): Fix the function comments.
  ------------------------------------------------------------------------
  r5048 | marko | 2009-05-20 12:28:44 +0300 (Wed, 20 May 2009) | 3 lines

  branches/zip: inno_bcmp(): Remove this memcmp replacement.
  srv0start.c does not (any longer) call memcmp.
  srv_parse_megabytes(): Add a function comment.
  ------------------------------------------------------------------------
  r5052 | marko | 2009-05-20 12:32:37 +0300 (Wed, 20 May 2009) | 1 line

  branches/zip: ib_vector_is_empty(): Fix the function comment.
  ------------------------------------------------------------------------
  r5054 | marko | 2009-05-20 12:35:33 +0300 (Wed, 20 May 2009) | 1 line

  branches/zip: page_cur_lcg_prng(): Add missing parameter list.
  ------------------------------------------------------------------------
  r5057 | marko | 2009-05-20 12:45:17 +0300 (Wed, 20 May 2009) | 1 line

  branches/zip: Remove bogus in: comments from struct members.
  ------------------------------------------------------------------------
  r5058 | marko | 2009-05-20 13:06:03 +0300 (Wed, 20 May 2009) | 1 line

  branches/zip: Clean up some function comments.
  ------------------------------------------------------------------------
  r5060 | marko | 2009-05-20 14:06:59 +0300 (Wed, 20 May 2009) | 1 line

  branches/zip: Clean up some comments.
  ------------------------------------------------------------------------
  r5061 | marko | 2009-05-20 14:07:49 +0300 (Wed, 20 May 2009) | 2 lines

  branches/zip: innodb_export_status(): Remove the return(0),
  now that the function was declared void in r5060.
  ------------------------------------------------------------------------
  r5062 | marko | 2009-05-20 14:45:03 +0300 (Wed, 20 May 2009) | 1 line

  branches/zip: ha_innodb.cc: Clean up some comments.
  ------------------------------------------------------------------------
  r5063 | marko | 2009-05-20 16:10:17 +0300 (Wed, 20 May 2009) | 1 line

  branches/zip: ut_dulint_sort(): Write proper comments.
  ------------------------------------------------------------------------
  r5064 | marko | 2009-05-20 16:17:26 +0300 (Wed, 20 May 2009) | 2 lines

  branches/zip: innobase_end(), innobase_flush_logs():
  Document the function parameters.
  ------------------------------------------------------------------------
  r5065 | marko | 2009-05-20 23:17:43 +0300 (Wed, 20 May 2009) | 1 line

  branches/zip: ha_innodb.cc: Add some missing function comments.
  ------------------------------------------------------------------------
  r5066 | marko | 2009-05-21 00:51:23 +0300 (Thu, 21 May 2009) | 2 lines

  branches/zip: Fix some function comments.
  ------------------------------------------------------------------------
  r5070 | vasil | 2009-05-21 08:27:00 +0300 (Thu, 21 May 2009) | 4 lines

  branches/zip:

  Whitespace fixup.
  ------------------------------------------------------------------------
2009-05-25 06:20:53 +00:00
marko
1865d59b7a branches/innodb+: Merge revisions 4528:4657 from branches/zip:
------------------------------------------------------------------------
  r4530 | marko | 2009-03-24 14:02:29 +0200 (Tue, 24 Mar 2009) | 3 lines

  branches/zip: Remove references to UNIV_HOTBACKUP from files that are
  not used when building InnoDB Hot Backup.  Declare
  innobase_invalidate_query_cache() in ha_prototypes.h.
  ------------------------------------------------------------------------
  r4531 | marko | 2009-03-24 15:46:12 +0200 (Tue, 24 Mar 2009) | 7 lines

  branches/zip: Note that buf_page_t::list and buf_page_t::in_flush_list
  are only protected by buf_pool_mutex, not by the block mutex.

  buf_page_release(): Remove the assertion on in_flush_list.
  The function is only holding block->mutex, not buf_pool_mutex.
  This was reported by Sunny.  This was the only piece of code
  that accessed in_flush_list while not holding buf_pool_mutex.
  ------------------------------------------------------------------------
  r4532 | calvin | 2009-03-24 17:59:45 +0200 (Tue, 24 Mar 2009) | 13 lines

  branches/zip: Mantis issue #201 - remove innodb_plugin_init() due to
  new option --ignore_builtin_innodb

  Starting 5.1.33, MySQL has a new option --ignore_builtin_innodb
  for using the dynamic plugin. It is required to remove
  innodb_plugin_init() in the plugin.

  This patch removes innodb_plugin_init() as well as functions,
  variables used by innodb_plugin_init().

  rb://98

  Approved by: Marko
  ------------------------------------------------------------------------
  r4543 | inaam | 2009-03-25 19:18:33 +0200 (Wed, 25 Mar 2009) | 17 lines

  branches/zip

  SHOW ENGINE INNODB MUTEX shows all mutexes and rw_locks. This can
  be overwhelming particularly when the buffer pool is very large
  (note that each block in buffer pool has at least one mutex, one
  rw_lock and an additional mutex if rw_lock does not use atomics).
  With this patch status of following mutexes and rw-locks is not shown:

  1) block->mutex
  2) block->lock
  3) block->lock->mutex (if applicable)
  4) All other mutexes and rw-locks for which number of os-waits are zero

  Addresses issue# 179 rb://99

  Approved by: Marko
  ------------------------------------------------------------------------
  r4579 | marko | 2009-03-31 10:40:58 +0300 (Tue, 31 Mar 2009) | 3 lines

  branches/zip: struct read_view_struct: Add clarifying comments about
  low_limit_id and up_limit_id.
  ------------------------------------------------------------------------
  r4630 | calvin | 2009-04-02 15:46:47 +0300 (Thu, 02 Apr 2009) | 6 lines

  branches/zip: Mantis issue #197 - Make srv_spin_wait_delay configurable

  New parameter innodb_spin_wait_delay to set the maximum delay between
  polling for a spin lock. 5 is the default.

  Approved by: Marko (on IM)
  ------------------------------------------------------------------------
  r4631 | marko | 2009-04-02 16:23:12 +0300 (Thu, 02 Apr 2009) | 24 lines

  branches/zip: Refuse to use newly created indexes that may lack
  history.  This addresses Mantis issue #116.

  dict_index_t: Enable the storage of trx_id.

  row_prebuilt_t: Make many fields bit-fields to reduce the memory
  footprint. Add index_usable.

  ha_innobase::change_active_index(): Check if the index is usable and
  set prebuilt->index_usable accordingly. Unfortunately, the return
  status of this function is ignored by MySQL, and the actual refusal to
  use the index must be made in row_search_for_mysql().

  row_search_for_mysql(): Return DB_MISSING_HISTORY if
  !prebuilt->index_usable.

  convert_error_code_to_mysql(): Map DB_MISSING_HISTORY to
  HA_ERR_TABLE_DEF_CHANGED.

  innodb-index.test: Add a test case where access to a newly created
  secondary index must be blocked for old transactions.

  rb://100 approved by Heikki Tuuri
  ------------------------------------------------------------------------
  r4647 | vasil | 2009-04-06 10:05:25 +0300 (Mon, 06 Apr 2009) | 4 lines

  branches/zip:

  Add changelog entry for c4630.
  ------------------------------------------------------------------------
  r4648 | vasil | 2009-04-06 10:07:26 +0300 (Mon, 06 Apr 2009) | 4 lines

  branches/zip:

  Fix formatting in ChangeLog to be consistent.
  ------------------------------------------------------------------------
  r4657 | marko | 2009-04-06 15:13:45 +0300 (Mon, 06 Apr 2009) | 1 line

  branches/zip: Remove the bogus failure reported in Issue #219.
  ------------------------------------------------------------------------
2009-04-06 11:18:22 +00:00
marko
4f1d044053 branches/innodb+: Merge revisions 4150:4528 from branches/zip:
------------------------------------------------------------------------
  r4152 | marko | 2009-02-10 12:52:27 +0200 (Tue, 10 Feb 2009) | 12 lines

  branches/zip: When innodb_use_sys_malloc is set, ignore
  innodb_additional_mem_pool_size, because nothing will
  be allocated from mem_comm_pool.

  mem_pool_create(): Remove the assertion about size.  The function will
  work with any size.  However, an assertion would fail in ut_malloc_low()
  when size==0.

  mem_init(): When srv_use_sys_malloc is set, pass size=1 to mem_pool_create().

  mem0mem.c: Add #include "srv0srv.h" that is needed by mem0dbg.c.
  ------------------------------------------------------------------------
  r4153 | vasil | 2009-02-10 22:58:17 +0200 (Tue, 10 Feb 2009) | 14 lines

  branches/zip:

  (followup to r4145) Non-functional change:

  Change the os_atomic_increment() and os_compare_and_swap() functions
  to macros to avoid artificial limitations on the types of those
  functions' arguments. As a consequence typecasts from the source
  code can be removed.

  Also remove Google's copyright from os0sync.ic because that file no longer
  contains code from Google.

  Approved by:	Marko (rb://88), also ok from Inaam via IM
  ------------------------------------------------------------------------
  r4163 | marko | 2009-02-12 00:14:19 +0200 (Thu, 12 Feb 2009) | 4 lines

  branches/zip: Make innodb_thread_concurrency=0 the default.
  The old default was 8.
  ------------------------------------------------------------------------
  r4169 | calvin | 2009-02-12 10:37:10 +0200 (Thu, 12 Feb 2009) | 3 lines

  branches/zip: Adjust the result file of innodb_thread_concurrency_basic
  test. The default value of innodb_thread_concurrency is changed to 0
  (from 8) via r4163.
  ------------------------------------------------------------------------
  r4174 | vasil | 2009-02-12 17:38:27 +0200 (Thu, 12 Feb 2009) | 4 lines

  branches/zip:

  Fix pathname of the file to patch.
  ------------------------------------------------------------------------
  r4176 | vasil | 2009-02-13 10:06:31 +0200 (Fri, 13 Feb 2009) | 7 lines

  branches/zip:

  Fix the failing mysql-test partition_innodb, which failed only if run after
  innodb_trx_weight (or other test that would leave LATEST DEADLOCK ERROR into
  the output of SHOW ENGINE INNODB STATUS). Find further explanation for the
  failure at the top of the added patch partition_innodb.diff.
  ------------------------------------------------------------------------
  r4198 | vasil | 2009-02-17 09:06:07 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  Add the full text of the GPLv2 license into the root directory of the
  plugin. In previous releases this file was copied from an external source
  (https://svn.innodb.com/svn/plugin/trunk/support/COPYING) "manually" when
  creating the source and binary archives. It is less confusing to have this
  present in the root directory of the SVN branch.
  ------------------------------------------------------------------------
  r4199 | vasil | 2009-02-17 09:11:58 +0200 (Tue, 17 Feb 2009) | 4 lines

  branches/zip:

  Add Google's license into COPYING.Google.
  ------------------------------------------------------------------------
  r4200 | vasil | 2009-02-17 09:56:33 +0200 (Tue, 17 Feb 2009) | 11 lines

  branches/zip:

  To the files touched by the Google patch from c4144 (excluding
  include/os0sync.ic because later we removed Google code from that file):

  * Remove the Google license
  * Remove old Innobase copyright lines
  * Add a reference to the Google license and to the GPLv2 license at the top,
  as recommended by the lawyers at Oracle Legal.
  ------------------------------------------------------------------------
  r4201 | vasil | 2009-02-17 10:12:02 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 1/28]
  ------------------------------------------------------------------------
  r4202 | vasil | 2009-02-17 10:15:06 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 2/28]
  ------------------------------------------------------------------------
  r4203 | vasil | 2009-02-17 10:25:45 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 3/28]
  ------------------------------------------------------------------------
  r4204 | vasil | 2009-02-17 10:55:41 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 4/28]
  ------------------------------------------------------------------------
  r4205 | vasil | 2009-02-17 10:59:22 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 5/28]
  ------------------------------------------------------------------------
  r4206 | vasil | 2009-02-17 11:02:27 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 6/28]
  ------------------------------------------------------------------------
  r4207 | vasil | 2009-02-17 11:04:28 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 7/28]
  ------------------------------------------------------------------------
  r4208 | vasil | 2009-02-17 11:06:49 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 8/28]
  ------------------------------------------------------------------------
  r4209 | vasil | 2009-02-17 11:10:18 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 9/28]
  ------------------------------------------------------------------------
  r4210 | vasil | 2009-02-17 11:12:41 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 10/28]
  ------------------------------------------------------------------------
  r4211 | vasil | 2009-02-17 11:14:40 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 11/28]
  ------------------------------------------------------------------------
  r4212 | vasil | 2009-02-17 11:18:35 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 12/28]
  ------------------------------------------------------------------------
  r4213 | vasil | 2009-02-17 11:24:40 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 13/28]
  ------------------------------------------------------------------------
  r4214 | vasil | 2009-02-17 11:27:31 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 13/28]
  ------------------------------------------------------------------------
  r4215 | vasil | 2009-02-17 11:29:55 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 15/28]
  ------------------------------------------------------------------------
  r4216 | vasil | 2009-02-17 11:33:38 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 16/28]
  ------------------------------------------------------------------------
  r4217 | vasil | 2009-02-17 11:36:44 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 17/28]
  ------------------------------------------------------------------------
  r4218 | vasil | 2009-02-17 11:39:11 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 18/28]
  ------------------------------------------------------------------------
  r4219 | vasil | 2009-02-17 11:41:24 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 19/28]
  ------------------------------------------------------------------------
  r4220 | vasil | 2009-02-17 11:43:50 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 20/28]
  ------------------------------------------------------------------------
  r4221 | vasil | 2009-02-17 11:46:52 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 21/28]
  ------------------------------------------------------------------------
  r4222 | vasil | 2009-02-17 11:50:12 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 22/28]
  ------------------------------------------------------------------------
  r4223 | vasil | 2009-02-17 11:53:58 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 23/28]
  ------------------------------------------------------------------------
  r4224 | vasil | 2009-02-17 12:01:41 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 24/28]
  ------------------------------------------------------------------------
  r4225 | vasil | 2009-02-17 12:05:45 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 25/28]
  ------------------------------------------------------------------------
  r4226 | vasil | 2009-02-17 12:09:16 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 26/28]
  ------------------------------------------------------------------------
  r4227 | vasil | 2009-02-17 12:12:56 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 27/28]
  ------------------------------------------------------------------------
  r4228 | vasil | 2009-02-17 12:14:04 +0200 (Tue, 17 Feb 2009) | 8 lines

  branches/zip:

  * Remove old Innobase copyright lines from C source files
  * Add a reference to the GPLv2 license as recommended by the lawyers
  at Oracle Legal

  [Step 28/28]
  ------------------------------------------------------------------------
  r4229 | vasil | 2009-02-17 12:30:55 +0200 (Tue, 17 Feb 2009) | 4 lines

  branches/zip:

  Add the copyright notice to the non C files.
  ------------------------------------------------------------------------
  r4231 | marko | 2009-02-17 14:26:53 +0200 (Tue, 17 Feb 2009) | 12 lines

  Minor cleanup of the Google SMP patch.

  sync_array_object_signalled(): Add a (void) cast to eliminate a gcc warning
  about the return value of os_atomic_increment() being ignored.

  rw_lock_create_func(): Properly indent the preprocessor directives.

  rw_lock_x_lock_low(), rw_lock_x_lock_func_nowait(): Split lines correctly.

  rw_lock_set_writer_id_and_recursion_flag(): Silence a Valgrind warning.
  Do not mix statements and variable declarations.
  ------------------------------------------------------------------------
  r4232 | marko | 2009-02-17 14:59:54 +0200 (Tue, 17 Feb 2009) | 3 lines

  branches/zip: When assigning lock->recursive = FALSE, also flag
  lock->writer_thread invalid, so that Valgrind will catch more errors.
  This is related to Issue #175.
  ------------------------------------------------------------------------
  r4242 | marko | 2009-02-18 17:01:09 +0200 (Wed, 18 Feb 2009) | 2 lines

  branches/zip: UT_DBG_STOP: Use do{} while(0) to silence a g++-4.3.2 warning
  about a while(0); statement.  This should fix (part of) Issue #176.
  ------------------------------------------------------------------------
  r4243 | marko | 2009-02-18 17:04:03 +0200 (Wed, 18 Feb 2009) | 3 lines

  branches/zip: buf_buddy_get_slot(): Fix a gcc 4.3.2 warning
  about an empty body of a "for" statement.
  This fixes part of Issue #176.
  ------------------------------------------------------------------------
  r4244 | marko | 2009-02-18 17:25:45 +0200 (Wed, 18 Feb 2009) | 11 lines

  branches/zip: Protect ut_total_allocated_memory with ut_list_mutex.
  Unprotected updates to ut_total_allocated_memory in
  os_mem_alloc_large() and os_mem_free_large(), called during
  fast index creation, may corrupt the variable and cause assertion failures.

  Also, add UNIV_MEM_ALLOC() and UNIV_MEM_FREE() instrumentation around
  os_mem_alloc_large() and os_mem_free_large(), so that Valgrind can
  detect more errors.

  rb://90 approved by Heikki Tuuri.  This addresses Issue #177.
  ------------------------------------------------------------------------
  r4248 | marko | 2009-02-19 11:52:39 +0200 (Thu, 19 Feb 2009) | 2 lines

  branches/zip: page_zip_set_size(): Fix a g++ 4.3.2 warning
  about an empty body in a "for" statement.  This closes Issue #176.
  ------------------------------------------------------------------------
  r4251 | inaam | 2009-02-19 15:46:27 +0200 (Thu, 19 Feb 2009) | 8 lines

  branches/zip: Issue #178 rb://91

  Change plug.in to have same CXXFLAGS as CFLAGS. This is to ensure that
  both .c and .cc files get compiled with same flags. To fix the issue
  where UNIV_LINUX was defined only in .c files.

  Approved by: Marko
  ------------------------------------------------------------------------
  r4258 | vasil | 2009-02-20 11:52:19 +0200 (Fri, 20 Feb 2009) | 7 lines

  branches/zip:

  Cleanup in ChangeLog:
  * Wrap lines at 78 characters
  * Changed files are listed alphabetically
  * White-space cleanup
  ------------------------------------------------------------------------
  r4259 | vasil | 2009-02-20 11:59:42 +0200 (Fri, 20 Feb 2009) | 6 lines

  branches/zip:

  ChangeLog: Remove include/os0sync.ic from the entry about the google patch,
  this file was modified later to not include Google's code.
  ------------------------------------------------------------------------
  r4262 | vasil | 2009-02-20 14:56:59 +0200 (Fri, 20 Feb 2009) | 373 lines

  branches/zip:

  Merge revisions 4035:4261 from branches/5.1:

    ------------------------------------------------------------------------
    r4065 | sunny | 2009-01-29 16:01:36 +0200 (Thu, 29 Jan 2009) | 8 lines
    Changed paths:
       M /branches/5.1/handler/ha_innodb.cc
       M /branches/5.1/mysql-test/innodb-autoinc.result
       M /branches/5.1/mysql-test/innodb-autoinc.test

    branches/5.1: In the last round of AUTOINC cleanup we assumed that AUTOINC
    is only defined for integer columns. This caused an assertion failure when
    we checked for the maximum value of a column type. We now calculate the
    max value for floating-point autoinc columns too.

    Fix Bug#42400 - InnoDB autoinc code can't handle floating-point columns
    rb://84 and Mantis issue://162

    ------------------------------------------------------------------------
    r4111 | sunny | 2009-02-03 22:06:52 +0200 (Tue, 03 Feb 2009) | 2 lines
    Changed paths:
       M /branches/5.1/handler/ha_innodb.cc

    branches/5.1: Add the ULL suffix otherwise there is an overflow.

    ------------------------------------------------------------------------
    r4128 | vasil | 2009-02-08 21:36:45 +0200 (Sun, 08 Feb 2009) | 18 lines
    Changed paths:
       M /branches/5.1/mysql-test/innodb-autoinc.result
       M /branches/5.1/mysql-test/innodb-autoinc.test

    branches/5.1:

    Merge a change from MySQL:

      ------------------------------------------------------------
      revno: 2709.20.31
      committer: Timothy Smith <timothy.smith@sun.com>
      branch nick: 51
      timestamp: Fri 2008-12-19 01:28:51 +0100
      message:
        Disable part of innodb-autoinc.test, because the MySQL server asserts when
        compiled --with-debug, due to bug 39828, "autoinc wraps around when offset and
        increment > 1".  This change should be reverted when that bug is fixed (and a
        a few other minor changes to the test as described in comments).
      modified:
        mysql-test/r/innodb-autoinc.result
        mysql-test/t/innodb-autoinc.test

    ------------------------------------------------------------------------
    r4129 | vasil | 2009-02-08 21:54:25 +0200 (Sun, 08 Feb 2009) | 310 lines
    Changed paths:
       M /branches/5.1/mysql-test/innodb-autoinc.test

    branches/5.1:

    Merge a change from MySQL:

    [looks like the changes to innodb-autoinc.test were made as part of
    the following huge merge, but we are merging only changes to that file]

      ------------------------------------------------------------
      revno: 2546.47.1
      committer: Luis Soares <luis.soares@sun.com>
      branch nick: 5.1-rpl
      timestamp: Fri 2009-01-23 13:22:05 +0100
      message:
        merge: 5.1 -> 5.1-rpl
        conflicts:
          Text conflict in client/mysqltest.cc
          Text conflict in mysql-test/include/wait_until_connected_again.inc
          Text conflict in mysql-test/lib/mtr_report.pm
          Text conflict in mysql-test/mysql-test-run.pl
          Text conflict in mysql-test/r/events_bugs.result
          Text conflict in mysql-test/r/log_state.result
          Text conflict in mysql-test/r/myisam_data_pointer_size_func.result
          Text conflict in mysql-test/r/mysqlcheck.result
          Text conflict in mysql-test/r/query_cache.result
          Text conflict in mysql-test/r/status.result
          Text conflict in mysql-test/suite/binlog/r/binlog_index.result
          Text conflict in mysql-test/suite/binlog/r/binlog_innodb.result
          Text conflict in mysql-test/suite/rpl/r/rpl_packet.result
          Text conflict in mysql-test/suite/rpl/t/rpl_packet.test
          Text conflict in mysql-test/t/disabled.def
          Text conflict in mysql-test/t/events_bugs.test
          Text conflict in mysql-test/t/log_state.test
          Text conflict in mysql-test/t/myisam_data_pointer_size_func.test
          Text conflict in mysql-test/t/mysqlcheck.test
          Text conflict in mysql-test/t/query_cache.test
          Text conflict in mysql-test/t/rpl_init_slave_func.test
          Text conflict in mysql-test/t/status.test
      removed:
        mysql-test/suite/parts/r/partition_bit_ndb.result
        mysql-test/suite/parts/t/partition_bit_ndb.test
        mysql-test/suite/parts/t/partition_sessions.test
        mysql-test/suite/sys_vars/inc/tmp_table_size_basic.inc
        mysql-test/suite/sys_vars/r/tmp_table_size_basic_32.result
        mysql-test/suite/sys_vars/r/tmp_table_size_basic_64.result
        mysql-test/suite/sys_vars/t/tmp_table_size_basic_32.test
        mysql-test/suite/sys_vars/t/tmp_table_size_basic_64.test
        mysql-test/t/log_bin_trust_function_creators_func-master.opt
        mysql-test/t/rpl_init_slave_func-slave.opt
      added:
        mysql-test/include/check_events_off.inc
        mysql-test/include/cleanup_fake_relay_log.inc
        mysql-test/include/have_simple_parser.inc
        mysql-test/include/no_running_event_scheduler.inc
        mysql-test/include/no_running_events.inc
        mysql-test/include/running_event_scheduler.inc
        mysql-test/include/setup_fake_relay_log.inc
        mysql-test/include/wait_condition_sp.inc
        mysql-test/r/fulltext_plugin.result
        mysql-test/r/have_simple_parser.require
        mysql-test/r/innodb_bug38231.result
        mysql-test/r/innodb_bug39438.result
        mysql-test/r/innodb_mysql_rbk.result
        mysql-test/r/partition_innodb_semi_consistent.result
        mysql-test/r/query_cache_28249.result
        mysql-test/r/status2.result
        mysql-test/std_data/bug40482-bin.000001
        mysql-test/suite/binlog/r/binlog_innodb_row.result
        mysql-test/suite/binlog/t/binlog_innodb_row.test
        mysql-test/suite/rpl/r/rpl_binlog_corruption.result
        mysql-test/suite/rpl/t/rpl_binlog_corruption-master.opt
        mysql-test/suite/rpl/t/rpl_binlog_corruption.test
        mysql-test/suite/sys_vars/r/tmp_table_size_basic.result
        mysql-test/suite/sys_vars/t/tmp_table_size_basic.test
        mysql-test/t/fulltext_plugin-master.opt
        mysql-test/t/fulltext_plugin.test
        mysql-test/t/innodb_bug38231.test
        mysql-test/t/innodb_bug39438-master.opt
        mysql-test/t/innodb_bug39438.test
        mysql-test/t/innodb_mysql_rbk-master.opt
        mysql-test/t/innodb_mysql_rbk.test
        mysql-test/t/partition_innodb_semi_consistent-master.opt
        mysql-test/t/partition_innodb_semi_consistent.test
        mysql-test/t/query_cache_28249.test
        mysql-test/t/status2.test
      renamed:
        mysql-test/suite/funcs_1/r/is_collation_character_set_applicability.result => mysql-test/suite/funcs_1/r/is_coll_char_set_appl.result
        mysql-test/suite/funcs_1/t/is_collation_character_set_applicability.test => mysql-test/suite/funcs_1/t/is_coll_char_set_appl.test
      modified:
        .bzr-mysql/default.conf
        CMakeLists.txt
        client/mysql.cc
        client/mysql_upgrade.c
        client/mysqlcheck.c
        client/mysqltest.cc
        configure.in
        extra/resolve_stack_dump.c
        extra/yassl/include/openssl/ssl.h
        include/config-win.h
        include/m_ctype.h
        include/my_global.h
        mysql-test/extra/binlog_tests/database.test
        mysql-test/extra/rpl_tests/rpl_auto_increment.test
        mysql-test/include/commit.inc
        mysql-test/include/have_32bit.inc
        mysql-test/include/have_64bit.inc
        mysql-test/include/index_merge1.inc
        mysql-test/include/linux_sys_vars.inc
        mysql-test/include/windows_sys_vars.inc
        mysql-test/lib/mtr_report.pm
        mysql-test/mysql-test-run.pl
        mysql-test/r/alter_table.result
        mysql-test/r/commit_1innodb.result
        mysql-test/r/create.result
        mysql-test/r/csv.result
        mysql-test/r/ctype_ucs.result
        mysql-test/r/date_formats.result
        mysql-test/r/events_bugs.result
        mysql-test/r/events_scheduling.result
        mysql-test/r/fulltext.result
        mysql-test/r/func_if.result
        mysql-test/r/func_in.result
        mysql-test/r/func_str.result
        mysql-test/r/func_time.result
        mysql-test/r/grant.result
        mysql-test/r/index_merge_myisam.result
        mysql-test/r/information_schema.result
        mysql-test/r/innodb-autoinc.result
        mysql-test/r/innodb.result
        mysql-test/r/innodb_mysql.result
        mysql-test/r/log_bin_trust_function_creators_func.result
        mysql-test/r/log_state.result
        mysql-test/r/myisampack.result
        mysql-test/r/mysql.result
        mysql-test/r/mysqlcheck.result
        mysql-test/r/partition_datatype.result
        mysql-test/r/partition_mgm.result
        mysql-test/r/partition_pruning.result
        mysql-test/r/query_cache.result
        mysql-test/r/read_buffer_size_basic.result
        mysql-test/r/read_rnd_buffer_size_basic.result
        mysql-test/r/rpl_init_slave_func.result
        mysql-test/r/select.result
        mysql-test/r/status.result
        mysql-test/r/strict.result
        mysql-test/r/temp_table.result
        mysql-test/r/type_bit.result
        mysql-test/r/type_date.result
        mysql-test/r/type_float.result
        mysql-test/r/warnings_engine_disabled.result
        mysql-test/r/xml.result
        mysql-test/suite/binlog/r/binlog_database.result
        mysql-test/suite/binlog/r/binlog_index.result
        mysql-test/suite/binlog/r/binlog_innodb.result
        mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result
        mysql-test/suite/binlog/t/binlog_innodb.test
        mysql-test/suite/funcs_1/r/is_columns_is.result
        mysql-test/suite/funcs_1/r/is_engines.result
        mysql-test/suite/funcs_1/r/storedproc.result
        mysql-test/suite/funcs_1/storedproc/param_check.inc
        mysql-test/suite/funcs_2/t/disabled.def
        mysql-test/suite/ndb/t/disabled.def
        mysql-test/suite/parts/r/partition_bit_innodb.result
        mysql-test/suite/parts/r/partition_bit_myisam.result
        mysql-test/suite/parts/r/partition_special_innodb.result
        mysql-test/suite/parts/t/disabled.def
        mysql-test/suite/parts/t/partition_special_innodb.test
        mysql-test/suite/parts/t/partition_value_innodb.test
        mysql-test/suite/parts/t/partition_value_myisam.test
        mysql-test/suite/parts/t/partition_value_ndb.test
        mysql-test/suite/rpl/r/rpl_auto_increment.result
        mysql-test/suite/rpl/r/rpl_packet.result
        mysql-test/suite/rpl/r/rpl_row_create_table.result
        mysql-test/suite/rpl/r/rpl_slave_skip.result
        mysql-test/suite/rpl/r/rpl_trigger.result
        mysql-test/suite/rpl/t/disabled.def
        mysql-test/suite/rpl/t/rpl_packet.test
        mysql-test/suite/rpl/t/rpl_row_create_table.test
        mysql-test/suite/rpl/t/rpl_slave_skip.test
        mysql-test/suite/rpl/t/rpl_trigger.test
        mysql-test/suite/rpl_ndb/t/disabled.def
        mysql-test/suite/sys_vars/inc/key_buffer_size_basic.inc
        mysql-test/suite/sys_vars/inc/sort_buffer_size_basic.inc
        mysql-test/suite/sys_vars/r/key_buffer_size_basic_32.result
        mysql-test/suite/sys_vars/r/key_buffer_size_basic_64.result
        mysql-test/suite/sys_vars/r/sort_buffer_size_basic_32.result
        mysql-test/suite/sys_vars/r/sort_buffer_size_basic_64.result
        mysql-test/t/alter_table.test
        mysql-test/t/create.test
        mysql-test/t/csv.test
        mysql-test/t/ctype_ucs.test
        mysql-test/t/date_formats.test
        mysql-test/t/disabled.def
        mysql-test/t/events_bugs.test
        mysql-test/t/events_scheduling.test
        mysql-test/t/fulltext.test
        mysql-test/t/func_if.test
        mysql-test/t/func_in.test
        mysql-test/t/func_str.test
        mysql-test/t/func_time.test
        mysql-test/t/grant.test
        mysql-test/t/information_schema.test
        mysql-test/t/innodb-autoinc.test
        mysql-test/t/innodb.test
        mysql-test/t/innodb_mysql.test
        mysql-test/t/log_bin_trust_function_creators_func.test
        mysql-test/t/log_state.test
        mysql-test/t/myisam_data_pointer_size_func.test
        mysql-test/t/myisampack.test
        mysql-test/t/mysql.test
        mysql-test/t/mysqlcheck.test
        mysql-test/t/partition_innodb_stmt.test
        mysql-test/t/partition_mgm.test
        mysql-test/t/partition_pruning.test
        mysql-test/t/query_cache.test
        mysql-test/t/rpl_init_slave_func.test
        mysql-test/t/select.test
        mysql-test/t/status.test
        mysql-test/t/strict.test
        mysql-test/t/temp_table.test
        mysql-test/t/type_bit.test
        mysql-test/t/type_date.test
        mysql-test/t/type_float.test
        mysql-test/t/warnings_engine_disabled.test
        mysql-test/t/xml.test
        mysys/my_getopt.c
        mysys/my_init.c
        scripts/mysql_install_db.sh
        sql-common/my_time.c
        sql/field.cc
        sql/field.h
        sql/filesort.cc
        sql/ha_partition.cc
        sql/ha_partition.h
        sql/item.cc
        sql/item_cmpfunc.cc
        sql/item_func.h
        sql/item_strfunc.cc
        sql/item_sum.cc
        sql/item_timefunc.cc
        sql/item_timefunc.h
        sql/log.cc
        sql/log.h
        sql/log_event.cc
        sql/log_event.h
        sql/mysql_priv.h
        sql/mysqld.cc
        sql/opt_range.cc
        sql/partition_info.cc
        sql/repl_failsafe.cc
        sql/rpl_constants.h
        sql/set_var.cc
        sql/slave.cc
        sql/spatial.h
        sql/sql_acl.cc
        sql/sql_base.cc
        sql/sql_binlog.cc
        sql/sql_class.h
        sql/sql_cursor.cc
        sql/sql_delete.cc
        sql/sql_lex.cc
        sql/sql_lex.h
        sql/sql_locale.cc
        sql/sql_parse.cc
        sql/sql_partition.cc
        sql/sql_plugin.cc
        sql/sql_plugin.h
        sql/sql_profile.cc
        sql/sql_repl.cc
        sql/sql_select.cc
        sql/sql_select.h
        sql/sql_show.cc
        sql/sql_table.cc
        sql/sql_trigger.cc
        sql/sql_trigger.h
        sql/table.cc
        sql/table.h
        sql/unireg.cc
        storage/csv/ha_tina.cc
        storage/federated/ha_federated.cc
        storage/heap/ha_heap.cc
        storage/innobase/Makefile.am
        storage/innobase/btr/btr0sea.c
        storage/innobase/buf/buf0lru.c
        storage/innobase/dict/dict0dict.c
        storage/innobase/dict/dict0mem.c
        storage/innobase/handler/ha_innodb.cc
        storage/innobase/handler/ha_innodb.h
        storage/innobase/include/btr0sea.h
        storage/innobase/include/dict0dict.h
        storage/innobase/include/dict0mem.h
        storage/innobase/include/ha_prototypes.h
        storage/innobase/include/lock0lock.h
        storage/innobase/include/row0mysql.h
        storage/innobase/include/sync0sync.ic
        storage/innobase/include/ut0ut.h
        storage/innobase/lock/lock0lock.c
        storage/innobase/os/os0file.c
        storage/innobase/plug.in
        storage/innobase/row/row0mysql.c
        storage/innobase/row/row0sel.c
        storage/innobase/srv/srv0srv.c
        storage/innobase/srv/srv0start.c
        storage/innobase/ut/ut0ut.c
        storage/myisam/ft_boolean_search.c
        strings/ctype.c
        strings/xml.c
        tests/mysql_client_test.c
        win/configure.js
        mysql-test/suite/funcs_1/t/is_coll_char_set_appl.test

    ------------------------------------------------------------------------
    r4165 | calvin | 2009-02-12 01:34:27 +0200 (Thu, 12 Feb 2009) | 1 line
    Changed paths:
       M /branches/5.1/handler/ha_innodb.cc

    branches/5.1: minor non-functional changes.
    ------------------------------------------------------------------------
  ------------------------------------------------------------------------
  r4263 | vasil | 2009-02-20 15:00:46 +0200 (Fri, 20 Feb 2009) | 4 lines

  branches/zip:

  Add a ChangeLog entry for a change in r4262.
  ------------------------------------------------------------------------
  r4265 | marko | 2009-02-20 22:31:03 +0200 (Fri, 20 Feb 2009) | 5 lines

  branches/zip: Make innodb_use_sys_malloc=ON the default.
  Replace srv_use_sys_malloc with UNIV_LIKELY(srv_use_sys_malloc)
  to improve branch prediction in the default case.

  Approved by Ken over the IM.
  ------------------------------------------------------------------------
  r4266 | vasil | 2009-02-20 23:29:32 +0200 (Fri, 20 Feb 2009) | 7 lines

  branches/zip:

  Add a sentence at the top of COPYING.Google to clarify that this license
  does not apply to the whole InnoDB.

  Suggested by:	Ken
  ------------------------------------------------------------------------
  r4268 | marko | 2009-02-23 12:43:51 +0200 (Mon, 23 Feb 2009) | 9 lines

  branches/zip: Initialize ut_list_mutex at startup.  Without this fix,
  ut_list_mutex would be used uninitialized when innodb_use_sys_malloc=1.
  This fix addresses Issue #181.

  ut_mem_block_list_init(): Rename to ut_mem_init() and make public.

  ut_malloc_low(), ut_free_all_mem(): Add ut_a(ut_mem_block_list_inited).

  mem_init(): Call ut_mem_init().
  ------------------------------------------------------------------------
  r4269 | marko | 2009-02-23 15:09:49 +0200 (Mon, 23 Feb 2009) | 7 lines

  branches/zip: When freeing an uncompressed BLOB page, tolerate garbage in
  FIL_PAGE_TYPE.  (Bug #43043, Issue #182)

  btr_check_blob_fil_page_type(): New function.

  btr_free_externally_stored_field(), btr_copy_blob_prefix():
  Call btr_check_blob_fil_page_type() to check FIL_PAGE_TYPE.
  ------------------------------------------------------------------------
  r4272 | marko | 2009-02-23 23:10:18 +0200 (Mon, 23 Feb 2009) | 8 lines

  branches/zip: Adjust the fix of Issue #182 in r4269 per Inaam's suggestion.

  btr_check_blob_fil_page_type(): Replace the parameter
  const char* op
  with
  ibool read.  Do not print anything about page type mismatch
  when reading a BLOB page in Antelope format.
  Print space id before page number.
  ------------------------------------------------------------------------
  r4273 | marko | 2009-02-24 00:11:11 +0200 (Tue, 24 Feb 2009) | 1 line

  branches/zip: ut_mem_init(): Add the assertion !ut_mem_block_list_inited.
  ------------------------------------------------------------------------
  r4274 | marko | 2009-02-24 00:14:38 +0200 (Tue, 24 Feb 2009) | 12 lines

  branches/zip: Fix bugs in the fix of Issue #181.  Tested inside and
  outside Valgrind, with innodb_use_sys_malloc set to 0 and 1.

  mem_init(): Invoke ut_mem_init() before mem_pool_create(), because
  the latter one will invoke ut_malloc().

  srv_general_init(): Do not initialize the memory subsystem (mem_init()).

  innobase_init(): Initialize the memory subsystem (mem_init()) before
  calling srv_parse_data_file_paths_and_sizes(), which needs ut_malloc().
  Call ut_free_all_mem() in error handling to clean up after the mem_init().
  ------------------------------------------------------------------------
  r4280 | marko | 2009-02-24 15:14:59 +0200 (Tue, 24 Feb 2009) | 1 line

  branches/zip: Remove unused function os_mem_alloc_nocache().
  ------------------------------------------------------------------------
  r4281 | marko | 2009-02-24 16:02:48 +0200 (Tue, 24 Feb 2009) | 1 line

  branches/zip: Remove the unused function dict_index_get_type().
  ------------------------------------------------------------------------
  r4283 | marko | 2009-02-24 23:06:56 +0200 (Tue, 24 Feb 2009) | 1 line

  branches/zip: srv0start.c: Remove unnecessary #include "mem0pool.h".
  ------------------------------------------------------------------------
  r4284 | marko | 2009-02-24 23:26:38 +0200 (Tue, 24 Feb 2009) | 1 line

  branches/zip: mem0mem.c: Remove unnecessary #include "mach0data.h".
  ------------------------------------------------------------------------
  r4288 | vasil | 2009-02-25 10:48:07 +0200 (Wed, 25 Feb 2009) | 21 lines

  branches/zip: Merge revisions 4261:4287 from branches/5.1:

    ------------------------------------------------------------------------
    r4287 | sunny | 2009-02-25 05:32:01 +0200 (Wed, 25 Feb 2009) | 10 lines
    Changed paths:
       M /branches/5.1/handler/ha_innodb.cc
       M /branches/5.1/mysql-test/innodb-autoinc.result
       M /branches/5.1/mysql-test/innodb-autoinc.test

    branches/5.1: Fix Bug#42714 AUTO_INCREMENT errors in 5.1.31. There are two
    changes to the autoinc handling.

    1. To fix the immediate problem from the bug report, we must ensure that the
       value written to the table is always less than the max value stored in
       dict_table_t.

    2. The second related change is that according to MySQL documentation when
       the offset is greater than the increment, we should ignore the offset.

    ------------------------------------------------------------------------
  ------------------------------------------------------------------------
  r4289 | vasil | 2009-02-25 10:53:51 +0200 (Wed, 25 Feb 2009) | 4 lines

  branches/zip:

  Add ChangeLog entry for the fix in r4288.
  ------------------------------------------------------------------------
  r4290 | vasil | 2009-02-25 11:05:44 +0200 (Wed, 25 Feb 2009) | 11 lines

  branches/zip:

  Make ChangeLog entries for bugs in bugs.mysql.com in the form:
  Fix Bug#12345 bug title
  (for bugs after 1.0.2 was released and the ChangeLog published)

  There is no need to bloat the ChangeLog with information that is available
  via bugs.mysql.com.

  Discussed with:	Marko
  ------------------------------------------------------------------------
  r4291 | vasil | 2009-02-25 11:08:32 +0200 (Wed, 25 Feb 2009) | 4 lines

  branches/zip:

  Fix Bug synopsis and remove explanation
  ------------------------------------------------------------------------
  r4292 | marko | 2009-02-25 12:09:15 +0200 (Wed, 25 Feb 2009) | 25 lines

  branches/zip: Correct the initialization of the memory subsystem once
  again, to finally put Issue #181 to rest.

  Revert some parts of r4274.  It is best not to call ut_malloc() before
  srv_general_init().

  mem_init(): Do not call ut_mem_init().

  srv_general_init(): Initialize the memory subsystem in two phases:
  first ut_mem_init(), then mem_init().  This is because os_sync_init()
  and sync_init() depend on ut_mem_init() and mem_init() depends on
  os_sync_init() or sync_init().

  srv_parse_data_file_paths_and_sizes(),
  srv_parse_log_group_home_dirs(): Remove the output parameters.  Assign
  to the global variables directly.  Allocate memory with malloc()
  instead of ut_malloc(), because these functions will be called before
  srv_general_init().

  srv_free_paths_and_sizes(): New function, for cleaning up after
  srv_parse_data_file_paths_and_sizes() and
  srv_parse_log_group_home_dirs().

  rb://92 approved by Sunny Bains
  ------------------------------------------------------------------------
  r4297 | vasil | 2009-02-25 17:19:19 +0200 (Wed, 25 Feb 2009) | 4 lines

  branches/zip:

  White-space cleanup in the ChangeLog
  ------------------------------------------------------------------------
  r4301 | vasil | 2009-02-25 21:33:32 +0200 (Wed, 25 Feb 2009) | 5 lines

  branches/zip:

  Do not output the commands that restore the environment because they depend
  on the state of the environment before the test starts executing.
  ------------------------------------------------------------------------
  r4315 | vasil | 2009-02-26 09:21:20 +0200 (Thu, 26 Feb 2009) | 5 lines

  branches/zip:

  Apply any necessary patches to the mysql tree at the end of setup.sh
  This step was previously done manually (and sometimes forgotten).
  ------------------------------------------------------------------------
  r4319 | marko | 2009-02-26 23:27:51 +0200 (Thu, 26 Feb 2009) | 6 lines

  branches/zip: btr_check_blob_fil_page_type(): Do not report
  FIL_PAGE_TYPE mismatch even when purging a BLOB.
  Heavy users may have large data files created with MySQL 5.0 or earlier,
  and they don not want to have the error log flooded with such messages.

  This fixes Issue #182.
  ------------------------------------------------------------------------
  r4320 | inaam | 2009-02-27 02:13:19 +0200 (Fri, 27 Feb 2009) | 8 lines

  branches/zip

  This is to revert the changes made to the plug.in (r4251) as a fix for
  issue# 178. Changes to plug.in will not propogate to a plugin
  installation unless autotools are rerun which is unacceptable.

  A fix for issue# 178 will be committed in a separate commit.
  ------------------------------------------------------------------------
  r4321 | inaam | 2009-02-27 02:16:46 +0200 (Fri, 27 Feb 2009) | 6 lines

  branches/zip

  This is a fix for issue#178. Instead of using UNIV_LINUX which is
  defined through CFLAGS we use compiler generated define __linux__
  that is effective for both .c and .cc files.
  ------------------------------------------------------------------------
  r4324 | vasil | 2009-02-27 13:27:18 +0200 (Fri, 27 Feb 2009) | 39 lines

  branches/zip:

  Add FreeBSD to the list of the operating systems that have
  sizeof(pthread_t) == sizeof(void*) (i.e. word size).

  On FreeBSD pthread_t is defined like:

    /usr/include/sys/_pthreadtypes.h:

    typedef struct  pthread                 *pthread_t;

  I did the following tests (per Inaam's recommendation):

  a) appropriate version of GCC is available on that platform (4.1.2 or
  higher for atomics to be available)

    On FreeBSD 6.x the default compiler is 3.4.6, on FreeBSD 7.x the default
    one is 4.2.1. One can always install the version of choice from the ports
    collection. If gcc 3.x is used then HAVE_GCC_ATOMIC_BUILTINS will not be
    defined and thus the change I am committing will make no difference.

  b) find out if sizeof(pthread_t) == sizeof(long)

    On 32 bit both are 4 bytes, on 64 bit both are 8 bytes.

  c) find out the compiler generated platform define (e.g.: __aix, __sunos__
  etc.)

    The macro is __FreeBSD__.

  d) patch univ.i with the appropriate platform define
  e) build the mysql
  f) ensure it is using atomic builtins (look at the err.log message at
  system startup. It should say we are using atomics for both mutexes and
  rw-locks)
  g) do sanity testing (keeping in view the smp changes)

    I ran the mysql-test suite. All tests pass.
  ------------------------------------------------------------------------
  r4353 | vasil | 2009-03-05 09:27:29 +0200 (Thu, 05 Mar 2009) | 6 lines

  branches/zip:

  As suggested by Ken, print a message that says that the Google SMP patch
  (GCC atomics) is disabled if it is. Also extend the message when the patch
  is partially enabled to make it clear that it is partially enabled.
  ------------------------------------------------------------------------
  r4356 | vasil | 2009-03-05 13:49:51 +0200 (Thu, 05 Mar 2009) | 4 lines

  branches/zip:

  Fix typo made in r4353.
  ------------------------------------------------------------------------
  r4357 | vasil | 2009-03-05 16:38:59 +0200 (Thu, 05 Mar 2009) | 23 lines

  branches/zip:

  Implement a check whether pthread_t objects can be used by GCC atomic
  builtin functions. This check is implemented in plug.in and defines the
  macro HAVE_ATOMIC_PTHREAD_T. This macro is checked in univ.i and the
  relevant part of the code enabled (the one that uses GCC atomics against
  pthread_t objects).

  In addition to this, the same program that is compiled as part of the
  plug.in check is added in ut/ut0auxconf.c. In the InnoDB Plugin source
  archives that are shipped to the users, a generated Makefile.in is added.
  That Makefile.in will be modified to compile ut/ut0auxconf.c and define
  the macro HAVE_ATOMIC_PTHREAD_T if the compilation succeeds. I.e.
  Makefile.in will emulate the work that is done by plug.in. This is done in
  order to make the check happen and HAVE_ATOMIC_PTHREAD_T eventually
  defined without regenerating MySQL's ./configure from
  ./storage/innobase/plug.in. The point is not to ask users to install the
  autotools and regenerate ./configure.

  rb://95

  Approved by:	Marko
  ------------------------------------------------------------------------
  r4360 | vasil | 2009-03-05 22:23:17 +0200 (Thu, 05 Mar 2009) | 21 lines

  branches/zip: Merge revisions 4287:4357 from branches/5.1:

    ------------------------------------------------------------------------
    r4325 | sunny | 2009-03-02 02:28:52 +0200 (Mon, 02 Mar 2009) | 10 lines
    Changed paths:
       M /branches/5.1/handler/ha_innodb.cc
       M /branches/5.1/mysql-test/innodb-autoinc.result
       M /branches/5.1/mysql-test/innodb-autoinc.test

    branches/5.1: Bug#43203: Overflow from auto incrementing causes server segv
    It was not a SIGSEGV but an assertion failure. The assertion was checking
    the invariant that *first_value passed in by MySQL doesn't contain a value
    that is greater than the max value for that type. The assertion has been
    changed to a check and if the value is greater than the max we report a
    generic AUTOINC failure.

    rb://93
    Approved by Heikki

    ------------------------------------------------------------------------
  ------------------------------------------------------------------------
  r4361 | vasil | 2009-03-05 22:27:54 +0200 (Thu, 05 Mar 2009) | 30 lines

  branches/zip: Merge revision 4358 from branches/5.1 (resolving a conflict):

    ------------------------------------------------------------------------
    r4358 | vasil | 2009-03-05 21:21:10 +0200 (Thu, 05 Mar 2009) | 21 lines
    Changed paths:
       M /branches/5.1/handler/ha_innodb.cc

    branches/5.1:

    Merge a change from MySQL:

      ------------------------------------------------------------
      revno: 2728.19.1
      committer: Alfranio Correia <alfranio.correia@sun.com>
      branch nick: mysql-5.1-bugteam
      timestamp: Tue 2009-02-03 11:36:46 +0000
      message:
        BUG#42445 Warning messages in innobase/handler/ha_innodb.cc

        There was a type casting problem in the storage/innobase/handler/ha_innodb.cc,
        (int ha_innobase::write_row(...)). Innobase uses has an internal error variable
        of type 'ulint' while mysql uses an 'int'. 

        To fix the problem the function manipulates an error variable of
        type 'ulint' and only casts it into 'int' when needs to return the value.
      modified:
        storage/innobase/handler/ha_innodb.cc

    ------------------------------------------------------------------------
  ------------------------------------------------------------------------
  r4362 | vasil | 2009-03-05 22:29:07 +0200 (Thu, 05 Mar 2009) | 23 lines

  branches/zip: Merge revision 4359 from branches/5.1:

    ------------------------------------------------------------------------
    r4359 | vasil | 2009-03-05 21:42:01 +0200 (Thu, 05 Mar 2009) | 14 lines
    Changed paths:
       M /branches/5.1/handler/ha_innodb.cc

    branches/5.1:

    Merge a change from MySQL:

      ------------------------------------------------------------
      revno: 2747
      committer: Timothy Smith <timothy.smith@sun.com>
      branch nick: 51
      timestamp: Fri 2009-01-16 17:49:07 +0100
      message:
        Add another cast to ignore int/ulong difference in error types, silence warning on Win64
      modified:
        storage/innobase/handler/ha_innodb.cc

    ------------------------------------------------------------------------
  ------------------------------------------------------------------------
  r4363 | vasil | 2009-03-05 22:31:37 +0200 (Thu, 05 Mar 2009) | 4 lines

  branches/zip:

  Add ChangeLog entry for the bugfix in c4360.
  ------------------------------------------------------------------------
  r4378 | calvin | 2009-03-09 10:10:17 +0200 (Mon, 09 Mar 2009) | 7 lines

  branches/zip: remove compile flag MYSQL_SERVER for dynamic plugin

  The dynamic plugin on Windows used to be built with MYSQL_SERVER
  compile flag, while it is not the case for other platforms.
  r3797 assumed MYSQL_SERVER was not defined for dynamic plugin,
  which introduced the engine crash during dropping a database.
  ------------------------------------------------------------------------
  r4396 | marko | 2009-03-12 09:22:27 +0200 (Thu, 12 Mar 2009) | 3 lines

  branches/zip: btr_store_big_rec_extern_fields(): Initialize FIL_PAGE_TYPE
  in a separate redo log entry.  This will make ibbackup --apply-log
  debugging easier.
  ------------------------------------------------------------------------
  r4397 | marko | 2009-03-12 09:26:11 +0200 (Thu, 12 Mar 2009) | 3 lines

  branches/zip: trx_sys_create_doublewrite_buf(): As the dummy change,
  initialize FIL_PAGE_TYPE.  This will make it easier to write the debug
  assertions for ibbackup --apply-log.
  ------------------------------------------------------------------------
  r4401 | marko | 2009-03-12 10:26:40 +0200 (Thu, 12 Mar 2009) | 19 lines

  branches/zip: Merge revisions 4359:4400 from branches/5.1:

    ------------------------------------------------------------------------
    r4399 | marko | 2009-03-12 09:38:05 +0200 (Thu, 12 Mar 2009) | 2 lines

    branches/5.1: row_sel_get_clust_rec_for_mysql(): Store the cursor position
    also for unlock_row().  (Bug #39320)
    ------------------------------------------------------------------------
    r4400 | marko | 2009-03-12 10:06:44 +0200 (Thu, 12 Mar 2009) | 5 lines

    branches/5.1: Fix a bug in multi-table semi-consistent reads.
    Remember the acquired record locks per table handle (row_prebuilt_t)
    rather than per transaction (trx_t), so that unlock_row should successfully
    unlock all non-matching rows in multi-table operations.
    This deficiency was found while investigating Bug #39320.
    ------------------------------------------------------------------------

  These were submitted as rb://94 and rb://96 and approved by Heikki Tuuri.
  ------------------------------------------------------------------------
  r4455 | marko | 2009-03-16 11:43:34 +0200 (Mon, 16 Mar 2009) | 2 lines

  branches/zip: UT_LIST_VALIDATE(): Add the parameter ASSERTION and
  adjust all callers.
  ------------------------------------------------------------------------
  r4456 | marko | 2009-03-16 12:59:25 +0200 (Mon, 16 Mar 2009) | 6 lines

  branches/zip: UT_LIST_VALIDATE(): Assert that the link is non-NULL
  before dereferencing it.  In this way, ut_list_node_313 will be
  pointing to the last non-NULL list item at the time of the assertion
  failure.  (gcc-4.3.2 -O3 seems to optimize the common subexpressions
  and make the variable NULL, though.)
  ------------------------------------------------------------------------
  r4457 | marko | 2009-03-16 14:12:02 +0200 (Mon, 16 Mar 2009) | 2 lines

  branches/zip: sync_thread_add_level(): Make the assertions about
  level == SYNC_BUF_BLOCK more readable.
  ------------------------------------------------------------------------
  r4461 | vasil | 2009-03-17 09:38:19 +0200 (Tue, 17 Mar 2009) | 6 lines

  branches/zip:

  Remove mysql-test/patches/bug32625.diff because that bug was fixed in
  the mysql repository (1 year and 4 months after sending them the simple
  patch!). See http://bugs.mysql.com/32625
  ------------------------------------------------------------------------
  r4465 | marko | 2009-03-17 12:34:19 +0200 (Tue, 17 Mar 2009) | 1 line

  branches/zip: buf0buddy.c: Add and adjust some debug assertions.
  ------------------------------------------------------------------------
  r4473 | vasil | 2009-03-17 15:50:30 +0200 (Tue, 17 Mar 2009) | 5 lines

  branches/zip:

  Increment the InnoDB Plugin version from 1.0.3 to 1.0.4 now that
  1.0.3 has been released.
  ------------------------------------------------------------------------
  r4478 | vasil | 2009-03-18 11:53:53 +0200 (Wed, 18 Mar 2009) | 5 lines

  branches/zip:

  Remove mysql-test/patches/bug41893.diff because that bug has been fixed
  in the MySQL repository, see http://bugs.mysql.com/41893.
  ------------------------------------------------------------------------
  r4479 | marko | 2009-03-18 12:43:54 +0200 (Wed, 18 Mar 2009) | 2 lines

  branches/zip: buf_LRU_block_remove_hashed_page(): Add some debug assertions.
  ------------------------------------------------------------------------
  r4480 | marko | 2009-03-18 14:32:13 +0200 (Wed, 18 Mar 2009) | 1 line

  branches/zip: buf_buddy_free_low(): Correct the function comment.
  ------------------------------------------------------------------------
  r4482 | marko | 2009-03-19 15:23:32 +0200 (Thu, 19 Mar 2009) | 12 lines

  branches/zip: Merge revisions 4400:4481 from branches/5.1:

    ------------------------------------------------------------------------
    r4481 | marko | 2009-03-19 15:01:48 +0200 (Thu, 19 Mar 2009) | 6 lines

    branches/5.1: row_unlock_for_mysql(): Do not unlock records that were
    modified by the current transaction.  This bug was introduced or unmasked
    in r4400.

    rb://97 approved by Heikki Tuuri
    ------------------------------------------------------------------------
  ------------------------------------------------------------------------
  r4490 | marko | 2009-03-20 12:33:33 +0200 (Fri, 20 Mar 2009) | 4 lines

  branches/zip: Non-functional change for reducing dependencies in InnoDB Hot Backup:

  Replace srv_sys->dummy_ind1 and srv_sys->dummy_ind2 with
  dict_ind_redundant and dict_ind_compact, initialized in dict_init().
  ------------------------------------------------------------------------
  r4491 | marko | 2009-03-20 12:45:18 +0200 (Fri, 20 Mar 2009) | 2 lines

  branches/zip: Add const qualifiers or in/out comments to some function
  parameters in log0log.
  ------------------------------------------------------------------------
  r4492 | marko | 2009-03-20 12:52:14 +0200 (Fri, 20 Mar 2009) | 5 lines

  branches/zip: page_validate(): Always report the space id and the
  name of the index.

  In Hot Backup, do not invoke comparison functions, as MySQL collations
  will be unavailable.
  ------------------------------------------------------------------------
  r4493 | marko | 2009-03-20 13:24:06 +0200 (Fri, 20 Mar 2009) | 1 line

  branches/zip: Replace fil_get_space_for_id_low() with fil_space_get_by_id().
  ------------------------------------------------------------------------
  r4494 | marko | 2009-03-20 13:51:35 +0200 (Fri, 20 Mar 2009) | 3 lines

  branches/zip: fil0fil.c: Refer to fil_system directly, not via local vars.
  This eliminates some "unused variable" warnings when building
  InnoDB Hot Backup in such a way that all mutex operations are no-ops.
  ------------------------------------------------------------------------
  r4495 | marko | 2009-03-20 14:15:52 +0200 (Fri, 20 Mar 2009) | 1 line

  branches/zip: innobase_get_at_most_n_mbchars(): Declare in ha_prototypes.h.
  ------------------------------------------------------------------------
  r4496 | marko | 2009-03-20 14:48:26 +0200 (Fri, 20 Mar 2009) | 1 line

  branches/zip: recv_recover_page(): Remove compile-time constant parameters.
  ------------------------------------------------------------------------
  r4497 | marko | 2009-03-20 14:56:19 +0200 (Fri, 20 Mar 2009) | 1 line

  branches/zip: recv_sys_init(): Remove a compile-time constant parameter.
  ------------------------------------------------------------------------
  r4498 | marko | 2009-03-20 15:08:05 +0200 (Fri, 20 Mar 2009) | 4 lines

  branches/zip: Non-functional change: Add const qualifiers.

  log_block_checksum_is_ok_or_old_format(), recv_sys_add_to_parsing_buf():
  The log block is read-only.  Make it const.
  ------------------------------------------------------------------------
  r4499 | marko | 2009-03-20 15:10:25 +0200 (Fri, 20 Mar 2009) | 1 line

  branches/zip: recv_scan_log_recs(): Remove a compile-time constant parameter.
  ------------------------------------------------------------------------
  r4500 | marko | 2009-03-20 15:47:17 +0200 (Fri, 20 Mar 2009) | 1 line

  branches/zip: fil_init(): Add the parameter hash_size.
  ------------------------------------------------------------------------
  r4501 | vasil | 2009-03-20 16:50:41 +0200 (Fri, 20 Mar 2009) | 4 lines

  branches/zip:

  Add any entry about the release of 1.0.3 in the ChangeLog.
  ------------------------------------------------------------------------
  r4515 | marko | 2009-03-23 10:49:53 +0200 (Mon, 23 Mar 2009) | 1 line

  branches/zip: hash_table_t: adaptive: Remove from UNIV_HOTBACKUP builds.
  ------------------------------------------------------------------------
  r4516 | marko | 2009-03-23 10:57:16 +0200 (Mon, 23 Mar 2009) | 2 lines

  branches/zip: Define and use ASSERT_HASH_MUTEX_OWN.
  Make it a no-op in UNIV_HOTBACKUP builds.
  ------------------------------------------------------------------------
  r4517 | marko | 2009-03-23 11:07:20 +0200 (Mon, 23 Mar 2009) | 2 lines

  branches/zip: Define and use PAGE_ZIP_MATCH.
  In UNIV_HOTBACKUP builds, assume fixed allocation.
  ------------------------------------------------------------------------
  r4521 | marko | 2009-03-23 12:05:47 +0200 (Mon, 23 Mar 2009) | 1 line

  branches/zip: buf_page_print(): Clean up the code #ifdef UNIV_HOTBACKUP.
  ------------------------------------------------------------------------
  r4522 | marko | 2009-03-23 12:20:50 +0200 (Mon, 23 Mar 2009) | 2 lines

  branches/zip: Exclude some operating system interface code
  from UNIV_HOTBACKUP builds.
  ------------------------------------------------------------------------
  r4523 | marko | 2009-03-23 13:00:43 +0200 (Mon, 23 Mar 2009) | 2 lines

  branches/zip: Remove the remaining references to hash_table_t::adapive
  from UNIV_HOTBACKUP builds.  This should have been done in r4515.
  ------------------------------------------------------------------------
  r4524 | marko | 2009-03-23 14:05:18 +0200 (Mon, 23 Mar 2009) | 2 lines

  branches/zip: Enclose recv_recovery_from_backup_on and
  recv_recovery_from_backup_is_on() in #ifdef UNIV_LOG_ARCHIVE.
  ------------------------------------------------------------------------
  r4525 | marko | 2009-03-23 14:57:45 +0200 (Mon, 23 Mar 2009) | 2 lines

  branches/zip: recv_parse_or_apply_log_rec_body(): Add debug assertions
  ensuring that FIL_PAGE_TYPE makes sense when applying log records.
  ------------------------------------------------------------------------
  r4526 | marko | 2009-03-23 16:21:34 +0200 (Mon, 23 Mar 2009) | 2 lines

  branches/zip: Remove unneeded definitions and dependencies
  from UNIV_HOTBACKUP builds.
  ------------------------------------------------------------------------
  r4527 | calvin | 2009-03-23 23:15:33 +0200 (Mon, 23 Mar 2009) | 5 lines

  branches/zip: adjust build files on Windows

  Adjust the patch positions based on the latest MySQL source.
  Also add the patches to the .bat files for vs9.
  ------------------------------------------------------------------------
2009-03-24 08:32:21 +00:00
marko
ace10f32a0 branches/innodb+: Merge revisions 2986:3152 from branches/zip:
------------------------------------------------------------------------
  r3036 | marko | 2008-11-12 12:34:30 +0200 (Wed, 12 Nov 2008) | 4 lines

  branches/zip: dtuple_validate(): When UNIV_DEBUG_VALGRIND is defined,
  rely solely on the UNIV_MEM_ASSERT_RW() check and disable the for loop
  that would only cause additional noise.
  ------------------------------------------------------------------------
  r3037 | marko | 2008-11-12 13:52:57 +0200 (Wed, 12 Nov 2008) | 6 lines

  branches/zip: row_vers_impl_x_locked_off_kernel(): Remove compilation
  warnings about prev_trx_id and vers_del being possibly uninitialized,
  by handling the case prev_version == NULL in a single if block.

  rb://45 approved by Inaam Rana.
  ------------------------------------------------------------------------
  r3131 | michael | 2008-11-17 14:56:56 +0200 (Mon, 17 Nov 2008) | 9 lines

  branches/zip:

  rb://53

  Improve innodb_supports_xa system variable handling and
  reduces the number of retrievals of the value from MySQL.

  Approved by: Marko, over IM
  ------------------------------------------------------------------------
  r3132 | michael | 2008-11-17 16:02:01 +0200 (Mon, 17 Nov 2008) | 5 lines

  branches/zip: rb://53

  Final version of rb://53, fixes the styling of a comment, makes
  the definition and the declaration of thd_supports_xa() identical commentwise.
  ------------------------------------------------------------------------
  r3141 | marko | 2008-11-19 16:39:55 +0200 (Wed, 19 Nov 2008) | 1 line

  branches/zip: buf_LRU_free_block(): Clarify the function comment.
  ------------------------------------------------------------------------
  r3144 | marko | 2008-11-20 11:39:49 +0200 (Thu, 20 Nov 2008) | 2 lines

  branches/zip: rec_get_nth_field_offs_old(): Add UNIV_UNLIKELY hints
  to assertion-like tests.
  ------------------------------------------------------------------------
  r3145 | marko | 2008-11-20 12:22:40 +0200 (Thu, 20 Nov 2008) | 20 lines

  branches/zip: Always check for "row too large" when executing SQL to create
  an index or table.  We have to skip this check when loading table definitions
  from the data dictionary, because we could otherwise refuse to load old
  tables (even uncompressed ones).  This addresses Issue #119.

  The first "row too large" check was implemented in MySQL 5.0.3
  to address MySQL Bug #5682.  In the InnoDB Plugin 1.0.2, a more
  accurate check was implemented in innodb_strict_mode.  We now
  make the check unconditional.

  dict_create_index_step(): Pass strict=TRUE to dict_index_add_to_cache().

  trx_is_strict(), thd_is_strict(): Remove.

  innodb-zip.test: Test in innodb_strict_mode=OFF.

  innodb_bug36169.test: Ensure that none of the tables can be created.

  rb://56 approved by Sunny Bains.
  ------------------------------------------------------------------------
  r3148 | marko | 2008-11-20 13:27:27 +0200 (Thu, 20 Nov 2008) | 3 lines

  branches/zip: rec_print_old(), rec_print_comp(): Dump each field in a
  separate line, so that the dumps can be read and compared more easily.
  ------------------------------------------------------------------------
2008-11-20 11:53:53 +00:00
marko
467b0a8db0 branches/innodb+: Merge revisions 2799:2835 from branches/zip:
------------------------------------------------------------------------
  r2809 | marko | 2008-10-16 09:41:13 +0300 (Thu, 16 Oct 2008) | 18 lines

  branches/zip: Skip the undo log size check on REDUNDANT and COMPACT tables.

  In ROW_FORMAT=DYNAMIC and ROW_FORMAT=COMPRESSED, column prefix indexes
  require that prefixes of externally stored columns be written to the
  undo log. This may make the undo log record bigger than the record on
  the B-tree page.  The maximum size of an undo log record is the page
  size.  That must be checked for, in dict_index_add_to_cache().

  dict_index_add_to_cache(): Skip the undo log size check for REDUNDANT
  and COMPACT tables. These tables store prefixes of externally stored
  columns locally within the clustered index record.  There are no special
  considerations for the undo log record size.

  innodb-index.test: Ensure that the check exists for ROW_FORMAT=DYNAMIC,
  but not for ROW_FORMAT=COMPACT.

  This fixes issue #99.  rb://28 approved by Sunny.
  ------------------------------------------------------------------------
  r2810 | vasil | 2008-10-16 19:57:58 +0300 (Thu, 16 Oct 2008) | 12 lines

  branches/zip:

  Fix Mantis issue#61:

  In row_undo_ins_parse_undo_rec(): if we find that a table has no indexes
  (dict_table_get_first_index() returns NULL) do not try to call
  trx_undo_rec_get_row_ref() with a NULL pointer because that would lead to
  a crash. Instead, print a warning and set node->table to NULL just like
  it is done if the .ibd file is missing.

  Approved by:    Heikki (via IM)
  ------------------------------------------------------------------------
  r2824 | marko | 2008-10-20 09:58:01 +0300 (Mon, 20 Oct 2008) | 2 lines

  branches/zip: rec_convert_dtuple_to_rec_comp(): Relax a too tight assertion.
  Spotted by Sunny.
  ------------------------------------------------------------------------
  r2825 | vasil | 2008-10-20 13:41:04 +0300 (Mon, 20 Oct 2008) | 6 lines

  branches/zip:

  Print the table name via ut_print_name() and add two spaces before InnoDB.

  Suggested by:   Marko
  ------------------------------------------------------------------------
  r2833 | marko | 2008-10-21 10:16:45 +0300 (Tue, 21 Oct 2008) | 2 lines

  branches/zip: ibuf_insert_low(): Avoid unnecessarily
  acquiring and releasing ibuf_mutex.
  ------------------------------------------------------------------------
  r2834 | marko | 2008-10-21 10:18:57 +0300 (Tue, 21 Oct 2008) | 1 line

  branches/zip: ibuf_delete_rec(): Add debug assertions suggested by Heikki.
  ------------------------------------------------------------------------
  r2835 | marko | 2008-10-21 11:04:06 +0300 (Tue, 21 Oct 2008) | 1 line

  branches/zip: ibuf_insert_low(): Simplify a comparison.
  ------------------------------------------------------------------------
2008-10-21 07:30:53 +00:00
marko
f7e76f23c1 branches/innodb+: Merge revisions 2678:2774 from branches/zip. 2008-10-11 19:37:21 +00:00
marko
1d1dc31a06 branches/zip: Introduce UNIV_INTERN, a linkage specifier for InnoDB-global
symbols.  Use it for all definitions of non-static variables and functions.

lexyy.c, make_flex.sh: Declare yylex as UNIV_INTERN, not static.  It is
referenced from pars0grm.c.

Actually, according to
	nm .libs/ha_innodb.so|grep -w '[ABCE-TVXYZ]'
the following symbols are still global:

* The vtable for class ha_innodb
* pars0grm.c: The function yyparse() and the variables yychar, yylval, yynerrs

The required changes to the Bison-generated file pars0grm.c will be addressed
in a separate commit, which will add a script similar to make_flex.sh.

The class ha_innodb is renamed from class ha_innobase by a #define.  Thus,
there will be no clash with the builtin InnoDB.  However, there will be some
overhead for invoking virtual methods of class ha_innodb.  Ideas for making
the vtable hidden are welcome.  -fvisibility=hidden is not available in GCC 3.
2008-02-06 14:17:36 +00:00
marko
c94791e13a branches/zip: Correct an off-by-one error in the debug assertion that was
supposed to be fixed in r2163.
2007-12-10 10:10:21 +00:00
marko
15ef4c8f0b branches/zip: rec_convert_dtuple_to_rec_comp(): Allow externally stored
columns to be up to REC_MAX_INDEX_COL_LEN + BTR_EXTERN_FIELD_REF_SIZE
bytes in a debug assertion.  This assertion could fail since r2159 in
trx_undo_prev_version_build(), because the undo log records for updates
and deletes would contain longer prefixes of externally stored columns.

The assertion failure was reported by Sunny.
2007-12-07 09:47:53 +00:00
marko
ef91b93e6d branches/zip: Minor performance tuning based on measurement data
on mispredicted branches: opcontrol --event=BR_CND_MISSP_EXEC:45000

UT_SORT_FUNCTION_BODY(): Copy the array with memcpy(3).

cmp_dtuple_rec_with_match(), cmp_rec_rec_with_match(),
cmp_debug_dtuple_rec_with_match(): Add UNIV_UNLIKELY hints around
tests for REC_INFO_MIN_REC_FLAG.
2007-10-26 14:05:54 +00:00
marko
9f7cad3268 branches/zip: Add UNIV_UNLIKELY hints to help branch prediction. 2007-10-26 12:31:48 +00:00
marko
996edd8a91 branches/zip: Do not access the fields of dfield_t directly.
dfield_dup(): New function for duplicating the data pointed to by dfield_t.

dfield_set_len(), dfield_set_data(): Add Valgrind instrumentation.
2007-10-23 06:46:12 +00:00
marko
e7267909d7 branches/zip: Initialize dfield_t::ext as soon as possible. This should
fix the bugs introduced in r1591.

row_rec_to_index_entry_low(): Clear "n_ext".  Do not allow it to be NULL.
Add const qualifier to dict_index_t*.

row_rec_to_index_entry(): Add the parameters "offsets" and "n_ext".

btr_cur_optimistic_update(): Add an assertion that there are no externally
stored columns.  Remove the unreachable call to btr_cur_unmark_extern_fields()
and the preceding unnecessary call to rec_get_offsets().

btr_push_update_extern_fields(): Remove the parameters index, offsets.
Only report the additional externally stored columns of the update vector.

row_build(), trx_undo_rec_get_partial_row(): Flag externally stored columns
also with dfield_set_ext().

rec_copy_prefix_to_dtuple(): Assert that there are no externally stored
columns in the prefix.

row_build_row_ref(): Note and assert that the index is a secondary index,
and assert that there are no externally stored columns.

row_build_row_ref_fast(): Assert that there are no externally stored columns.

rec_offs_get_n_alloc(): Expose the function.

row_build_row_ref_in_tuple(): Assert that there are no externally stored
columns in a record of a secondary index.

row_build_row_ref_from_row(): Assert that there are no externally stored
columns.

row_upd_check_references_constraints(): Add the parameter offsets, to
avoid a redundant call to rec_get_offsets().

row_upd_del_mark_clust_rec(): Add the parameter offsets.  Remove
duplicated code.

row_ins_index_entry_set_vals(): Copy the external storage flag.

sel_pop_prefetched_row(): Assert that there are no externally stored
columns.

row_scan_and_check_index(): Copy offsets to a temporary heap across
the invocation of row_rec_to_index_entry().
2007-10-17 12:13:29 +00:00
marko
3877f6910f branches/zip: Define the macro rec_offs_init() and use it for initializing
offsets_[] arrays, as suggested by Vasil.

rec_offs_set_n_alloc(): Declare as a public function.  Assert that
n_alloc > REC_OFFS_HEADER_SIZE.

rec_offs_get_n_alloc(): Assert that n_alloc > REC_OFFS_HEADER_SIZE.
2007-09-28 07:05:57 +00:00
marko
3ad7bd739d branches/zip: Add some const qualifiers to input parameters.
rec_get_converted_size_comp(), rec_convert_dtuple_to_rec_comp(),
rec_convert_dtuple_to_rec_new(), rec_convert_dtuple_to_rec(): Add a
const qualifier to dict_index_t*.

row_search_on_row_ref(): Add const qualifiers to the dict_table_t*
and dtuple_t* parameters.  Note that pcur is an "out" parameter
and mtr is "in/out".
2007-09-26 09:12:23 +00:00
marko
1595953ae9 branches/zip: Add some const qualifiers or in/out comments to the
dict_index_t* and dict_table_t* parameters of some functions.
2007-09-24 13:29:18 +00:00
marko
4bf90e5355 branches/zip: Reduce internal memory fragmentation.
mem_alloc2(): New macro.  This is a variant of mem_alloc() that
returns the allocated size, which is equal to or greater than
the requested size.

mem_alloc_func(): Add the output parameter *size for the allocated size.
When it is set, adjust the parameter passed to mem_heap_alloc().

rec_copy_prefix_to_buf_old(), rec_copy_prefix_to_buf(): Use mem_alloc2()
instead of mem_alloc().
2007-09-21 12:45:46 +00:00
marko
619fd43a67 branches/zip: Add diagnostic printout.
rec_print_comp(): New function, sliced from rec_print_new().

rec_print_old(), rec_print_comp(): Print the untruncated length of the column.

row_merge_print_read, row_merge_print_write, row_merge_print_cmp:
New flags, to enable debug printout in UNIV_DEBUG builds.

row_merge_tuple_print(): New function for UNIV_DEBUG builds.

row_merge_read_rec(): Obey row_merge_print_read.

row_merge_buf_write(), row_merge_write_rec_low(),
row_merge_write_eof(): Obey row_merge_print_write.

row_merge_cmp(): Obey row_merge_print_cmp.
2007-09-21 08:07:58 +00:00
marko
ec4059555b branches/zip: cmp_rec_rec_simple(): Compare n_uniq columns instead of
all columns present in offsets.  Add a const qualifier to the
dict_index_t* parameter.
2007-09-19 11:31:00 +00:00
marko
0d9050315e branches/zip: rec_init_offsets(): Fix a bug that was introduced in r1518:
Correctly handle node pointer records containing variable-length columns
with two-byte length.
2007-09-19 09:05:16 +00:00
marko
632ec54002 branches/zip: Make merge sort handle externally stored columns.
Some things still fail in innodb-index.test, and there seems to be
a race condition (data dictionary lock wait) when running with --valgrind.

dfield_t: Add an "external storage" flag, dfield->ext.

dfield_is_null(), dfield_is_ext(), dfield_set_ext(), dfield_set_null():
New functions.

dfield_copy(), dfield_copy_data(): Add const qualifiers, fix in/out comments.

data_write_sql_null(): Use memset().

big_rec_field_t: Replace byte* data with const void* data.

ut_ulint_sort(): Remove.

upd_field_t: Remove extern_storage.

upd_node_t: Replace ext_vec, n_ext_vec with n_ext.

row_merge_copy_blobs(): New function.

row_ins_index_entry(): Add the parameter "ibool foreign" for suppressing
foreign key checks during fast index creation or when inserting into
secondary indexes.

btr_page_insert_fits(): Add const qualifiers.

btr_cur_add_ext(), upd_ext_vec_contains(): Remove.

dfield_print_also_hex(), dfield_print(): Replace if...else if with switch.
Observe dfield_is_ext().
2007-06-21 09:43:15 +00:00
marko
a8a3521b09 branches/zip: Merge 1556:1571 from trunk. 2007-06-12 10:59:01 +00:00
marko
1a8a63d0cd branches/zip: Reimplement merge sort in fast index creation.
The creation of the primary key does not work.  We will have to flag
externally stored columns and copy the externally stored part from
the old table.

row_build_index_for_mysql(): Rename to row_merge_build_indexes().
Move from row0mysql.c to row0merge.c.

Remove private declarations from row0merge.h.  Make many functions static
in row0merge.c.

cmp_rec_rec_simple(): A new comparison function.

dict_index_get_min_size(): New function.

OS_FILE_FROM_FD(fd): A macro for converting from int to os_file_t.

rec_convert_dtuple_to_rec_comp(): Make the interface lower-level.

rec_get_converted_size_comp(): Return also extra_size.

UT_SORT_FUNCTION_BODY(): Remove reference to an obsolete test program.

row_rec_to_index_entry_low(): New function.

row0merge.c: Implement merge sort based on file streams instead of
fixed-size blocks.  Sort the small blocks as arrays of dfield_t*,
because it is faster than invoking rec_get_offsets() for every
comparison.
2007-06-08 07:37:07 +00:00
marko
673f836fe1 branches/zip: Merge 1553:1556 from trunk. 2007-06-08 07:05:17 +00:00
marko
ab2f114ad9 branches/zip: Merge 1533:1553 from trunk. 2007-06-06 11:07:37 +00:00
marko
8a294fa351 branches/zip: Merge 1493:1533 from trunk.
Make use of UT_BITS_IN_BYTES().
2007-05-29 08:48:16 +00:00
marko
d2d4b2f84d branches/zip: rec_get_offsets_reverse(): Fix the type of the parameter
node_ptr.
2007-05-22 11:55:07 +00:00
marko
3cb9d2142a branches/zip: Refactor some code for handling records in ROW_FORMAT=COMPACT.
rec_get_converted_size_new(): Rename to rec_get_converted_size_comp().
Add const qualifier to dtuple.  Remove the assertion
dict_table_is_comp(index->table), because this function will be invoked
when populating the temporary files in fast index creation.

rec_convert_dtuple_to_rec_new(): Rename to rec_convert_dtuple_to_rec_comp().
Add parameter "extra".

rec_init_offsets_comp_ordinary(): New function.  Used in rec_init_offsets().
2007-05-22 11:12:35 +00:00
marko
88df83bb3b branches/zip: Merge revisions 1402:1493 from trunk.
Remove mysql.patch, because the configuration parameter interface has changed.
2007-05-14 09:07:15 +00:00
marko
8b566bbb61 branches/zip: Clean up.
cmp_rec_rec_with_match(): Initialize ret=0.  Remove assignments ret=0.

rec_init_offsets(): Remove bogus comment.
2007-04-17 08:21:28 +00:00
marko
4d6805f2a8 branches/zip: Merge revisions 1322:1402 from trunk. 2007-04-02 05:39:41 +00:00
marko
8ef3075630 branches/zip: Speed up rec_offs_any_extern() and rec_offs_n_extern()
by adding the REC_OFFS_EXTERNAL flag to rec_offs_base(offsets)[0].

This reduces the processor usage of page_zip_write_rec() by about 40%
in one test case.  The code could be sped up further by testing
rec_offs_any_extern() outside of loops that check rec_offs_nth_extern().
The vast majority of records does not contain any externally stored columns.
2007-02-02 16:20:48 +00:00
marko
8f65d7a661 branches/zip: Merge revisions 1165:1206 from trunk. 2007-01-18 12:58:39 +00:00
marko
e81c916b27 branches/zip: mem_heap_create_block(), mem_heap_create_func():
Remove the unused parameter init_block.

mem_heap_fast_create(): Remove.

struct mem_block_info_struct: Remove the field init_block.
2007-01-05 20:59:40 +00:00
marko
6ee593b116 branches/zip: Add const qualifiers to read-only pointers.
rec_get_nth_field_offs_old(): Split from rec_get_nth_field_old().

rec_get_nth_field_old(): Reimplement as a constness-preserving macro.

dict_drop_index_tree(), dict_truncate_index_tree(): Note that rec is
an in/out parameter, as the B-tree root page number will be updated.
2006-10-26 08:52:14 +00:00
marko
d6c684798e branches/zip: Add const qualifiers to function parameters, mostly dtuple_t. 2006-10-20 08:30:07 +00:00
marko
fbe4fe6022 branches/zip: Remove the casts introduced in r920 and r925. Replace the
accessors returning pointers with macros that preserve const qualifiers.
In UNIV_DEBUG builds, retain the accessors and cast away constness there.

dfield_get_type(), dfield_get_data(), dtuple_get_nth_field(),
dict_table_get_nth_col(), dict_table_get_sys_col(): Implement as macro
unless #ifdef UNIV_DEBUG.

rec_get_nth_field(): Replace with rec_get_nth_field_offs() that does not
do pointer arithmetics.  Implement rec_get_nth_field() as a macro.
2006-10-19 07:27:26 +00:00
marko
8f07794024 branches/zip: Introduce const qualifiers to many read-only parameters
and modify some functions to return const pointers.  Add const qualifiers
to local variable declarations or casts to remove the const qualifier
in those places where write access is needed.
2006-10-17 12:24:13 +00:00
marko
d71e0c2d55 branches/zip: Add const qualifiers to read-only rec_t* parameters
of rec accessor functions.
2006-10-16 11:42:46 +00:00
marko
174bd7b7ca branches/zip: dtuple_convert_big_rec(): Do not store anything locally
of externally stored columns, and fix bugs introduced in r873.  (Bug #22496)

btr_page_get_sure_split_rec(), btr_page_insert_fits(),
rec_get_converted_size(), rec_convert_dtuple_to_rec(),
rec_convert_dtuple_to_rec_old(), rec_convert_dtuple_to_rec_new():
Add parameters ext and n_ext.  Flag external fields during the
conversion.

rec_set_field_extern_bits(), rec_set_field_extern_bits_new(),
rec_offs_set_nth_extern(), rec_set_nth_field_extern_bit_old():
Remove.  The bits are set by rec_convert_dtuple_to_rec().

page_cur_insert_rec_low(): Remove the parameters ext and n_ext.

btr_cur_add_ext(): New utility function for updating and sorting ext[].
Low-level functions now expect the array to be in ascending order
for performance reasons.  Used in btr_cur_optimistic_insert(),
btr_cur_pessimistic_insert(), and btr_cur_pessimistic_update().

btr_cur_optimistic_insert(): Remove some defensive code, because we cannot
compute the added parameters of rec_get_converted_size().

btr_push_update_extern_fields(): Sort the array.  Require the array to
be twice the maximum usage, so that ut_ulint_sort() can be used.

dtuple_convert_big_rec(): Allocate new space for the BLOB pointer,
to avoid overwriting prefix indexes to the same column.  Adapt
dtuple_convert_back_big_rec().

row_build_index_entry(): Fetch the columns also for prefix indexes of
the clustered index.

page_zip_apply_log(), page_zip_decompress_clust(): Allow externally
stored fields to lack a locally stored part.
2006-09-29 10:40:42 +00:00
marko
3b03315f94 branches/zip: Fix bugs #ifdef UNIV_DEBUG.
rec_convert_dtuple_to_rec_old(): Initialize the record in order to avoid
bogus Valgrind warnings about the ut_ad() in mach_write_to_1() and
mach_write_to_2().

page_zip_compress(), page_zip_write_rec(), page_zip_write_blob_ptr():
Replace ut_ad(page_validate(...)) with ut_ad(page_simple_validate_new(...)),
because otherwise crash recovery would fail.
2006-09-20 12:23:25 +00:00
marko
68a65c142c branches/zip: Merge revisions 804:838 from trunk. 2006-09-19 10:14:07 +00:00
marko
38e09b2fea branches/zip: Merge revisions 720:765 from trunk and reindent the code
as per revisions r763:765.
2006-08-29 09:30:31 +00:00
marko
fb8ce59909 branches/zip: Assert that only leaf pages of clustered indexes may contain
externally stored columns.  Make some use of the fact in compression and
decompression.

rec_init_offsets(): Add ut_ad(dict_index_is_clust(index)) before flagging
external columns.

page_zip_get_trailer_len(): Assert ut_ad(!page_zip->n_blobs) unless
dict_index_is_clust(index).

page_zip_get_n_prev_extern(): Add ut_ad(dict_index_is_clust(index)).

page_zip_compress(), page_zip_decompress_low(): Add dict_index_is_clust()
assertions.  Allow completely external storage of columns.  Simplify
the computation of "externs".

page_zip_write_rec(): Store leaf node records of non-clustered indexes
with one memcpy(), avoiding rec_offs_n_extern() and the for loop.

page_zip_write_blob_ptr(): Add ut_ad(dict_index_is_clust(index)).
Simplify the computation of "externs".

page_zip_clear_rec(): Only attempt to zero out BLOB pointers when
the record belongs to a leaf page of a clustered index.

page_zip_dir_delete(): Take a fast path when the record is
not on a leaf page of a clustered index.
Simplify the computation of "externs".

page_zip_copy(): Assert that n_blobs is zero on anything else than
leaf pages of clustered indexes.
2006-08-21 10:27:15 +00:00
marko
aa852a3b72 branches/zip: Remove GCC 4.0.4 warnings from
make AM_CFLAGS='-std=c89 -Wall -W -pedantic'
2006-05-10 13:58:35 +00:00
marko
cd7583af1f branches/zip: Minor fixes
trx-undo_prev_version_build(): Pass offsets==NULL to
rec_set_field_extern_bits().

rec_set_field_extern_bits(), rec_set_field_extern_bits_new():
Accept offsets==NULL.

row_upd_rec_in_place(): Remove the bogus comment that the function
would only be invoked on a clustered index.  Remove the related
debug assertion.
2006-03-16 09:44:52 +00:00