Commit graph

59 commits

Author SHA1 Message Date
Jimmy Yang
3fa4aaac71 Fix bug #11796673 address backward compatibility on index with
large prefix (>=768). Table with such large prefix index will not
be loaded into memory (for its metadata), unless innodb_force_recovery
is on.

rb://604 Approved by Marko
2011-05-04 03:06:21 -07:00
Jimmy Yang
9cd4d49840 Fix Bug#30423 "InnoDBs treatment of NULL in index stats causes bad
"rows examined" estimates". This change implements "innodb_stats_method"
with options of "nulls_equal", "nulls_unequal" and "null_ignored".
      
rb://553 approved by Marko
2011-01-14 09:02:28 -08:00
Jimmy Yang
fe8fbaaddb Fix Bug #59197 double quote in field comment prevents foreign key
constraint creation

rb://557 Approved by Sunny Bains
2011-01-04 22:44:12 -08:00
Jimmy Yang
c143ff4848 Fix Bug #59157 valgrind conditional jump warning from dict_load_foreign.
This is 5.1 built-in specific as the dict_table_t strcture is allocated
with mem_heap_zalloc since 5.1 plugin.

Approved by Sunny Bains
2011-01-04 22:31:46 -08:00
Jimmy Yang
e8f228e7eb Fix Bug #57616 Sig 11 in dict_load_table() when failed to load
index or foreign key

Approved by Sunny Bains
2010-10-20 19:56:42 -07:00
Jimmy Yang
9b3a3944e4 Merge from mysql-5.1-bugteam to mysql-5.1-security 2010-09-01 17:43:02 -07:00
Marko Mäkelä
634af8f446 Bug#55832: selects crash too easily when innodb_force_recovery>3
dict_update_statistics_low(): Create bogus statistics for those
indexes that cannot be accessed because of the innodb_force_recovery
setting.

ha_innobase::info(): Calculate statistics for each index, even if
innodb_force_recovery is set. Fill in bogus data for those indexes
that are not accessed because of the innodb_force_recovery setting.
2010-08-23 13:28:54 +03:00
Sunny Bains
3daf6d3d73 Fix Bug #55027: assertion: mutex_own(&dict_sys->mutex) in dict_table_get_on_id()
The callers should indicate that the dictionary is locked or not using
the trx->dict_operation_lock_mode == RW_X_LATCH mode. Checking explicitly
for system tables is unnecessary.

Approved by Marko on IRC.
2010-08-20 12:57:04 +10:00
Jimmy Yang
531c0eee52 Address bug #55465 ERROR 1280 (42000): Incorrect index name '<index name>',
adding a couple FK related messages.

rb://409 approved by Sunny Bains
2010-08-06 02:49:22 -07:00
Jimmy Yang
04970a2ff1 Fix Bug #54582 stack overflow when opening many tables linked with
foreign keys at once

rb://391 approved by Heikki
Z
2010-08-04 03:11:33 -07:00
Jimmy Yang
1b31b3a38a Check in fix for bug #53756: "ALTER TABLE ADD PRIMARY KEY affects
crash recovery"

rb://369 approved by Marko
2010-06-28 19:41:37 -07:00
Sunny Bains
7299858763 Fix bug#54583. This change reverses rsvn:1350 by getting rid of a bogus assertion
and clarifies the invariant in dict_table_get_on_id().
      
In Mar 2007 Marko observed a crash during recovery, the crash resulted from
an UNDO operation on a system table. His solution was to acquire an X lock on
the data dictionary, this in hindsight was an overkill. It is unclear what
caused the crash, current hypothesis is that it was a memory corruption.
      
The X lock results in performance issues by when undoing changes due to
rollback during normal operation on regular tables.
      
Why the change is safe:
======================
The InnoDB code has changed since the original X lock change was made. In the
new code we always lock the data dictionary in X mode during startup when
UNDOing operations on the system tables (this is a given). This ensures that
the crash Marko observed cannot happen as long as all transactions that update
the system tables follow the standard rules by setting the appropriate DICT_OP
flag when writing the log records when they make the changes.
      
If transactions violate the above mentioned rule then during recovery (at
startup) the rollback code (see trx0roll.c) will not acquire the X lock
and we will see the crash again.  This will however be a different bug.
2010-06-25 18:18:41 +10:00
Marko Mäkelä
c3c2279cbd Make the InnoDB FOREIGN KEY parser understand multi-statements. (Bug #48024)
Also make InnoDB thinks that /*/ only starts a comment. (Bug #53644).

struct trx_struct: Add mysql_query_len.

ha_innodb.cc: Use trx_query_string() instead of trx_query() and
initialize trx->mysql_query_len.

INNOBASE_COPY_STMT(thd, trx): New macro, to initialize
trx->mysql_query_str and trx->mysql_query_len.

dict_strip_comments(): Add and observe the parameter sql_length. Treat
/*/ as the start of a comment.

dict_create_foreign_constraints(), row_table_add_foreign_constraints():
Add the parameter sql_length.
2010-05-14 16:02:28 +03:00
Satya B
95c6cc51a5 Applying InnoDB snapshot 5.1-ss5921, part 2. Fixes BUG#44369
BUG#44369 - InnoDB: Does not uniformly disallow disallowed column names

Detailed revision comments:

r5741 | jyang | 2009-09-03 07:16:01 +0300 (Thu, 03 Sep 2009) | 5 lines
branches/5.1: Block creating table with column name conflicting
with Innodb reserved key words. (Bug #44369) rb://151 approved
by Sunny Bains.


r5760 | jyang | 2009-09-04 07:07:34 +0300 (Fri, 04 Sep 2009) | 3 lines
branches/5.1: This is to revert change 5741. A return status for
create_table_def() needs to be fixed.

r5834 | jyang | 2009-09-11 00:43:05 +0300 (Fri, 11 Sep 2009) | 5 lines
branches/5.1: Block creating table with column name conflicting
with Innodb reserved key words. (Bug #44369) rb://151 approved
by Sunny Bains.
2009-10-05 16:47:48 +05:30
Satya B
ab99c2347b merge to 5.1-bugteam tree 2009-05-19 14:01:29 +05:30
Satya B
65eac15004 Applying InnoDB snashot 5.1-ss5024, part 2. Fix for BUG#44320
BUG#44320 - InnoDB: missing DB_ROLL_PTR in Table Monitor COLUMNS output

Detailed revision comments:

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
2009-05-19 13:26:49 +05:30
Sergey Glukhov
6b57f95cb2 5.0-bugteam->5.1-bugteam merge 2009-05-19 11:48:04 +05:00
Timothy Smith
39a4ab6ce3 Applying InnoDB snashot 5.1-ss3931, part 2. Fixes
Bug #42075: dict_load_indexes failure in dict_load_table will corrupt the dictionary cache

Detailed revision comments:

r3930 | marko | 2009-01-14 15:51:30 +0200 (Wed, 14 Jan 2009) | 4 lines
branches/5.1: dict_load_table(): If dict_load_indexes() fails,
invoke dict_table_remove_from_cache() instead of dict_mem_table_free(),
so that the data dictionary will not point to freed data.
(Bug #42075, Issue #153, rb://76 approved by Heikki Tuuri)
2009-03-02 18:08:02 -07:00
Timothy Smith
d29aaf893c Apply InnoDB snapshot innodb-5.1-ss2858, part 15. Fixes
Bug #39830: Table autoinc value not updated on first insert.
Bug #35498: Cannot get table test/table1 auto-inccounter value in ::info
Bug #36411: Failed to read auto-increment value from storage engine" in 5.1.24 auto-inc

Detailed revision comments:

r2854 | sunny | 2008-10-23 08:30:32 +0300 (Thu, 23 Oct 2008) | 13 lines
branches/5.1: Backport changes from branches/zip r2725

Simplify the autoinc initialization code. This removes the
non-determinism related to reading the table's autoinc value for the first
time. This change has also reduced the sizeof dict_table_t by sizeof(ibool)
bytes because we don't need the dict_table_t::autoinc_inited field anymore.

rb://16
2008-12-14 13:59:50 -07:00
Timothy Smith
22f6a8424c Apply InnoDB snapshot innodb-5.1-2858, part 7.
A follow-up fix for Bug 38839, which exposed a pre-existing bug in the
autoinc handling.

Detailed revision comments:

r2722 | sunny | 2008-10-04 02:48:04 +0300 (Sat, 04 Oct 2008) | 18 lines
branches/5.1: This bug has always existed but was masked by other errors. The
fix for bug# 38839 triggered this bug. When the offset and increment are > 1
we need to calculate the next value taking into consideration the two
variables. Previously we simply assumed they were 1 particularly offset was
never used. MySQL does its own calculation and that's probably why it seemed
to work in the past. We would return what we thought was the correct next
value and then MySQL would recalculate the actual value from that and return
it to the caller (e.g., handler::write_row()). Several new tests have been
added that try and catch some edge cases. The tests exposed a wrap around
error in MySQL next value calculation which was filed as bug 39828. The tests
will need to be updated once MySQL fix that bug.

One good side effect of this fix is that dict_table_t size has been
reduced by 8 bytes because we have moved the autoinc_increment field to
the row_prebuilt_t structure. See review-board for a detailed discussion.

rb://3
2008-12-14 13:42:37 -07:00
Timothy Smith
f6bf85c09e Complete application of InnoDB snapshot innodb-5.1-ss2545.
Fix race condition which could result in freeing a struct that is
still in use by another thread.


Detailed revision comments:

r2537 | inaam | 2008-07-15 20:46:03 +0300 (Tue, 15 Jul 2008) | 12 lines
branches/5.1   issue# 4

Fixed a timing hole where a thread dropping an index can free the
in-memory index struct while another thread is still using
that structure to remove entries from adaptive hash index belonging
to one of the pages that belongs to the index being dropped.

The fix is to have a reference counter in the index struct and to
wait for this counter to drop to zero beforing freeing the struct.

Reviewed by: Heikki

r2543 | inaam | 2008-07-22 18:57:43 +0300 (Tue, 22 Jul 2008) | 7 lines
branches/5.1:

Removed UNIV_INLINE qualifier from btr_search_info_get_ref_count().
Otherwise compilation failed on non-debug builds.

Pointed by: Vasil
2008-12-14 12:25:33 -07:00
unknown
1f21098a9b apply snapshot innodb-5.1-ss2387
------------------------------------------------------------------------
r2361 | sunny | 2008-03-12 09:08:09 +0200 (Wed, 12 Mar 2008) | 3 lines
Changed paths:
   M /branches/5.1/include/srv0srv.h
   M /branches/5.1/os/os0file.c
   M /branches/5.1/srv/srv0srv.c
   M /branches/5.1/srv/srv0start.c

branches/5.1: Remove the innodb_flush_method fdatasync option since it was
not being used and there was a potential it could mislead users.

------------------------------------------------------------------------
r2367 | marko | 2008-03-17 10:23:03 +0200 (Mon, 17 Mar 2008) | 5 lines
Changed paths:
   M /branches/5.1/handler/ha_innodb.cc

branches/5.1: ha_innobase::check_if_incompatible_data(): Check
HA_CREATE_USED_ROW_FORMAT before comparing row_type.  Previously,
the comparison was incorrectly guarded by the presence of an
AUTO_INCREMENT attribute.

------------------------------------------------------------------------
r2374 | vasil | 2008-03-18 09:35:30 +0200 (Tue, 18 Mar 2008) | 11 lines
Changed paths:
   M /branches/5.1/dict/dict0dict.c
   A /branches/5.1/mysql-test/innodb_bug35220.result
   A /branches/5.1/mysql-test/innodb_bug35220.test

branches/5.1:

Fix Bug#35220 ALTER TABLE too picky on reserved word "foreign".

In ALTER TABLE, change the internal parser to search for
``FOREIGN[[:space:]]'' instead of only ``FOREIGN'' when parsing
ALTER TABLE ... DROP FOREIGN KEY ...; otherwise it could be mistaken
with ALTER TABLE ... DROP foreign_col;

Approved by:    Heikki

------------------------------------------------------------------------
r2379 | vasil | 2008-03-19 18:48:00 +0200 (Wed, 19 Mar 2008) | 10 lines
Changed paths:
   M /branches/5.1/os/os0file.c

branches/5.1:

Fix Bug#34823:
fsync() occasionally returns ENOLCK and causes InnoDB to restart mysqld

Create a wrapper to fsync(2) that retries the operation if the error is
ENOLCK. Use that wrapper instead of fsync(2).

Approved by:    Heikki

------------------------------------------------------------------------
r2380 | sunny | 2008-03-21 05:03:56 +0200 (Fri, 21 Mar 2008) | 9 lines
Changed paths:
   M /branches/5.1/include/trx0undo.h
   M /branches/5.1/trx/trx0trx.c
   M /branches/5.1/trx/trx0undo.c

branches/5.1: Fix for Bug# 35352. We've added a heuristic that checks
the size of the UNDO slots cache lists (insert and upate). If either of
cached lists has more than 500 entries then we add any UNDO slots that are
freed, to the common free list instead of the cache list, this is to avoid
the case where all the free slots end up in only one of the lists on startup
after a crash.

Tested with test case for 26590 and passes all mysql-test(s).

------------------------------------------------------------------------
r2383 | vasil | 2008-03-26 09:35:22 +0200 (Wed, 26 Mar 2008) | 4 lines
Changed paths:
   M /branches/5.1/include/row0mysql.h

branches/5.1:

Fix typo in comment.

------------------------------------------------------------------------
r2384 | vasil | 2008-03-26 18:26:54 +0200 (Wed, 26 Mar 2008) | 20 lines
Changed paths:
   A /branches/5.1/mysql-test/innodb_bug34300.result
   A /branches/5.1/mysql-test/innodb_bug34300.test
   M /branches/5.1/row/row0sel.c

branches/5.1:

Fix Bug#34300 Tinyblob & tinytext fields currupted after export/import and alter in 5.1

Copy the BLOB fields, that are stored internally, to a safe place
(prebuilt->blob_heap) when converting a row from InnoDB format to
MySQL format in row_sel_store_mysql_rec().

The bug was introduced in:

 ------------------------------------------------------------------------
 r587 | osku | 2006-05-23 15:35:58 +0300 (Tue, 23 May 2006) | 3 lines

 Optimize BLOB selects by using prebuilt->blob_heap directly instead of first
 reading BLOB data to a temporary heap and then copying it to
 prebuilt->blob_heap.
 ------------------------------------------------------------------------

Approved by:    Heikki

------------------------------------------------------------------------
r2386 | vasil | 2008-03-27 07:45:02 +0200 (Thu, 27 Mar 2008) | 22 lines
Changed paths:
   M /branches/5.1/mysql-test/innodb.result

branches/5.1:

Merge change from MySQL (this fixes the failing innodb test):

ChangeSet@1.1810.3601.4, 2008-02-07 02:33:21+04:00, gshchepa@host.loc +9 -0
  Fixed bug#30059.
  Server handles truncation for assignment of too-long values
  into CHAR/VARCHAR/TEXT columns in a different ways when the
  truncated characters are spaces:
  1. CHAR(N) columns silently ignore end-space truncation;
  2. TEXT columns post a truncation warning/error in the
     non-strict/strict mode.
  3. VARCHAR columns always post a truncation note in
     any mode.

  Space truncation processing has been synchronised over
  CHAR/VARCHAR/TEXT columns: current behavior of VARCHAR
  columns has been propagated as standard.

  Binary-encoded string/BLOB columns are not affected.


------------------------------------------------------------------------
r2387 | vasil | 2008-03-27 08:49:05 +0200 (Thu, 27 Mar 2008) | 8 lines
Changed paths:
   M /branches/5.1/row/row0sel.c

branches/5.1:

Check whether *trx->mysql_query_str is != NULL in addition to
trx->mysql_query_str. This adds more safety.

This may or may not fix Bug#35226 RBR event crashes slave.


------------------------------------------------------------------------


storage/innobase/dict/dict0dict.c:
  apply snapshot innodb-5.1-ss2387
storage/innobase/handler/ha_innodb.cc:
  apply snapshot innodb-5.1-ss2387
storage/innobase/include/row0mysql.h:
  apply snapshot innodb-5.1-ss2387
storage/innobase/include/srv0srv.h:
  apply snapshot innodb-5.1-ss2387
storage/innobase/include/trx0undo.h:
  apply snapshot innodb-5.1-ss2387
storage/innobase/os/os0file.c:
  apply snapshot innodb-5.1-ss2387
storage/innobase/row/row0sel.c:
  apply snapshot innodb-5.1-ss2387
storage/innobase/srv/srv0srv.c:
  apply snapshot innodb-5.1-ss2387
storage/innobase/srv/srv0start.c:
  apply snapshot innodb-5.1-ss2387
storage/innobase/trx/trx0trx.c:
  apply snapshot innodb-5.1-ss2387
storage/innobase/trx/trx0undo.c:
  apply snapshot innodb-5.1-ss2387
2008-03-27 15:13:10 +01:00
unknown
9aaab69ab1 Apply innodb-5.1-ss2360 snapshot
Fixes:
- Bug #34920: auto_increment resets to 1 on foreign key creation
  We need to use/inherit the passed in autoinc counter for ALTER TABLE
  statements too.


mysql-test/r/innodb.result:
  Apply innodb-5.1-ss2360 snapshot
  
  Revision r2345:
  branches/5.1: Fix Bug# 34920. We need to use/inherit the passed in autoinc
  counter for ALTER TABLE statements too.
mysql-test/t/innodb.test:
  Apply innodb-5.1-ss2360 snapshot
  
  Revision r2345:
  branches/5.1: Fix Bug# 34920. We need to use/inherit the passed in autoinc
  counter for ALTER TABLE statements too.
storage/innobase/dict/dict0dict.c:
  Apply innodb-5.1-ss2360 snapshot
  
  Revision r2353:
  branches/5.1: Change the InnoDB autoinc type to ulint64. For this added a
  new typedef to univ.i (ib_ulonglong). Added checks for overflow and removed
  the assertion where it crashed previously, since the type has now changed
  to unsigned, it doesn't make sense to check for < 0. Added new tests, to
  check for overflow, for the different INT types supported for both
  signed and unsigned.
storage/innobase/handler/ha_innodb.cc:
  Apply innodb-5.1-ss2360 snapshot
  
  Revision r2353:
  branches/5.1: Change the InnoDB autoinc type to ulint64. For this added a
  new typedef to univ.i (ib_ulonglong). Added checks for overflow and removed
  the assertion where it crashed previously, since the type has now changed
  to unsigned, it doesn't make sense to check for < 0. Added new tests, to
  check for overflow, for the different INT types supported for both
  signed and unsigned.
  
  
  Revision r2345:
  branches/5.1: Fix Bug# 34920. We need to use/inherit the passed in autoinc
  counter for ALTER TABLE statements too.
storage/innobase/handler/ha_innodb.h:
  Apply innodb-5.1-ss2360 snapshot
  
  Revision r2353:
  branches/5.1: Change the InnoDB autoinc type to ulint64. For this added a
  new typedef to univ.i (ib_ulonglong). Added checks for overflow and removed
  the assertion where it crashed previously, since the type has now changed
  to unsigned, it doesn't make sense to check for < 0. Added new tests, to
  check for overflow, for the different INT types supported for both
  signed and unsigned.
storage/innobase/include/dict0dict.h:
  Apply innodb-5.1-ss2360 snapshot
  
  Revision r2353:
  branches/5.1: Change the InnoDB autoinc type to ulint64. For this added a
  new typedef to univ.i (ib_ulonglong). Added checks for overflow and removed
  the assertion where it crashed previously, since the type has now changed
  to unsigned, it doesn't make sense to check for < 0. Added new tests, to
  check for overflow, for the different INT types supported for both
  signed and unsigned.
storage/innobase/include/dict0mem.h:
  Apply innodb-5.1-ss2360 snapshot
  
  Revision r2353:
  branches/5.1: Change the InnoDB autoinc type to ulint64. For this added a
  new typedef to univ.i (ib_ulonglong). Added checks for overflow and removed
  the assertion where it crashed previously, since the type has now changed
  to unsigned, it doesn't make sense to check for < 0. Added new tests, to
  check for overflow, for the different INT types supported for both
  signed and unsigned.
storage/innobase/include/row0sel.h:
  Apply innodb-5.1-ss2360 snapshot
  
  Revision r2353:
  branches/5.1: Change the InnoDB autoinc type to ulint64. For this added a
  new typedef to univ.i (ib_ulonglong). Added checks for overflow and removed
  the assertion where it crashed previously, since the type has now changed
  to unsigned, it doesn't make sense to check for < 0. Added new tests, to
  check for overflow, for the different INT types supported for both
  signed and unsigned.
storage/innobase/include/univ.i:
  Apply innodb-5.1-ss2360 snapshot
  
  Revision r2353:
  branches/5.1: Change the InnoDB autoinc type to ulint64. For this added a
  new typedef to univ.i (ib_ulonglong). Added checks for overflow and removed
  the assertion where it crashed previously, since the type has now changed
  to unsigned, it doesn't make sense to check for < 0. Added new tests, to
  check for overflow, for the different INT types supported for both
  signed and unsigned.
storage/innobase/row/row0sel.c:
  Apply innodb-5.1-ss2360 snapshot
  
  Revision r2353:
  branches/5.1: Change the InnoDB autoinc type to ulint64. For this added a
  new typedef to univ.i (ib_ulonglong). Added checks for overflow and removed
  the assertion where it crashed previously, since the type has now changed
  to unsigned, it doesn't make sense to check for < 0. Added new tests, to
  check for overflow, for the different INT types supported for both
  signed and unsigned.
2008-03-27 02:40:45 +01:00
unknown
fcd89fccfd Applied InnoDB snapshot innodb-5.1-ss2093
Fixes the following bug:

- Bug #32125: Database crash due to ha_innodb.cc:3896: ulint convert_search_mode_to_innobase

  When unknown find_flag is encountered in convert_search_mode_to_innobase()
  do not call assert(0); instead queue a MySQL error using my_error() and
  return the error code PAGE_CUR_UNSUPP. Change the functions that call
  convert_search_mode_to_innobase() to handle that error code by "canceling"
  execution and returning appropriate error code further upstream.


storage/innobase/dict/dict0dict.c:
  Applied InnoDB snapshot innodb-5.1-ss2093
  
  Revision r2092:
  Remove the unused function innobase_convert_from_filename() that was
  inadvertently added in r590.
storage/innobase/handler/ha_innodb.cc:
  Applied InnoDB snapshot innodb-5.1-ss2093
  
  Revision r2088:
  Fix Bug#32125 (http://bugs.mysql.com/32125)
  "Database crash due to ha_innodb.cc:3896: ulint convert_search_mode_to_innobase":
  
  When unknown find_flag is encountered in convert_search_mode_to_innobase()
  do not call assert(0); instead queue a MySQL error using my_error() and
  return the error code PAGE_CUR_UNSUPP. Change the functions that call
  convert_search_mode_to_innobase() to handle that error code by "canceling"
  execution and returning appropriate error code further upstream.
  
  Approved by:	Heikki (via IM)
  
  
  
  Revision r2093:
  convert_search_mode_to_innobase(): Add the missing case label
  HA_READ_MBR_EQUAL that was forgotten in r2088.
  
  
  Revision r2089:
  Non-functional change: convert the switch in convert_search_mode_to_innobase()
  to the InnoDB coding style.
  
  
  Revision r2092:
  Remove the unused function innobase_convert_from_filename() that was
  inadvertently added in r590.
storage/innobase/include/page0cur.h:
  Applied InnoDB snapshot innodb-5.1-ss2093
  
  Revision r2088:
  Fix Bug#32125 (http://bugs.mysql.com/32125)
  "Database crash due to ha_innodb.cc:3896: ulint convert_search_mode_to_innobase":
  
  When unknown find_flag is encountered in convert_search_mode_to_innobase()
  do not call assert(0); instead queue a MySQL error using my_error() and
  return the error code PAGE_CUR_UNSUPP. Change the functions that call
  convert_search_mode_to_innobase() to handle that error code by "canceling"
  execution and returning appropriate error code further upstream.
  
  Approved by:	Heikki (via IM)
2007-11-20 12:23:18 -07:00
unknown
e2513bf07f Apply snapshot innodb-5.1-ss1989
Fixes the following bugs:

Bug #30706: SQL thread on slave is allowed to block client queries when slave load is high
  Add (innodb|innobase|srv)_replication_delay MySQL config parameter.

Bug #30888: Innodb table + stored procedure + row deletion = server crash
  While adding code for the low level read of the AUTOINC value from the index,
  the case for MEDIUM ints which are 3 bytes was missed triggering an
  assertion.

Bug #30907: Regression: "--innodb_autoinc_lock_mode=0" (off) not same as older releases
  We don't rely on *first_value to be 0 when checking whether
  get_auto_increment() has been invoked for the first time in a multi-row
  INSERT. We instead use trx_t::n_autoinc_rows. Initialize trx::n_autoinc_rows
  inside ha_innobase::start_stmt() too.

Bug #31444: "InnoDB: Error: MySQL is freeing a thd" in innodb_mysql.test
  ha_innobase::external_lock(): Update prebuilt->mysql_has_locked and
  trx->n_mysql_tables_in_use only after row_lock_table_for_mysql() returns
  DB_SUCCESS.  A timeout on LOCK TABLES would lead to an inconsistent state,
  which would cause trx_free() to print a warning.

Bug #31494: innodb + 5.1 + read committed crash, assertion
  Set an error code when a deadlock occurs in semi-consistent read.


mysql-test/r/innodb.result:
  Apply snapshot innodb-5.1-ss1989
  
  Also, a test is moved into the new innodb_autoinc_lock_mode_zero
  test, because it depends on a non-default setting for a read-only
  variable.
  
  Revision r1821:
  Merge a change from MySQL AB:
  
  ChangeSet@1.2536.50.1  2007-08-02 12:45:56-07:00  igor@mysql.com
  
  Fixed bug#28404.
  This patch adds cost estimation for the queries with ORDER BY / GROUP BY
  and LIMIT.
  If there was a ref/range access to the table whose rows were required
  to be ordered in the result set the optimizer always employed this access
  though a scan by a different index that was compatible with the required
  order could be cheaper to produce the first L rows of the result set.
  Now for such queries the optimizer makes a choice between the cheapest
  ref/range accesses not compatible with the given order and index scans
  compatible with it.
  
  innodb.result: Adjusted results for test cases affected fy the fix for
  bug #28404.
  
  
  Revision r1781:
  Fix a test case that was broken after Bug#16979 fix. See r1645 and r1735.
  The variable used in the tests below was introduced in r1735.
  
  
  Revision r1792:
  innodb.result: Revert r1655, which should have been reverted as part of r1781.
  
  
  Revision r1843:
  Add test for Bug# 21409, the actual bug was fixed in r1334.
mysql-test/t/innodb.test:
  Apply snapshot innodb-5.1-ss1989
  
  Also, a test is moved into the new innodb_autoinc_lock_mode_zero
  test, because it depends on a non-default setting for a read-only
  variable.
  
  Revision r1781:
  Fix a test case that was broken after Bug#16979 fix. See r1645 and r1735.
  The variable used in the tests below was introduced in r1735.
  
  
  Revision r1843:
  Add test for Bug# 21409, the actual bug was fixed in r1334.
storage/innobase/buf/buf0lru.c:
  Apply snapshot innodb-5.1-ss1989
  
  Revision r1819:
  Merge r1815:1817 from branches/zip: Improve Valgrind instrumentation.
  
  UNIV_MEM_ASSERT_RW(): New macro, to check that the contents of a memory
  area is defined.
  
  UNIV_MEM_ASSERT_W(): New macro, to check that a memory area is writable.
  
  UNIV_MEM_ASSERT_AND_FREE(): New macro, to check that the memory is
  writable before declaring it free (unwritable).  This replaces UNIV_MEM_FREE()
  in many places.
  
  mem_init_buf(): Check that the memory is writable, and declare it undefined.
  
  mem_erase_buf(): Check that the memory is writable, and declare it freed.
storage/innobase/dict/dict0dict.c:
  Apply snapshot innodb-5.1-ss1989
  
  Revision r1894:
  Add debug lock checks to autoinc functions. Add lock guards around an
  invocation of dict_table_autoinc_initialize().
storage/innobase/dict/dict0load.c:
  Apply snapshot innodb-5.1-ss1989
  
  Revision r1974:
  Prevent loading of tables that have unsupported features most notably
  FTS indexes.
storage/innobase/handler/ha_innodb.cc:
  Apply snapshot innodb-5.1-ss1989
  
  Revision r1850:
  Implement this feature request:
  http://bugs.mysql.com/30706
  
  * Add a function that returns the number of microseconds since
    epoch - ut_time_us().
  
  * Add (innodb|innobase|srv)_replication_delay MySQL config parameter.
  
  * Add UT_WAIT_FOR() macro that waits for a specified condition to occur
    until a timeout elapses.
  
  * Using all of the above, handle the replication thread specially in
    srv_conc_enter_innodb().
  
  Approved by:	Heikki
  
  
  
  Revision r1887:
  Merge changes from MySQL AB:
  
  ChangeSet@1.2528.115.25  2007-08-27 18:18:14-06:00  tsmith@hindu.god
  
  Fix some Windows compiler warnings.
  
  dict0mem.c: Fix compiler warning with a cast.
  
  ha_innodb.cc: Change type to fix a compiler warning.
  
  
  Revision r1809:
  ha_innobase::external_lock(): Update prebuilt->mysql_has_locked and
  trx->n_mysql_tables_in_use only after row_lock_table_for_mysql()
  returns DB_SUCCESS.  A timeout on LOCK TABLES would lead to an
  inconsistent state, which would cause trx_free() to print a warning.
  
  This was later reported as Bug #31444.
  
  
  Revision r1833:
  Add /*== ... === */ decoration that was missing around some auto-inc functions.
  Add a missing comment, fix the length of a decoration.  Initialize the *value
  out parameter in ha_innobase::innobase_get_auto_increment().
  
  
  Revision r1866:
  Revert r1850 as MySQL did not approve the addition.
  
  log for r1850:
  
  Implement this feature request:
  http://bugs.mysql.com/30706
  
  * Add a function that returns the number of microseconds since
    epoch - ut_time_us().
  
  * Add (innodb|innobase|srv)_replication_delay MySQL config parameter.
  
  * Add UT_WAIT_FOR() macro that waits for a specified condition to occur
    until a timeout elapses.
  
  * Using all of the above, handle the replication thread specially in
    srv_conc_enter_innodb().
  
  
  Revision r1846:
  Add config option innodb_use_adaptive_hash_indexes to enable/disable
  adaptive hash indexes. It is enabled by default (no change in default
  behavior).
  
  Approved by:	Marko
  
  
  Revision r1974:
  Prevent loading of tables that have unsupported features most notably
  FTS indexes.
  
  
  Revision r1829:
  Add assertion to enforce check of an implicit invariant and add comment about
  retry of autoinc read semantics. We always reread the table's autoinc counter
  after attempting to initialize it i.e., we want to guarantee that a read of
  autoinc valus that is returned to the caller is always covered by the
  AUTOINC locking mechanism.
  
  
  Revision r1787:
  Move the prototype of innobase_print_identifier() from ut0ut.c to
  ha_prototypes.h.  Enclose the definitions in ha_prototypes.h in
  #ifndef UNIV_HOTBACKUP.
  
  
  Revision r1888:
  Merge a change from MySQL AB:
  
  ChangeSet@1.2528.115.30  2007-08-28 10:17:15-06:00  tsmith@hindu.god
  
  Fix another compiler warning on Windows in InnoDB.
  
  ha_innodb.cc:
  
  Fix compiler warning: ::get_auto_increment takes a ulonglong
  for nb_desired_values, but InnoDB's trx struct stores it as
  a ulint (unsigned long).  Probably harmless, as a single
  statement won't be asking for more than 2^32 rows.
  
  
  Revision r1987:
  Bug fix: The problem was that when write_row() attempted to update the max
  autoinc value, and if it was rolled back because of a deadlock, the 
  deadlock error (transaction rollback) was not being propagated back to MySQL.
  
  
  Revision r1889:
  Merge a change from MySQL AB:
  
  ChangeSet@1.2560  2007-09-21 10:15:16+02:00  gkodinov@local
  
  ha_innodb.cc: fixed type conversion warnings revealed by bug 30639 
  
  
  Revision r1989:
  Suppress printing of deadlock errors while reading the autoinc value.
  DB_DEADLOCK errors are part of normal processing and excessive printing
  of these error messages could be disconcerting for users. 
  
  
  Revision r1828:
  Fix two bugs:
  
  Bug# 30907: We don't rely on *first_value to be 0 when checking whether
  get_auto_increment() has been invoked for the first time in a multi-row
  INSERT. We instead use trx_t::n_autoinc_rows. Initialize trx::n_autoinc_rows
  inside ha_innobase::start_stmt() too.
  
  Bug# 30888: While adding code for the low level read of the AUTOINC value
  from the index, the case for MEDIUM ints which are 3 bytes was missed
  triggering an assertion.
storage/innobase/handler/ha_innodb.h:
  Apply snapshot innodb-5.1-ss1989
  
  Revision r1844:
  Remove the prototypes of some functions inside #if 0.
  The function definitions were removed in r1746.
storage/innobase/ibuf/ibuf0ibuf.c:
  Apply snapshot innodb-5.1-ss1989
  
  Revision r1965:
  ibuf_insert_to_index_page(): Fix typos in diagnostic output.
storage/innobase/include/db0err.h:
  Apply snapshot innodb-5.1-ss1989
  
  Revision r1974:
  Prevent loading of tables that have unsupported features most notably
  FTS indexes.
storage/innobase/include/ha_prototypes.h:
  Apply snapshot innodb-5.1-ss1989
  
  Revision r1787:
  Move the prototype of innobase_print_identifier() from ut0ut.c to
  ha_prototypes.h.  Enclose the definitions in ha_prototypes.h in
  #ifndef UNIV_HOTBACKUP.
storage/innobase/include/mach0data.h:
  Apply snapshot innodb-5.1-ss1989
  
  Revision r1779:
  Fix a bug that handles the case where the host specific byte order matches
  the InnoDB storage byte order, which is big-endian.
storage/innobase/include/mach0data.ic:
  Apply snapshot innodb-5.1-ss1989
  
  Revision r1779:
  Fix a bug that handles the case where the host specific byte order matches
  the InnoDB storage byte order, which is big-endian.
storage/innobase/include/mem0dbg.h:
  Apply snapshot innodb-5.1-ss1989
  
  Revision r1830:
  Improve memory debugging.  This is follow-up to r1819.
  
  mem_heap_validate(): Compile this function also if UNIV_MEM_DEBUG is
  defined.  Previously, this function was only compiled with UNIV_DEBUG.
  
  mem_heap_free_heap_top(): Flag the memory allocated, not freed, for
  Valgrind.  Otherwise, Valgrind would complain on the second call of
  mem_heap_empty().
  
  UNIV_MEM_ASSERT_RW(), UNIV_MEM_ASSERT_W(): Display additional diagnostics
  for failed Valgrind checks.
storage/innobase/include/mem0mem.ic:
  Apply snapshot innodb-5.1-ss1989
  
  Revision r1830:
  Improve memory debugging.  This is follow-up to r1819.
  
  mem_heap_validate(): Compile this function also if UNIV_MEM_DEBUG is
  defined.  Previously, this function was only compiled with UNIV_DEBUG.
  
  mem_heap_free_heap_top(): Flag the memory allocated, not freed, for
  Valgrind.  Otherwise, Valgrind would complain on the second call of
  mem_heap_empty().
  
  UNIV_MEM_ASSERT_RW(), UNIV_MEM_ASSERT_W(): Display additional diagnostics
  for failed Valgrind checks.
  
  
  Revision r1937:
  mem_heap_free_top(): Remove a bogus Valgrind warning.
  
  
  Revision r1819:
  Merge r1815:1817 from branches/zip: Improve Valgrind instrumentation.
  
  UNIV_MEM_ASSERT_RW(): New macro, to check that the contents of a memory
  area is defined.
  
  UNIV_MEM_ASSERT_W(): New macro, to check that a memory area is writable.
  
  UNIV_MEM_ASSERT_AND_FREE(): New macro, to check that the memory is
  writable before declaring it free (unwritable).  This replaces UNIV_MEM_FREE()
  in many places.
  
  mem_init_buf(): Check that the memory is writable, and declare it undefined.
  
  mem_erase_buf(): Check that the memory is writable, and declare it freed.
storage/innobase/include/rem0rec.ic:
  Apply snapshot innodb-5.1-ss1989
  
  Revision r1918:
  Improve Valgrind instrumentation.
  
  rec_offs_set_n_alloc(): Use UNIV_MEM_ASSERT_AND_ALLOC().
  
  UNIV_MEM_ASSERT_AND_ALLOC(): New directive, similar to
  UNIV_MEM_ASSERT_AND_FREE().
storage/innobase/include/row0mysql.h:
  Apply snapshot innodb-5.1-ss1989
  
  Revision r1783:
  Correct the function comments of row_create_table_for_mysql() and
  row_drop_table_for_mysql().
storage/innobase/include/sync0rw.h:
  Apply snapshot innodb-5.1-ss1989
  
  Revision r1757:
  Enclose rw_lock_validate() in #ifdef UNIV_DEBUG.  It is only called by
  debug assertions.
storage/innobase/include/univ.i:
  Apply snapshot innodb-5.1-ss1989
  
  Revision r1827:
  Merge r1826 from branches/zip: UNIV_MEM_ASSERT_AND_FREE():
  Use UNIV_MEM_ASSERT_W() instead of UNIV_MEM_ASSERT_RW().
  The memory area need not be initialized.
  This mistake was made in r1815.
  
  
  Revision r1918:
  Improve Valgrind instrumentation.
  
  rec_offs_set_n_alloc(): Use UNIV_MEM_ASSERT_AND_ALLOC().
  
  UNIV_MEM_ASSERT_AND_ALLOC(): New directive, similar to
  UNIV_MEM_ASSERT_AND_FREE().
  
  
  Revision r1830:
  Improve memory debugging.  This is follow-up to r1819.
  
  mem_heap_validate(): Compile this function also if UNIV_MEM_DEBUG is
  defined.  Previously, this function was only compiled with UNIV_DEBUG.
  
  mem_heap_free_heap_top(): Flag the memory allocated, not freed, for
  Valgrind.  Otherwise, Valgrind would complain on the second call of
  mem_heap_empty().
  
  UNIV_MEM_ASSERT_RW(), UNIV_MEM_ASSERT_W(): Display additional diagnostics
  for failed Valgrind checks.
  
  
  Revision r1819:
  Merge r1815:1817 from branches/zip: Improve Valgrind instrumentation.
  
  UNIV_MEM_ASSERT_RW(): New macro, to check that the contents of a memory
  area is defined.
  
  UNIV_MEM_ASSERT_W(): New macro, to check that a memory area is writable.
  
  UNIV_MEM_ASSERT_AND_FREE(): New macro, to check that the memory is
  writable before declaring it free (unwritable).  This replaces UNIV_MEM_FREE()
  in many places.
  
  mem_init_buf(): Check that the memory is writable, and declare it undefined.
  
  mem_erase_buf(): Check that the memory is writable, and declare it freed.
  
  
  Revision r1948:
  UNIV_MEM_ASSERT_RW(), UNIV_MEM_ASSERT_W(): Display also __FILE__ and __LINE__
  when these Valgrind checks fail.
storage/innobase/include/ut0ut.h:
  Apply snapshot innodb-5.1-ss1989
  
  Revision r1850:
  Implement this feature request:
  http://bugs.mysql.com/30706
  
  * Add a function that returns the number of microseconds since
    epoch - ut_time_us().
  
  * Add (innodb|innobase|srv)_replication_delay MySQL config parameter.
  
  * Add UT_WAIT_FOR() macro that waits for a specified condition to occur
    until a timeout elapses.
  
  * Using all of the above, handle the replication thread specially in
    srv_conc_enter_innodb().
  
  Approved by:	Heikki
  
  
  
  Revision r1862:
  Add ut_snprintf() function. On Windows this needs to be implemented
  using auxiliary functions because there is no snprintf-variant on
  Windows that behaves exactly as specified in the standard:
  
  * Always return the number of characters that would have been printed
    if the size were unlimited (not including the final `\0').
  * Always '\0'-terminate the result
  * Do not touch the buffer if size=0, only return the number of characters
    that would have been printed. Can be used to estimate the size needed
    and to allocate it dynamically.
  
  See http://www.freebsd.org/cgi/query-pr.cgi?pr=87260 for the reason why
  2 ap variables are used.
  
  Approved by:	Heikki
  
  
  Revision r1866:
  Revert r1850 as MySQL did not approve the addition.
  
  log for r1850:
  
  Implement this feature request:
  http://bugs.mysql.com/30706
  
  * Add a function that returns the number of microseconds since
    epoch - ut_time_us().
  
  * Add (innodb|innobase|srv)_replication_delay MySQL config parameter.
  
  * Add UT_WAIT_FOR() macro that waits for a specified condition to occur
    until a timeout elapses.
  
  * Using all of the above, handle the replication thread specially in
    srv_conc_enter_innodb().
storage/innobase/mem/mem0dbg.c:
  Apply snapshot innodb-5.1-ss1989
  
  Revision r1830:
  Improve memory debugging.  This is follow-up to r1819.
  
  mem_heap_validate(): Compile this function also if UNIV_MEM_DEBUG is
  defined.  Previously, this function was only compiled with UNIV_DEBUG.
  
  mem_heap_free_heap_top(): Flag the memory allocated, not freed, for
  Valgrind.  Otherwise, Valgrind would complain on the second call of
  mem_heap_empty().
  
  UNIV_MEM_ASSERT_RW(), UNIV_MEM_ASSERT_W(): Display additional diagnostics
  for failed Valgrind checks.
  
  
  Revision r1819:
  Merge r1815:1817 from branches/zip: Improve Valgrind instrumentation.
  
  UNIV_MEM_ASSERT_RW(): New macro, to check that the contents of a memory
  area is defined.
  
  UNIV_MEM_ASSERT_W(): New macro, to check that a memory area is writable.
  
  UNIV_MEM_ASSERT_AND_FREE(): New macro, to check that the memory is
  writable before declaring it free (unwritable).  This replaces UNIV_MEM_FREE()
  in many places.
  
  mem_init_buf(): Check that the memory is writable, and declare it undefined.
  
  mem_erase_buf(): Check that the memory is writable, and declare it freed.
storage/innobase/mem/mem0mem.c:
  Apply snapshot innodb-5.1-ss1989
  
  Revision r1819:
  Merge r1815:1817 from branches/zip: Improve Valgrind instrumentation.
  
  UNIV_MEM_ASSERT_RW(): New macro, to check that the contents of a memory
  area is defined.
  
  UNIV_MEM_ASSERT_W(): New macro, to check that a memory area is writable.
  
  UNIV_MEM_ASSERT_AND_FREE(): New macro, to check that the memory is
  writable before declaring it free (unwritable).  This replaces UNIV_MEM_FREE()
  in many places.
  
  mem_init_buf(): Check that the memory is writable, and declare it undefined.
  
  mem_erase_buf(): Check that the memory is writable, and declare it freed.
storage/innobase/row/row0mysql.c:
  Apply snapshot innodb-5.1-ss1989
  
  Revision r1786:
  row_create_table_for_mysql(), row_truncate_table_for_mysql(),
  row_drop_table_for_mysql(): Do not mention innodb_force_recovery
  when newraw is set.
  
  
  Revision r1790:
  row_drop_table_for_mysql(): Before calling
  dict_table_remove_from_cache(table) and thus freeing the memory
  allocated for the table, copy the table name.  This avoids reading
  freed memory when name == table->name.
  
  Approved by Sunny.
  
  
  Revision r1783:
  Correct the function comments of row_create_table_for_mysql() and
  row_drop_table_for_mysql().
  
  
  Revision r1894:
  Add debug lock checks to autoinc functions. Add lock guards around an
  invocation of dict_table_autoinc_initialize().
storage/innobase/row/row0sel.c:
  Apply snapshot innodb-5.1-ss1989
  
  Revision r1782:
  Add comment that the variable dest should be word aligned. After discussion
  on IM with Heikki.
  
  
  Revision r1988:
  Set an error code when a deadlock occurs in semi-consistent read.  (Bug #31494)
  
  innodb-semi-consistent: New tests for InnoDB semi-consistent reads.
  Unfortunately, these will not trigger Bug #31494, because there merely
  occur lock wait timeouts, not deadlocks.
  
  
  Revision r1820:
  Use the clustered index and not the one selected by the optimizer in the plan,
  when building a previous version of the row. This bug is triggered when
  running queries via InnoDB's internal SQL parser; when InnoDB's optimizer
  selects a secondary index for the plan.
  
  
  Revision r1828:
  Fix two bugs:
  
  Bug# 30907: We don't rely on *first_value to be 0 when checking whether
  get_auto_increment() has been invoked for the first time in a multi-row
  INSERT. We instead use trx_t::n_autoinc_rows. Initialize trx::n_autoinc_rows
  inside ha_innobase::start_stmt() too.
  
  Bug# 30888: While adding code for the low level read of the AUTOINC value
  from the index, the case for MEDIUM ints which are 3 bytes was missed
  triggering an assertion.
  
  
  Revision r1779:
  Fix a bug that handles the case where the host specific byte order matches
  the InnoDB storage byte order, which is big-endian.
storage/innobase/sync/sync0rw.c:
  Apply snapshot innodb-5.1-ss1989
  
  Revision r1757:
  Enclose rw_lock_validate() in #ifdef UNIV_DEBUG.  It is only called by
  debug assertions.
storage/innobase/ut/ut0ut.c:
  Apply snapshot innodb-5.1-ss1989
  
  Revision r1850:
  Implement this feature request:
  http://bugs.mysql.com/30706
  
  * Add a function that returns the number of microseconds since
    epoch - ut_time_us().
  
  * Add (innodb|innobase|srv)_replication_delay MySQL config parameter.
  
  * Add UT_WAIT_FOR() macro that waits for a specified condition to occur
    until a timeout elapses.
  
  * Using all of the above, handle the replication thread specially in
    srv_conc_enter_innodb().
  
  Approved by:	Heikki
  
  
  
  Revision r1873:
  snprintf() should always return non-negative result. According to
  Microsoft documentation about _vscprintf():
  
    If format is a null pointer, the invalid parameter handler is invoked,
    as described in Parameter Validation. If execution is allowed to
    continue, the functions return -1 and set errno to EINVAL.
  
  The UNIX variant of snprintf() segfaults if format is a NULL pointer
  (similar to strlen(NULL) for example), so it is better to conform to
  this behavior and crash our custom Windows version instead of
  returning -1. Noone would expect -1 to be returned from snprintf().
  
  Cosmetic: Add a space after typecast.
  
  Approved by:	Marko
  
  
  Revision r1862:
  Add ut_snprintf() function. On Windows this needs to be implemented
  using auxiliary functions because there is no snprintf-variant on
  Windows that behaves exactly as specified in the standard:
  
  * Always return the number of characters that would have been printed
    if the size were unlimited (not including the final `\0').
  * Always '\0'-terminate the result
  * Do not touch the buffer if size=0, only return the number of characters
    that would have been printed. Can be used to estimate the size needed
    and to allocate it dynamically.
  
  See http://www.freebsd.org/cgi/query-pr.cgi?pr=87260 for the reason why
  2 ap variables are used.
  
  Approved by:	Heikki
  
  
  Revision r1866:
  Revert r1850 as MySQL did not approve the addition.
  
  log for r1850:
  
  Implement this feature request:
  http://bugs.mysql.com/30706
  
  * Add a function that returns the number of microseconds since
    epoch - ut_time_us().
  
  * Add (innodb|innobase|srv)_replication_delay MySQL config parameter.
  
  * Add UT_WAIT_FOR() macro that waits for a specified condition to occur
    until a timeout elapses.
  
  * Using all of the above, handle the replication thread specially in
    srv_conc_enter_innodb().
  
  
  Revision r1787:
  Move the prototype of innobase_print_identifier() from ut0ut.c to
  ha_prototypes.h.  Enclose the definitions in ha_prototypes.h in
  #ifndef UNIV_HOTBACKUP.
  
  
  Revision r1789:
  ut_print_namel(): Do not assume that all '/' are separators between
  database and table names.
  
  Approved by Heikki.
  
  
  Revision r1936:
  ut_print_buf(): Add a Valgrind check that the buffer is wholly defined.
mysql-test/r/innodb-semi-consistent.result:
  Apply snapshot innodb-5.1-ss1989
  
  
  Revision r1988:
  Set an error code when a deadlock occurs in semi-consistent read.  (Bug #31494)
  
  innodb-semi-consistent: New tests for InnoDB semi-consistent reads.
  Unfortunately, these will not trigger Bug #31494, because there merely
  occur lock wait timeouts, not deadlocks.
mysql-test/r/innodb_autoinc_lock_mode_zero.result:
  New test, using read-only setting --innodb-autoinc-lock-mode=0
mysql-test/t/innodb-semi-consistent-master.opt:
  Apply snapshot innodb-5.1-ss1989
  
  
  Revision r1988:
  Set an error code when a deadlock occurs in semi-consistent read.  (Bug #31494)
  
  innodb-semi-consistent: New tests for InnoDB semi-consistent reads.
  Unfortunately, these will not trigger Bug #31494, because there merely
  occur lock wait timeouts, not deadlocks.
mysql-test/t/innodb-semi-consistent.test:
  Apply snapshot innodb-5.1-ss1989
  
  
  Revision r1988:
  Set an error code when a deadlock occurs in semi-consistent read.  (Bug #31494)
  
  innodb-semi-consistent: New tests for InnoDB semi-consistent reads.
  Unfortunately, these will not trigger Bug #31494, because there merely
  occur lock wait timeouts, not deadlocks.
mysql-test/t/innodb_autoinc_lock_mode_zero-master.opt:
  New test, using read-only setting --innodb-autoinc-lock-mode=0
mysql-test/t/innodb_autoinc_lock_mode_zero.test:
  New test, using read-only setting --innodb-autoinc-lock-mode=0
2007-11-06 15:42:58 -07:00
unknown
7ecf5c6322 Fix some Windows compiler warnings.
storage/innobase/dict/dict0mem.c:
  Fix compiler warning with a cast.
storage/innobase/handler/ha_innodb.cc:
  Change type to fix a compiler warning.
2007-08-27 18:18:14 -06:00
unknown
a859c59454 Apply InnoDB snapshot innodb-5.1-ss1751.
Bug #16979: AUTO_INC lock in InnoDB works a table level lock
  Add a table level counter that tracks the number of AUTOINC locks that are
  pending and/or granted on a table. We peek at this value to determine whether
  a transaction doing a simple INSERT in innodb_autoinc_lock_mode = 1, needs to
  acquire the AUTOINC lock or not. This change is related to Bug# 16979.
Bug #27950: Duplicate entry error in auto-inc after mysqld restart
  We check whether the AUTOINC sub-system has been initialized (first) by
  holding the AUTOINC mutex and if initialization is required then we
  initialize using our normal procedure.


storage/innobase/dict/dict0boot.c:
  Apply InnoDB snapshot innodb-5.1-ss1751.
storage/innobase/dict/dict0crea.c:
  Apply InnoDB snapshot innodb-5.1-ss1751.
storage/innobase/dict/dict0load.c:
  Apply InnoDB snapshot innodb-5.1-ss1751.
storage/innobase/dict/dict0mem.c:
  Apply InnoDB snapshot innodb-5.1-ss1751.
  
  Revision r1749:
  Add a table level counter that tracks the number of AUTOINC locks that are
  pending and/or granted on a table. We peek at this value to determine whether
  a transaction doing a simple INSERT in innodb_autoinc_lock_mode = 1, needs to
  acquire the AUTOINC lock or not. This change is related to Bug# 16979.
storage/innobase/handler/ha_innodb.cc:
  Apply InnoDB snapshot innodb-5.1-ss1751.
  
  Revision r1735:
  Add variable "innodb_autoinc_lock_mode"  to control the behavior of the
  AUTOINC locking. There are three modes, 0 for backward compatibility, 1 for the
  new style locking (default, safe for statement-based replication) and
  2 for no AUTOINC locking (unsafe for statement-based replication).
  
  
  Revision r1750:
  We check whether the AUTOINC sub-system has been initialized (first) by
  holding the AUTOINC mutex and if initialization is required then we
  initialize using our normal procedure. This change is related to Bug#27950.
  
  
  Revision r1746:
  Remove some code from ha_innodb.cc that was already enclosed in #if 0.
  The code was related to replication and group commit, and it was
  unreachable already as of MySQL 5.0.
  
  Approved by Heikki
  
  
  Revision r1749:
  Add a table level counter that tracks the number of AUTOINC locks that are
  pending and/or granted on a table. We peek at this value to determine whether
  a transaction doing a simple INSERT in innodb_autoinc_lock_mode = 1, needs to
  acquire the AUTOINC lock or not. This change is related to Bug# 16979.
storage/innobase/include/dict0mem.h:
  Apply InnoDB snapshot innodb-5.1-ss1751.
  
  Revision r1749:
  Add a table level counter that tracks the number of AUTOINC locks that are
  pending and/or granted on a table. We peek at this value to determine whether
  a transaction doing a simple INSERT in innodb_autoinc_lock_mode = 1, needs to
  acquire the AUTOINC lock or not. This change is related to Bug# 16979.
  
  
  
  Revision r1747:
  Correct an outdated comment about dict_table_t:col_names that should have
  been adjusted in r1719, or r1264 in branches/zip.
storage/innobase/include/mem0mem.ic:
  Apply InnoDB snapshot innodb-5.1-ss1751.
  
  Revision r1744:
  Merge r1739 from branches/zip:
  
  mem_heap_free_heap_top(): Declare the memory freed with UNIV_MEM_FREE().
  Before this change, the memory freed by mem_heap_empty() was not completely
  flagged free in UNIV_DEBUG_VALGRIND builds.  After this change, Valgrind
  will hopefully catch all errors caught by UNIV_MEM_DEBUG.
storage/innobase/include/sync0rw.ic:
  Apply InnoDB snapshot innodb-5.1-ss1751.
  
  Revision r1751:
  rw_lock_s_lock_func(): Correct a typo in a comment.
storage/innobase/include/trx0trx.h:
  Apply InnoDB snapshot innodb-5.1-ss1751.
  
  Revision r1742:
  Remove some unused fields of trx_t: mysql_master_log_file_name,
  mysql_master_log_pos, repl_wait_binlog_name, repl_wait_binlog_pos.
  
  Approved by Heikki.
storage/innobase/lock/lock0lock.c:
  Apply InnoDB snapshot innodb-5.1-ss1751.
  
  Revision r1749:
  Add a table level counter that tracks the number of AUTOINC locks that are
  pending and/or granted on a table. We peek at this value to determine whether
  a transaction doing a simple INSERT in innodb_autoinc_lock_mode = 1, needs to
  acquire the AUTOINC lock or not. This change is related to Bug# 16979.
storage/innobase/mtr/mtr0log.c:
  Apply InnoDB snapshot innodb-5.1-ss1751.
storage/innobase/pars/pars0pars.c:
  Apply InnoDB snapshot innodb-5.1-ss1751.
storage/innobase/srv/srv0srv.c:
  Apply InnoDB snapshot innodb-5.1-ss1751.
storage/innobase/trx/trx0sys.c:
  Apply InnoDB snapshot innodb-5.1-ss1751.
  
  Revision r1743:
  trx_sys_print_mysql_binlog_offset_from_page(): Enclose the definition
  in #ifdef UNIV_HOTBACKUP, to match the function declaration.
storage/innobase/trx/trx0trx.c:
  Apply InnoDB snapshot innodb-5.1-ss1751.
  
  Revision r1742:
  Remove some unused fields of trx_t: mysql_master_log_file_name,
  mysql_master_log_pos, repl_wait_binlog_name, repl_wait_binlog_pos.
  
  Approved by Heikki.
2007-08-25 03:55:38 -06:00
unknown
6d4b3c5800 Apply InnoDB snapshot innodb-5.1-ss1726.
Bug #16979: AUTO_INC lock in InnoDB works a table level lock
  - this is a major change in InnoDB auto-inc handling.
Bug #27950: Duplicate entry error in auto-inc after mysqld restart
  - Init AUTOINC from delete_row().
Bug #28781: InnoDB increments auto-increment value incorrectly with ON DUPLICATE KEY UPDATE
  - Use value specified by MySQL, in update_row().


mysql-test/r/innodb.result:
  Apply InnoDB snapshot innodb-5.1-ss1726.
  
  Revision r1655:
  Fix the innodb.test failure mentioned in r1654.
storage/innobase/dict/dict0dict.c:
  Apply InnoDB snapshot innodb-5.1-ss1726.
  
  Revision r1645:
  Fix for bug# 16979, this is a major change in InnoDB auto-inc handling. There
  is one test that fails as of this commit. The updated test case should be
  part of the snapshot from MySQL shortly.
  
  Fix for bug# 27950 - Init AUTOINC from delete_row().
  
  Fix for bug# 28781 - Use value specified by MySQL, in update_row().
  
  Summary of structural changes:
  ==============================
  InnoDB needs to hold a table level lock for AUTOINC allocations to overcome
  the non-determinism inherent in MySQL SBR for INSERT ... SELECT. In this fix 
  for simple INSERT statements (including multi-value inserts), we try and avoid
  acquiring the special AUTOINC table level lock unless another transaction has
  already reserved the AUTOINC table level lock, in which case we fall back
  to the old behavior of acquiring the AUTOINC table level lock.
  
  The max AUTOINC value is now read directly using the low level interface
  of InnoDB.
  
  
  Revision r1719:
  Merge r1264 from branches/zip: Avoid memory fragmentation when
  adding column definitions to tables.
  
  dict_mem_table_add_col(): Add the parameter "heap" for temporary memory
  allocation.  Allow it and "name" to be NULL.  These parameters are NULL
  when creating dummy indexes.
  
  dict_add_col_name(): Remove calls to ut_malloc() and ut_free().
  
  dict_table_get_col_name(): Allow table->col_names to be NULL.
  
  dict_table_add_system_columns(), dict_table_add_to_cache():
  Add the parameter "heap".
  ---
  Additional changes that had to be merged from branches/zip:
  
  dict_table_add_system_columns(): New function, factored out from
  dict_table_add_to_cache().
  
  mlog_parse_index(): Add some consistency checks, and make use of
  dict_table_add_system_columns().
storage/innobase/dict/dict0mem.c:
  Apply InnoDB snapshot innodb-5.1-ss1726.
  
  Revision r1645:
  Fix for bug# 16979, this is a major change in InnoDB auto-inc handling. There
  is one test that fails as of this commit. The updated test case should be
  part of the snapshot from MySQL shortly.
  
  Fix for bug# 27950 - Init AUTOINC from delete_row().
  
  Fix for bug# 28781 - Use value specified by MySQL, in update_row().
  
  Summary of structural changes:
  ==============================
  InnoDB needs to hold a table level lock for AUTOINC allocations to overcome
  the non-determinism inherent in MySQL SBR for INSERT ... SELECT. In this fix 
  for simple INSERT statements (including multi-value inserts), we try and avoid
  acquiring the special AUTOINC table level lock unless another transaction has
  already reserved the AUTOINC table level lock, in which case we fall back
  to the old behavior of acquiring the AUTOINC table level lock.
  
  The max AUTOINC value is now read directly using the low level interface
  of InnoDB.
  
  
  Revision r1719:
  Merge r1264 from branches/zip: Avoid memory fragmentation when
  adding column definitions to tables.
  
  dict_mem_table_add_col(): Add the parameter "heap" for temporary memory
  allocation.  Allow it and "name" to be NULL.  These parameters are NULL
  when creating dummy indexes.
  
  dict_add_col_name(): Remove calls to ut_malloc() and ut_free().
  
  dict_table_get_col_name(): Allow table->col_names to be NULL.
  
  dict_table_add_system_columns(), dict_table_add_to_cache():
  Add the parameter "heap".
  ---
  Additional changes that had to be merged from branches/zip:
  
  dict_table_add_system_columns(): New function, factored out from
  dict_table_add_to_cache().
  
  mlog_parse_index(): Add some consistency checks, and make use of
  dict_table_add_system_columns().
storage/innobase/handler/ha_innodb.cc:
  Apply InnoDB snapshot innodb-5.1-ss1726.
  
  Revision r1645:
  Fix for bug# 16979, this is a major change in InnoDB auto-inc handling. There
  is one test that fails as of this commit. The updated test case should be
  part of the snapshot from MySQL shortly.
  
  Fix for bug# 27950 - Init AUTOINC from delete_row().
  
  Fix for bug# 28781 - Use value specified by MySQL, in update_row().
  
  Summary of structural changes:
  ==============================
  InnoDB needs to hold a table level lock for AUTOINC allocations to overcome
  the non-determinism inherent in MySQL SBR for INSERT ... SELECT. In this fix 
  for simple INSERT statements (including multi-value inserts), we try and avoid
  acquiring the special AUTOINC table level lock unless another transaction has
  already reserved the AUTOINC table level lock, in which case we fall back
  to the old behavior of acquiring the AUTOINC table level lock.
  
  The max AUTOINC value is now read directly using the low level interface
  of InnoDB.
  
  
  Revision r1718:
  Replace mysql_byte with uchar and remove the #define mysql_byte from
  ha_innodb.cc.  This cleanup was made possible as of r1550:
  
  
  Revision r1658:
  check_trx_exists(): Remove a redundant function call and assignment that
  was added by someone at MySQL.
  
  
  Revision r1656:
  
  
  Revision r1719:
  Merge r1264 from branches/zip: Avoid memory fragmentation when
  adding column definitions to tables.
  
  dict_mem_table_add_col(): Add the parameter "heap" for temporary memory
  allocation.  Allow it and "name" to be NULL.  These parameters are NULL
  when creating dummy indexes.
  
  dict_add_col_name(): Remove calls to ut_malloc() and ut_free().
  
  dict_table_get_col_name(): Allow table->col_names to be NULL.
  
  dict_table_add_system_columns(), dict_table_add_to_cache():
  Add the parameter "heap".
  ---
  Additional changes that had to be merged from branches/zip:
  
  dict_table_add_system_columns(): New function, factored out from
  dict_table_add_to_cache().
  
  mlog_parse_index(): Add some consistency checks, and make use of
  dict_table_add_system_columns().
  
  
  Revision r1654:
  
  One test case in innodb.test fails because of auto-increment
  changes in r1562:1653:
  
  $diff innodb.result innodb.reject
  504c504
  < 3	test2		this will work
  ---
  > 4	test2		this will work
storage/innobase/handler/ha_innodb.h:
  Apply InnoDB snapshot innodb-5.1-ss1726.
  
  Revision r1645:
  Fix for bug# 16979, this is a major change in InnoDB auto-inc handling. There
  is one test that fails as of this commit. The updated test case should be
  part of the snapshot from MySQL shortly.
  
  Fix for bug# 27950 - Init AUTOINC from delete_row().
  
  Fix for bug# 28781 - Use value specified by MySQL, in update_row().
  
  Summary of structural changes:
  ==============================
  InnoDB needs to hold a table level lock for AUTOINC allocations to overcome
  the non-determinism inherent in MySQL SBR for INSERT ... SELECT. In this fix 
  for simple INSERT statements (including multi-value inserts), we try and avoid
  acquiring the special AUTOINC table level lock unless another transaction has
  already reserved the AUTOINC table level lock, in which case we fall back
  to the old behavior of acquiring the AUTOINC table level lock.
  
  The max AUTOINC value is now read directly using the low level interface
  of InnoDB.
  
  
  Revision r1654:
  
  One test case in innodb.test fails because of auto-increment
  changes in r1562:1653:
  
  $diff innodb.result innodb.reject
  504c504
  < 3	test2		this will work
  ---
  > 4	test2		this will work
storage/innobase/ibuf/ibuf0ibuf.c:
  Apply InnoDB snapshot innodb-5.1-ss1726.
  
  Revision r1715:
  ibuf0ibuf.c: Remove the unused prototype for dict_index_print_low()
  that was inadvertently added in r832.
  
  
  Revision r1719:
  Merge r1264 from branches/zip: Avoid memory fragmentation when
  adding column definitions to tables.
  
  dict_mem_table_add_col(): Add the parameter "heap" for temporary memory
  allocation.  Allow it and "name" to be NULL.  These parameters are NULL
  when creating dummy indexes.
  
  dict_add_col_name(): Remove calls to ut_malloc() and ut_free().
  
  dict_table_get_col_name(): Allow table->col_names to be NULL.
  
  dict_table_add_system_columns(), dict_table_add_to_cache():
  Add the parameter "heap".
  ---
  Additional changes that had to be merged from branches/zip:
  
  dict_table_add_system_columns(): New function, factored out from
  dict_table_add_to_cache().
  
  mlog_parse_index(): Add some consistency checks, and make use of
  dict_table_add_system_columns().
storage/innobase/include/dict0dict.h:
  Apply InnoDB snapshot innodb-5.1-ss1726.
  
  Revision r1645:
  Fix for bug# 16979, this is a major change in InnoDB auto-inc handling. There
  is one test that fails as of this commit. The updated test case should be
  part of the snapshot from MySQL shortly.
  
  Fix for bug# 27950 - Init AUTOINC from delete_row().
  
  Fix for bug# 28781 - Use value specified by MySQL, in update_row().
  
  Summary of structural changes:
  ==============================
  InnoDB needs to hold a table level lock for AUTOINC allocations to overcome
  the non-determinism inherent in MySQL SBR for INSERT ... SELECT. In this fix 
  for simple INSERT statements (including multi-value inserts), we try and avoid
  acquiring the special AUTOINC table level lock unless another transaction has
  already reserved the AUTOINC table level lock, in which case we fall back
  to the old behavior of acquiring the AUTOINC table level lock.
  
  The max AUTOINC value is now read directly using the low level interface
  of InnoDB.
  
  
  Revision r1719:
  Merge r1264 from branches/zip: Avoid memory fragmentation when
  adding column definitions to tables.
  
  dict_mem_table_add_col(): Add the parameter "heap" for temporary memory
  allocation.  Allow it and "name" to be NULL.  These parameters are NULL
  when creating dummy indexes.
  
  dict_add_col_name(): Remove calls to ut_malloc() and ut_free().
  
  dict_table_get_col_name(): Allow table->col_names to be NULL.
  
  dict_table_add_system_columns(), dict_table_add_to_cache():
  Add the parameter "heap".
  ---
  Additional changes that had to be merged from branches/zip:
  
  dict_table_add_system_columns(): New function, factored out from
  dict_table_add_to_cache().
  
  mlog_parse_index(): Add some consistency checks, and make use of
  dict_table_add_system_columns().
storage/innobase/include/dict0mem.h:
  Apply InnoDB snapshot innodb-5.1-ss1726.
  
  Revision r1645:
  Fix for bug# 16979, this is a major change in InnoDB auto-inc handling. There
  is one test that fails as of this commit. The updated test case should be
  part of the snapshot from MySQL shortly.
  
  Fix for bug# 27950 - Init AUTOINC from delete_row().
  
  Fix for bug# 28781 - Use value specified by MySQL, in update_row().
  
  Summary of structural changes:
  ==============================
  InnoDB needs to hold a table level lock for AUTOINC allocations to overcome
  the non-determinism inherent in MySQL SBR for INSERT ... SELECT. In this fix 
  for simple INSERT statements (including multi-value inserts), we try and avoid
  acquiring the special AUTOINC table level lock unless another transaction has
  already reserved the AUTOINC table level lock, in which case we fall back
  to the old behavior of acquiring the AUTOINC table level lock.
  
  The max AUTOINC value is now read directly using the low level interface
  of InnoDB.
  
  
  Revision r1719:
  Merge r1264 from branches/zip: Avoid memory fragmentation when
  adding column definitions to tables.
  
  dict_mem_table_add_col(): Add the parameter "heap" for temporary memory
  allocation.  Allow it and "name" to be NULL.  These parameters are NULL
  when creating dummy indexes.
  
  dict_add_col_name(): Remove calls to ut_malloc() and ut_free().
  
  dict_table_get_col_name(): Allow table->col_names to be NULL.
  
  dict_table_add_system_columns(), dict_table_add_to_cache():
  Add the parameter "heap".
  ---
  Additional changes that had to be merged from branches/zip:
  
  dict_table_add_system_columns(): New function, factored out from
  dict_table_add_to_cache().
  
  mlog_parse_index(): Add some consistency checks, and make use of
  dict_table_add_system_columns().
storage/innobase/include/lock0lock.h:
  Apply InnoDB snapshot innodb-5.1-ss1726.
  
  Revision r1664:
  lock_number_of_rows_locked(): Fix a typo in comment, and make the comments
  in lock0lock.c and lock0lock.h identical.  The typo was incorrectly fixed in
  r1623.
storage/innobase/include/row0mysql.h:
  Apply InnoDB snapshot innodb-5.1-ss1726.
  
  Revision r1645:
  Fix for bug# 16979, this is a major change in InnoDB auto-inc handling. There
  is one test that fails as of this commit. The updated test case should be
  part of the snapshot from MySQL shortly.
  
  Fix for bug# 27950 - Init AUTOINC from delete_row().
  
  Fix for bug# 28781 - Use value specified by MySQL, in update_row().
  
  Summary of structural changes:
  ==============================
  InnoDB needs to hold a table level lock for AUTOINC allocations to overcome
  the non-determinism inherent in MySQL SBR for INSERT ... SELECT. In this fix 
  for simple INSERT statements (including multi-value inserts), we try and avoid
  acquiring the special AUTOINC table level lock unless another transaction has
  already reserved the AUTOINC table level lock, in which case we fall back
  to the old behavior of acquiring the AUTOINC table level lock.
  
  The max AUTOINC value is now read directly using the low level interface
  of InnoDB.
storage/innobase/include/row0sel.h:
  Apply InnoDB snapshot innodb-5.1-ss1726.
  
  Revision r1645:
  Fix for bug# 16979, this is a major change in InnoDB auto-inc handling. There
  is one test that fails as of this commit. The updated test case should be
  part of the snapshot from MySQL shortly.
  
  Fix for bug# 27950 - Init AUTOINC from delete_row().
  
  Fix for bug# 28781 - Use value specified by MySQL, in update_row().
  
  Summary of structural changes:
  ==============================
  InnoDB needs to hold a table level lock for AUTOINC allocations to overcome
  the non-determinism inherent in MySQL SBR for INSERT ... SELECT. In this fix 
  for simple INSERT statements (including multi-value inserts), we try and avoid
  acquiring the special AUTOINC table level lock unless another transaction has
  already reserved the AUTOINC table level lock, in which case we fall back
  to the old behavior of acquiring the AUTOINC table level lock.
  
  The max AUTOINC value is now read directly using the low level interface
  of InnoDB.
storage/innobase/include/trx0trx.h:
  Apply InnoDB snapshot innodb-5.1-ss1726.
  
  Revision r1645:
  Fix for bug# 16979, this is a major change in InnoDB auto-inc handling. There
  is one test that fails as of this commit. The updated test case should be
  part of the snapshot from MySQL shortly.
  
  Fix for bug# 27950 - Init AUTOINC from delete_row().
  
  Fix for bug# 28781 - Use value specified by MySQL, in update_row().
  
  Summary of structural changes:
  ==============================
  InnoDB needs to hold a table level lock for AUTOINC allocations to overcome
  the non-determinism inherent in MySQL SBR for INSERT ... SELECT. In this fix 
  for simple INSERT statements (including multi-value inserts), we try and avoid
  acquiring the special AUTOINC table level lock unless another transaction has
  already reserved the AUTOINC table level lock, in which case we fall back
  to the old behavior of acquiring the AUTOINC table level lock.
  
  The max AUTOINC value is now read directly using the low level interface
  of InnoDB.
storage/innobase/include/ut0mem.h:
  Apply InnoDB snapshot innodb-5.1-ss1726.
  
  Revision r1713:
  Fix typo in comment.
storage/innobase/log/log0recv.c:
  Apply InnoDB snapshot innodb-5.1-ss1726.
  
  Revision r1657:
  recv_init_crash_recovery(): remove trailing white space
storage/innobase/row/row0mysql.c:
  Apply InnoDB snapshot innodb-5.1-ss1726.
  
  Revision r1645:
  Fix for bug# 16979, this is a major change in InnoDB auto-inc handling. There
  is one test that fails as of this commit. The updated test case should be
  part of the snapshot from MySQL shortly.
  
  Fix for bug# 27950 - Init AUTOINC from delete_row().
  
  Fix for bug# 28781 - Use value specified by MySQL, in update_row().
  
  Summary of structural changes:
  ==============================
  InnoDB needs to hold a table level lock for AUTOINC allocations to overcome
  the non-determinism inherent in MySQL SBR for INSERT ... SELECT. In this fix 
  for simple INSERT statements (including multi-value inserts), we try and avoid
  acquiring the special AUTOINC table level lock unless another transaction has
  already reserved the AUTOINC table level lock, in which case we fall back
  to the old behavior of acquiring the AUTOINC table level lock.
  
  The max AUTOINC value is now read directly using the low level interface
  of InnoDB.
storage/innobase/row/row0sel.c:
  Apply InnoDB snapshot innodb-5.1-ss1726.
  
  Revision r1645:
  Fix for bug# 16979, this is a major change in InnoDB auto-inc handling. There
  is one test that fails as of this commit. The updated test case should be
  part of the snapshot from MySQL shortly.
  
  Fix for bug# 27950 - Init AUTOINC from delete_row().
  
  Fix for bug# 28781 - Use value specified by MySQL, in update_row().
  
  Summary of structural changes:
  ==============================
  InnoDB needs to hold a table level lock for AUTOINC allocations to overcome
  the non-determinism inherent in MySQL SBR for INSERT ... SELECT. In this fix 
  for simple INSERT statements (including multi-value inserts), we try and avoid
  acquiring the special AUTOINC table level lock unless another transaction has
  already reserved the AUTOINC table level lock, in which case we fall back
  to the old behavior of acquiring the AUTOINC table level lock.
  
  The max AUTOINC value is now read directly using the low level interface
  of InnoDB.
storage/innobase/trx/trx0trx.c:
  Apply InnoDB snapshot innodb-5.1-ss1726.
  
  Revision r1645:
  Fix for bug# 16979, this is a major change in InnoDB auto-inc handling. There
  is one test that fails as of this commit. The updated test case should be
  part of the snapshot from MySQL shortly.
  
  Fix for bug# 27950 - Init AUTOINC from delete_row().
  
  Fix for bug# 28781 - Use value specified by MySQL, in update_row().
  
  Summary of structural changes:
  ==============================
  InnoDB needs to hold a table level lock for AUTOINC allocations to overcome
  the non-determinism inherent in MySQL SBR for INSERT ... SELECT. In this fix 
  for simple INSERT statements (including multi-value inserts), we try and avoid
  acquiring the special AUTOINC table level lock unless another transaction has
  already reserved the AUTOINC table level lock, in which case we fall back
  to the old behavior of acquiring the AUTOINC table level lock.
  
  The max AUTOINC value is now read directly using the low level interface
  of InnoDB.
2007-08-24 19:14:52 -06:00
unknown
32b5fb7323 Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569.
After applying the snapshots, ensure that code conforms to the final version
of WL 3914.

It is signficant that, after these changes, InnoDB does not define MYSQL_SERVER,
and can be built as an independent storage engine plugin.

Fixes:
Bug#9709:  InnoDB inconsistensy causes "Operating System Error 32/33"
Bug#18828: If InnoDB runs out of undo slots, it returns misleading 'table is full'
Bug#20090: InnoDB: Error: trying to declare trx to enter InnoDB
Bug#20352: Make ibuf_contract_for_n_pages tunable
Bug#21101: Wrong error on exceeding max row size for InnoDB table
Bug#21293: Deadlock detection prefers to kill long running FOR UPDATE queries
Bug#22819: SHOW INNODB STATUS crashes the server with an assertion failure under high load
Bug#25078: Make the replication thread to ignore innodb_thread_concurrency
Bug#25645: Assertion failure in file srv0srv.c
Bug#28138: indexing column prefixes produces corruption in InnoDB


BitKeeper/deleted/.del-Makefile.am~55504c43d99979e4:
  Delete: storage/innobase/buf/Makefile.am
BitKeeper/deleted/.del-Makefile.am~79bb55303929b560:
  Delete: storage/innobase/dict/Makefile.am
BitKeeper/deleted/.del-Makefile.am~7cd88e5f9a8d7ce8:
  Delete: storage/innobase/data/Makefile.am
BitKeeper/deleted/.del-Makefile.am~e19a1fb29b1fe527:
  Delete: storage/innobase/btr/Makefile.am
BitKeeper/deleted/.del-Makefile.am~4ae65b009d41d1d:
  Delete: storage/innobase/eval/Makefile.am
BitKeeper/deleted/.del-Makefile.am~679131a02af3f6fb:
  Delete: storage/innobase/fsp/Makefile.am
BitKeeper/deleted/.del-Makefile.am~6acac9ae30eabdb3:
  Delete: storage/innobase/dyn/Makefile.am
BitKeeper/deleted/.del-Makefile.am~a5e6b4385717fcb7:
  Delete: storage/innobase/fil/Makefile.am
BitKeeper/deleted/.del-Makefile.am~11d601934b49c19:
  Delete: storage/innobase/fut/Makefile.am
BitKeeper/deleted/.del-Makefile.am~5aab37bf3b6c430:
  Delete: storage/innobase/ibuf/Makefile.am
BitKeeper/deleted/.del-Makefile.am~af2d719bb6e66986:
  Delete: storage/innobase/handler/Makefile.am
BitKeeper/deleted/.del-Makefile.am~f0dbbc7a78648e18:
  Delete: storage/innobase/ha/Makefile.am
BitKeeper/deleted/.del-Makefile.am~41684e54a5b0d26a:
  Delete: storage/innobase/log/Makefile.am
BitKeeper/deleted/.del-Makefile.am~edd95d7290ddeff3:
  Delete: storage/innobase/lock/Makefile.am
BitKeeper/deleted/.del-Makefile.i:
  Delete: storage/innobase/include/Makefile.i
BitKeeper/deleted/.del-Makefile.am~2a6ccdba41b591a3:
  Delete: storage/innobase/mach/Makefile.am
BitKeeper/deleted/.del-Makefile.am~2bd35bda856342:
  Delete: storage/innobase/os/Makefile.am
BitKeeper/deleted/.del-Makefile.am~8448688c5ab92132:
  Delete: storage/innobase/mem/Makefile.am
BitKeeper/deleted/.del-Makefile.am~b5a7a8cfa711b6de:
  Delete: storage/innobase/mtr/Makefile.am
BitKeeper/deleted/.del-Makefile.am~2cee8a309eb8eee2:
  Delete: storage/innobase/page/Makefile.am
BitKeeper/deleted/.del-Makefile.am~3d0553f8aa9c456b:
  Delete: storage/innobase/read/Makefile.am
BitKeeper/deleted/.del-Makefile.am~7b0c4abae6684f8c:
  Delete: storage/innobase/pars/Makefile.am
BitKeeper/deleted/.del-Makefile.am~d0e0dd55cbd413f0:
  Delete: storage/innobase/que/Makefile.am
BitKeeper/deleted/.del-Makefile.am~20a219ccf7825d65:
  Delete: storage/innobase/row/Makefile.am
BitKeeper/deleted/.del-Makefile.am~37bdfb2973b2442b:
  Delete: storage/innobase/rem/Makefile.am
BitKeeper/deleted/.del-Makefile.am~557098c4e5c01ee2:
  Delete: storage/innobase/thr/Makefile.am
BitKeeper/deleted/.del-Makefile.am~fdfe12f48c2499af:
  Delete: storage/innobase/sync/Makefile.am
BitKeeper/deleted/.del-Makefile.am~feb2280a52035d8d:
  Delete: storage/innobase/srv/Makefile.am
BitKeeper/deleted/.del-Makefile.am~456d34c4816dbda4:
  Delete: storage/innobase/ut/Makefile.am
BitKeeper/deleted/.del-Makefile.am~5ec2ef0d2c35e138:
  Delete: storage/innobase/usr/Makefile.am
BitKeeper/deleted/.del-Makefile.am~d25c456e48393313:
  Delete: storage/innobase/trx/Makefile.am
mysql-test/r/innodb.result:
  Apply the following innodb-5.1-* snapshots:  ss1489, ss1496, ss1550, ss1569.
  
  Revision r1421:
  Fix the innodb test by shifting some of the contents of the .result file.
  
  Approved by:	Marko
  
  
  Revision r1422:
  Fix for Bug#21101 - returns wrong error message when table column
  defs exceed the max row size.
  
  The fix returns a more appropriate error message. Add a test case to
  innodb.test and expected output to innodb.result.
mysql-test/t/innodb.test:
  Apply the following innodb-5.1-* snapshots:  ss1489, ss1496, ss1550, ss1569.
  
  Revision r1422:
  Fix for Bug#21101 - returns wrong error message when table column
  defs exceed the max row size.
  
  The fix returns a more appropriate error message. Add a test case to
  innodb.test and expected output to innodb.result.
storage/innobase/btr/btr0btr.c:
  Apply the following innodb-5.1-* snapshots:  ss1489, ss1496, ss1550, ss1569.
  
  Revision r1546:
  When buffering an insert to a prefix index of a variable-length column,
  do not incorrectly mark the column as fixed-length.  (Bug#28138)
  
  ibuf_entry_build(): Instead of prefix_len, pass fixed_len to
  dtype_new_store_for_order_and_null_size().  Add debug assertions.
  
  btr_index_rec_validate(): Correct a comment about prefix indexes.
  
  rec_get_converted_size_new(), rec_convert_dtuple_to_rec_new(): Add
  debug assertions and comments.
  
  dict_col_type_assert_equal(): New debug function.
storage/innobase/data/data0data.c:
  Apply the following innodb-5.1-* snapshots:  ss1489, ss1496, ss1550, ss1569.
  
  Revision r1490:
  Add #include <ctype.h>.  Apparently, this header is no longer included by
  the common headers.  This may be related to WL#2936
  (pluggable storage engines).
storage/innobase/data/data0type.c:
  Apply the following innodb-5.1-* snapshots:  ss1489, ss1496, ss1550, ss1569.
  
  Revision r1513:
  Split ut_a(a && b [&& c...]); into separate ut_a(a); ut_a(b); [ut_a(c); ...].
  This makes it possible to see which expression was false by looking at the
  error message.
  
  Approved by:	Marko
storage/innobase/dict/dict0crea.c:
  Apply the following innodb-5.1-* snapshots:  ss1489, ss1496, ss1550, ss1569.
  
  Revision r1423:
  Fix for Bug#18828. Return DB_TOO_MANY_CONCURRENT_TRXS when we run out
  of UNDO slots in the rollback segment. This is a partial fix since the
  MySQL error code requested to properly report the error condition back
  to the client has not yet materialized. Currently we have #ifdef'd the
  error code translation in ha_innodb.cc. This will have to be changed
  as and when MySQl add the new requested code or an equivalent code
  that we can then use.
  
  Given the above, currently we will get the old behaviour, not the "fixed"
  and intended behaviour.
storage/innobase/dict/dict0dict.c:
  Apply the following innodb-5.1-* snapshots:  ss1489, ss1496, ss1550, ss1569.
  
  Revision r1490:
  Add #include <ctype.h>.  Apparently, this header is no longer included by
  the common headers.  This may be related to WL#2936
  (pluggable storage engines).
  
  
  Revision r1513:
  Split ut_a(a && b [&& c...]); into separate ut_a(a); ut_a(b); [ut_a(c); ...].
  This makes it possible to see which expression was false by looking at the
  error message.
  
  Approved by:	Marko
  
  
  Revision r1528:
  Define an auxiliary macro UT_BITS_IN_BYTES() and use it where possible.
  
  
  Revision r1529:
  Revert r799, which was supposed to prevent similar cases as Bug#21638.
  In reality, the patch breaks the handling of prefix indexes of
  variable-length columns in ROW_FORMAT=COMPACT.  Reverting the patch
  is only a partial fix of Bug#28138.
  
  
  Revision r1535:
  Document that DICT_MAX_INDEX_COL_LEN must not be changed.
storage/innobase/fsp/fsp0fsp.c:
  Apply the following innodb-5.1-* snapshots:  ss1489, ss1496, ss1550, ss1569.
  
  Revision r1513:
  Split ut_a(a && b [&& c...]); into separate ut_a(a); ut_a(b); [ut_a(c); ...].
  This makes it possible to see which expression was false by looking at the
  error message.
  
  Approved by:	Marko
  
  
  Revision r1528:
  Define an auxiliary macro UT_BITS_IN_BYTES() and use it where possible.
storage/innobase/ibuf/ibuf0ibuf.c:
  Apply the following innodb-5.1-* snapshots:  ss1489, ss1496, ss1550, ss1569.
  
  Revision r1420:
  Output to the error log information about the limitations of
  UNIV_IBUF_DEBUG.
  
  innobase_start_or_create_for_mysql(): Note that crash recovery is broken
  when UNIV_IBUF_DEBUG is defined.
  
  ibuf_counts[]: Make this a two-dimensional array.  No need to allocate
  anything from the heap.  Eliminate ibuf_counts_inited, as the array
  will be zero-filled by the runtime environment.
  
  ibuf_count_check(): New function, to print out an explanation before
  assertion failure.
  
  
  Revision r1528:
  Define an auxiliary macro UT_BITS_IN_BYTES() and use it where possible.
  
  
  Revision r1546:
  When buffering an insert to a prefix index of a variable-length column,
  do not incorrectly mark the column as fixed-length.  (Bug#28138)
  
  ibuf_entry_build(): Instead of prefix_len, pass fixed_len to
  dtype_new_store_for_order_and_null_size().  Add debug assertions.
  
  btr_index_rec_validate(): Correct a comment about prefix indexes.
  
  rec_get_converted_size_new(), rec_convert_dtuple_to_rec_new(): Add
  debug assertions and comments.
  
  dict_col_type_assert_equal(): New debug function.
storage/innobase/include/db0err.h:
  Apply the following innodb-5.1-* snapshots:  ss1489, ss1496, ss1550, ss1569.
  
  Revision r1423:
  Fix for Bug#18828. Return DB_TOO_MANY_CONCURRENT_TRXS when we run out
  of UNDO slots in the rollback segment. This is a partial fix since the
  MySQL error code requested to properly report the error condition back
  to the client has not yet materialized. Currently we have #ifdef'd the
  error code translation in ha_innodb.cc. This will have to be changed
  as and when MySQl add the new requested code or an equivalent code
  that we can then use.
  
  Given the above, currently we will get the old behaviour, not the "fixed"
  and intended behaviour.
storage/innobase/include/dict0dict.h:
  Apply the following innodb-5.1-* snapshots:  ss1489, ss1496, ss1550, ss1569.
  
  Revision r1546:
  When buffering an insert to a prefix index of a variable-length column,
  do not incorrectly mark the column as fixed-length.  (Bug#28138)
  
  ibuf_entry_build(): Instead of prefix_len, pass fixed_len to
  dtype_new_store_for_order_and_null_size().  Add debug assertions.
  
  btr_index_rec_validate(): Correct a comment about prefix indexes.
  
  rec_get_converted_size_new(), rec_convert_dtuple_to_rec_new(): Add
  debug assertions and comments.
  
  dict_col_type_assert_equal(): New debug function.
storage/innobase/include/dict0dict.ic:
  Apply the following innodb-5.1-* snapshots:  ss1489, ss1496, ss1550, ss1569.
  
  Revision r1546:
  When buffering an insert to a prefix index of a variable-length column,
  do not incorrectly mark the column as fixed-length.  (Bug#28138)
  
  ibuf_entry_build(): Instead of prefix_len, pass fixed_len to
  dtype_new_store_for_order_and_null_size().  Add debug assertions.
  
  btr_index_rec_validate(): Correct a comment about prefix indexes.
  
  rec_get_converted_size_new(), rec_convert_dtuple_to_rec_new(): Add
  debug assertions and comments.
  
  dict_col_type_assert_equal(): New debug function.
storage/innobase/include/dict0mem.h:
  Apply the following innodb-5.1-* snapshots:  ss1489, ss1496, ss1550, ss1569.
  
  Revision r1535:
  Document that DICT_MAX_INDEX_COL_LEN must not be changed.
  
  
  Revision r1536:
  Change the comment to a more appropriate one. Discussed with Heikki on IM.
  
  Approved by:	Heikki
storage/innobase/include/ha_prototypes.h:
  Apply the following innodb-5.1-* snapshots:  ss1489, ss1496, ss1550, ss1569.
  
  Revision r1482:
  Fix Bug#25078 by always letting the replication thread on the slave
  server to enter InnoDB. This can be made further customizable by the
  user if we introduce a new config parameter. This will wait until
  config parameters can be easily added.
  
  Approved by:	Marko
  
  
  Revision r1501:
  Fix Bug#21293: Consider transactions that had edited non-transactional
  tables heavier than ones that had not. This helps killing the "right"
  transaction in case of a deadlock.
  
  Approved by:	Heikki
storage/innobase/include/os0file.h:
  Apply the following innodb-5.1-* snapshots:  ss1489, ss1496, ss1550, ss1569.
  
  Revision r1431:
  Fix Bug#9709 by retrying (forever) if ERROR_SHARING_VIOLATION or
  ERROR_LOCK_VIOLATION is encountered during file operation.
  This is caused by backup software, so InnoDB should retry while the backup
  software is done with the file.
  
  Approved by:	Heikki
storage/innobase/include/rem0rec.ic:
  Apply the following innodb-5.1-* snapshots:  ss1489, ss1496, ss1550, ss1569.
  
  Revision r1569:
  Fix some in:/out: comments.
  
  Approved by:	Marko
storage/innobase/include/row0mysql.h:
  Apply the following innodb-5.1-* snapshots:  ss1489, ss1496, ss1550, ss1569.
  
  Revision r1422:
  Fix for Bug#21101 - returns wrong error message when table column
  defs exceed the max row size.
  
  The fix returns a more appropriate error message. Add a test case to
  innodb.test and expected output to innodb.result.
storage/innobase/include/trx0trx.h:
  Apply the following innodb-5.1-* snapshots:  ss1489, ss1496, ss1550, ss1569.
  
  Revision r1462:
  Fix typo in comment.
  
  
  Revision r1486:
  Improve the comment for trx_struct::undo_no.
  
  Suggested by:	Heikki
  
  
  Revision r1488:
  Make InnoDB pluggable.  That is, merge the modifications from MySQL WL#2936
  and adapt some things.
  
  Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
  <mysql/plugin.h>.  Until the function is declared there, you can
  uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
  
  Remove storage/innobase/*/Makefile.am.  The whole compilation is driven by
  storage/innobase/Makefile.am and storage/innobase/plug.in.
  
  plug.in: Declare InnoDB as a dynamic plugin.
  
  ha_innodb.h: Remove the declarations of many global variables.  The variables
  are no longer directly referenced outside of storage/innobase.
  
  trx_t: Add the field trx->duplicates.
  
  trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
  
  innobase_query_is_update(): Remove.  Consult trx->duplicates instead.
  
  
  Revision r1497:
  Add the number of locks acquired by a transaction to its weight when
  choosing the lightest transaction to kill when a deadlock occurs.
  This fixes Bug#21293 partially.
  
  Approved by:	Heikki
  
  
  
  Revision r1501:
  Fix Bug#21293: Consider transactions that had edited non-transactional
  tables heavier than ones that had not. This helps killing the "right"
  transaction in case of a deadlock.
  
  Approved by:	Heikki
storage/innobase/include/trx0undo.h:
  Apply the following innodb-5.1-* snapshots:  ss1489, ss1496, ss1550, ss1569.
  
  Revision r1423:
  Fix for Bug#18828. Return DB_TOO_MANY_CONCURRENT_TRXS when we run out
  of UNDO slots in the rollback segment. This is a partial fix since the
  MySQL error code requested to properly report the error condition back
  to the client has not yet materialized. Currently we have #ifdef'd the
  error code translation in ha_innodb.cc. This will have to be changed
  as and when MySQl add the new requested code or an equivalent code
  that we can then use.
  
  Given the above, currently we will get the old behaviour, not the "fixed"
  and intended behaviour.
storage/innobase/include/ut0ut.h:
  Apply the following innodb-5.1-* snapshots:  ss1489, ss1496, ss1550, ss1569.
  
  Revision r1528:
  Define an auxiliary macro UT_BITS_IN_BYTES() and use it where possible.
storage/innobase/lock/lock0lock.c:
  Apply the following innodb-5.1-* snapshots:  ss1489, ss1496, ss1550, ss1569.
  
  Revision r1457:
  Fix Bug#22819, remove assertion. (http://bugs.mysql.com/bug.php?id=22819)
  
  
  Revision r1497:
  Add the number of locks acquired by a transaction to its weight when
  choosing the lightest transaction to kill when a deadlock occurs.
  This fixes Bug#21293 partially.
  
  Approved by:	Heikki
  
  
  
  Revision r1513:
  Split ut_a(a && b [&& c...]); into separate ut_a(a); ut_a(b); [ut_a(c); ...].
  This makes it possible to see which expression was false by looking at the
  error message.
  
  Approved by:	Marko
storage/innobase/log/log0log.c:
  Apply the following innodb-5.1-* snapshots:  ss1489, ss1496, ss1550, ss1569.
  
  Revision r1521:
  Forward port r1520 from branches/5.0
  
  Patch to allow monitor threads to stop before proceeding with normal shutdown. 
  Also have a separate time counter for tablespace monitor.
  
  reviewed by: Heikki
  
  
  Revision r1524:
  Undo bad space formatting introduced in earlier commit r1521
  
  spotted by: Marko
  
  
  Revision r1533:
  logs_empty_and_mark_files_at_shutdown(): Remove trailing whitespace that
  was added in r1521.
storage/innobase/os/os0file.c:
  Apply the following innodb-5.1-* snapshots:  ss1489, ss1496, ss1550, ss1569.
  
  Revision r1431:
  Fix Bug#9709 by retrying (forever) if ERROR_SHARING_VIOLATION or
  ERROR_LOCK_VIOLATION is encountered during file operation.
  This is caused by backup software, so InnoDB should retry while the backup
  software is done with the file.
  
  Approved by:	Heikki
storage/innobase/rem/rem0rec.c:
  Apply the following innodb-5.1-* snapshots:  ss1489, ss1496, ss1550, ss1569.
  
  Revision r1528:
  Define an auxiliary macro UT_BITS_IN_BYTES() and use it where possible.
  
  
  Revision r1531:
  rec_get_converted_size_new(): Simplify and move a debug assertion.
  
  
  Revision r1546:
  When buffering an insert to a prefix index of a variable-length column,
  do not incorrectly mark the column as fixed-length.  (Bug#28138)
  
  ibuf_entry_build(): Instead of prefix_len, pass fixed_len to
  dtype_new_store_for_order_and_null_size().  Add debug assertions.
  
  btr_index_rec_validate(): Correct a comment about prefix indexes.
  
  rec_get_converted_size_new(), rec_convert_dtuple_to_rec_new(): Add
  debug assertions and comments.
  
  dict_col_type_assert_equal(): New debug function.
  
  
  Revision r1555:
  rec_get_converted_size_new(): The total size of the infimum and supremum
  records in ROW_FORMAT=COMPACT is REC_N_NEW_EXTRA_BYTES + 8.  The
  REC_N_NEW_EXTRA_BYTES was accidentally omitted in r1546.  This function
  should never be called on those records, though.
  
  
  Revision r1569:
  Fix some in:/out: comments.
  
  Approved by:	Marko
storage/innobase/row/row0ins.c:
  Apply the following innodb-5.1-* snapshots:  ss1489, ss1496, ss1550, ss1569.
  
  Revision r1485:
  Minor cleanup.
  
  row_ins_check_foreign_constraint(), row_ins_scan_sec_index_for_duplicate():
  Make use of the predicates page_rec_is_infimum() and page_rec_is_supremum().
  
  
  Revision r1488:
  Make InnoDB pluggable.  That is, merge the modifications from MySQL WL#2936
  and adapt some things.
  
  Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
  <mysql/plugin.h>.  Until the function is declared there, you can
  uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
  
  Remove storage/innobase/*/Makefile.am.  The whole compilation is driven by
  storage/innobase/Makefile.am and storage/innobase/plug.in.
  
  plug.in: Declare InnoDB as a dynamic plugin.
  
  ha_innodb.h: Remove the declarations of many global variables.  The variables
  are no longer directly referenced outside of storage/innobase.
  
  trx_t: Add the field trx->duplicates.
  
  trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
  
  innobase_query_is_update(): Remove.  Consult trx->duplicates instead.
  
  
  Revision r1513:
  Split ut_a(a && b [&& c...]); into separate ut_a(a); ut_a(b); [ut_a(c); ...].
  This makes it possible to see which expression was false by looking at the
  error message.
  
  Approved by:	Marko
storage/innobase/row/row0mysql.c:
  Apply the following innodb-5.1-* snapshots:  ss1489, ss1496, ss1550, ss1569.
  
  Revision r1422:
  Fix for Bug#21101 - returns wrong error message when table column
  defs exceed the max row size.
  
  The fix returns a more appropriate error message. Add a test case to
  innodb.test and expected output to innodb.result.
  
  
  Revision r1423:
  Fix for Bug#18828. Return DB_TOO_MANY_CONCURRENT_TRXS when we run out
  of UNDO slots in the rollback segment. This is a partial fix since the
  MySQL error code requested to properly report the error condition back
  to the client has not yet materialized. Currently we have #ifdef'd the
  error code translation in ha_innodb.cc. This will have to be changed
  as and when MySQl add the new requested code or an equivalent code
  that we can then use.
  
  Given the above, currently we will get the old behaviour, not the "fixed"
  and intended behaviour.
storage/innobase/row/row0row.c:
  Apply the following innodb-5.1-* snapshots:  ss1489, ss1496, ss1550, ss1569.
  
  Revision r1513:
  Split ut_a(a && b [&& c...]); into separate ut_a(a); ut_a(b); [ut_a(c); ...].
  This makes it possible to see which expression was false by looking at the
  error message.
  
  Approved by:	Marko
  
  
  Revision r1529:
  Revert r799, which was supposed to prevent similar cases as Bug#21638.
  In reality, the patch breaks the handling of prefix indexes of
  variable-length columns in ROW_FORMAT=COMPACT.  Reverting the patch
  is only a partial fix of Bug#28138.
storage/innobase/row/row0sel.c:
  Apply the following innodb-5.1-* snapshots:  ss1489, ss1496, ss1550, ss1569.
  
  Revision r1452:
  Fix phantom reads (http://bugs.mysql.com/27197) following Heikki's
  patch in the bug followup.
  
  Approved by:	Heikki
  
  
  
  Revision r1455:
  Reindent with tabs instead of spaces.
  
  Spotted by:	Marko
storage/innobase/srv/srv0srv.c:
  Apply the following innodb-5.1-* snapshots:  ss1489, ss1496, ss1550, ss1569.
  
  Revision r1424:
  Bug#20352. Added variable srv_insert_buffer_batch_size. We want to make
  this variable settable. Since the pluggable engine interface currently
  doesn't provide a usable mechanism, we will add the latter functionality
  once it's available.
  
  
  Revision r1426:
  Fix code indentation from r1424.
  
  
  Revision r1459:
  Fix typo in the comment.
  
  
  Revision r1482:
  Fix Bug#25078 by always letting the replication thread on the slave
  server to enter InnoDB. This can be made further customizable by the
  user if we introduce a new config parameter. This will wait until
  config parameters can be easily added.
  
  Approved by:	Marko
  
  
  Revision r1487:
  Fix typo in comment.
  
  Spotted by:	Marko
  
  
  Revision r1521:
  Forward port r1520 from branches/5.0
  
  Patch to allow monitor threads to stop before proceeding with normal shutdown. 
  Also have a separate time counter for tablespace monitor.
  
  reviewed by: Heikki
  
  
  Revision r1532:
  srv_lock_timeout_and_monitor_thread(): Correct the indentation that was
  broken in r1521.
  
  
  Revision r1553:
  Fix Bug#20090 as suggested in the bug followup by Heikki.
  
  Approved by:	Heikki
storage/innobase/srv/srv0start.c:
  Apply the following innodb-5.1-* snapshots:  ss1489, ss1496, ss1550, ss1569.
  
  Revision r1420:
  Output to the error log information about the limitations of
  UNIV_IBUF_DEBUG.
  
  innobase_start_or_create_for_mysql(): Note that crash recovery is broken
  when UNIV_IBUF_DEBUG is defined.
  
  ibuf_counts[]: Make this a two-dimensional array.  No need to allocate
  anything from the heap.  Eliminate ibuf_counts_inited, as the array
  will be zero-filled by the runtime environment.
  
  ibuf_count_check(): New function, to print out an explanation before
  assertion failure.
storage/innobase/sync/sync0arr.c:
  Apply the following innodb-5.1-* snapshots:  ss1489, ss1496, ss1550, ss1569.
  
  Revision r1513:
  Split ut_a(a && b [&& c...]); into separate ut_a(a); ut_a(b); [ut_a(c); ...].
  This makes it possible to see which expression was false by looking at the
  error message.
  
  Approved by:	Marko
storage/innobase/trx/trx0rec.c:
  Apply the following innodb-5.1-* snapshots:  ss1489, ss1496, ss1550, ss1569.
  
  Revision r1423:
  Fix for Bug#18828. Return DB_TOO_MANY_CONCURRENT_TRXS when we run out
  of UNDO slots in the rollback segment. This is a partial fix since the
  MySQL error code requested to properly report the error condition back
  to the client has not yet materialized. Currently we have #ifdef'd the
  error code translation in ha_innodb.cc. This will have to be changed
  as and when MySQl add the new requested code or an equivalent code
  that we can then use.
  
  Given the above, currently we will get the old behaviour, not the "fixed"
  and intended behaviour.
storage/innobase/trx/trx0trx.c:
  Apply the following innodb-5.1-* snapshots:  ss1489, ss1496, ss1550, ss1569.
  
  Revision r1488:
  Make InnoDB pluggable.  That is, merge the modifications from MySQL WL#2936
  and adapt some things.
  
  Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
  <mysql/plugin.h>.  Until the function is declared there, you can
  uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
  
  Remove storage/innobase/*/Makefile.am.  The whole compilation is driven by
  storage/innobase/Makefile.am and storage/innobase/plug.in.
  
  plug.in: Declare InnoDB as a dynamic plugin.
  
  ha_innodb.h: Remove the declarations of many global variables.  The variables
  are no longer directly referenced outside of storage/innobase.
  
  trx_t: Add the field trx->duplicates.
  
  trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
  
  innobase_query_is_update(): Remove.  Consult trx->duplicates instead.
  
  
  Revision r1491:
  Fix typo in comment.
  
  
  Revision r1497:
  Add the number of locks acquired by a transaction to its weight when
  choosing the lightest transaction to kill when a deadlock occurs.
  This fixes Bug#21293 partially.
  
  Approved by:	Heikki
  
  
  
  Revision r1501:
  Fix Bug#21293: Consider transactions that had edited non-transactional
  tables heavier than ones that had not. This helps killing the "right"
  transaction in case of a deadlock.
  
  Approved by:	Heikki
  
  
  Revision r1522:
  trx0trx.c: Add missing #include "ha_prototypes.h".
storage/innobase/trx/trx0undo.c:
  Apply the following innodb-5.1-* snapshots:  ss1489, ss1496, ss1550, ss1569.
  
  Revision r1423:
  Fix for Bug#18828. Return DB_TOO_MANY_CONCURRENT_TRXS when we run out
  of UNDO slots in the rollback segment. This is a partial fix since the
  MySQL error code requested to properly report the error condition back
  to the client has not yet materialized. Currently we have #ifdef'd the
  error code translation in ha_innodb.cc. This will have to be changed
  as and when MySQl add the new requested code or an equivalent code
  that we can then use.
  
  Given the above, currently we will get the old behaviour, not the "fixed"
  and intended behaviour.
storage/innobase/ut/ut0ut.c:
  Apply the following innodb-5.1-* snapshots:  ss1489, ss1496, ss1550, ss1569.
  
  Revision r1490:
  Add #include <ctype.h>.  Apparently, this header is no longer included by
  the common headers.  This may be related to WL#2936
  (pluggable storage engines).
mysql-test/r/innodb_trx_weight.result:
  Apply the following innodb-5.1-* snapshots:  ss1489, ss1496, ss1550, ss1569.
  
  Revision r1498:
  Add a test about the behavior introduced in r1497.
  
  
  Revision r1501:
  Fix Bug#21293: Consider transactions that had edited non-transactional
  tables heavier than ones that had not. This helps killing the "right"
  transaction in case of a deadlock.
  
  Approved by:	Heikki
mysql-test/include/innodb_trx_weight.inc:
  Apply the following innodb-5.1-* snapshots:  ss1489, ss1496, ss1550, ss1569.
  
  Revision r1501:
  Fix Bug#21293: Consider transactions that had edited non-transactional
  tables heavier than ones that had not. This helps killing the "right"
  transaction in case of a deadlock.
  
  Approved by:	Heikki
  
  
  Revision r1556:
  mysql-test/innodb_trx_weight.inc: Add username root to the "connect" statement.
  The Unix user running mysql-test-run usually does not have any privileges
  on the MySQL test database.
mysql-test/t/innodb_trx_weight.test:
  Fixes after merging InnoDB snapshots.
  
  Revision r1498:
  Add a test about the behavior introduced in r1497.
  
  
  Revision r1501:
  Fix Bug#21293: Consider transactions that had edited non-transactional
  tables heavier than ones that had not. This helps killing the "right"
  transaction in case of a deadlock.
  
  Approved by:	Heikki
sql/sql_class.cc:
  Fixes after merging InnoDB snapshots.
storage/innobase/Makefile.am:
  Fixes after merging InnoDB snapshots.
  
  Revision r1488:
  Make InnoDB pluggable.  That is, merge the modifications from MySQL WL#2936
  and adapt some things.
  
  Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
  <mysql/plugin.h>.  Until the function is declared there, you can
  uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
  
  Remove storage/innobase/*/Makefile.am.  The whole compilation is driven by
  storage/innobase/Makefile.am and storage/innobase/plug.in.
  
  plug.in: Declare InnoDB as a dynamic plugin.
  
  ha_innodb.h: Remove the declarations of many global variables.  The variables
  are no longer directly referenced outside of storage/innobase.
  
  trx_t: Add the field trx->duplicates.
  
  trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
  
  innobase_query_is_update(): Remove.  Consult trx->duplicates instead.
  
  
  Revision r1488:
  Make InnoDB pluggable.  That is, merge the modifications from MySQL WL#2936
  and adapt some things.
  
  Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
  <mysql/plugin.h>.  Until the function is declared there, you can
  uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
  
  Remove storage/innobase/*/Makefile.am.  The whole compilation is driven by
  storage/innobase/Makefile.am and storage/innobase/plug.in.
  
  plug.in: Declare InnoDB as a dynamic plugin.
  
  ha_innodb.h: Remove the declarations of many global variables.  The variables
  are no longer directly referenced outside of storage/innobase.
  
  trx_t: Add the field trx->duplicates.
  
  trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
  
  innobase_query_is_update(): Remove.  Consult trx->duplicates instead.
  
  
  Revision r1488:
  Make InnoDB pluggable.  That is, merge the modifications from MySQL WL#2936
  and adapt some things.
  
  Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
  <mysql/plugin.h>.  Until the function is declared there, you can
  uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
  
  Remove storage/innobase/*/Makefile.am.  The whole compilation is driven by
  storage/innobase/Makefile.am and storage/innobase/plug.in.
  
  plug.in: Declare InnoDB as a dynamic plugin.
  
  ha_innodb.h: Remove the declarations of many global variables.  The variables
  are no longer directly referenced outside of storage/innobase.
  
  trx_t: Add the field trx->duplicates.
  
  trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
  
  innobase_query_is_update(): Remove.  Consult trx->duplicates instead.
  
  
  Revision r1488:
  Make InnoDB pluggable.  That is, merge the modifications from MySQL WL#2936
  and adapt some things.
  
  Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
  <mysql/plugin.h>.  Until the function is declared there, you can
  uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
  
  Remove storage/innobase/*/Makefile.am.  The whole compilation is driven by
  storage/innobase/Makefile.am and storage/innobase/plug.in.
  
  plug.in: Declare InnoDB as a dynamic plugin.
  
  ha_innodb.h: Remove the declarations of many global variables.  The variables
  are no longer directly referenced outside of storage/innobase.
  
  trx_t: Add the field trx->duplicates.
  
  trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
  
  innobase_query_is_update(): Remove.  Consult trx->duplicates instead.
  
  
  Revision r1488:
  Make InnoDB pluggable.  That is, merge the modifications from MySQL WL#2936
  and adapt some things.
  
  Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
  <mysql/plugin.h>.  Until the function is declared there, you can
  uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
  
  Remove storage/innobase/*/Makefile.am.  The whole compilation is driven by
  storage/innobase/Makefile.am and storage/innobase/plug.in.
  
  plug.in: Declare InnoDB as a dynamic plugin.
  
  ha_innodb.h: Remove the declarations of many global variables.  The variables
  are no longer directly referenced outside of storage/innobase.
  
  trx_t: Add the field trx->duplicates.
  
  trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
  
  innobase_query_is_update(): Remove.  Consult trx->duplicates instead.
  
  
  Revision r1488:
  Make InnoDB pluggable.  That is, merge the modifications from MySQL WL#2936
  and adapt some things.
  
  Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
  <mysql/plugin.h>.  Until the function is declared there, you can
  uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
  
  Remove storage/innobase/*/Makefile.am.  The whole compilation is driven by
  storage/innobase/Makefile.am and storage/innobase/plug.in.
  
  plug.in: Declare InnoDB as a dynamic plugin.
  
  ha_innodb.h: Remove the declarations of many global variables.  The variables
  are no longer directly referenced outside of storage/innobase.
  
  trx_t: Add the field trx->duplicates.
  
  trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
  
  innobase_query_is_update(): Remove.  Consult trx->duplicates instead.
  
  
  Revision r1488:
  Make InnoDB pluggable.  That is, merge the modifications from MySQL WL#2936
  and adapt some things.
  
  Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
  <mysql/plugin.h>.  Until the function is declared there, you can
  uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
  
  Remove storage/innobase/*/Makefile.am.  The whole compilation is driven by
  storage/innobase/Makefile.am and storage/innobase/plug.in.
  
  plug.in: Declare InnoDB as a dynamic plugin.
  
  ha_innodb.h: Remove the declarations of many global variables.  The variables
  are no longer directly referenced outside of storage/innobase.
  
  trx_t: Add the field trx->duplicates.
  
  trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
  
  innobase_query_is_update(): Remove.  Consult trx->duplicates instead.
  
  
  Revision r1488:
  Make InnoDB pluggable.  That is, merge the modifications from MySQL WL#2936
  and adapt some things.
  
  Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
  <mysql/plugin.h>.  Until the function is declared there, you can
  uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
  
  Remove storage/innobase/*/Makefile.am.  The whole compilation is driven by
  storage/innobase/Makefile.am and storage/innobase/plug.in.
  
  plug.in: Declare InnoDB as a dynamic plugin.
  
  ha_innodb.h: Remove the declarations of many global variables.  The variables
  are no longer directly referenced outside of storage/innobase.
  
  trx_t: Add the field trx->duplicates.
  
  trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
  
  innobase_query_is_update(): Remove.  Consult trx->duplicates instead.
  
  
  Revision r1488:
  Make InnoDB pluggable.  That is, merge the modifications from MySQL WL#2936
  and adapt some things.
  
  Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
  <mysql/plugin.h>.  Until the function is declared there, you can
  uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
  
  Remove storage/innobase/*/Makefile.am.  The whole compilation is driven by
  storage/innobase/Makefile.am and storage/innobase/plug.in.
  
  plug.in: Declare InnoDB as a dynamic plugin.
  
  ha_innodb.h: Remove the declarations of many global variables.  The variables
  are no longer directly referenced outside of storage/innobase.
  
  trx_t: Add the field trx->duplicates.
  
  trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
  
  innobase_query_is_update(): Remove.  Consult trx->duplicates instead.
  
  
  Revision r1488:
  Make InnoDB pluggable.  That is, merge the modifications from MySQL WL#2936
  and adapt some things.
  
  Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
  <mysql/plugin.h>.  Until the function is declared there, you can
  uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
  
  Remove storage/innobase/*/Makefile.am.  The whole compilation is driven by
  storage/innobase/Makefile.am and storage/innobase/plug.in.
  
  plug.in: Declare InnoDB as a dynamic plugin.
  
  ha_innodb.h: Remove the declarations of many global variables.  The variables
  are no longer directly referenced outside of storage/innobase.
  
  trx_t: Add the field trx->duplicates.
  
  trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
  
  innobase_query_is_update(): Remove.  Consult trx->duplicates instead.
  
  
  Revision r1488:
  Make InnoDB pluggable.  That is, merge the modifications from MySQL WL#2936
  and adapt some things.
  
  Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
  <mysql/plugin.h>.  Until the function is declared there, you can
  uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
  
  Remove storage/innobase/*/Makefile.am.  The whole compilation is driven by
  storage/innobase/Makefile.am and storage/innobase/plug.in.
  
  plug.in: Declare InnoDB as a dynamic plugin.
  
  ha_innodb.h: Remove the declarations of many global variables.  The variables
  are no longer directly referenced outside of storage/innobase.
  
  trx_t: Add the field trx->duplicates.
  
  trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
  
  innobase_query_is_update(): Remove.  Consult trx->duplicates instead.
  
  
  Revision r1488:
  Make InnoDB pluggable.  That is, merge the modifications from MySQL WL#2936
  and adapt some things.
  
  Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
  <mysql/plugin.h>.  Until the function is declared there, you can
  uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
  
  Remove storage/innobase/*/Makefile.am.  The whole compilation is driven by
  storage/innobase/Makefile.am and storage/innobase/plug.in.
  
  plug.in: Declare InnoDB as a dynamic plugin.
  
  ha_innodb.h: Remove the declarations of many global variables.  The variables
  are no longer directly referenced outside of storage/innobase.
  
  trx_t: Add the field trx->duplicates.
  
  trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
  
  innobase_query_is_update(): Remove.  Consult trx->duplicates instead.
  
  
  Revision r1488:
  Make InnoDB pluggable.  That is, merge the modifications from MySQL WL#2936
  and adapt some things.
  
  Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
  <mysql/plugin.h>.  Until the function is declared there, you can
  uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
  
  Remove storage/innobase/*/Makefile.am.  The whole compilation is driven by
  storage/innobase/Makefile.am and storage/innobase/plug.in.
  
  plug.in: Declare InnoDB as a dynamic plugin.
  
  ha_innodb.h: Remove the declarations of many global variables.  The variables
  are no longer directly referenced outside of storage/innobase.
  
  trx_t: Add the field trx->duplicates.
  
  trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
  
  innobase_query_is_update(): Remove.  Consult trx->duplicates instead.
  
  
  Revision r1488:
  Make InnoDB pluggable.  That is, merge the modifications from MySQL WL#2936
  and adapt some things.
  
  Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
  <mysql/plugin.h>.  Until the function is declared there, you can
  uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
  
  Remove storage/innobase/*/Makefile.am.  The whole compilation is driven by
  storage/innobase/Makefile.am and storage/innobase/plug.in.
  
  plug.in: Declare InnoDB as a dynamic plugin.
  
  ha_innodb.h: Remove the declarations of many global variables.  The variables
  are no longer directly referenced outside of storage/innobase.
  
  trx_t: Add the field trx->duplicates.
  
  trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
  
  innobase_query_is_update(): Remove.  Consult trx->duplicates instead.
  
  
  Revision r1488:
  Make InnoDB pluggable.  That is, merge the modifications from MySQL WL#2936
  and adapt some things.
  
  Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
  <mysql/plugin.h>.  Until the function is declared there, you can
  uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
  
  Remove storage/innobase/*/Makefile.am.  The whole compilation is driven by
  storage/innobase/Makefile.am and storage/innobase/plug.in.
  
  plug.in: Declare InnoDB as a dynamic plugin.
  
  ha_innodb.h: Remove the declarations of many global variables.  The variables
  are no longer directly referenced outside of storage/innobase.
  
  trx_t: Add the field trx->duplicates.
  
  trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
  
  innobase_query_is_update(): Remove.  Consult trx->duplicates instead.
  
  
  Revision r1488:
  Make InnoDB pluggable.  That is, merge the modifications from MySQL WL#2936
  and adapt some things.
  
  Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
  <mysql/plugin.h>.  Until the function is declared there, you can
  uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
  
  Remove storage/innobase/*/Makefile.am.  The whole compilation is driven by
  storage/innobase/Makefile.am and storage/innobase/plug.in.
  
  plug.in: Declare InnoDB as a dynamic plugin.
  
  ha_innodb.h: Remove the declarations of many global variables.  The variables
  are no longer directly referenced outside of storage/innobase.
  
  trx_t: Add the field trx->duplicates.
  
  trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
  
  innobase_query_is_update(): Remove.  Consult trx->duplicates instead.
  
  
  Revision r1488:
  Make InnoDB pluggable.  That is, merge the modifications from MySQL WL#2936
  and adapt some things.
  
  Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
  <mysql/plugin.h>.  Until the function is declared there, you can
  uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
  
  Remove storage/innobase/*/Makefile.am.  The whole compilation is driven by
  storage/innobase/Makefile.am and storage/innobase/plug.in.
  
  plug.in: Declare InnoDB as a dynamic plugin.
  
  ha_innodb.h: Remove the declarations of many global variables.  The variables
  are no longer directly referenced outside of storage/innobase.
  
  trx_t: Add the field trx->duplicates.
  
  trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
  
  innobase_query_is_update(): Remove.  Consult trx->duplicates instead.
  
  
  Revision r1488:
  Make InnoDB pluggable.  That is, merge the modifications from MySQL WL#2936
  and adapt some things.
  
  Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
  <mysql/plugin.h>.  Until the function is declared there, you can
  uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
  
  Remove storage/innobase/*/Makefile.am.  The whole compilation is driven by
  storage/innobase/Makefile.am and storage/innobase/plug.in.
  
  plug.in: Declare InnoDB as a dynamic plugin.
  
  ha_innodb.h: Remove the declarations of many global variables.  The variables
  are no longer directly referenced outside of storage/innobase.
  
  trx_t: Add the field trx->duplicates.
  
  trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
  
  innobase_query_is_update(): Remove.  Consult trx->duplicates instead.
  
  
  Revision r1488:
  Make InnoDB pluggable.  That is, merge the modifications from MySQL WL#2936
  and adapt some things.
  
  Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
  <mysql/plugin.h>.  Until the function is declared there, you can
  uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
  
  Remove storage/innobase/*/Makefile.am.  The whole compilation is driven by
  storage/innobase/Makefile.am and storage/innobase/plug.in.
  
  plug.in: Declare InnoDB as a dynamic plugin.
  
  ha_innodb.h: Remove the declarations of many global variables.  The variables
  are no longer directly referenced outside of storage/innobase.
  
  trx_t: Add the field trx->duplicates.
  
  trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
  
  innobase_query_is_update(): Remove.  Consult trx->duplicates instead.
  
  
  Revision r1488:
  Make InnoDB pluggable.  That is, merge the modifications from MySQL WL#2936
  and adapt some things.
  
  Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
  <mysql/plugin.h>.  Until the function is declared there, you can
  uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
  
  Remove storage/innobase/*/Makefile.am.  The whole compilation is driven by
  storage/innobase/Makefile.am and storage/innobase/plug.in.
  
  plug.in: Declare InnoDB as a dynamic plugin.
  
  ha_innodb.h: Remove the declarations of many global variables.  The variables
  are no longer directly referenced outside of storage/innobase.
  
  trx_t: Add the field trx->duplicates.
  
  trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
  
  innobase_query_is_update(): Remove.  Consult trx->duplicates instead.
  
  
  Revision r1488:
  Make InnoDB pluggable.  That is, merge the modifications from MySQL WL#2936
  and adapt some things.
  
  Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
  <mysql/plugin.h>.  Until the function is declared there, you can
  uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
  
  Remove storage/innobase/*/Makefile.am.  The whole compilation is driven by
  storage/innobase/Makefile.am and storage/innobase/plug.in.
  
  plug.in: Declare InnoDB as a dynamic plugin.
  
  ha_innodb.h: Remove the declarations of many global variables.  The variables
  are no longer directly referenced outside of storage/innobase.
  
  trx_t: Add the field trx->duplicates.
  
  trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
  
  innobase_query_is_update(): Remove.  Consult trx->duplicates instead.
  
  
  Revision r1488:
  Make InnoDB pluggable.  That is, merge the modifications from MySQL WL#2936
  and adapt some things.
  
  Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
  <mysql/plugin.h>.  Until the function is declared there, you can
  uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
  
  Remove storage/innobase/*/Makefile.am.  The whole compilation is driven by
  storage/innobase/Makefile.am and storage/innobase/plug.in.
  
  plug.in: Declare InnoDB as a dynamic plugin.
  
  ha_innodb.h: Remove the declarations of many global variables.  The variables
  are no longer directly referenced outside of storage/innobase.
  
  trx_t: Add the field trx->duplicates.
  
  trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
  
  innobase_query_is_update(): Remove.  Consult trx->duplicates instead.
  
  
  Revision r1488:
  Make InnoDB pluggable.  That is, merge the modifications from MySQL WL#2936
  and adapt some things.
  
  Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
  <mysql/plugin.h>.  Until the function is declared there, you can
  uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
  
  Remove storage/innobase/*/Makefile.am.  The whole compilation is driven by
  storage/innobase/Makefile.am and storage/innobase/plug.in.
  
  plug.in: Declare InnoDB as a dynamic plugin.
  
  ha_innodb.h: Remove the declarations of many global variables.  The variables
  are no longer directly referenced outside of storage/innobase.
  
  trx_t: Add the field trx->duplicates.
  
  trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
  
  innobase_query_is_update(): Remove.  Consult trx->duplicates instead.
  
  
  Revision r1488:
  Make InnoDB pluggable.  That is, merge the modifications from MySQL WL#2936
  and adapt some things.
  
  Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
  <mysql/plugin.h>.  Until the function is declared there, you can
  uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
  
  Remove storage/innobase/*/Makefile.am.  The whole compilation is driven by
  storage/innobase/Makefile.am and storage/innobase/plug.in.
  
  plug.in: Declare InnoDB as a dynamic plugin.
  
  ha_innodb.h: Remove the declarations of many global variables.  The variables
  are no longer directly referenced outside of storage/innobase.
  
  trx_t: Add the field trx->duplicates.
  
  trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
  
  innobase_query_is_update(): Remove.  Consult trx->duplicates instead.
  
  
  Revision r1488:
  Make InnoDB pluggable.  That is, merge the modifications from MySQL WL#2936
  and adapt some things.
  
  Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
  <mysql/plugin.h>.  Until the function is declared there, you can
  uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
  
  Remove storage/innobase/*/Makefile.am.  The whole compilation is driven by
  storage/innobase/Makefile.am and storage/innobase/plug.in.
  
  plug.in: Declare InnoDB as a dynamic plugin.
  
  ha_innodb.h: Remove the declarations of many global variables.  The variables
  are no longer directly referenced outside of storage/innobase.
  
  trx_t: Add the field trx->duplicates.
  
  trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
  
  innobase_query_is_update(): Remove.  Consult trx->duplicates instead.
  
  
  Revision r1488:
  Make InnoDB pluggable.  That is, merge the modifications from MySQL WL#2936
  and adapt some things.
  
  Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
  <mysql/plugin.h>.  Until the function is declared there, you can
  uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
  
  Remove storage/innobase/*/Makefile.am.  The whole compilation is driven by
  storage/innobase/Makefile.am and storage/innobase/plug.in.
  
  plug.in: Declare InnoDB as a dynamic plugin.
  
  ha_innodb.h: Remove the declarations of many global variables.  The variables
  are no longer directly referenced outside of storage/innobase.
  
  trx_t: Add the field trx->duplicates.
  
  trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
  
  innobase_query_is_update(): Remove.  Consult trx->duplicates instead.
  
  
  Revision r1488:
  Make InnoDB pluggable.  That is, merge the modifications from MySQL WL#2936
  and adapt some things.
  
  Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
  <mysql/plugin.h>.  Until the function is declared there, you can
  uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
  
  Remove storage/innobase/*/Makefile.am.  The whole compilation is driven by
  storage/innobase/Makefile.am and storage/innobase/plug.in.
  
  plug.in: Declare InnoDB as a dynamic plugin.
  
  ha_innodb.h: Remove the declarations of many global variables.  The variables
  are no longer directly referenced outside of storage/innobase.
  
  trx_t: Add the field trx->duplicates.
  
  trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
  
  innobase_query_is_update(): Remove.  Consult trx->duplicates instead.
  
  
  Revision r1488:
  Make InnoDB pluggable.  That is, merge the modifications from MySQL WL#2936
  and adapt some things.
  
  Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
  <mysql/plugin.h>.  Until the function is declared there, you can
  uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
  
  Remove storage/innobase/*/Makefile.am.  The whole compilation is driven by
  storage/innobase/Makefile.am and storage/innobase/plug.in.
  
  plug.in: Declare InnoDB as a dynamic plugin.
  
  ha_innodb.h: Remove the declarations of many global variables.  The variables
  are no longer directly referenced outside of storage/innobase.
  
  trx_t: Add the field trx->duplicates.
  
  trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
  
  innobase_query_is_update(): Remove.  Consult trx->duplicates instead.
  
  
  Revision r1488:
  Make InnoDB pluggable.  That is, merge the modifications from MySQL WL#2936
  and adapt some things.
  
  Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
  <mysql/plugin.h>.  Until the function is declared there, you can
  uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
  
  Remove storage/innobase/*/Makefile.am.  The whole compilation is driven by
  storage/innobase/Makefile.am and storage/innobase/plug.in.
  
  plug.in: Declare InnoDB as a dynamic plugin.
  
  ha_innodb.h: Remove the declarations of many global variables.  The variables
  are no longer directly referenced outside of storage/innobase.
  
  trx_t: Add the field trx->duplicates.
  
  trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
  
  innobase_query_is_update(): Remove.  Consult trx->duplicates instead.
  
  
  Revision r1488:
  Make InnoDB pluggable.  That is, merge the modifications from MySQL WL#2936
  and adapt some things.
  
  Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
  <mysql/plugin.h>.  Until the function is declared there, you can
  uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
  
  Remove storage/innobase/*/Makefile.am.  The whole compilation is driven by
  storage/innobase/Makefile.am and storage/innobase/plug.in.
  
  plug.in: Declare InnoDB as a dynamic plugin.
  
  ha_innodb.h: Remove the declarations of many global variables.  The variables
  are no longer directly referenced outside of storage/innobase.
  
  trx_t: Add the field trx->duplicates.
  
  trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
  
  innobase_query_is_update(): Remove.  Consult trx->duplicates instead.
  
  
  Revision r1488:
  Make InnoDB pluggable.  That is, merge the modifications from MySQL WL#2936
  and adapt some things.
  
  Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
  <mysql/plugin.h>.  Until the function is declared there, you can
  uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
  
  Remove storage/innobase/*/Makefile.am.  The whole compilation is driven by
  storage/innobase/Makefile.am and storage/innobase/plug.in.
  
  plug.in: Declare InnoDB as a dynamic plugin.
  
  ha_innodb.h: Remove the declarations of many global variables.  The variables
  are no longer directly referenced outside of storage/innobase.
  
  trx_t: Add the field trx->duplicates.
  
  trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
  
  innobase_query_is_update(): Remove.  Consult trx->duplicates instead.
storage/innobase/handler/ha_innodb.cc:
  Fixes after merging InnoDB snapshots.
  
  Revision r1422:
  Fix for Bug#21101 - returns wrong error message when table column
  defs exceed the max row size.
  
  The fix returns a more appropriate error message. Add a test case to
  innodb.test and expected output to innodb.result.
  
  
  Revision r1423:
  Fix for Bug#18828. Return DB_TOO_MANY_CONCURRENT_TRXS when we run out
  of UNDO slots in the rollback segment. This is a partial fix since the
  MySQL error code requested to properly report the error condition back
  to the client has not yet materialized. Currently we have #ifdef'd the
  error code translation in ha_innodb.cc. This will have to be changed
  as and when MySQl add the new requested code or an equivalent code
  that we can then use.
  
  Given the above, currently we will get the old behaviour, not the "fixed"
  and intended behaviour.
  
  
  
  Revision r1425:
  Fixed a missing function decoration that slipped into r1422.
  
  
  Revision r1434:
  Fix typo.
  
  
  Revision r1442:
  Potential fix for Bug#25645:
  
  "Move innobase_release_stat_resources(trx) outside the 'if' in
  ha_innobase::external_lock(). That would add more safety that whatever
  MySQL does at a query end, there would be no risk of a hang on the btr
  search latch."
  
  Also call innobase_release_temporary_latches() in the beginning of
  ha_innobase::close().
  
  Approved by:	Heikki
  
  
  Revision r1453:
  Bugfix: only call innobase_release_temporary_latches() in case of current_thd
  is not NULL, otherwise we get NULL pointer dereferencing.
  
  Approved by:	Heikki
  
  
  Revision r1474:
  Fix typo in comment: the exact prototype is in
  include/data0type.ic, not in data/data0type.ic
  
  
  
  Revision r1482:
  Fix Bug#25078 by always letting the replication thread on the slave
  server to enter InnoDB. This can be made further customizable by the
  user if we introduce a new config parameter. This will wait until
  config parameters can be easily added.
  
  Approved by:	Marko
  
  
  Revision r1488:
  Make InnoDB pluggable.  That is, merge the modifications from MySQL WL#2936
  and adapt some things.
  
  Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
  <mysql/plugin.h>.  Until the function is declared there, you can
  uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
  
  Remove storage/innobase/*/Makefile.am.  The whole compilation is driven by
  storage/innobase/Makefile.am and storage/innobase/plug.in.
  
  plug.in: Declare InnoDB as a dynamic plugin.
  
  ha_innodb.h: Remove the declarations of many global variables.  The variables
  are no longer directly referenced outside of storage/innobase.
  
  trx_t: Add the field trx->duplicates.
  
  trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
  
  innobase_query_is_update(): Remove.  Consult trx->duplicates instead.
  
  
  Revision r1489:
  thd_to_trx(), check_trx_exists(): Remove the handlerton parameter.  It is a
  singleton object whose address is stored into innodb_hton_ptr.
  
  
  Revision r1492:
  Convert innobase_buffer_pool_size and innobase_log_file_size types from
  longlong to long long because MYSQL_SYSVAR_LONGLONG marco expects long long
  type.
  
  Also change
  ((ulint)innobase_buffer_pool_size) / 1024
  to
  (ulint)(innobase_buffer_pool_size / 1024)
  and remove comment which is no longer true.
  
  Provided that innobase_buffer_pool_size is always 64bits these statements
  are equivalent if ulint is 64 bit (well it will screw up if
  innobase_buffer_pool_size is negative). And if ulint is 32 bit the later
  variant gives a little more chance that the value will fit.
  
  Approved by:	Heikki
  
  
  Revision r1493:
  ha_innodb.cc: Remove the declarations of some global InnoDB variables
  whose name starts with srv_.  These variables are declared in the header
  files that are covered by #include directives in ha_innodb.cc.
  
  
  Revision r1495:
  Introduce the function reset_template() for resetting some fields of
  row_prebuilt_t; currently prebuilt->read_just_key and
  prebuilt->keep_other_fields_on_keyread.
  
  
  Revision r1496:
  ha_innobase::extra(): Replace references to prebuilt->trx with
  thd_to_trx(ha_thd()), in order to avoid potential memory corruption.
  
  
  Revision r1501:
  Fix Bug#21293: Consider transactions that had edited non-transactional
  tables heavier than ones that had not. This helps killing the "right"
  transaction in case of a deadlock.
  
  Approved by:	Heikki
  
  
  Revision r1513:
  Split ut_a(a && b [&& c...]); into separate ut_a(a); ut_a(b); [ut_a(c); ...].
  This makes it possible to see which expression was false by looking at the
  error message.
  
  Approved by:	Marko
  
  
  Revision r1527:
  Cleanup in ha_innodb.cc:
  
  thd_is_replication_slave_thread(), thd_has_edited_nontrans_tables():
  Remove blank line between the function comment and the function
  definition.  There should be exactly one line between the return
  type and the function comment, and this line should be one of
  '', 'static', 'UNIV_INLINE', and 'extern "C"'.
  
  
  Revision r1538:
  Do not return error in ha_innobase::info if srv_force_recovery >= 4. This is to allow for 
  normal processing of the query by MySQL instead of generating an error.
  
  Reviewed by: Heikki
  
  
  
  Revision r1551:
  ha_innobase::innobase_read_and_init_auto_inc(): Remember and restore
  prebuilt->sql_stat_start.  In an ALTER TABLE statement in the innodb_gis
  test, an ut_ad() assertion failed, because no IX lock had been acquired
  on the table, because prebuilt->sql_stat_start was inadvertently reset
  to FALSE, by this function.  This function was called via
  ha_innobase::info() and mysql_prepare_alter_table().
storage/innobase/plug.in:
  Fixes after merging InnoDB snapshots.
  
  Revision r1488:
  Make InnoDB pluggable.  That is, merge the modifications from MySQL WL#2936
  and adapt some things.
  
  Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
  <mysql/plugin.h>.  Until the function is declared there, you can
  uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
  
  Remove storage/innobase/*/Makefile.am.  The whole compilation is driven by
  storage/innobase/Makefile.am and storage/innobase/plug.in.
  
  plug.in: Declare InnoDB as a dynamic plugin.
  
  ha_innodb.h: Remove the declarations of many global variables.  The variables
  are no longer directly referenced outside of storage/innobase.
  
  trx_t: Add the field trx->duplicates.
  
  trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
  
  innobase_query_is_update(): Remove.  Consult trx->duplicates instead.
storage/innobase/handler/ha_innodb.h:
  Fixes after merging InnoDB snapshots.
  
  Revision r1488:
  Make InnoDB pluggable.  That is, merge the modifications from MySQL WL#2936
  and adapt some things.
  
  Note that ha_innodb.cc depends on mysql_tmpfile() being declared in
  <mysql/plugin.h>.  Until the function is declared there, you can
  uncomment the buggy definition of mysql_tmpfile in ha_innodb.cc.
  
  Remove storage/innobase/*/Makefile.am.  The whole compilation is driven by
  storage/innobase/Makefile.am and storage/innobase/plug.in.
  
  plug.in: Declare InnoDB as a dynamic plugin.
  
  ha_innodb.h: Remove the declarations of many global variables.  The variables
  are no longer directly referenced outside of storage/innobase.
  
  trx_t: Add the field trx->duplicates.
  
  trx_create(): Initialize the fields trx->active_trans and trx->duplicates.
  
  innobase_query_is_update(): Remove.  Consult trx->duplicates instead.
2007-07-10 05:37:43 -06:00
unknown
f3009f3f06 Applied innodb-5.1-ss1381 snapshot
Bug #27381: InnoDB exits when attempting to rename table to non-existant database
  Fix Bug#27381 by calling os_file_handle_error_no_exit() instead of
  os_file_handle_error().


mysql-test/t/innodb.test:
  Applied innodb-5.1-ss1381 snapshot
  
  Revision r1373:
  Port r1372 from branches/5.0: Merge a change from MySQL AB, and remove
  the innodb_gis test case.
  
  ChangeSet
    2007/02/19 13:57:06+03:00 kaa@polly.local
    Bug#18743: Several test cases fails if "classic" configuration in 5.0
    The problem happened because those tests were using "cp932" and "ucs2"
    without checking whether these character sets are available.
    This fix moves test parts to make character set specific parts be
    tested only if they are:
    - some parts were moved to "ctype_ucs.test" and "ctype_cp932.test"
    - some parts were moved to the newly added tests "innodb-ucs2.test",
    "mysqlbinglog-cp932.test" and "sp-ucs2.test"
  
  mysql-test/t/innodb.test
    2007/02/19 13:57:02+03:00 kaa@polly.local +0 -222
    Moved ucs2-specific test cases to innodb-ucs2.test
storage/innobase/Makefile.am:
  Applied innodb-5.1-ss1381 snapshot
  
  Revision r1353:
  Makefile.am: EXTRA_DIST: Add the grammar source files to the
  source distribution of MySQL.
storage/innobase/dict/dict0dict.c:
  Applied innodb-5.1-ss1381 snapshot
  
  Revision r1350:
  Lock the data dictionary during rollback.  This removes the rare
  debug assertion failure ut_ad(mutex_own(&(dict_sys->mutex))) in
  dict_table_get_on_id() after the rollback following crash recovery.
storage/innobase/handler/ha_innodb.cc:
  Applied innodb-5.1-ss1381 snapshot
  
  Revision r1377:
  Add static qualifiers to some symbols in ha_innodb.cc that are not
  referenced from other modules.
  
  
  Revision r1380:
  Remove ha_innobase::last_query_id and references to thd->query_id.
  
  MySQL calls external_lock at the beginning and end of a statement
  when it is not calling start_stmt or commit or rollback.  Thus,
  statement boundaries can be (and are already) detected without
  monitoring thd->query_id.
  
  The function innobase_commit() seemingly lacks the call to
  innobase_release_stat_resources(), which should be called at
  the end of every SQL statement.  The call was replaced by
  equivalent statements by Vadim Tkachenko when he implemented
  innodb_commit_concurrency in MySQL 5.0:
  
  http://mysql.bkbits.net:8080/mysql-5.0/?PAGE=patch&REV=1.1886.70.1
  
  
  Revision r1355:
  class ha_innobase: Replace statistic_increment() with ha_statistic_increment().
  
  ha_innobase::change_active_index(): Do not call current_thd unless
  UNIV_DEBUG is defined.
  
  
  Revision r1369:
  Merge a change from MySQL AB:
  
  ChangeSet@1.2409.1.83  2007-03-06 10:36:15-07:00  tsmith@hindu.god
  Bug #26598: Create variable to allow turning off of statistic gathering
  on metadata commands
  
  Add innodb_stats_on_metadata option, which enables gathering
  index statistics when processing metadata commands such as
  SHOW TABLE STATUS.  Default behavior of the server does not
  change (this option is enabled by default).
  
  
  Revision r1342:
  Minor cleanup in ha_innodb.cc.
  
  Remove the unused constants HA_INNOBASE_ROWS_IN_TABLE and
  HA_INNOBASE_RANGE_COUNT.  Declare innobase_active_counter static.
  
  
  Revision r1381:
  innobase_commit(): Correct the comments and formatting that were broken when
  innodb_commit_concurrency was implemented.
  
  
  Revision r1360:
  Minor cleanup.
  
  innobase_query_caching_of_table_permitted(): Make static.
  
  ha_innobase::register_query_cache_table(): Move the function
  definition from ha_innodb.h to ha_innodb.cc.  Add comments.
storage/innobase/handler/ha_innodb.h:
  Applied innodb-5.1-ss1381 snapshot
  
  Revision r1377:
  Add static qualifiers to some symbols in ha_innodb.cc that are not
  referenced from other modules.
  
  
  Revision r1380:
  Remove ha_innobase::last_query_id and references to thd->query_id.
  
  MySQL calls external_lock at the beginning and end of a statement
  when it is not calling start_stmt or commit or rollback.  Thus,
  statement boundaries can be (and are already) detected without
  monitoring thd->query_id.
  
  The function innobase_commit() seemingly lacks the call to
  innobase_release_stat_resources(), which should be called at
  the end of every SQL statement.  The call was replaced by
  equivalent statements by Vadim Tkachenko when he implemented
  innodb_commit_concurrency in MySQL 5.0:
  
  http://mysql.bkbits.net:8080/mysql-5.0/?PAGE=patch&REV=1.1886.70.1
  
  
  Revision r1369:
  Merge a change from MySQL AB:
  
  ChangeSet@1.2409.1.83  2007-03-06 10:36:15-07:00  tsmith@hindu.god
  Bug #26598: Create variable to allow turning off of statistic gathering
  on metadata commands
  
  Add innodb_stats_on_metadata option, which enables gathering
  index statistics when processing metadata commands such as
  SHOW TABLE STATUS.  Default behavior of the server does not
  change (this option is enabled by default).
  
  
  Revision r1360:
  Minor cleanup.
  
  innobase_query_caching_of_table_permitted(): Make static.
  
  ha_innobase::register_query_cache_table(): Move the function
  definition from ha_innodb.h to ha_innodb.cc.  Add comments.
storage/innobase/include/trx0trx.h:
  Applied innodb-5.1-ss1381 snapshot
  
  Revision r1344:
  Rename the Boolean field trx->type to trx->is_purge
  and remove the constants TRX_USER and TRX_PURGE.
  
  
  Revision r1343:
  trx_sig_struct: Remove state.  It is always assigned to TRX_SIG_WAITING
  and never tested.
storage/innobase/os/os0file.c:
  Applied innodb-5.1-ss1381 snapshot
  
  Revision r1352:
  Fix typo in comment in os/os0file.c
  
  Approved by:	heikki
  
  
  
  Revision r1366:
  Fix Bug#27381 by calling os_file_handle_error_no_exit() instead of
  os_file_handle_error().
  
  Approved by:	Heikki
storage/innobase/row/row0undo.c:
  Applied innodb-5.1-ss1381 snapshot
  
  Revision r1350:
  Lock the data dictionary during rollback.  This removes the rare
  debug assertion failure ut_ad(mutex_own(&(dict_sys->mutex))) in
  dict_table_get_on_id() after the rollback following crash recovery.
storage/innobase/trx/trx0purge.c:
  Applied innodb-5.1-ss1381 snapshot
  
  Revision r1344:
  Rename the Boolean field trx->type to trx->is_purge
  and remove the constants TRX_USER and TRX_PURGE.
storage/innobase/trx/trx0trx.c:
  Applied innodb-5.1-ss1381 snapshot
  
  Revision r1344:
  Rename the Boolean field trx->type to trx->is_purge
  and remove the constants TRX_USER and TRX_PURGE.
  
  
  Revision r1343:
  trx_sig_struct: Remove state.  It is always assigned to TRX_SIG_WAITING
  and never tested.
2007-03-28 22:46:28 -06:00
unknown
76de7d788c Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340

Fixes:
- Bug #21409: Incorrect result returned when in READ-COMMITTED with query_cache ON
  At low transaction isolation levels we let each consistent read set
  its own snapshot.

- Bug #23666: strange Innodb_row_lock_time_% values in show status; also millisecs wrong
  On Windows ut_usectime returns secs and usecs relative to the UNIX
  epoch (which is Jan, 1 1970).

- Bug #25494: LATEST DEADLOCK INFORMATION is not always cleared
  lock_deadlock_recursive(): When the search depth or length is exceeded,
  rewind lock_latest_err_file and display the two transactions at the
  point of aborting the search.

- Bug #25927: Foreign key with ON DELETE SET NULL on NOT NULL can crash server
  Prevent ALTER TABLE ... MODIFY ... NOT NULL on columns for which
  there is a foreign key constraint ON ... SET NULL.

- Bug #26835: Repeatable corruption of utf8-enabled tables inside InnoDB
  The bug could be reproduced as follows:

  Define a table so that the first column of the clustered index is
  a VARCHAR or a UTF-8 CHAR in a collation where sequences of bytes
  of differing length are considered equivalent.

  Insert and delete a record.  Before the delete-marked record is
  purged, insert another record whose first column is of different
  length but equivalent to the first record.  Under certain conditions,
  the insertion can be incorrectly performed as update-in-place.

  Likewise, an operation that could be done as update-in-place can
  unnecessarily be performed as delete and insert, but that would not
  cause corruption but merely degraded performance.


mysql-test/r/innodb.result:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1284:
  Merge changes from MySQL AB:
  
  ChangeSet
    2007/01/24 14:49:36+04:00 holyfoot@mysql.com 
    bug 22682 Test fails --without-geometry
    geometry dependent parts moved to proper .test files
  
  mysql-test/r/innodb.result
    2007/01/24 14:49:34+04:00 holyfoot@mysql.com +0 -2
    result fixed
  
  mysql-test/r/innodb_gis.result
    2007/01/24 14:49:34+04:00 holyfoot@mysql.com +2 -0
    result fixed
  
  mysql-test/t/innodb.test
    2007/01/24 14:49:34+04:00 holyfoot@mysql.com +0 -6
    HAVE_GEOMETRY dependent part moved to innodb_gis.test
  
  mysql-test/t/innodb_gis.test
    2007/01/24 14:49:35+04:00 holyfoot@mysql.com +6 -0
    HAVE_GEOMETRY dependent part moved here from innodb.test
  
  
  Revision r1186:
  dict_load_foreign(): Use a local variable instead of the 10-bit field
  foreign->n_fields in order to preserve ON UPDATE CASCADE and
  ON DELETE CASCADE flags.  For some reason, gcc does not warn about
  shifting a 10-bit field to right by 24 bits.  (Bug 24741)
  
  This bug was introduced while reducing the memory footprint of the
  InnoDB data dictionary (Bug 20877).
  
  innodb.test, innodb.result: Add a test case.
  
  
  Revision r1318:
  Add a test case for r1316 (Bug #25927).
  
  
  Revision r1340:
  innodb.test, innodb.result: Add test case for Bug #26835.
  The bug could be reproduced as follows:
  
  Define a table so that the first column of the clustered index is
  a VARCHAR or a UTF-8 CHAR in a collation where sequences of bytes
  of differing length are considered equivalent.
  
  Insert and delete a record.  Before the delete-marked record is
  purged, insert another record whose first column is of different
  length but equivalent to the first record.  Under certain conditions,
  the insertion can be incorrectly performed as update-in-place.
  
  Likewise, an operation that could be done as update-in-place can
  unnecessarily be performed as delete and insert, but that would not
  cause corruption but merely degraded performance.
mysql-test/t/innodb.test:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1284:
  Merge changes from MySQL AB:
  
  ChangeSet
    2007/01/24 14:49:36+04:00 holyfoot@mysql.com 
    bug 22682 Test fails --without-geometry
    geometry dependent parts moved to proper .test files
  
  mysql-test/r/innodb.result
    2007/01/24 14:49:34+04:00 holyfoot@mysql.com +0 -2
    result fixed
  
  mysql-test/r/innodb_gis.result
    2007/01/24 14:49:34+04:00 holyfoot@mysql.com +2 -0
    result fixed
  
  mysql-test/t/innodb.test
    2007/01/24 14:49:34+04:00 holyfoot@mysql.com +0 -6
    HAVE_GEOMETRY dependent part moved to innodb_gis.test
  
  mysql-test/t/innodb_gis.test
    2007/01/24 14:49:35+04:00 holyfoot@mysql.com +6 -0
    HAVE_GEOMETRY dependent part moved here from innodb.test
  
  
  Revision r1283:
  Merge changes from MySQL AB:
  
  ChangeSet
    2007/01/22 18:42:52+02:00 monty@mysql.com 
    Give warnings for unused objects
    Changed error message to be compatible with old error file
    Added new error message for new DUP_ENTRY syntax
  
  mysql-test/t/innodb.test
    2007/01/22 18:42:49+02:00 monty@mysql.com +14 -14
    Changed to use new error message
  
  
  Revision r1186:
  dict_load_foreign(): Use a local variable instead of the 10-bit field
  foreign->n_fields in order to preserve ON UPDATE CASCADE and
  ON DELETE CASCADE flags.  For some reason, gcc does not warn about
  shifting a 10-bit field to right by 24 bits.  (Bug 24741)
  
  This bug was introduced while reducing the memory footprint of the
  InnoDB data dictionary (Bug 20877).
  
  innodb.test, innodb.result: Add a test case.
  
  
  Revision r1318:
  Add a test case for r1316 (Bug #25927).
  
  
  Revision r1329:
  Merge changes from MySQL AB to mysql-test directives.
  The results are not affected.
  
  
  Revision r1340:
  innodb.test, innodb.result: Add test case for Bug #26835.
  The bug could be reproduced as follows:
  
  Define a table so that the first column of the clustered index is
  a VARCHAR or a UTF-8 CHAR in a collation where sequences of bytes
  of differing length are considered equivalent.
  
  Insert and delete a record.  Before the delete-marked record is
  purged, insert another record whose first column is of different
  length but equivalent to the first record.  Under certain conditions,
  the insertion can be incorrectly performed as update-in-place.
  
  Likewise, an operation that could be done as update-in-place can
  unnecessarily be performed as delete and insert, but that would not
  cause corruption but merely degraded performance.
storage/innobase/buf/buf0buf.c:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1242:
  Merge r1239 from
  branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/buf/buf0flu.c:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1242:
  Merge r1239 from
  branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/buf/buf0lru.c:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1242:
  Merge r1239 from
  branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/dict/dict0boot.c:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1242:
  Merge r1239 from
  branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/dict/dict0crea.c:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1242:
  Merge r1239 from
  branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
  
  
  Revision r1324:
  Merge changes from MySQL AB:
  
  ChangeSet@1.2452, 2007-02-23 13:13:55+02:00, monty@mysql.com +177 -0
    Fixed compiler warnings
    ...
    Fixed compiler warnings detected on windows64
storage/innobase/dict/dict0dict.c:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1242:
  Merge r1239 from
  branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
  
  
  Revision r1316:
  Prevent ALTER TABLE ... MODIFY ... NOT NULL on columns for which
  there is a foreign key constraint ON ... SET NULL.  (Bug #25927)
  
  dict_foreign_find_index(): Add paramettter check_null.
  
  dict_foreign_add_to_cache(): Do not allow ON DELETE SET NULL
  or ON UPDATE SET NULL if any of the referencing columns are declared NOT NULL.
  
  
  Revision r1324:
  Merge changes from MySQL AB:
  
  ChangeSet@1.2452, 2007-02-23 13:13:55+02:00, monty@mysql.com +177 -0
    Fixed compiler warnings
    ...
    Fixed compiler warnings detected on windows64
storage/innobase/dict/dict0load.c:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1186:
  dict_load_foreign(): Use a local variable instead of the 10-bit field
  foreign->n_fields in order to preserve ON UPDATE CASCADE and
  ON DELETE CASCADE flags.  For some reason, gcc does not warn about
  shifting a 10-bit field to right by 24 bits.  (Bug 24741)
  
  This bug was introduced while reducing the memory footprint of the
  InnoDB data dictionary (Bug 20877).
  
  innodb.test, innodb.result: Add a test case.
  
  
  Revision r1242:
  Merge r1239 from
  branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
  
  
  Revision r1324:
  Merge changes from MySQL AB:
  
  ChangeSet@1.2452, 2007-02-23 13:13:55+02:00, monty@mysql.com +177 -0
    Fixed compiler warnings
    ...
    Fixed compiler warnings detected on windows64
storage/innobase/fil/fil0fil.c:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1242:
  Merge r1239 from
  branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/fsp/fsp0fsp.c:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1242:
  Merge r1239 from
  branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/ha/ha0ha.c:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1242:
  Merge r1239 from
  branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/handler/ha_innodb.cc:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1204:
  Change this in ha_innobase:
  
   void*           innobase_prebuilt;
  
  to this:
  
   row_prebuilt_t* prebuilt;
  
  by introducing the typedef in ha_innodb.h, and remove all the now needless
  local variables and casts in ha_innodb.cc.
  
  Revision r1298:
  ha_innodb.cc: Remove all references to thd->ha_data[hton->slot].
  
  thd_to_trx(thd, hton): Accessor for getting the InnoDB trx object
  of a MySQL thread object and an InnoDB handlerton.
  
  
  Revision r1292:
  Remove the declarations of some global functions in ha_innodb.h and declare
  them static in ha_innodb.cc.  These functions are invoked via function
  pointers in handlerton.
  
  
  Revision r1300:
  ha_innodb.cc: Replace thd->tablespace_op with thd_tablespace_op(thd).
  Plugins must treat class THD as an opaque type.
  
  
  Revision r1198:
  Merge a change from MySQL AB:
  
  ChangeSet@1.2372, 2006-12-31 02:29:11+01:00, kent@mysql.com +79 -0
    Many files:
      Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
      Adjusted year(s) in copyright header 
      Added GPL copyright text
  
  
  Revision r1271:
  Merge changes from MySQL AB:
  
  Rename some FIELD_TYPE_ constants to MYSQL_TYPE_.
  
  Change the scope of a type cast of two dividends.
  
  
  Revision r1299:
  ha_innodb.cc: Replace thd->in_lock_tables with thd_in_lock_tables(thd).
  Plugins must treat class THD as an opaque type.
  
  
  Revision r1201:
  Apply patch from MySQL:
  
   ChangeSet@1.2353, 2006-12-19 16:57:51-07:00, tsmith@siva.hindu.god +13 -0
     Added innodb_rollback_on_timeout option to restore the 4.1 
     InnoDB timeout behavior (Bug 24200)
  
  Revision r1322:
  ha_innodb.cc: Remove the unused innobase_repl_ variables.
  
  
  Revision r1324:
  Merge changes from MySQL AB:
  
  ChangeSet@1.2452, 2007-02-23 13:13:55+02:00, monty@mysql.com +177 -0
    Fixed compiler warnings
    ...
    Fixed compiler warnings detected on windows64
  
  
  Revision r1334:
  Fix for Bug# 21409. At low transaction isolation levels we let each 
  consistent read set its own snapshot
storage/innobase/handler/ha_innodb.h:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1204:
  Change this in ha_innobase:
  
   void*           innobase_prebuilt;
  
  to this:
  
   row_prebuilt_t* prebuilt;
  
  by introducing the typedef in ha_innodb.h, and remove all the now needless
  local variables and casts in ha_innodb.cc.
  
  Revision r1292:
  Remove the declarations of some global functions in ha_innodb.h and declare
  them static in ha_innodb.cc.  These functions are invoked via function
  pointers in handlerton.
  
  
  Revision r1198:
  Merge a change from MySQL AB:
  
  ChangeSet@1.2372, 2006-12-31 02:29:11+01:00, kent@mysql.com +79 -0
    Many files:
      Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
      Adjusted year(s) in copyright header 
      Added GPL copyright text
  
  
  Revision r1201:
  Apply patch from MySQL:
  
   ChangeSet@1.2353, 2006-12-19 16:57:51-07:00, tsmith@siva.hindu.god +13 -0
     Added innodb_rollback_on_timeout option to restore the 4.1 
     InnoDB timeout behavior (Bug 24200)
storage/innobase/ibuf/ibuf0ibuf.c:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1242:
  Merge r1239 from
  branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/include/buf0buf.ic:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1242:
  Merge r1239 from
  branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/include/buf0flu.ic:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1242:
  Merge r1239 from
  branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/include/dict0dict.ic:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1242:
  Merge r1239 from
  branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/include/ha0ha.ic:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1242:
  Merge r1239 from
  branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/include/lock0lock.ic:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1242:
  Merge r1239 from
  branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/include/log0log.ic:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1242:
  Merge r1239 from
  branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/include/mem0mem.h:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1241:
  Remove the unused function mem_strdupq().
storage/innobase/include/mem0mem.ic:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1241:
  Remove the unused function mem_strdupq().
storage/innobase/include/rem0rec.ic:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1338:
  rec_offs_nth_size(): Treat n==0 as a special case.  (Bug #26835)
storage/innobase/include/sync0rw.ic:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1242:
  Merge r1239 from
  branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/include/sync0sync.h:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1242:
  Merge r1239 from
  branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
  
  
  Revision r1247:
  Rename mutex_enter_nowait to mutex_enter_nowait_func and add macro
  mutex_enter_nowait that supplies the default __FILE__ and __LINE__
  arguments. Adjust callers.
storage/innobase/include/sync0sync.ic:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1294:
  Fixed inline asm code, it didn't work with GCC > ver 3.x.
  
  
  Revision r1244:
  Add ut_ad() debug assertions.
  
  UT_LIST_ADD_FIRST(), UT_LIST_ADD_LAST(), UT_LIST_INSERT_AFTER():
  Assert against some trivial cases of cyclic lists.
  
  mutex_enter_func(): Assert that the current thread is not holding the mutex.
  
  
  Revision r1242:
  Merge r1239 from
  branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/include/trx0sys.ic:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1242:
  Merge r1239 from
  branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/include/univ.i:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1285:
  Merge a change from MySQL AB:
  
  ChangeSet
    2006/10/26 15:41:47-04:00 iggy@amd64. 
    Post Merge Cleanup
  
  storage/innobase/include/univ.i
    2006/10/26 15:38:50-04:00 iggy@amd64. +9 -0
    Post Merge Cleanup
storage/innobase/include/ut0lst.h:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1244:
  Add ut_ad() debug assertions.
  
  UT_LIST_ADD_FIRST(), UT_LIST_ADD_LAST(), UT_LIST_INSERT_AFTER():
  Assert against some trivial cases of cyclic lists.
  
  mutex_enter_func(): Assert that the current thread is not holding the mutex.
storage/innobase/lock/lock0lock.c:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1242:
  Merge r1239 from
  branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
  
  
  Revision r1330:
  lock_deadlock_recursive(): When the search depth or length is exceeded,
  rewind lock_latest_err_file and display the two transactions at the
  point of aborting the search.  (Bug #25494)
  
  
  Revision r1332:
  lock_deadlock_recursive(): When aborting the search, display a note
  regardless of start->undo_no.  Otherwise, aborted searches may show
  up as genuine deadlocks.  This mistake was made in r1330.
storage/innobase/log/log0log.c:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1242:
  Merge r1239 from
  branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
  
  
  Revision r1247:
  Rename mutex_enter_nowait to mutex_enter_nowait_func and add macro
  mutex_enter_nowait that supplies the default __FILE__ and __LINE__
  arguments. Adjust callers.
storage/innobase/log/log0recv.c:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1242:
  Merge r1239 from
  branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/mem/mem0pool.c:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1242:
  Merge r1239 from
  branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/pars/pars0pars.c:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1242:
  Merge r1239 from
  branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/que/que0que.c:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1242:
  Merge r1239 from
  branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/read/read0read.c:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1242:
  Merge r1239 from
  branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/row/row0mysql.c:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1242:
  Merge r1239 from
  branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
  
  
  Revision r1201:
  Apply patch from MySQL:
  
   ChangeSet@1.2353, 2006-12-19 16:57:51-07:00, tsmith@siva.hindu.god +13 -0
     Added innodb_rollback_on_timeout option to restore the 4.1 
     InnoDB timeout behavior (Bug 24200)
  
  Revision r1324:
  Merge changes from MySQL AB:
  
  ChangeSet@1.2452, 2007-02-23 13:13:55+02:00, monty@mysql.com +177 -0
    Fixed compiler warnings
    ...
    Fixed compiler warnings detected on windows64
storage/innobase/row/row0vers.c:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1242:
  Merge r1239 from
  branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/srv/srv0que.c:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1242:
  Merge r1239 from
  branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/srv/srv0srv.c:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1262:
  Fix for Bug# 23666. On Windows ut_usectime returns secs 
  and usecs relative to the UNIX epoch (which is Jan, 1 1970).
  
  
  Revision r1242:
  Merge r1239 from
  branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/sync/sync0rw.c:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1242:
  Merge r1239 from
  branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
  
  
  Revision r1247:
  Rename mutex_enter_nowait to mutex_enter_nowait_func and add macro
  mutex_enter_nowait that supplies the default __FILE__ and __LINE__
  arguments. Adjust callers.
  
  Revision r1324:
  Merge changes from MySQL AB:
  
  ChangeSet@1.2452, 2007-02-23 13:13:55+02:00, monty@mysql.com +177 -0
    Fixed compiler warnings
    ...
    Fixed compiler warnings detected on windows64
storage/innobase/sync/sync0sync.c:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1242:
  Merge r1239 from
  branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
  
  
  Revision r1247:
  Rename mutex_enter_nowait to mutex_enter_nowait_func and add macro
  mutex_enter_nowait that supplies the default __FILE__ and __LINE__
  arguments. Adjust callers.
storage/innobase/thr/thr0loc.c:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1242:
  Merge r1239 from
  branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/trx/trx0purge.c:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1242:
  Merge r1239 from
  branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/trx/trx0roll.c:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1242:
  Merge r1239 from
  branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/trx/trx0rseg.c:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1242:
  Merge r1239 from
  branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/trx/trx0sys.c:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1242:
  Merge r1239 from
  branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/trx/trx0trx.c:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1242:
  Merge r1239 from
  branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
  
  
  Revision r1324:
  Merge changes from MySQL AB:
  
  ChangeSet@1.2452, 2007-02-23 13:13:55+02:00, monty@mysql.com +177 -0
    Fixed compiler warnings
    ...
    Fixed compiler warnings detected on windows64
storage/innobase/trx/trx0undo.c:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1242:
  Merge r1239 from
  branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/usr/usr0sess.c:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1242:
  Merge r1239 from
  branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/ut/ut0ut.c:
  Apply the following InnoDB snapshots:
  innodb-5.1-ss1318
  innodb-5.1-ss1330
  innodb-5.1-ss1332
  innodb-5.1-ss1340
  
  Revision r1262:
  Fix for Bug# 23666. On Windows ut_usectime returns secs 
  and usecs relative to the UNIX epoch (which is Jan, 1 1970).
2007-03-22 15:59:35 -06:00
unknown
9e6784924a Fixed compiler warnings
Fixed compile-pentium64 scripts
Fixed wrong estimate of update_with_key_prefix in sql-bench
Merge bk-internal.mysql.com:/home/bk/mysql-5.1 into mysql.com:/home/my/mysql-5.1
Fixed unsafe define of uint4korr()
Fixed that --extern works with mysql-test-run.pl
Small trivial cleanups
This also fixes a bug in counting number of rows that are updated when we have many simultanous queries
Move all connection handling and command exectuion main loop from sql_parse.cc to sql_connection.cc
Split handle_one_connection() into reusable sub functions.
Split create_new_thread() into reusable sub functions.
Added thread_scheduler; Preliminary interface code for future thread_handling code.

Use 'my_thread_id' for internal thread id's
Make thr_alarm_kill() to depend on thread_id instead of thread
Make thr_abort_locks_for_thread() depend on thread_id instead of thread
In store_globals(), set my_thread_var->id to be thd->thread_id.
Use my_thread_var->id as basis for my_thread_name()
The above changes makes the connection we have between THD and threads more soft.

Added a lot of DBUG_PRINT() and DBUG_ASSERT() functions
Fixed compiler warnings
Fixed core dumps when running with --debug
Removed setting of signal masks (was never used)
Made event code call pthread_exit() (portability fix)
Fixed that event code doesn't call DBUG_xxx functions before my_thread_init() is called.
Made handling of thread_id and thd->variables.pseudo_thread_id uniform.
Removed one common 'not freed memory' warning from mysqltest
Fixed a couple of usage of not initialized warnings (unlikely cases)
Suppress compiler warnings from bdb and (for the moment) warnings from ndb


BitKeeper/deleted/.del-SETUP.sh.rej:
  Rename: BUILD/SETUP.sh.rej -> BitKeeper/deleted/.del-SETUP.sh.rej
BitKeeper/deleted/.del-configure.in.rej:
  Rename: configure.in.rej -> BitKeeper/deleted/.del-configure.in.rej
BitKeeper/deleted/.del-my_global.h.rej:
  Rename: include/my_global.h.rej -> BitKeeper/deleted/.del-my_global.h.rej
BitKeeper/deleted/.del-my_pthread.h.rej:
  Rename: include/my_pthread.h.rej -> BitKeeper/deleted/.del-my_pthread.h.rej
BitKeeper/deleted/.del-mysql_client_test.c.rej:
  Rename: tests/mysql_client_test.c.rej -> BitKeeper/deleted/.del-mysql_client_test.c.rej
BitKeeper/deleted/.del-mysqld.cc.rej~35c1c438e11ebd89:
  Rename: sql/mysqld.cc.rej -> BitKeeper/deleted/.del-mysqld.cc.rej~35c1c438e11ebd89
BitKeeper/deleted/.del-sql_parse.cc.rej:
  Rename: sql/sql_parse.cc.rej -> BitKeeper/deleted/.del-sql_parse.cc.rej
BitKeeper/deleted/.del-table.cc.rej:
  Rename: sql/table.cc.rej -> BitKeeper/deleted/.del-table.cc.rej
BitKeeper/deleted/.del-thr_alarm.c.rej:
  Rename: mysys/thr_alarm.c.rej -> BitKeeper/deleted/.del-thr_alarm.c.rej
BUILD/compile-pentium64:
  Update this to be in line with compile-pentium
BUILD/compile-pentium:
  Send command line options to SETUP.sh
BUILD/compile-solaris-sparc-debug:
  Update scripts
BUILD/compile-solaris-sparc-forte:
  Update scripts
BUILD/compile-solaris-sparc-purify:
  Update scripts
BUILD/compile-solaris-sparc:
  Update scripts
BitKeeper/deleted/.del-DbtupSystemRestart.cpp~15b54d7e4e75d2d:
  Removed compiler warning
BitKeeper/deleted/.del-ha_berkeley.cc:
  Moved get_auto_primary_key() here as int5store() gives (wrong) compiler warnings in win64
configure.in:
  Added detection of port_create and port.h (for future)as 
  ---
  manual merge
BitKeeper/deleted/.del-ha_berkeley.h:
  Moved get_auto_primary_key() to ha_berkeley.cc
BitKeeper/deleted/.del-mysqlmanager.c~e97636d71145a0b:
  Fixed compiler warnings
BitKeeper/etc/ignore:
  added storage/ndb/src/ndbapi/ndberror_check
client/mysqlbinlog.cc:
  Removed not needed 'static' (caused compiler warning)
client/mysqldump.c:
  Fixed compiler warnings from 'max' build
client/mysqltest.c:
  Free warning and query memory no abort.
  (Removes strange warnings on screen if mysql-test-run fails)
  Removed compiler warnings
  Portability fix for windows (windows doesn't have mode_t)
client/sql_string.h:
  Removed compiler warning
cmd-line-utils/readline/xmalloc.c:
  Fixed compiler warnings from 'max' build
extra/charset2html.c:
  Fixed compiler warnings
extra/comp_err.c:
  Fixed compiler warnings from 'max' build
extra/yassl/include/lock.hpp:
  Fix for windows64
extra/yassl/include/openssl/ssl.h:
  Changed prototype for SSL_set_fd() to fix compiler warnings (and possible errors) on windows 64 bit
extra/yassl/include/socket_wrapper.hpp:
  Moved socket_t to ssl.h, to be able to removed compiler warnings on windows 64 bit
extra/yassl/include/yassl.hpp:
  Fix for windows64
extra/yassl/src/ssl.cpp:
  Removed compiler warning
  Detect wrong parameter (Happens when running test suite on solaris)
  Changed prototype for SSL_set_fd() to fix compiler warnings (and possible errors) on windows 64 bit
extra/yassl/taocrypt/src/integer.cpp:
  Fixed compiler warnings
extra/yassl/testsuite/testsuite.cpp:
  Removed compiler warning
include/config-win.h:
  Added HAVE_WINSOCK2 (for future)
include/my_dbug.h:
  Fixed DBUG_PROCESS() so that we don't get compiler warnings for it
include/my_global.h:
  Fixed unsafe define of uint4korr()
  manual merge (ignore changes from 5.0)
  Fixed warnings on win64 when using int5store and int6store
include/my_pthread.h:
  Added my_thread_id typedef
  Renamed 'my_thread_id() function to my_thead_dbug_id()
include/thr_alarm.h:
  Make thr_alarm_kill() to depend on thread_id instead of thread
include/thr_lock.h:
  Make thr_abort_locks_for_thread() depend on thread_id instead of thread
libmysql/libmysql.def:
  Fixed compiler warnings on win64
libmysqld/CMakeLists.txt:
  Added missing files
libmysqld/Makefile.am:
  Added new files
libmysqld/lib_sql.cc:
  Remove not needed code (store_globals() now takes care of things)
mysql-test/lib/mtr_report.pl:
  Removed wrong messages when using --extern
mysql-test/mysql-test-run.pl:
  Fixed that --extern works
  Print help on stdout instead of stderr (make it easier to pipe it to less)
  Fixed typo that caused mysql-test-run.pl to fail on Solaris
mysql-test/r/keywords.result:
  manual merge
mysql-test/r/ndb_lock.result:
  After merge fixes
mysql-test/r/ps.result:
  Portability fix
mysql-test/t/disabled.def:
  Disabled ndb_alter_table as this very often fails for me (and have done it for a long time)
mysql-test/t/keywords.test:
  manual merge
mysql-test/t/ndb_lock.test:
  Added other possible error code
mysql-test/t/ps.test:
  Portability fix (when compiling without DLOPEN)
mysql-test/t/wait_timeout.test:
  Don't run this if we are not using a thread per connection (as other thread_handling code may not support timeouts)
mysys/base64.c:
  Fixed compiler warnings on win64
mysys/mf_keycache.c:
  Fixed compiler warnings
mysys/my_getopt.c:
  Fixed compiler warning
mysys/my_init.c:
  Fixed compiler warning
  Re-indented long comment
mysys/my_thr_init.c:
  Always use mysys_var->id to generate thread name (makes things uniform accross thread implementations and thread usage)
  Always generate my_thread_name() when using DBUG
  Ensure mysys_var->pthread_self is set
  Fixed compiler warnings
mysys/ptr_cmp.c:
  Fixed compiler warnings from 'max' build
mysys/thr_alarm.c:
  Change thr_alarm_kill() to use mysys_var->id instead of thread id
  Fixed compiler warning on windows
mysys/thr_lock.c:
  Change thr_abort_locks_for_thread() to use mysys_var->id instead of thread id
  Add purecov statements around not tested code
  Fixed compiler warnings
mysys/thr_mutex.c:
  my_thread_id() -> my_thread_dbug_id()
server-tools/instance-manager/guardian.cc:
  Fixed compiler warning
server-tools/instance-manager/instance.cc:
  Fixed compiler warning
server-tools/instance-manager/mysql_connection.cc:
  Fixed compiler warnings
server-tools/instance-manager/mysqlmanager.cc:
  Fixed compiler warnings
sql/CMakeLists.txt:
  Added missing files
sql/Makefile.am:
  Added new files
sql/event_scheduler.cc:
  Added pthread_exit() calls
  Ensure DBUG_xxx calls are not made before my_thread_init()
  Use common functions to set up thread handling
sql/field.h:
  manual merge
sql/ha_ndbcluster.cc:
  Removed some trivial 'current_thd' calls
sql/handler.cc:
  Avoid warnings on KILL_CONNECTION
  Don't print out null pointer with printf()  (Causes crashes on Solaris)
sql/item.cc:
  Fixed compiler warnings from 'max' build
sql/item_cmpfunc.cc:
  After merge fixes
sql/item_func.cc:
  Merge embedded and normal code usage
  (GET_LOCK, RELEASE_LOCK now works on my_thread_id instead of pthread_t)
  Fixed compiler warning
sql/item_strfunc.cc:
  Fixed compiler warning
sql/item_timefunc.cc:
  Fixed compiler warnings
sql/lock.cc:
  Use (new) parameter to thr_abort_locks_for_thread()
sql/log.cc:
  Fixed compiler warning
sql/log_event.cc:
  Fixed compiler warnings about not used variable
sql/mysql_priv.h:
  Remove TEST_NO_THREADS (not needed with new scheduler interface)
  Added functions from sql_connect.cc and new functions from sql_parse.cc
sql/mysqld.cc:
  Use thread_scheduler structure to dispatch calls (make code more dynamic)
  Change --one-thread option to use thread_scheduler interface
  Made ONE_THREAD option independent of DBUG_BUILD
  --one-thread is now depricated. One should instead use '--thread-handling=no-threads'
  Remove not used uname() function.
  Split create_new_thread() into reusable sub functions.
  Preliminary interface code for future thread_handling code.
  Fixed compiler warnings
sql/parse_file.cc:
  Don't send zero pointer to fn_format() (Causes crashes when using --debug)
sql/repl_failsafe.cc:
  Setup pseudo_thread_id same way as other code
sql/set_var.cc:
  Added variables 'thread_handling'
  Prepare for future variable 'thread_pool_size'
  Fixed compiler warnings
sql/set_var.h:
  Fixed compiler warning
sql/slave.cc:
  Setup pseudo_thread_id same way as other code
  Removed not used signal mask
sql/sql_acl.cc:
  Fixed compiler warnings from 'max' build
sql/sql_base.cc:
  Fixed long comments
  Normalized variable setup
  Don't destroy value of thd->variables.pseduo_thread_id
  More DBUG_PRINT()'s
  More DBUG_ASSERT()'s
  Fixed compiler warnings from 'max' build
sql/sql_class.cc:
  Remove thd->real_id and thd->dbug_thread_id
  Added DBUG_ASSERT()
  Use thread_scheduler to signal threads to be killed.
  In THD::store_globals(), set my_thread_var->id to be thd->thread_id.
  Fixed compiler warnings
sql/sql_class.h:
  Use 'my_thread_id' for internal thread id's
  Remove not needed THD elements: block_signals and dbug_thread_id
  Added 'thread_scheduler' scheduling extension element to THD
sql/sql_insert.cc:
  After merge fixes
  (This actually fixes a bug in old code when many connections are in use)
  Setup pseudo_thread_id same way as other code
  Removed not used signal mask
  Initialize variable that may be used unitialized on error conditions (not fatal)
sql/sql_parse.cc:
  Move connection related code to sql_connect.cc
  Remove setting of signal mask (not needed)
  Ensure TABLE_LIST->alias is set for generated TABLE_LIST elements (fixed core dumps when running with --debug)
  Added previous 'optional' element to reset_mgh()
  Removed not needed DBUG_PRINT call
sql/sql_partition.cc:
  Fixed compiler warnings
sql/sql_prepare.cc:
  Removed not needed casts
  Fixed compiler warnings from 'max' build
sql/sql_select.cc:
  Fixed compiler warnings
sql-bench/bench-init.pl.sh:
  Added --one-missing-tests
sql-bench/example:
  Better example
sql-bench/run-all-tests.sh:
  Added --only-missing-tests
sql-bench/test-insert.sh:
  Fixed wrong estimate of update_with_key_prefix
sql/sql_show.cc:
  Don't send pthread_kill() to threads to detect if they exists.
  (Not that useful and causes problems with future thread_handling code)
  Fixed compiler warnings
sql/sql_table.cc:
  Simplify code
  Fixed compiler warnings
sql/sql_test.cc:
  Remove dbug_thread_id from test output
sql/sql_view.cc:
  Don't send zero pointer to fn_format()
sql/tztime.cc:
  Fixed compiler warning
sql/udf_example.def:
  Fixed compiler warnings on win64
sql/unireg.cc:
  Initialize variable that may be used unitialized on error conditions
storage/archive/archive_test.c:
  Fixed compiler warnings
storage/archive/azio.c:
  Fixed compiler warnings
storage/innobase/dict/dict0crea.c:
  Fixed compiler warnings detected on windows64
storage/innobase/dict/dict0dict.c:
  Fixed compiler warnings detected on windows64
storage/innobase/dict/dict0load.c:
  Fixed compiler warnings detected on windows64
storage/innobase/dict/dict0mem.c:
  Fixed compiler warnings detected on windows64
storage/innobase/eval/eval0proc.c:
  Fixed compiler warnings detected on windows64
storage/innobase/handler/ha_innodb.cc:
  Fixed compiler warnings detected on windows64
storage/innobase/include/ut0byte.ic:
  Fixed compiler warnings on win64
storage/innobase/include/ut0ut.ic:
  Fixed compiler warnings on win64
storage/innobase/mtr/mtr0log.c:
  Fixed compiler warnings detected on windows64
storage/innobase/pars/pars0lex.l:
  Fixed warnings on win64
storage/innobase/rem/rem0cmp.c:
  Fixed compiler warnings detected on windows64
storage/innobase/row/row0mysql.c:
  Fixed compiler warnings detected on windows64
storage/innobase/row/row0sel.c:
  Fixed compiler warnings detected on windows64
storage/innobase/sync/sync0rw.c:
  Fixed compiler warnings detected on windows64
storage/innobase/trx/trx0trx.c:
  Fixed compiler warnings detected on windows64
storage/myisam/mi_log.c:
  my_thread_id() -> my_thread_debug_id()
storage/myisam/mi_packrec.c:
  Fixed compiler warnings detected on windows64
storage/myisam/myisamchk.c:
  Fixed compiler warnings from 'max' build
storage/ndb/src/common/debugger/EventLogger.cpp:
  Fixed compiler warnings
storage/ndb/src/common/util/ConfigValues.cpp:
  Removed compiler warnings
storage/ndb/src/common/util/NdbSqlUtil.cpp:
  Removed compiler warnings
storage/ndb/src/cw/cpcd/CPCD.hpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/backup/Backup.cpp:
  Fixed compiler warnings detected on windows64
storage/ndb/src/kernel/blocks/dbacc/Dbacc.hpp:
  Fixed compiler warnings detected on windows64
storage/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp:
  Fixed compiler warnings detected on windows64
storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/dbtup/DbtupDiskAlloc.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/dbtup/DbtupFixAlloc.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/dbtup/DbtupScan.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/dbtup/DbtupVarAlloc.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/dbtup/tuppage.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/dbtup/tuppage.hpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/dbtux/DbtuxStat.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/blocks/diskpage.hpp:
  Fixed compiler warnings
storage/ndb/src/kernel/vm/ndbd_malloc.cpp:
  Fixed compiler warnings
storage/ndb/src/kernel/vm/ndbd_malloc_impl.cpp:
  Fixed compiler warnings
storage/ndb/src/mgmclient/main.cpp:
  Fixed compiler warnings
storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp:
  Fixed compiler warnings
storage/ndb/src/ndbapi/NdbOperationExec.cpp:
  Fixed compiler warnings
storage/ndb/src/ndbapi/SignalSender.cpp:
  Fixed compiler warnings
storage/ndb/tools/restore/consumer_restore.cpp:
  Fixed compiler warnings
strings/ctype-ucs2.c:
  Fixed compiler warnings
strings/ctype-utf8.c:
  Fixed compiler warnings
strings/decimal.c:
  Fixed compiler warnings
strings/my_strchr.c:
  Fixed conflict between function and prototype
support-files/compiler_warnings.supp:
  Ignore warnings from sql_yacc.cc that are hard to remove
  Ignore some not important warnings from windows 64 bit build
  Suppress warnings from bdb and (for the moment) warnings from ndb
  Suppress all warnings for all pushbuild platforms (should make all trees green)
vio/viosslfactories.c:
  Added DBUG_PRINT
BUILD/compile-pentium64-max:
  New BitKeeper file ``BUILD/compile-pentium64-max''
libmysqld/scheduler.cc:
  New BitKeeper file ``libmysqld/scheduler.cc''
libmysqld/sql_connect.cc:
  New BitKeeper file ``libmysqld/sql_connect.cc''
mysql-test/include/one_thread_per_connection.inc:
  New BitKeeper file ``mysql-test/include/one_thread_per_connection.inc''
mysql-test/r/no-threads.result:
  New BitKeeper file ``mysql-test/r/no-threads.result''
mysql-test/r/one_thread_per_connection.require:
  New BitKeeper file ``mysql-test/r/one_thread_per_connection.require''
mysql-test/t/no-threads-master.opt:
  New BitKeeper file ``mysql-test/t/no-threads-master.opt''
mysql-test/t/no-threads.test:
  New BitKeeper file ``mysql-test/t/no-threads.test''
sql/scheduler.cc:
  New BitKeeper file ``sql/scheduler.cc''
sql/scheduler.h:
  New BitKeeper file ``sql/scheduler.h''
sql/sql_connect.cc:
  New BitKeeper file ``sql/sql_connect.cc''
2007-02-23 13:13:55 +02:00
unknown
8ca715509e Applied innodb-5.1-ss1186
Fixes bugs:
- Bug #20877: InnoDB data dictionary memory footprint is too big
- Bug #24741: existing cascade clauses disappear when adding foreign keys


mysql-test/r/innodb.result:
  Applied innodb-5.1-ss1186
  
  Revision r1186:
  dict_load_foreign(): Use a local variable instead of the 10-bit field
  foreign->n_fields in order to preserve ON UPDATE CASCADE and
  ON DELETE CASCADE flags.  For some reason, gcc does not warn about
  shifting a 10-bit field to right by 24 bits.  (Bug #24741)
  
  This bug was introduced while reducing the memory footprint of the
  InnoDB data dictionary (Bug #20877).
  
  innodb.test, innodb.result: Add a test case.
mysql-test/t/innodb.test:
  Applied innodb-5.1-ss1186
  
  Revision r1186:
  dict_load_foreign(): Use a local variable instead of the 10-bit field
  foreign->n_fields in order to preserve ON UPDATE CASCADE and
  ON DELETE CASCADE flags.  For some reason, gcc does not warn about
  shifting a 10-bit field to right by 24 bits.  (Bug #24741)
  
  This bug was introduced while reducing the memory footprint of the
  InnoDB data dictionary (Bug #20877).
  
  innodb.test, innodb.result: Add a test case.
storage/innobase/buf/buf0flu.c:
  Applied innodb-5.1-ss1186
  
  Revision r1168:
  buf_flush_batch(): Remove the test page_count != ULINT_UNDEFINED.
  The variable is initialized to zero, and after that it is only added to.
  Maybe the one who introduced the variable srv_buf_pool_flushed overlooked
  that there is a separate return statement for returning ULINT_UNDEFINED?
storage/innobase/dict/dict0load.c:
  Applied innodb-5.1-ss1186
  
  Revision r1186:
  dict_load_foreign(): Use a local variable instead of the 10-bit field
  foreign->n_fields in order to preserve ON UPDATE CASCADE and
  ON DELETE CASCADE flags.  For some reason, gcc does not warn about
  shifting a 10-bit field to right by 24 bits.  (Bug #24741)
  
  This bug was introduced while reducing the memory footprint of the
  InnoDB data dictionary (Bug #20877).
  
  innodb.test, innodb.result: Add a test case.
storage/innobase/include/ut0ut.h:
  Applied innodb-5.1-ss1186
  
  Revision r1165:
  ut_2_power_up(): Add __attribute__((const)), because otherwise this function
  is repeatedly called in buf_flush_free_margin() due to the definitions
  of BUF_READ_AHEAD_AREA and other macros starting with BUF_READ_AHEAD_.
storage/innobase/que/que0que.c:
  Applied innodb-5.1-ss1186
  
  Revision r1158:
  Modify que_fork_start_command() to do only one pass over the thread list
  instead of three.
2007-01-21 18:18:11 -07:00
unknown
ffbb896b12 Merge mysql.com:/home/kent/bk/tmp2/mysql-5.0-build
into  mysql.com:/home/kent/bk/tmp2/mysql-5.1-build


mysys/my_read.c:
  Auto merged
scripts/make_binary_distribution.sh:
  Auto merged
support-files/MySQL-shared-compat.spec.sh:
  Auto merged
BitKeeper/deleted/.del-mysqld.dsp~ffdbf2d234e23e56:
  Auto merged
BitKeeper/deleted/.del-mysqldemb.dsp~1baf8c0e59ee9f7e:
  Auto merged
BitKeeper/deleted/.del-mysqldmax.dsp~5d213fe1c204142e:
  Auto merged
BitKeeper/deleted/.del-mysqlserver.dsp~d99cfb2d291e3785:
  Auto merged
storage/innobase/buf/buf0buf.c:
  Auto merged
storage/innobase/fil/fil0fil.c:
  Auto merged
storage/innobase/ha/ha0ha.c:
  Auto merged
storage/innobase/ha/hash0hash.c:
  Auto merged
storage/innobase/include/hash0hash.h:
  Auto merged
storage/innobase/lock/lock0lock.c:
  Auto merged
storage/innobase/log/log0recv.c:
  Auto merged
storage/innobase/thr/thr0loc.c:
  Auto merged
2007-01-15 10:37:27 +01:00
unknown
0e4155835c Merge siva.hindu.god:/home/tsmith/m/inno/jan04/51
into  siva.hindu.god:/home/tsmith/m/bk/51-build


storage/innobase/buf/buf0buf.c:
  Auto merged
storage/innobase/dict/dict0dict.c:
  Auto merged
storage/innobase/ha/ha0ha.c:
  Auto merged
storage/innobase/ha/hash0hash.c:
  Auto merged
storage/innobase/include/hash0hash.h:
  Auto merged
storage/innobase/lock/lock0lock.c:
  Auto merged
storage/innobase/log/log0recv.c:
  Auto merged
2007-01-05 16:05:48 -07:00
unknown
a5868736ff Applied innodb-5.1-ss1039 and innodb-5.1-ss1134 snapshots.
Fixes:
- Bug #24712: SHOW TABLE STATUS for file-per-table showing incorrect time fields
- Bug #24386: Performance degradation caused by instrumentation in mutex_struct
- Bug #24190: many exportable definitions of field_in_record_is_null
- Bug #21468: InnoDB crash during recovery with corrupted data pages: XA bug?


storage/innobase/buf/buf0buf.c:
  Applied innodb-5.1-ss1039 and innodb-5.1-ss1134 snapshots.
  
  Revision r1045:
  buf_page_init_for_read(): Correct the indentation.
storage/innobase/buf/buf0flu.c:
  Applied innodb-5.1-ss1039 and innodb-5.1-ss1134 snapshots.
  
  Revision r1038:
  Port r983 from branches/zip: Enclose some more debug code in
  #ifdef UNIV_SYNC_DEBUG to allow the code to be built
  with UNIV_DEBUG but without UNIV_SYNC_DEBUG.
storage/innobase/dict/dict0dict.c:
  Applied innodb-5.1-ss1039 and innodb-5.1-ss1134 snapshots.
  
  Revision r1124:
  Unify dict_table_get_and_increment_handle_count() with dict_table_get() by
  adding a second parameter, adjust callers.
storage/innobase/ha/ha0ha.c:
  Applied innodb-5.1-ss1039 and innodb-5.1-ss1134 snapshots.
  
  Revision r1039:
  Port r1034 from branches/zip: Remove some instrumentation and reduce
  the output of SHOW MUTEX STATUS in non-debug builds.  (Bug #24386)
storage/innobase/ha/hash0hash.c:
  Applied innodb-5.1-ss1039 and innodb-5.1-ss1134 snapshots.
  
  Revision r1039:
  Port r1034 from branches/zip: Remove some instrumentation and reduce
  the output of SHOW MUTEX STATUS in non-debug builds.  (Bug #24386)
storage/innobase/handler/ha_innodb.cc:
  Applied innodb-5.1-ss1039 and innodb-5.1-ss1134 snapshots.
  
  Revision r1028:
  Merge a change from MySQL AB.
  
  ChangeSet
    2006/11/10 17:22:43+02:00 aelkin@dsl-hkibras-fe30f900-107.dhcp.inet.fi 
    Bug #24190  many exportable definitions of field_in_record_is_null
    
    mysql had several(2) exportable definitions of field_in_record_is_null function.
    
    Fixed with adding static.
  
  storage/innobase/handler/ha_innodb.cc
    2006/11/10 17:22:36+02:00 aelkin@dsl-hkibras-fe30f900-107.dhcp.inet.fi +1 -1
    made static
  
  
  Revision r1008:
  Minor cleanup.
  
  ha_innobase::rnd_pos(): Use correct format in DBUG_PRINT statements.
  
  buf_page_release(): Remove the local variable buf_fix_count.
  
  
  Revision r1039:
  Port r1034 from branches/zip: Remove some instrumentation and reduce
  the output of SHOW MUTEX STATUS in non-debug builds.  (Bug #24386)
  
  
  Revision r1124:
  Unify dict_table_get_and_increment_handle_count() with dict_table_get() by
  adding a second parameter, adjust callers.
  
  Revision r1134:
  Fix a potential bug in ha_innodb.cc:innobase_query_is_update() where the
  function can be called with "current_thd == NULL". Minor non-functional fix
  in log0recv.c
  
  
  Revision r1098:
  Fix bug #24712: SHOW TABLE STATUS for file-per-table showing incorrect
  time fields
  
  
  Revision r1109:
  ha_innodb.cc: Remove unused define MAX_ULONG_BIT.
storage/innobase/include/btr0sea.h:
  Applied innodb-5.1-ss1039 and innodb-5.1-ss1134 snapshots.
  
  Revision r1088:
  Replace the Latin abbreviation "cf." in comments.
storage/innobase/include/buf0buf.ic:
  Applied innodb-5.1-ss1039 and innodb-5.1-ss1134 snapshots.
  
  Revision r1008:
  Minor cleanup.
  
  ha_innobase::rnd_pos(): Use correct format in DBUG_PRINT statements.
  
  buf_page_release(): Remove the local variable buf_fix_count.
storage/innobase/include/data0type.ic:
  Applied innodb-5.1-ss1039 and innodb-5.1-ss1134 snapshots.
  
  Revision r1088:
  Replace the Latin abbreviation "cf." in comments.
storage/innobase/include/dict0dict.h:
  Applied innodb-5.1-ss1039 and innodb-5.1-ss1134 snapshots.
  
  Revision r1124:
  Unify dict_table_get_and_increment_handle_count() with dict_table_get() by
  adding a second parameter, adjust callers.
storage/innobase/include/ha0ha.h:
  Applied innodb-5.1-ss1039 and innodb-5.1-ss1134 snapshots.
  
  Revision r1039:
  Port r1034 from branches/zip: Remove some instrumentation and reduce
  the output of SHOW MUTEX STATUS in non-debug builds.  (Bug #24386)
storage/innobase/include/hash0hash.h:
  Applied innodb-5.1-ss1039 and innodb-5.1-ss1134 snapshots.
  
  Revision r1039:
  Port r1034 from branches/zip: Remove some instrumentation and reduce
  the output of SHOW MUTEX STATUS in non-debug builds.  (Bug #24386)
storage/innobase/include/sync0rw.h:
  Applied innodb-5.1-ss1039 and innodb-5.1-ss1134 snapshots.
  
  Revision r1039:
  Port r1034 from branches/zip: Remove some instrumentation and reduce
  the output of SHOW MUTEX STATUS in non-debug builds.  (Bug #24386)
storage/innobase/include/sync0sync.h:
  Applied innodb-5.1-ss1039 and innodb-5.1-ss1134 snapshots.
  
  Revision r1038:
  Port r983 from branches/zip: Enclose some more debug code in
  #ifdef UNIV_SYNC_DEBUG to allow the code to be built
  with UNIV_DEBUG but without UNIV_SYNC_DEBUG.
  
  
  Revision r1037:
  Port r972 from branches/zip: Enclose some debug code in #ifdef UNIV_SYNC_DEBUG.
  The code was previously unused in non-debug builds.
  
  
  Revision r1039:
  Port r1034 from branches/zip: Remove some instrumentation and reduce
  the output of SHOW MUTEX STATUS in non-debug builds.  (Bug #24386)
  
  
  Revision r1084:
  Remove the unused constants SYNC_INFINITE_TIME and SYNC_TIME_EXCEEDED.
storage/innobase/include/sync0sync.ic:
  Applied innodb-5.1-ss1039 and innodb-5.1-ss1134 snapshots.
  
  Revision r1039:
  Port r1034 from branches/zip: Remove some instrumentation and reduce
  the output of SHOW MUTEX STATUS in non-debug builds.  (Bug #24386)
storage/innobase/include/univ.i:
  Applied innodb-5.1-ss1039 and innodb-5.1-ss1134 snapshots.
  
  Revision r1006:
  Introduce #define UNIV_LIST_DEBUG for enabling the debug code in
  UT_LIST_REMOVE_CLEAR().
  
  
  Revision r1088:
  Replace the Latin abbreviation "cf." in comments.
  
  
  Revision r1083:
  univ.i: Document the debug flags (UNIV_DEBUG et al).
storage/innobase/include/ut0lst.h:
  Applied innodb-5.1-ss1039 and innodb-5.1-ss1134 snapshots.
  
  Revision r1006:
  Introduce #define UNIV_LIST_DEBUG for enabling the debug code in
  UT_LIST_REMOVE_CLEAR().
storage/innobase/lock/lock0lock.c:
  Applied innodb-5.1-ss1039 and innodb-5.1-ss1134 snapshots.
  
  Revision r1009:
  Remove duplicate printing of row lock counts in SHOW INNODB STATUS, and in
  the remaining print, add a comma so it doesn't get combined with the heap
  size. Both problems were introduced in r383.
storage/innobase/log/log0recv.c:
  Applied innodb-5.1-ss1039 and innodb-5.1-ss1134 snapshots.
  
  Revision r1134:
  Fix a potential bug in ha_innodb.cc:innobase_query_is_update() where the
  function can be called with "current_thd == NULL". Minor non-functional fix
  in log0recv.c
  
  
  Revision r1078:
  Merge r1067:1077 from branches/5.0:
  
  innobase_start_or_create_for_mysql(): Remove unnecessary delay now that
  we moved the setting sync_order_checks_on=TRUE to log0recv.c,
  to the start of the rollback phase in crash recovery.
  
  Fix assertion failure sync0sync.c line 1239
  (the latter ut_error in sync_thread_reset_level())
  in crash recovery when UNIV_SYNC_DEBUG is enabled.
  
  
  Revision r1080:
  Merge r1079 from branches/5.0:
  
  recv_recovery_from_checkpoint_finish(): Add 1 sec delay
  before switching on the sync order checks in crash recovery, so that
  file I/O threads have time to suspend themselves.
storage/innobase/row/row0ins.c:
  Applied innodb-5.1-ss1039 and innodb-5.1-ss1134 snapshots.
  
  Revision r1124:
  Unify dict_table_get_and_increment_handle_count() with dict_table_get() by
  adding a second parameter, adjust callers.
storage/innobase/row/row0sel.c:
  Applied innodb-5.1-ss1039 and innodb-5.1-ss1134 snapshots.
  
  Revision r1038:
  Port r983 from branches/zip: Enclose some more debug code in
  #ifdef UNIV_SYNC_DEBUG to allow the code to be built
  with UNIV_DEBUG but without UNIV_SYNC_DEBUG.
  
  
  Revision r1124:
  Unify dict_table_get_and_increment_handle_count() with dict_table_get() by
  adding a second parameter, adjust callers.
storage/innobase/row/row0upd.c:
  Applied innodb-5.1-ss1039 and innodb-5.1-ss1134 snapshots.
  
  Revision r1124:
  Unify dict_table_get_and_increment_handle_count() with dict_table_get() by
  adding a second parameter, adjust callers.
storage/innobase/srv/srv0start.c:
  Applied innodb-5.1-ss1039 and innodb-5.1-ss1134 snapshots.
  
  Revision r1038:
  Port r983 from branches/zip: Enclose some more debug code in
  #ifdef UNIV_SYNC_DEBUG to allow the code to be built
  with UNIV_DEBUG but without UNIV_SYNC_DEBUG.
  
  
  Revision r1078:
  Merge r1067:1077 from branches/5.0:
  
  innobase_start_or_create_for_mysql(): Remove unnecessary delay now that
  we moved the setting sync_order_checks_on=TRUE to log0recv.c,
  to the start of the rollback phase in crash recovery.
  
  Fix assertion failure sync0sync.c line 1239
  (the latter ut_error in sync_thread_reset_level())
  in crash recovery when UNIV_SYNC_DEBUG is enabled.
  
  
  Revision r1070:
  Remove another accidentally committed change to srv0start.c.
  The change was accidentally committed with the merge in r1068.
  This revision corresponds to r1051 with a properly merged
  r1067 of branches/5.0.
  
  
  Revision r1068:
  Merge r1067 from branches/5.0:
  
  trx_rollback_for_mysql(), trx_commit_for_mysql():
  Protect the creation of trx_dummy_sess with kernel_mutex.
  This error was introduced in r1046 and r1050.
  
  
  Revision r1069:
  Remove an accidentally committed change to srv0start.c.
  The change was accidentally committed with the merge in r1068.
storage/innobase/sync/sync0rw.c:
  Applied innodb-5.1-ss1039 and innodb-5.1-ss1134 snapshots.
  
  Revision r1039:
  Port r1034 from branches/zip: Remove some instrumentation and reduce
  the output of SHOW MUTEX STATUS in non-debug builds.  (Bug #24386)
storage/innobase/sync/sync0sync.c:
  Applied innodb-5.1-ss1039 and innodb-5.1-ss1134 snapshots.
  
  Revision r1038:
  Port r983 from branches/zip: Enclose some more debug code in
  #ifdef UNIV_SYNC_DEBUG to allow the code to be built
  with UNIV_DEBUG but without UNIV_SYNC_DEBUG.
  
  
  Revision r1037:
  Port r972 from branches/zip: Enclose some debug code in #ifdef UNIV_SYNC_DEBUG.
  The code was previously unused in non-debug builds.
  
  
  Revision r1039:
  Port r1034 from branches/zip: Remove some instrumentation and reduce
  the output of SHOW MUTEX STATUS in non-debug builds.  (Bug #24386)
storage/innobase/trx/trx0roll.c:
  Applied innodb-5.1-ss1039 and innodb-5.1-ss1134 snapshots.
  
  Revision r1049:
  Merge r1048 from branches/5.0:
  
  trx_rollback_for_mysql(): Do not set trx->sess back to NULL.
  This bug was introduced in r1046.
  
  
  Revision r1047:
  Merge r1046 from branches/5.0:
  
  branches/5.0: trx_rollback_for_mysql(): Ensure that trx->sess is non-NULL
  when calling trx_general_rollback_for_mysql().  This removes a segmentation
  fault when rolling back a prepared transaction in XA recovery.  (Bug #21468)
  
  
  Revision r1068:
  Merge r1067 from branches/5.0:
  
  trx_rollback_for_mysql(), trx_commit_for_mysql():
  Protect the creation of trx_dummy_sess with kernel_mutex.
  This error was introduced in r1046 and r1050.
  
  
  Revision r1051:
  Merge r1050 from branches/5.0:
  
  trx_rollback_for_mysql(): Fix the comment introduced in r1046.
  
  trx_commit_for_mysql(): Use the dummy trx->sess also for committing a prepared
  transaction in XA recovery, just in case our code would need the session
  object also in that case (does not seem to need it right now).
storage/innobase/trx/trx0trx.c:
  Applied innodb-5.1-ss1039 and innodb-5.1-ss1134 snapshots.
  
  Revision r1009:
  Remove duplicate printing of row lock counts in SHOW INNODB STATUS, and in
  the remaining print, add a comma so it doesn't get combined with the heap
  size. Both problems were introduced in r383.
  
  Revision r1068:
  Merge r1067 from branches/5.0:
  
  trx_rollback_for_mysql(), trx_commit_for_mysql():
  Protect the creation of trx_dummy_sess with kernel_mutex.
  This error was introduced in r1046 and r1050.
  
  
  Revision r1051:
  Merge r1050 from branches/5.0:
  
  trx_rollback_for_mysql(): Fix the comment introduced in r1046.
  
  trx_commit_for_mysql(): Use the dummy trx->sess also for committing a prepared
  transaction in XA recovery, just in case our code would need the session
  object also in that case (does not seem to need it right now).
2007-01-04 19:51:34 -07:00
unknown
c16b3782ed Merge mysql.com:/home/kent/bk/tmp/mysql-5.0-build
into  mysql.com:/home/kent/bk/tmp/mysql-5.1-build


storage/innobase/buf/buf0buf.c:
  Auto merged
storage/innobase/fil/fil0fil.c:
  Auto merged
storage/innobase/ha/ha0ha.c:
  Auto merged
storage/innobase/ha/hash0hash.c:
  Auto merged
storage/innobase/include/hash0hash.h:
  Auto merged
storage/innobase/lock/lock0lock.c:
  Auto merged
storage/innobase/log/log0recv.c:
  Auto merged
storage/innobase/thr/thr0loc.c:
  Auto merged
2007-01-01 10:54:14 +01:00
unknown
f3e4ce926d Merge mysql.com:/home/kent/bk/main/mysql-5.0
into  mysql.com:/home/kent/bk/main/mysql-5.1


BUILD/Makefile.am:
  Auto merged
BitKeeper/deleted/.del-CMakeLists.txt~10:
  Auto merged
BitKeeper/deleted/.del-CMakeLists.txt~11:
  Auto merged
BitKeeper/deleted/.del-CMakeLists.txt~12:
  Auto merged
BitKeeper/deleted/.del-CMakeLists.txt~13:
  Auto merged
BitKeeper/deleted/.del-CMakeLists.txt~14:
  Auto merged
BitKeeper/deleted/.del-CMakeLists.txt~15:
  Auto merged
BitKeeper/deleted/.del-CMakeLists.txt~1:
  Auto merged
BitKeeper/deleted/.del-CMakeLists.txt~2f6eabb2f69cb33d:
  Auto merged
BitKeeper/deleted/.del-CMakeLists.txt~2:
  Auto merged
BitKeeper/deleted/.del-CMakeLists.txt~3:
  Auto merged
BitKeeper/deleted/.del-CMakeLists.txt~4ef559bc8b4695f7:
  Auto merged
BitKeeper/deleted/.del-CMakeLists.txt~4:
  Auto merged
BitKeeper/deleted/.del-CMakeLists.txt~5:
  Auto merged
BitKeeper/deleted/.del-CMakeLists.txt~6:
  Auto merged
BitKeeper/deleted/.del-CMakeLists.txt~7:
  Auto merged
BitKeeper/deleted/.del-CMakeLists.txt~84669765249a4bad:
  Auto merged
BitKeeper/deleted/.del-CMakeLists.txt~8:
  Auto merged
BitKeeper/deleted/.del-CMakeLists.txt~9:
  Auto merged
BitKeeper/deleted/.del-CMakeLists.txt~c20dcd005f596740:
  Auto merged
BitKeeper/deleted/.del-CMakeLists.txt~dd682cce1d53c0b4:
  Auto merged
BitKeeper/deleted/.del-Makefile.am~2:
  Auto merged
BitKeeper/deleted/.del-Makefile.am~ab5c84d46412dc2e:
  Auto merged
BitKeeper/deleted/.del-Makefile.am~de166d6fcac3b9b6:
  Auto merged
BitKeeper/deleted/.del-Makefile.am~e5b911533dad2713:
  Auto merged
BitKeeper/deleted/.del-Makefile.am~ead19441cc5ff35c:
  Auto merged
BitKeeper/deleted/.del-Makefile.am~f87185e232d7c4f:
  Auto merged
BitKeeper/deleted/.del-Makefile.in:
  Auto merged
BitKeeper/deleted/.del-ReadMe.txt~573b1e4ebab241e1:
  Auto merged
BitKeeper/deleted/.del-build-vs71.bat:
  Auto merged
BitKeeper/deleted/.del-build-vs8.bat:
  Auto merged
BitKeeper/deleted/.del-configure.js:
  Auto merged
BitKeeper/deleted/.del-copy_mysql_files.bat~f6878eeb80173de9:
  Auto merged
BitKeeper/deleted/.del-ha_berkeley.cc:
  Auto merged
BitKeeper/deleted/.del-ha_berkeley.h:
  Auto merged
BitKeeper/deleted/.del-make_win_bin_dist:
  Auto merged
BitKeeper/deleted/.del-make_win_src_distribution.sh~f80d8fca44e4e5f1:
  Auto merged
BitKeeper/deleted/.del-my_create_tables.c~c121a0c4c427ebb:
  Auto merged
BitKeeper/deleted/.del-mysql_explain_log.sh~5ddc62808e16bd57:
  Auto merged
BitKeeper/deleted/.del-mysql_thr.c~20772782813d1274:
  Auto merged
BitKeeper/deleted/.del-mysql_upgrade.sh~826da969ccf96ef:
  Auto merged
BitKeeper/deleted/.del-mysqlmanager.c~e97636d71145a0b:
  Auto merged
BitKeeper/deleted/.del-prepare~773a10a535120a7e:
  Auto merged
BitKeeper/deleted/.del-print-limit-table~b8e808031daa3758:
  Auto merged
BitKeeper/deleted/.del-sql_manager.h:
  Auto merged
BitKeeper/deleted/.del-thr_test.c~70fc0971c72f2a95:
  Auto merged
Docs/Makefile.am:
  Auto merged
Docs/generate-text-files.pl:
  Auto merged
client/Makefile.am:
  Auto merged
client/client_priv.h:
  Auto merged
client/mysqladmin.cc:
  Auto merged
client/mysqlimport.c:
  Auto merged
client/mysqlshow.c:
  Auto merged
dbug/Makefile.am:
  Auto merged
extra/Makefile.am:
  Auto merged
extra/yassl/taocrypt/benchmark/Makefile.am:
  Auto merged
extra/yassl/taocrypt/test/Makefile.am:
  Auto merged
include/Makefile.am:
  Auto merged
include/my_time.h:
  Auto merged
libmysql/Makefile.am:
  Auto merged
libmysql_r/Makefile.am:
  Auto merged
libmysqld/Makefile.am:
  Auto merged
libmysqld/embedded_priv.h:
  Auto merged
mysql-test/Makefile.am:
  Auto merged
mysql-test/install_test_db.sh:
  Auto merged
mysql-test/lib/mtr_cases.pl:
  Auto merged
mysql-test/lib/mtr_io.pl:
  Auto merged
mysql-test/lib/mtr_match.pl:
  Auto merged
mysql-test/lib/mtr_misc.pl:
  Auto merged
mysql-test/lib/mtr_process.pl:
  Auto merged
mysql-test/lib/mtr_report.pl:
  Auto merged
mysql-test/lib/mtr_timer.pl:
  Auto merged
mysql-test/ndb/ndbcluster.sh:
  Auto merged
mysys/Makefile.am:
  Auto merged
mysys/my_gethostbyname.c:
  Auto merged
mysys/my_getopt.c:
  Auto merged
mysys/my_handler.c:
  Auto merged
regex/Makefile.am:
  Auto merged
scripts/Makefile.am:
  Auto merged
scripts/fill_func_tables.sh:
  Auto merged
scripts/make_binary_distribution.sh:
  Auto merged
scripts/mysql_convert_table_format.sh:
  Auto merged
scripts/mysql_create_system_tables.sh:
  Auto merged
scripts/mysql_fix_privilege_tables.sh:
  Auto merged
scripts/mysql_install_db.sh:
  Auto merged
server-tools/instance-manager/IMService.cpp:
  Auto merged
server-tools/instance-manager/WindowsService.cpp:
  Auto merged
server-tools/instance-manager/listener.cc:
  Auto merged
server-tools/instance-manager/log.cc:
  Auto merged
server-tools/instance-manager/log.h:
  Auto merged
server-tools/instance-manager/manager.cc:
  Auto merged
server-tools/instance-manager/messages.cc:
  Auto merged
server-tools/instance-manager/mysql_connection.cc:
  Auto merged
server-tools/instance-manager/mysqlmanager.cc:
  Auto merged
server-tools/instance-manager/options.cc:
  Auto merged
server-tools/instance-manager/options.h:
  Auto merged
server-tools/instance-manager/portability.h:
  Auto merged
server-tools/instance-manager/priv.cc:
  Auto merged
server-tools/instance-manager/protocol.cc:
  Auto merged
server-tools/instance-manager/protocol.h:
  Auto merged
server-tools/instance-manager/thread_registry.cc:
  Auto merged
server-tools/instance-manager/thread_registry.h:
  Auto merged
server-tools/instance-manager/user_map.cc:
  Auto merged
server-tools/instance-manager/user_map.h:
  Auto merged
sql/Makefile.am:
  Auto merged
sql/discover.cc:
  Auto merged
sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/filesort.cc:
  Auto merged
sql/gen_lex_hash.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/handler.h:
  Auto merged
sql/hostname.cc:
  Auto merged
sql/init.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_create.h:
  Auto merged
sql/item_func.h:
  Auto merged
sql/item_geofunc.cc:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/item_sum.h:
  Auto merged
sql/item_timefunc.h:
  Auto merged
sql/item_uniq.cc:
  Auto merged
sql/key.cc:
  Auto merged
sql/lex_symbol.h:
  Auto merged
sql/lock.cc:
  Auto merged
sql/log_event.h:
  Auto merged
sql/my_decimal.cc:
  Auto merged
sql/my_decimal.h:
  Auto merged
sql/my_lock.c:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/opt_range.h:
  Auto merged
sql/password.c:
  Auto merged
sql/procedure.h:
  Auto merged
sql/protocol.h:
  Auto merged
sql/records.cc:
  Auto merged
sql/repl_failsafe.cc:
  Auto merged
sql/set_var.h:
  Auto merged
sql/spatial.h:
  Auto merged
sql/sql_acl.h:
  Auto merged
sql/sql_analyse.cc:
  Auto merged
sql/sql_analyse.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_cache.h:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_crypt.cc:
  Auto merged
sql/sql_cursor.cc:
  Auto merged
sql/sql_do.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql/sql_manager.cc:
  Auto merged
sql/sql_map.cc:
  Auto merged
sql/sql_olap.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_rename.cc:
  Auto merged
sql/sql_repl.cc:
  Auto merged
sql/sql_repl.h:
  Auto merged
sql-bench/Makefile.am:
  Auto merged
sql-bench/as3ap.sh:
  Auto merged
sql-bench/bench-count-distinct.sh:
  Auto merged
sql-bench/bench-init.pl.sh:
  Auto merged
sql-bench/compare-results.sh:
  Auto merged
sql-bench/copy-db.sh:
  Auto merged
sql-bench/crash-me.sh:
  Auto merged
sql-bench/run-all-tests.sh:
  Auto merged
sql-bench/server-cfg.sh:
  Auto merged
sql-bench/test-ATIS.sh:
  Auto merged
sql-bench/test-alter-table.sh:
  Auto merged
sql-bench/test-big-tables.sh:
  Auto merged
sql-bench/test-connect.sh:
  Auto merged
sql-bench/test-create.sh:
  Auto merged
sql-bench/test-insert.sh:
  Auto merged
sql-bench/test-select.sh:
  Auto merged
sql-bench/test-transactions.sh:
  Auto merged
sql-bench/test-wisconsin.sh:
  Auto merged
sql-common/my_time.c:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_select.h:
  Auto merged
sql/sql_test.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/structs.h:
  Auto merged
sql/table.cc:
  Auto merged
sql/table.h:
  Auto merged
sql/time.cc:
  Auto merged
sql/unireg.cc:
  Auto merged
sql/unireg.h:
  Auto merged
storage/federated/ha_federated.cc:
  Auto merged
storage/heap/Makefile.am:
  Auto merged
storage/heap/_check.c:
  Auto merged
storage/heap/_rectest.c:
  Auto merged
storage/heap/ha_heap.cc:
  Auto merged
storage/heap/ha_heap.h:
  Auto merged
storage/heap/heapdef.h:
  Auto merged
storage/heap/hp_block.c:
  Auto merged
storage/heap/hp_clear.c:
  Auto merged
storage/heap/hp_close.c:
  Auto merged
storage/heap/hp_create.c:
  Auto merged
storage/heap/hp_delete.c:
  Auto merged
storage/heap/hp_extra.c:
  Auto merged
storage/heap/hp_hash.c:
  Auto merged
storage/heap/hp_info.c:
  Auto merged
storage/heap/hp_open.c:
  Auto merged
storage/heap/hp_panic.c:
  Auto merged
storage/heap/hp_rename.c:
  Auto merged
storage/heap/hp_rfirst.c:
  Auto merged
storage/heap/hp_rkey.c:
  Auto merged
storage/heap/hp_rlast.c:
  Auto merged
storage/heap/hp_rnext.c:
  Auto merged
storage/heap/hp_rprev.c:
  Auto merged
storage/heap/hp_rrnd.c:
  Auto merged
storage/heap/hp_rsame.c:
  Auto merged
storage/heap/hp_scan.c:
  Auto merged
storage/heap/hp_static.c:
  Auto merged
storage/heap/hp_test1.c:
  Auto merged
storage/heap/hp_test2.c:
  Auto merged
storage/heap/hp_update.c:
  Auto merged
storage/heap/hp_write.c:
  Auto merged
storage/innobase/Makefile.am:
  Auto merged
storage/innobase/btr/Makefile.am:
  Auto merged
storage/innobase/buf/Makefile.am:
  Auto merged
storage/innobase/data/Makefile.am:
  Auto merged
storage/innobase/dict/Makefile.am:
  Auto merged
storage/innobase/dyn/Makefile.am:
  Auto merged
storage/innobase/eval/Makefile.am:
  Auto merged
storage/innobase/fil/Makefile.am:
  Auto merged
storage/innobase/fsp/Makefile.am:
  Auto merged
storage/innobase/fut/Makefile.am:
  Auto merged
storage/innobase/ha/Makefile.am:
  Auto merged
storage/innobase/ibuf/Makefile.am:
  Auto merged
storage/innobase/lock/Makefile.am:
  Auto merged
storage/innobase/log/Makefile.am:
  Auto merged
storage/innobase/mach/Makefile.am:
  Auto merged
storage/innobase/mem/Makefile.am:
  Auto merged
storage/innobase/mtr/Makefile.am:
  Auto merged
storage/innobase/os/Makefile.am:
  Auto merged
storage/innobase/page/Makefile.am:
  Auto merged
storage/innobase/pars/Makefile.am:
  Auto merged
storage/innobase/que/Makefile.am:
  Auto merged
storage/innobase/read/Makefile.am:
  Auto merged
storage/innobase/rem/Makefile.am:
  Auto merged
storage/innobase/row/Makefile.am:
  Auto merged
storage/innobase/srv/Makefile.am:
  Auto merged
storage/innobase/sync/Makefile.am:
  Auto merged
storage/innobase/thr/Makefile.am:
  Auto merged
storage/innobase/trx/Makefile.am:
  Auto merged
storage/innobase/usr/Makefile.am:
  Auto merged
storage/innobase/ut/Makefile.am:
  Auto merged
storage/myisam/Makefile.am:
  Auto merged
storage/myisam/ft_boolean_search.c:
  Auto merged
storage/myisam/ft_eval.c:
  Auto merged
storage/myisam/ft_nlq_search.c:
  Auto merged
storage/myisam/ft_parser.c:
  Auto merged
storage/myisam/ft_static.c:
  Auto merged
storage/myisam/ft_stem.c:
  Auto merged
storage/myisam/ft_stopwords.c:
  Auto merged
storage/myisam/ft_test1.c:
  Auto merged
storage/myisam/ft_test1.h:
  Auto merged
storage/myisam/ft_update.c:
  Auto merged
storage/myisam/ftdefs.h:
  Auto merged
storage/myisam/fulltext.h:
  Auto merged
storage/myisam/ha_myisam.cc:
  Auto merged
storage/myisam/ha_myisam.h:
  Auto merged
storage/myisam/mi_cache.c:
  Auto merged
storage/myisam/mi_changed.c:
  Auto merged
storage/myisam/mi_check.c:
  Auto merged
storage/myisam/mi_checksum.c:
  Auto merged
storage/myisam/mi_close.c:
  Auto merged
storage/myisam/mi_create.c:
  Auto merged
storage/myisam/mi_dbug.c:
  Auto merged
storage/myisam/mi_delete.c:
  Auto merged
storage/myisam/mi_delete_all.c:
  Auto merged
storage/myisam/mi_delete_table.c:
  Auto merged
storage/myisam/mi_dynrec.c:
  Auto merged
storage/myisam/mi_extra.c:
  Auto merged
storage/myisam/mi_info.c:
  Auto merged
storage/myisam/mi_key.c:
  Auto merged
storage/myisam/mi_locking.c:
  Auto merged
storage/myisam/mi_log.c:
  Auto merged
storage/myisam/mi_open.c:
  Auto merged
storage/myisam/mi_packrec.c:
  Auto merged
storage/myisam/mi_page.c:
  Auto merged
storage/myisam/mi_panic.c:
  Auto merged
storage/myisam/mi_preload.c:
  Auto merged
storage/myisam/mi_range.c:
  Auto merged
storage/myisam/mi_rename.c:
  Auto merged
storage/myisam/mi_rfirst.c:
  Auto merged
storage/myisam/mi_rkey.c:
  Auto merged
storage/myisam/mi_rlast.c:
  Auto merged
storage/myisam/mi_rnext.c:
  Auto merged
storage/myisam/mi_rnext_same.c:
  Auto merged
storage/myisam/mi_rprev.c:
  Auto merged
storage/myisam/mi_rrnd.c:
  Auto merged
storage/myisam/mi_rsame.c:
  Auto merged
storage/myisam/mi_rsamepos.c:
  Auto merged
storage/myisam/mi_scan.c:
  Auto merged
storage/myisam/mi_search.c:
  Auto merged
storage/myisam/mi_static.c:
  Auto merged
storage/myisam/mi_statrec.c:
  Auto merged
storage/myisam/mi_test1.c:
  Auto merged
storage/myisam/mi_test2.c:
  Auto merged
storage/myisam/mi_test3.c:
  Auto merged
storage/myisam/mi_unique.c:
  Auto merged
storage/myisam/mi_update.c:
  Auto merged
storage/myisam/mi_write.c:
  Auto merged
storage/myisam/myisam_ftdump.c:
  Auto merged
storage/myisam/myisamdef.h:
  Auto merged
storage/myisam/myisamlog.c:
  Auto merged
storage/myisam/myisampack.c:
  Auto merged
storage/myisam/rt_index.c:
  Auto merged
storage/myisam/rt_index.h:
  Auto merged
storage/myisam/rt_key.h:
  Auto merged
storage/myisam/rt_mbr.c:
  Auto merged
storage/myisam/rt_mbr.h:
  Auto merged
storage/myisam/rt_split.c:
  Auto merged
storage/myisam/rt_test.c:
  Auto merged
storage/myisam/sort.c:
  Auto merged
storage/myisam/sp_defs.h:
  Auto merged
storage/myisam/sp_test.c:
  Auto merged
storage/myisammrg/Makefile.am:
  Auto merged
storage/myisammrg/ha_myisammrg.cc:
  Auto merged
storage/myisammrg/ha_myisammrg.h:
  Auto merged
storage/myisammrg/myrg_close.c:
  Auto merged
storage/myisammrg/myrg_create.c:
  Auto merged
storage/myisammrg/myrg_def.h:
  Auto merged
storage/myisammrg/myrg_delete.c:
  Auto merged
storage/myisammrg/myrg_extra.c:
  Auto merged
storage/myisammrg/myrg_info.c:
  Auto merged
storage/myisammrg/myrg_locking.c:
  Auto merged
storage/myisammrg/myrg_open.c:
  Auto merged
storage/myisammrg/myrg_panic.c:
  Auto merged
storage/myisammrg/myrg_queue.c:
  Auto merged
storage/myisammrg/myrg_range.c:
  Auto merged
storage/myisammrg/myrg_rfirst.c:
  Auto merged
storage/myisammrg/myrg_rkey.c:
  Auto merged
storage/myisammrg/myrg_rlast.c:
  Auto merged
storage/myisammrg/myrg_rnext.c:
  Auto merged
storage/myisammrg/myrg_rnext_same.c:
  Auto merged
storage/myisammrg/myrg_rprev.c:
  Auto merged
storage/myisammrg/myrg_rrnd.c:
  Auto merged
storage/myisammrg/myrg_rsame.c:
  Auto merged
storage/myisammrg/myrg_static.c:
  Auto merged
storage/myisammrg/myrg_update.c:
  Auto merged
storage/myisammrg/myrg_write.c:
  Auto merged
storage/ndb/Makefile.am:
  Auto merged
storage/ndb/config/common.mk.am:
  Auto merged
storage/ndb/config/type_kernel.mk.am:
  Auto merged
storage/ndb/config/type_mgmapiclient.mk.am:
  Auto merged
storage/ndb/config/type_ndbapi.mk.am:
  Auto merged
storage/ndb/config/type_ndbapiclient.mk.am:
  Auto merged
storage/ndb/config/type_ndbapitest.mk.am:
  Auto merged
storage/ndb/config/type_ndbapitools.mk.am:
  Auto merged
storage/ndb/config/type_util.mk.am:
  Auto merged
storage/ndb/docs/Makefile.am:
  Auto merged
storage/ndb/include/Makefile.am:
  Auto merged
storage/ndb/include/kernel/kernel_config_parameters.h:
  Auto merged
storage/ndb/include/kernel/signaldata/CntrStart.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/ReadConfig.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/UpgradeStartup.hpp:
  Auto merged
storage/ndb/include/logger/FileLogHandler.hpp:
  Auto merged
storage/ndb/include/ndb_net.h:
  Auto merged
storage/ndb/include/mgmapi/mgmapi_config_parameters.h:
  Auto merged
storage/ndb/include/mgmapi/mgmapi_config_parameters_debug.h:
  Auto merged
storage/ndb/include/util/ConfigValues.hpp:
  Auto merged
storage/ndb/include/util/File.hpp:
  Auto merged
storage/ndb/include/util/Vector.hpp:
  Auto merged
storage/ndb/src/Makefile.am:
  Auto merged
storage/ndb/src/common/Makefile.am:
  Auto merged
storage/ndb/src/common/debugger/Makefile.am:
  Auto merged
storage/ndb/src/common/debugger/signaldata/CntrStart.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/Makefile.am:
  Auto merged
storage/ndb/src/common/debugger/signaldata/ReadNodesConf.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/print.awk:
  Auto merged
storage/ndb/src/common/logger/FileLogHandler.cpp:
  Auto merged
storage/ndb/src/common/logger/Makefile.am:
  Auto merged
storage/ndb/src/common/mgmcommon/Makefile.am:
  Auto merged
storage/ndb/src/common/transporter/Makefile.am:
  Auto merged
storage/ndb/src/common/util/Bitmask.cpp:
  Auto merged
storage/ndb/src/common/util/ConfigValues.cpp:
  Auto merged
storage/ndb/src/common/util/File.cpp:
  Auto merged
storage/ndb/src/common/util/Makefile.am:
  Auto merged
storage/ndb/src/common/util/new.cpp:
  Auto merged
storage/ndb/src/common/util/testConfigValues/testConfigValues.cpp:
  Auto merged
storage/ndb/src/cw/Makefile.am:
  Auto merged
storage/ndb/src/cw/cpcd/Makefile.am:
  Auto merged
storage/ndb/src/kernel/blocks/Makefile.am:
  Auto merged
storage/ndb/src/kernel/blocks/backup/Makefile.am:
  Auto merged
storage/ndb/src/kernel/blocks/dbdict/Master_AddTable.sfl:
  Auto merged
storage/ndb/src/kernel/blocks/dbdict/Slave_AddTable.sfl:
  Auto merged
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
  Auto merged
storage/ndb/src/kernel/error/Makefile.am:
  Auto merged
storage/ndb/src/kernel/vm/Makefile.am:
  Auto merged
storage/ndb/src/mgmapi/Makefile.am:
  Auto merged
storage/ndb/src/mgmapi/mgmapi_configuration.cpp:
  Auto merged
storage/ndb/src/mgmclient/Makefile.am:
  Auto merged
storage/ndb/src/mgmsrv/Makefile.am:
  Auto merged
storage/ndb/src/mgmsrv/MgmtSrvr.cpp:
  Auto merged
storage/ndb/src/ndbapi/Makefile.am:
  Auto merged
storage/ndb/src/ndbapi/NdbTransaction.cpp:
  Auto merged
storage/ndb/src/ndbapi/Ndbif.cpp:
  Auto merged
storage/ndb/test/Makefile.am:
  Auto merged
storage/ndb/test/ndbapi/Makefile.am:
  Auto merged
storage/ndb/test/ndbapi/bank/Makefile.am:
  Auto merged
storage/ndb/test/ndbapi/testBasic.cpp:
  Auto merged
storage/ndb/test/ndbapi/testIndex.cpp:
  Auto merged
storage/ndb/test/run-test/Makefile.am:
  Auto merged
storage/ndb/test/run-test/daily-basic-tests.txt:
  Auto merged
storage/ndb/test/src/Makefile.am:
  Auto merged
storage/ndb/test/tools/Makefile.am:
  Auto merged
storage/ndb/tools/Makefile.am:
  Auto merged
strings/Makefile.am:
  Auto merged
strings/ctype-extra.c:
  Auto merged
tests/Makefile.am:
  Auto merged
vio/Makefile.am:
  Auto merged
BitKeeper/deleted/.del-colspec-fix.pl~6c78d3332330b19e:
  Auto merged
BitKeeper/deleted/.del-docbook-fixup.pl~46cf3bdef147084e:
  Auto merged
BitKeeper/deleted/.del-docbook-prefix.pl~876c7d33c68c224a:
  Auto merged
BitKeeper/deleted/.del-docbook-split~be931c3922898d0:
  Auto merged
BitKeeper/deleted/.del-make-docbook~ccac1eb717e92ac9:
  Auto merged
BitKeeper/deleted/.del-make-makefile~39fd454b487126e8:
  Auto merged
BitKeeper/deleted/.del-test-make-manual-de~33cad2886311b8a:
  Auto merged
BitKeeper/deleted/.del-test-make-manual~5da458f958a424ec:
  Auto merged
BitKeeper/deleted/.del-xwf~76b97805d9146b80:
  Auto merged
server-tools/instance-manager/listener.h:
  SCCS merged
server-tools/instance-manager/manager.h:
  SCCS merged
server-tools/instance-manager/mysql_connection.h:
  SCCS merged
server-tools/instance-manager/priv.h:
  SCCS merged
storage/ndb/src/kernel/blocks/dblqh/Makefile.am:
  SCCS merged
2006-12-31 01:32:21 +01:00
unknown
4dabfa5de7 Merge mysql.com:/home/kent/bk/main/mysql-5.0
into  mysql.com:/home/kent/bk/main/mysql-5.1


BUILD/Makefile.am:
  Auto merged
BitKeeper/deleted/.del-ArrayFifoList.hpp~7036ae04dd7e7bd2:
  Auto merged
BitKeeper/deleted/.del-ArrayList.hpp~44695d09b1a02179:
  Auto merged
BitKeeper/deleted/.del-DbtupLCP.cpp~855b1ed3fbc86a42:
  Auto merged
BitKeeper/deleted/.del-DbtupSystemRestart.cpp~15b54d7e4e75d2d:
  Auto merged
BitKeeper/deleted/.del-DbtupUndoLog.cpp~5a2ef6e86b1404e9:
  Auto merged
Makefile.am:
  Auto merged
BitKeeper/deleted/.del-Makefile.am~2:
  Auto merged
BitKeeper/deleted/.del-Makefile.am~ab5c84d46412dc2e:
  Auto merged
BitKeeper/deleted/.del-Makefile.am~abb265028eb9b6a7:
  Auto merged
BitKeeper/deleted/.del-Makefile.am~de166d6fcac3b9b6:
  Auto merged
BitKeeper/deleted/.del-Makefile.am~e5b911533dad2713:
  Auto merged
BitKeeper/deleted/.del-Makefile.am~ead19441cc5ff35c:
  Auto merged
BitKeeper/deleted/.del-Makefile.am~f87185e232d7c4f:
  Auto merged
BitKeeper/deleted/.del-Makefile.in:
  Auto merged
BitKeeper/deleted/.del-MemoryChannelOSE.hpp:
  Auto merged
BitKeeper/deleted/.del-MetaData.cpp~146ae9865dd35829:
  Auto merged
BitKeeper/deleted/.del-MetaData.hpp~538342afcd8ac53c:
  Auto merged
BitKeeper/deleted/.del-NdbCondition.c~ad83464328ab37af:
  Auto merged
BitKeeper/deleted/.del-NdbCondition.c~ee56562abdd718cf:
  Auto merged
BitKeeper/deleted/.del-NdbConditionOSE.h~455dd2c29c2e6344:
  Auto merged
BitKeeper/deleted/.del-NdbDaemon.c~3b8101f376b28df:
  Auto merged
BitKeeper/deleted/.del-NdbEnv.c~207f9ce9754c9e8a:
  Auto merged
BitKeeper/deleted/.del-NdbEnv.c~bb6fe7572d45288a:
  Auto merged
BitKeeper/deleted/.del-NdbErrHnd.cpp:
  Auto merged
BitKeeper/deleted/.del-NdbHost.c~2c29816c77396d7b:
  Auto merged
BitKeeper/deleted/.del-NdbHost.c~cf18d6b3c825180c:
  Auto merged
BitKeeper/deleted/.del-NdbMem.c~6285b159985d46da:
  Auto merged
BitKeeper/deleted/.del-NdbMem.c~6c2b317c1ce230ab:
  Auto merged
BitKeeper/deleted/.del-NdbMem_SoftOse.cpp~9c61e311ec168d44:
  Auto merged
BitKeeper/deleted/.del-NdbMutex.c~768131269bccca10:
  Auto merged
BitKeeper/deleted/.del-NdbMutex.c~f4bdd19be08b84ab:
  Auto merged
BitKeeper/deleted/.del-NdbOut.cpp~8caa99a0d729540c:
  Auto merged
BitKeeper/deleted/.del-NdbSleep.c~b643ea3e7103eb62:
  Auto merged
BitKeeper/deleted/.del-NdbSleep.c~b88fbc5b140de10d:
  Auto merged
BitKeeper/deleted/.del-NdbTCP.c~1e9f416992352f6d:
  Auto merged
BitKeeper/deleted/.del-NdbTCP.c~b09cdcbef3ea2c57:
  Auto merged
BitKeeper/deleted/.del-NdbThread.c~2fe1fa5f47801772:
  Auto merged
BitKeeper/deleted/.del-NdbThread.c~fe71a67b5c3a4724:
  Auto merged
BitKeeper/deleted/.del-NdbTick.c~aa6385567216509d:
  Auto merged
BitKeeper/deleted/.del-NdbTick.c~b76feba2cf1493d1:
  Auto merged
BitKeeper/deleted/.del-OSE_Receiver.cpp:
  Auto merged
BitKeeper/deleted/.del-OSE_Receiver.hpp:
  Auto merged
BitKeeper/deleted/.del-OSE_Signals.hpp:
  Auto merged
BitKeeper/deleted/.del-OSE_Transporter.cpp:
  Auto merged
BitKeeper/deleted/.del-OSE_Transporter.hpp:
  Auto merged
BitKeeper/deleted/.del-TraceNdbApi.hpp~7a7f0ae5b70358bc:
  Auto merged
BitKeeper/deleted/.del-VerifyNdbApi.hpp~f417f78f7cd05935:
  Auto merged
BitKeeper/deleted/.del-bcd.h~81fbfcc1530534da:
  Auto merged
BitKeeper/deleted/.del-config-os2.h~a16b51851ddd317b:
  Auto merged
BitKeeper/deleted/.del-dbGenerator.c~7509c19f70cad0bf:
  Auto merged
BitKeeper/deleted/.del-dbGenerator.h~63f1aeb98260bcb7:
  Auto merged
BitKeeper/deleted/.del-dbGenerator.h~e1aaa6725999d458:
  Auto merged
BitKeeper/deleted/.del-dbPopulate.c~5dcff1c99783d83b:
  Auto merged
BitKeeper/deleted/.del-dbPopulate.h~229a894b59d4da73:
  Auto merged
BitKeeper/deleted/.del-ha_berkeley.cc:
  Auto merged
BitKeeper/deleted/.del-ha_berkeley.h:
  Auto merged
BitKeeper/deleted/.del-localDbPrepare.c~33a2c46afc8fac9a:
  Auto merged
BitKeeper/deleted/.del-macros.h~58097d584e29b5df:
  Auto merged
BitKeeper/deleted/.del-macros.h~742871fab0681964:
  Auto merged
BitKeeper/deleted/.del-mainGenerator.c~2d1c8016f72b2517:
  Auto merged
BitKeeper/deleted/.del-mainPopulate.c~37def9a44980b8ec:
  Auto merged
BitKeeper/deleted/.del-mgmapi_logevent.cpp~f1e7cf3e70edc4:
  Auto merged
BitKeeper/deleted/.del-mmslist.cpp:
  Auto merged
BitKeeper/deleted/.del-my_lread.c:
  Auto merged
BitKeeper/deleted/.del-my_lwrite.c:
  Auto merged
BitKeeper/deleted/.del-my_os2cond.c~e3b520af1c371bb5:
  Auto merged
BitKeeper/deleted/.del-my_os2dirsrch.c~4e2479b2abb2eb5a:
  Auto merged
BitKeeper/deleted/.del-my_os2dirsrch.h~5011cbc657537d0:
  Auto merged
BitKeeper/deleted/.del-my_os2dlfcn.c~6d94b488717683dd:
  Auto merged
BitKeeper/deleted/.del-my_os2dlfcn.h0~eae8edb8555eff87:
  Auto merged
BitKeeper/deleted/.del-my_os2file64.c~251fb8a1e950c31b:
  Auto merged
BitKeeper/deleted/.del-my_os2thread.c~65dca991548cec2a:
  Auto merged
BitKeeper/deleted/.del-my_os2tls.c~58ade7a0f70ad5ea:
  Auto merged
BitKeeper/deleted/.del-mysqlmanager-pwgen.c~d8f5f91ec54432b9:
  Auto merged
BitKeeper/deleted/.del-mysqlmanager.c~e97636d71145a0b:
  Auto merged
BitKeeper/deleted/.del-mysqlmanagerc.c~4f6e3499e68508f6:
  Auto merged
BitKeeper/deleted/.del-ndb_error.hpp~24468bb7f20a0b41:
  Auto merged
BitKeeper/deleted/.del-ndb_error.hpp~45a2fef922beae3:
  Auto merged
BitKeeper/deleted/.del-ndb_schema.hpp~de9c21185d6bfe4e:
  Auto merged
BitKeeper/deleted/.del-ndbapi_async.cpp~319189569fb659ec:
  Auto merged
BitKeeper/deleted/.del-ndbapi_async1.cpp~2995dac9b963a0d:
  Auto merged
BitKeeper/deleted/.del-ndbapi_event.cpp~c5d949802966180:
  Auto merged
BitKeeper/deleted/.del-ndbapi_retries.cpp~7301496d8c1c310a:
  Auto merged
BitKeeper/deleted/.del-ndbapi_scan.cpp~14ed2aa9a5d9e597:
  Auto merged
BitKeeper/deleted/.del-ndbapi_simple.cpp~80962179f3c2f5b8:
  Auto merged
BitKeeper/deleted/.del-ndbapi_simple_index.cpp~4b95a4d71808b5b6:
  Auto merged
BitKeeper/deleted/.del-print-limit-table~b8e808031daa3758:
  Auto merged
BitKeeper/deleted/.del-raid.cc~488f5fa6538394e1:
  Auto merged
BitKeeper/deleted/.del-raid.h~2d2503a66b128ac6:
  Auto merged
BitKeeper/deleted/.del-raid2.c~fe7aea5fb4b9748c:
  Auto merged
BitKeeper/deleted/.del-sql_manager.h:
  Auto merged
BitKeeper/deleted/.del-testData.h~696038ea2623a90b:
  Auto merged
BitKeeper/deleted/.del-testData.h~898b71d7c639319e:
  Auto merged
BitKeeper/deleted/.del-testDefinitions.h~f18a4553579a3725:
  Auto merged
BitKeeper/deleted/.del-userHandle.h~3275bb415e1ca2c2:
  Auto merged
BitKeeper/deleted/.del-userHandle.h~ec22dc7a7ed2f81b:
  Auto merged
BitKeeper/deleted/.del-userInterface.cpp~82ee612ab14b3d48:
  Auto merged
BitKeeper/deleted/.del-userInterface.c~92a20032f7d1e91:
  Auto merged
BitKeeper/deleted/.del-userInterface.h~1f76ad2f28b283fd:
  Auto merged
BitKeeper/deleted/.del-userInterface.h~49139f029bbdaabc:
  Auto merged
BitKeeper/deleted/.del-userTransaction.c~438012ecc761b776:
  Auto merged
BitKeeper/deleted/.del-userTransaction.c~f50661b4f54b0bdd:
  Auto merged
BitKeeper/deleted/.del-utv.h~f64af026b9705ebb:
  Auto merged
BitKeeper/deleted/.del-vcdrfunc.h~85803875180684cd:
  Auto merged
BitKeeper/deleted/.del-waiter.cpp~b188e4bfddf2cf98:
  Auto merged
Docs/Makefile.am:
  Auto merged
client/Makefile.am:
  Auto merged
client/client_priv.h:
  Auto merged
client/get_password.c:
  Auto merged
client/mysql.cc:
  Auto merged
client/mysql_upgrade.c:
  Auto merged
client/mysqladmin.cc:
  Auto merged
client/mysqlbinlog.cc:
  Auto merged
client/mysqlcheck.c:
  Auto merged
client/mysqldump.c:
  Auto merged
client/mysqlimport.c:
  Auto merged
client/mysqlshow.c:
  Auto merged
client/mysqltest.c:
  Auto merged
dbug/Makefile.am:
  Auto merged
extra/Makefile.am:
  Auto merged
extra/comp_err.c:
  Auto merged
extra/perror.c:
  Auto merged
extra/replace.c:
  Auto merged
extra/resolveip.c:
  Auto merged
include/Makefile.am:
  Auto merged
include/base64.h:
  Auto merged
include/config-netware.h:
  Auto merged
include/config-win.h:
  Auto merged
include/decimal.h:
  Auto merged
include/errmsg.h:
  Auto merged
include/ft_global.h:
  Auto merged
include/heap.h:
  Auto merged
include/m_ctype.h:
  Auto merged
include/m_string.h:
  Auto merged
include/my_base.h:
  Auto merged
include/my_bitmap.h:
  Auto merged
include/my_dbug.h:
  Auto merged
include/my_global.h:
  Auto merged
include/my_net.h:
  Auto merged
include/my_no_pthread.h:
  Auto merged
include/my_nosys.h:
  Auto merged
include/my_pthread.h:
  Auto merged
include/my_sys.h:
  Auto merged
include/my_time.h:
  Auto merged
include/my_tree.h:
  Auto merged
include/my_xml.h:
  Auto merged
include/myisam.h:
  Auto merged
include/myisammrg.h:
  Auto merged
include/mysql.h:
  Auto merged
include/mysql_com.h:
  Auto merged
include/mysys_err.h:
  Auto merged
include/queues.h:
  Auto merged
include/thr_alarm.h:
  Auto merged
include/thr_lock.h:
  Auto merged
include/violite.h:
  Auto merged
libmysqld/Makefile.am:
  Auto merged
libmysqld/emb_qcache.cc:
  Auto merged
libmysqld/embedded_priv.h:
  Auto merged
libmysqld/examples/Makefile.am:
  Auto merged
libmysqld/libmysqld.c:
  Auto merged
mysql-test/Makefile.am:
  Auto merged
mysys/Makefile.am:
  Auto merged
mysys/array.c:
  Auto merged
mysys/base64.c:
  Auto merged
mysys/charset-def.c:
  Auto merged
mysys/default.c:
  Auto merged
mysys/default_modify.c:
  Auto merged
mysys/errors.c:
  Auto merged
mysys/hash.c:
  Auto merged
mysys/mf_dirname.c:
  Auto merged
mysys/mf_format.c:
  Auto merged
mysys/mf_iocache.c:
  Auto merged
mysys/mf_iocache2.c:
  Auto merged
mysys/mf_keycache.c:
  Auto merged
mysys/mf_pack.c:
  Auto merged
mysys/mf_path.c:
  Auto merged
mysys/mf_tempdir.c:
  Auto merged
mysys/mf_tempfile.c:
  Auto merged
mysys/my_access.c:
  Auto merged
mysys/my_alloc.c:
  Auto merged
mysys/my_append.c:
  Auto merged
mysys/my_bit.c:
  Auto merged
mysys/my_bitmap.c:
  Auto merged
mysys/my_clock.c:
  Auto merged
mysys/my_compress.c:
  Auto merged
mysys/my_copy.c:
  Auto merged
mysys/my_create.c:
  Auto merged
mysys/my_dup.c:
  Auto merged
mysys/my_error.c:
  Auto merged
mysys/my_file.c:
  Auto merged
mysys/my_gethostbyname.c:
  Auto merged
mysys/my_getopt.c:
  Auto merged
mysys/my_getwd.c:
  Auto merged
mysys/my_handler.c:
  Auto merged
mysys/my_init.c:
  Auto merged
mysys/my_lib.c:
  Auto merged
mysys/my_lock.c:
  Auto merged
mysys/my_malloc.c:
  Auto merged
mysys/my_mkdir.c:
  Auto merged
mysys/my_mmap.c:
  Auto merged
mysys/my_net.c:
  Auto merged
mysys/my_once.c:
  Auto merged
mysys/my_open.c:
  Auto merged
mysys/my_pread.c:
  Auto merged
mysys/my_pthread.c:
  Auto merged
mysys/my_redel.c:
  Auto merged
mysys/my_rename.c:
  Auto merged
mysys/my_seek.c:
  Auto merged
mysys/my_sleep.c:
  Auto merged
mysys/my_static.c:
  Auto merged
mysys/my_symlink2.c:
  Auto merged
mysys/my_thr_init.c:
  Auto merged
mysys/mysys_priv.h:
  Auto merged
mysys/ptr_cmp.c:
  Auto merged
mysys/queues.c:
  Auto merged
mysys/safemalloc.c:
  Auto merged
mysys/string.c:
  Auto merged
mysys/test_dir.c:
  Auto merged
mysys/testhash.c:
  Auto merged
mysys/thr_alarm.c:
  Auto merged
mysys/thr_lock.c:
  Auto merged
mysys/thr_mutex.c:
  Auto merged
regex/Makefile.am:
  Auto merged
scripts/Makefile.am:
  Auto merged
server-tools/instance-manager/Makefile.am:
  Auto merged
server-tools/instance-manager/buffer.cc:
  Auto merged
server-tools/instance-manager/command.cc:
  Auto merged
server-tools/instance-manager/command.h:
  Auto merged
server-tools/instance-manager/commands.cc:
  Auto merged
server-tools/instance-manager/commands.h:
  Auto merged
server-tools/instance-manager/guardian.cc:
  Auto merged
server-tools/instance-manager/guardian.h:
  Auto merged
server-tools/instance-manager/instance.cc:
  Auto merged
server-tools/instance-manager/instance.h:
  Auto merged
server-tools/instance-manager/instance_map.cc:
  Auto merged
server-tools/instance-manager/instance_map.h:
  Auto merged
server-tools/instance-manager/instance_options.cc:
  Auto merged
server-tools/instance-manager/instance_options.h:
  Auto merged
server-tools/instance-manager/listener.cc:
  Auto merged
server-tools/instance-manager/listener.h:
  Auto merged
server-tools/instance-manager/log.cc:
  Auto merged
server-tools/instance-manager/log.h:
  Auto merged
server-tools/instance-manager/manager.cc:
  Auto merged
server-tools/instance-manager/manager.h:
  Auto merged
server-tools/instance-manager/messages.cc:
  Auto merged
server-tools/instance-manager/mysql_connection.cc:
  Auto merged
server-tools/instance-manager/mysql_connection.h:
  Auto merged
server-tools/instance-manager/mysql_manager_error.h:
  Auto merged
server-tools/instance-manager/mysqlmanager.cc:
  Auto merged
server-tools/instance-manager/options.cc:
  Auto merged
server-tools/instance-manager/options.h:
  Auto merged
server-tools/instance-manager/parse.cc:
  Auto merged
server-tools/instance-manager/parse.h:
  Auto merged
server-tools/instance-manager/parse_output.cc:
  Auto merged
server-tools/instance-manager/parse_output.h:
  Auto merged
server-tools/instance-manager/priv.cc:
  Auto merged
server-tools/instance-manager/priv.h:
  Auto merged
server-tools/instance-manager/protocol.cc:
  Auto merged
server-tools/instance-manager/protocol.h:
  Auto merged
server-tools/instance-manager/thread_registry.cc:
  Auto merged
server-tools/instance-manager/thread_registry.h:
  Auto merged
server-tools/instance-manager/user_map.cc:
  Auto merged
server-tools/instance-manager/user_map.h:
  Auto merged
sql/Makefile.am:
  Auto merged
sql/discover.cc:
  Auto merged
sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/field_conv.cc:
  Auto merged
sql/filesort.cc:
  Auto merged
sql/gen_lex_hash.cc:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/ha_ndbcluster.h:
  Auto merged
sql/handler.cc:
  Auto merged
sql/handler.h:
  Auto merged
sql/hostname.cc:
  Auto merged
sql/init.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/item_create.cc:
  Auto merged
sql/item_create.h:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_func.h:
  Auto merged
sql/item_geofunc.cc:
  Auto merged
sql/item_geofunc.h:
  Auto merged
sql/item_row.cc:
  Auto merged
sql/item_row.h:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/item_strfunc.h:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/item_subselect.h:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/item_sum.h:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/item_timefunc.h:
  Auto merged
sql/item_uniq.cc:
  Auto merged
sql/key.cc:
  Auto merged
sql/lex.h:
  Auto merged
sql/lex_symbol.h:
  Auto merged
sql/lock.cc:
  Auto merged
sql/log.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/log_event.h:
  Auto merged
sql/my_decimal.cc:
  Auto merged
sql/my_decimal.h:
  Auto merged
sql/my_lock.c:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/net_serv.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/opt_range.h:
  Auto merged
sql/opt_sum.cc:
  Auto merged
sql/parse_file.cc:
  Auto merged
sql/parse_file.h:
  Auto merged
sql/password.c:
  Auto merged
sql/procedure.h:
  Auto merged
sql/protocol.cc:
  Auto merged
sql/protocol.h:
  Auto merged
sql/records.cc:
  Auto merged
sql/repl_failsafe.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/set_var.h:
  Auto merged
sql/slave.cc:
  Auto merged
sql/slave.h:
  Auto merged
sql/sp.cc:
  Auto merged
sql/sp.h:
  Auto merged
sql/sp_cache.cc:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sp_head.h:
  Auto merged
sql/spatial.cc:
  Auto merged
sql/spatial.h:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_acl.h:
  Auto merged
sql/sql_analyse.cc:
  Auto merged
sql/sql_analyse.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_bitmap.h:
  Auto merged
sql/sql_cache.cc:
  Auto merged
sql/sql_cache.h:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_crypt.cc:
  Auto merged
sql/sql_cursor.cc:
  Auto merged
sql/sql_db.cc:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_derived.cc:
  Auto merged
sql/sql_do.cc:
  Auto merged
sql/sql_error.cc:
  Auto merged
sql/sql_error.h:
  Auto merged
sql/sql_handler.cc:
  Auto merged
sql/sql_help.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_list.h:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql/sql_manager.cc:
  Auto merged
sql/sql_map.cc:
  Auto merged
sql/sql_olap.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_rename.cc:
  Auto merged
sql/sql_repl.cc:
  Auto merged
sql/sql_repl.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_select.h:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_string.cc:
  Auto merged
sql/sql_string.h:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_test.cc:
  Auto merged
sql/sql_trigger.cc:
  Auto merged
sql/sql_trigger.h:
  Auto merged
sql/sql_udf.cc:
  Auto merged
sql/sql_union.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
sql-bench/Makefile.am:
  Auto merged
sql-bench/as3ap.sh:
  Auto merged
sql-bench/bench-count-distinct.sh:
  Auto merged
sql-bench/bench-init.pl.sh:
  Auto merged
sql-bench/compare-results.sh:
  Auto merged
sql-bench/copy-db.sh:
  Auto merged
sql/share/charsets/Index.xml:
  Auto merged
sql/share/charsets/cp1250.xml:
  Auto merged
sql/sql_view.h:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/stacktrace.c:
  Auto merged
sql/stacktrace.h:
  Auto merged
sql/strfunc.cc:
  Auto merged
sql/structs.h:
  Auto merged
sql/table.cc:
  Auto merged
sql/table.h:
  Auto merged
sql/time.cc:
  Auto merged
sql/tztime.cc:
  Auto merged
sql/tztime.h:
  Auto merged
sql/udf_example.c:
  Auto merged
sql/unireg.cc:
  Auto merged
sql/unireg.h:
  Auto merged
sql-bench/crash-me.sh:
  Auto merged
sql-bench/run-all-tests.sh:
  Auto merged
sql-bench/server-cfg.sh:
  Auto merged
sql-bench/test-ATIS.sh:
  Auto merged
sql-bench/test-alter-table.sh:
  Auto merged
sql-bench/test-big-tables.sh:
  Auto merged
sql-bench/test-connect.sh:
  Auto merged
sql-bench/test-create.sh:
  Auto merged
sql-bench/test-insert.sh:
  Auto merged
sql-bench/test-select.sh:
  Auto merged
sql-bench/test-transactions.sh:
  Auto merged
sql-bench/test-wisconsin.sh:
  Auto merged
sql-common/client.c:
  Auto merged
sql-common/my_time.c:
  Auto merged
storage/archive/ha_archive.cc:
  Auto merged
storage/archive/ha_archive.h:
  Auto merged
storage/blackhole/ha_blackhole.cc:
  Auto merged
storage/blackhole/ha_blackhole.h:
  Auto merged
storage/csv/ha_tina.cc:
  Auto merged
storage/csv/ha_tina.h:
  Auto merged
storage/example/ha_example.cc:
  Auto merged
storage/example/ha_example.h:
  Auto merged
storage/federated/ha_federated.cc:
  Auto merged
storage/federated/ha_federated.h:
  Auto merged
storage/heap/Makefile.am:
  Auto merged
storage/heap/_check.c:
  Auto merged
storage/heap/_rectest.c:
  Auto merged
storage/heap/ha_heap.cc:
  Auto merged
storage/heap/ha_heap.h:
  Auto merged
storage/heap/heapdef.h:
  Auto merged
storage/heap/hp_block.c:
  Auto merged
storage/heap/hp_clear.c:
  Auto merged
storage/heap/hp_close.c:
  Auto merged
storage/heap/hp_create.c:
  Auto merged
storage/heap/hp_delete.c:
  Auto merged
storage/heap/hp_extra.c:
  Auto merged
storage/heap/hp_hash.c:
  Auto merged
storage/heap/hp_info.c:
  Auto merged
storage/heap/hp_open.c:
  Auto merged
storage/heap/hp_panic.c:
  Auto merged
storage/heap/hp_rename.c:
  Auto merged
storage/heap/hp_rfirst.c:
  Auto merged
storage/heap/hp_rkey.c:
  Auto merged
storage/heap/hp_rlast.c:
  Auto merged
storage/heap/hp_rnext.c:
  Auto merged
storage/heap/hp_rprev.c:
  Auto merged
storage/heap/hp_rrnd.c:
  Auto merged
storage/heap/hp_rsame.c:
  Auto merged
storage/heap/hp_scan.c:
  Auto merged
storage/heap/hp_static.c:
  Auto merged
storage/heap/hp_test1.c:
  Auto merged
storage/heap/hp_test2.c:
  Auto merged
storage/heap/hp_update.c:
  Auto merged
storage/heap/hp_write.c:
  Auto merged
storage/innobase/Makefile.am:
  Auto merged
storage/innobase/btr/Makefile.am:
  Auto merged
storage/innobase/buf/Makefile.am:
  Auto merged
storage/innobase/data/Makefile.am:
  Auto merged
storage/innobase/dict/Makefile.am:
  Auto merged
storage/innobase/dyn/Makefile.am:
  Auto merged
storage/innobase/eval/Makefile.am:
  Auto merged
storage/innobase/fil/Makefile.am:
  Auto merged
storage/innobase/fsp/Makefile.am:
  Auto merged
storage/innobase/fut/Makefile.am:
  Auto merged
storage/innobase/ha/Makefile.am:
  Auto merged
storage/innobase/handler/ha_innodb.cc:
  Auto merged
storage/innobase/handler/ha_innodb.h:
  Auto merged
storage/innobase/ibuf/Makefile.am:
  Auto merged
storage/innobase/lock/Makefile.am:
  Auto merged
storage/innobase/log/Makefile.am:
  Auto merged
storage/innobase/mach/Makefile.am:
  Auto merged
storage/innobase/mem/Makefile.am:
  Auto merged
storage/innobase/mtr/Makefile.am:
  Auto merged
storage/innobase/os/Makefile.am:
  Auto merged
storage/innobase/page/Makefile.am:
  Auto merged
storage/innobase/pars/Makefile.am:
  Auto merged
storage/innobase/que/Makefile.am:
  Auto merged
storage/innobase/read/Makefile.am:
  Auto merged
storage/innobase/rem/Makefile.am:
  Auto merged
storage/innobase/row/Makefile.am:
  Auto merged
storage/innobase/srv/Makefile.am:
  Auto merged
storage/innobase/sync/Makefile.am:
  Auto merged
storage/innobase/thr/Makefile.am:
  Auto merged
storage/innobase/trx/Makefile.am:
  Auto merged
storage/innobase/usr/Makefile.am:
  Auto merged
storage/innobase/ut/Makefile.am:
  Auto merged
storage/myisam/Makefile.am:
  Auto merged
storage/myisam/ft_boolean_search.c:
  Auto merged
storage/myisam/ft_eval.c:
  Auto merged
storage/myisam/ft_eval.h:
  Auto merged
storage/myisam/ft_nlq_search.c:
  Auto merged
storage/myisam/ft_parser.c:
  Auto merged
storage/myisam/ft_static.c:
  Auto merged
storage/myisam/ft_stem.c:
  Auto merged
storage/myisam/ft_stopwords.c:
  Auto merged
storage/myisam/ft_test1.c:
  Auto merged
storage/myisam/ft_test1.h:
  Auto merged
storage/myisam/ft_update.c:
  Auto merged
storage/myisam/ftdefs.h:
  Auto merged
storage/myisam/fulltext.h:
  Auto merged
storage/myisam/ha_myisam.cc:
  Auto merged
storage/myisam/ha_myisam.h:
  Auto merged
storage/myisam/mi_cache.c:
  Auto merged
storage/myisam/mi_changed.c:
  Auto merged
storage/myisam/mi_check.c:
  Auto merged
storage/myisam/mi_checksum.c:
  Auto merged
storage/myisam/mi_close.c:
  Auto merged
storage/myisam/mi_create.c:
  Auto merged
storage/myisam/mi_dbug.c:
  Auto merged
storage/myisam/mi_delete.c:
  Auto merged
storage/myisam/mi_delete_all.c:
  Auto merged
storage/myisam/mi_delete_table.c:
  Auto merged
storage/myisam/mi_dynrec.c:
  Auto merged
storage/myisam/mi_extra.c:
  Auto merged
storage/myisam/mi_info.c:
  Auto merged
storage/myisam/mi_key.c:
  Auto merged
storage/myisam/mi_keycache.c:
  Auto merged
storage/myisam/mi_locking.c:
  Auto merged
storage/myisam/mi_log.c:
  Auto merged
storage/myisam/mi_open.c:
  Auto merged
storage/myisam/mi_packrec.c:
  Auto merged
storage/myisam/mi_page.c:
  Auto merged
storage/myisam/mi_panic.c:
  Auto merged
storage/myisam/mi_preload.c:
  Auto merged
storage/myisam/mi_range.c:
  Auto merged
storage/myisam/mi_rename.c:
  Auto merged
storage/myisam/mi_rfirst.c:
  Auto merged
storage/myisam/mi_rkey.c:
  Auto merged
storage/myisam/mi_rlast.c:
  Auto merged
storage/myisam/mi_rnext.c:
  Auto merged
storage/myisam/mi_rnext_same.c:
  Auto merged
storage/myisam/mi_rprev.c:
  Auto merged
storage/myisam/mi_rrnd.c:
  Auto merged
storage/myisam/mi_rsame.c:
  Auto merged
storage/myisam/mi_rsamepos.c:
  Auto merged
storage/myisam/mi_scan.c:
  Auto merged
storage/myisam/mi_search.c:
  Auto merged
storage/myisam/mi_static.c:
  Auto merged
storage/myisam/mi_statrec.c:
  Auto merged
storage/myisam/mi_test1.c:
  Auto merged
storage/myisam/mi_test2.c:
  Auto merged
storage/myisam/mi_test3.c:
  Auto merged
storage/myisam/mi_unique.c:
  Auto merged
storage/myisam/mi_update.c:
  Auto merged
storage/myisam/mi_write.c:
  Auto merged
storage/myisam/myisam_ftdump.c:
  Auto merged
storage/myisam/myisamchk.c:
  Auto merged
storage/myisam/myisamdef.h:
  Auto merged
storage/myisam/myisamlog.c:
  Auto merged
storage/myisam/myisampack.c:
  Auto merged
storage/myisam/rt_index.c:
  Auto merged
storage/myisam/rt_index.h:
  Auto merged
storage/myisam/rt_key.c:
  Auto merged
storage/myisam/rt_key.h:
  Auto merged
storage/myisam/rt_mbr.c:
  Auto merged
storage/myisam/rt_mbr.h:
  Auto merged
storage/myisam/rt_split.c:
  Auto merged
storage/myisam/rt_test.c:
  Auto merged
storage/myisam/sort.c:
  Auto merged
storage/myisam/sp_defs.h:
  Auto merged
storage/myisam/sp_key.c:
  Auto merged
storage/myisam/sp_test.c:
  Auto merged
storage/myisammrg/Makefile.am:
  Auto merged
storage/myisammrg/ha_myisammrg.cc:
  Auto merged
storage/myisammrg/ha_myisammrg.h:
  Auto merged
storage/myisammrg/myrg_close.c:
  Auto merged
storage/myisammrg/myrg_create.c:
  Auto merged
storage/myisammrg/myrg_def.h:
  Auto merged
storage/myisammrg/myrg_delete.c:
  Auto merged
storage/myisammrg/myrg_extra.c:
  Auto merged
storage/myisammrg/myrg_info.c:
  Auto merged
storage/myisammrg/myrg_locking.c:
  Auto merged
storage/myisammrg/myrg_open.c:
  Auto merged
storage/myisammrg/myrg_panic.c:
  Auto merged
storage/myisammrg/myrg_queue.c:
  Auto merged
storage/myisammrg/myrg_range.c:
  Auto merged
storage/myisammrg/myrg_rfirst.c:
  Auto merged
storage/myisammrg/myrg_rkey.c:
  Auto merged
storage/myisammrg/myrg_rlast.c:
  Auto merged
storage/myisammrg/myrg_rnext.c:
  Auto merged
storage/myisammrg/myrg_rnext_same.c:
  Auto merged
storage/myisammrg/myrg_rprev.c:
  Auto merged
storage/myisammrg/myrg_rrnd.c:
  Auto merged
storage/myisammrg/myrg_rsame.c:
  Auto merged
storage/myisammrg/myrg_static.c:
  Auto merged
storage/myisammrg/myrg_update.c:
  Auto merged
storage/myisammrg/myrg_write.c:
  Auto merged
storage/ndb/include/debugger/DebuggerNames.hpp:
  Auto merged
storage/ndb/include/debugger/EventLogger.hpp:
  Auto merged
storage/ndb/include/debugger/GrepError.hpp:
  Auto merged
storage/ndb/include/debugger/SignalLoggerManager.hpp:
  Auto merged
storage/ndb/include/ndb_constants.h:
  Auto merged
storage/ndb/include/ndb_global.h.in:
  Auto merged
storage/ndb/include/ndb_init.h:
  Auto merged
storage/ndb/include/ndb_types.h.in:
  Auto merged
storage/ndb/include/ndb_version.h.in:
  Auto merged
storage/ndb/include/editline/editline.h:
  Auto merged
storage/ndb/include/kernel/AttributeDescriptor.hpp:
  Auto merged
storage/ndb/include/kernel/AttributeHeader.hpp:
  Auto merged
storage/ndb/include/kernel/AttributeList.hpp:
  Auto merged
storage/ndb/include/kernel/BlockNumbers.h:
  Auto merged
storage/ndb/include/kernel/GlobalSignalNumbers.h:
  Auto merged
storage/ndb/include/kernel/GrepEvent.hpp:
  Auto merged
storage/ndb/include/kernel/Interpreter.hpp:
  Auto merged
storage/ndb/include/kernel/LogLevel.hpp:
  Auto merged
storage/ndb/include/kernel/NodeBitmask.hpp:
  Auto merged
storage/ndb/include/kernel/NodeInfo.hpp:
  Auto merged
storage/ndb/include/kernel/NodeState.hpp:
  Auto merged
storage/ndb/include/kernel/RefConvert.hpp:
  Auto merged
storage/ndb/include/kernel/kernel_types.h:
  Auto merged
storage/ndb/include/kernel/ndb_limits.h:
  Auto merged
storage/ndb/include/kernel/signaldata/AbortAll.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/AccFrag.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/AccLock.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/AccScan.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/AccSizeAltReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/AlterIndx.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/AlterTab.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/AlterTable.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/AlterTrig.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/ApiBroadcast.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/ApiRegSignalData.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/ApiVersion.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/ArbitSignalData.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/AttrInfo.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/BackupContinueB.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/BackupImpl.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/BackupSignalData.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/BlockCommitOrd.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/BuildIndx.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/CheckNodeGroups.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/CloseComReqConf.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/CmInit.hpp:
  Auto merged
storage/ndb/include/kernel/trigger_definitions.h:
  Auto merged
storage/ndb/include/kernel/signaldata/CmRegSignalData.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/CmvmiCfgConf.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/CntrMasterConf.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/CntrMasterReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/ConfigParamId.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/ContinueFragmented.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/CopyActive.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/CopyFrag.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/CopyGCIReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/CreateEvnt.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/CreateFrag.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/CreateFragmentation.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/CreateIndx.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/CreateTab.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/CreateTable.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/CreateTrig.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/DiAddTab.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/DiGetNodes.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/DictLock.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/DictSchemaInfo.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/DictSizeAltReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/DictStart.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/DictTabInfo.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/DihAddFrag.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/DihContinueB.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/DihSizeAltReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/DihStartTab.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/DihSwitchReplica.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/DisconnectRep.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/DropIndx.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/DropTab.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/DropTabFile.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/DropTable.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/DropTrig.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/DumpStateOrd.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/EmptyLcp.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/EndTo.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/EventReport.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/EventSubscribeReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/ExecFragReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/FailRep.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/FireTrigOrd.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/FsAppendReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/FsCloseReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/FsConf.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/FsOpenReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/FsReadWriteReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/FsRef.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/FsRemoveReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/GCPSave.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/GetTabInfo.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/GetTableId.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/GrepImpl.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/HotSpareRep.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/IndxAttrInfo.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/IndxKeyInfo.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/InvalidateNodeLCPConf.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/InvalidateNodeLCPReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/KeyInfo.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/LCP.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/ListTables.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/LqhFrag.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/LqhKey.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/LqhSizeAltReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/LqhTransConf.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/ManagementServer.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/MasterGCP.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/MasterLCP.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/NFCompleteRep.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/NdbSttor.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/NdbfsContinueB.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/NextScan.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/NodeFailRep.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/NodeStateSignalData.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/PackedSignal.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/PrepDropTab.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/PrepFailReqRef.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/ReadNodesConf.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/RelTabMem.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/RepImpl.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/ResumeReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/ScanFrag.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/ScanTab.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/SetLogLevelOrd.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/SetVarReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/SignalData.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/SignalDataPrint.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/SignalDroppedRep.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/SrFragidConf.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/StartFragReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/StartInfo.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/StartMe.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/StartOrd.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/StartPerm.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/StartRec.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/StartTo.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/StopMe.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/StopPerm.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/StopReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/SumaImpl.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/SystemError.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TamperOrd.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TcCommit.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TcContinueB.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TcHbRep.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TcIndx.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TcKeyConf.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TcKeyFailConf.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TcKeyRef.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TcKeyReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TcRollbackRep.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TcSizeAltReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TestOrd.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TransIdAI.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TrigAttrInfo.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TupCommit.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TupFrag.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TupKey.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TupSizeAltReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TuxBound.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TuxContinueB.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TuxMaint.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TuxSizeAltReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/UpdateTo.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/UtilDelete.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/UtilExecute.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/UtilLock.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/UtilPrepare.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/UtilRelease.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/UtilSequence.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/WaitGCP.hpp:
  Auto merged
storage/ndb/include/logger/ConsoleLogHandler.hpp:
  Auto merged
storage/ndb/include/logger/FileLogHandler.hpp:
  Auto merged
storage/ndb/include/logger/LogHandler.hpp:
  Auto merged
storage/ndb/include/logger/Logger.hpp:
  Auto merged
storage/ndb/include/logger/SysLogHandler.hpp:
  Auto merged
storage/ndb/include/mgmapi/mgmapi.h:
  Auto merged
storage/ndb/include/mgmapi/mgmapi_debug.h:
  Auto merged
storage/ndb/include/mgmapi/ndb_logevent.h:
  Auto merged
storage/ndb/include/mgmapi/ndbd_exit_codes.h:
  Auto merged
storage/ndb/include/mgmcommon/ConfigRetriever.hpp:
  Auto merged
storage/ndb/include/mgmcommon/IPCConfig.hpp:
  Auto merged
storage/ndb/include/mgmcommon/MgmtErrorReporter.hpp:
  Auto merged
storage/ndb/include/ndbapi/Ndb.hpp:
  Auto merged
storage/ndb/include/ndbapi/NdbApi.hpp:
  Auto merged
storage/ndb/include/ndbapi/NdbBlob.hpp:
  Auto merged
storage/ndb/include/ndbapi/NdbDictionary.hpp:
  Auto merged
storage/ndb/include/ndbapi/NdbError.hpp:
  Auto merged
storage/ndb/include/ndbapi/NdbEventOperation.hpp:
  Auto merged
storage/ndb/include/ndbapi/NdbIndexOperation.hpp:
  Auto merged
storage/ndb/include/ndbapi/NdbIndexScanOperation.hpp:
  Auto merged
storage/ndb/include/ndbapi/NdbOperation.hpp:
  Auto merged
storage/ndb/include/ndbapi/NdbPool.hpp:
  Auto merged
storage/ndb/include/ndbapi/NdbRecAttr.hpp:
  Auto merged
storage/ndb/include/ndbapi/NdbReceiver.hpp:
  Auto merged
storage/ndb/include/ndbapi/NdbScanFilter.hpp:
  Auto merged
storage/ndb/include/ndbapi/NdbScanOperation.hpp:
  Auto merged
storage/ndb/include/ndbapi/NdbTransaction.hpp:
  Auto merged
storage/ndb/include/ndbapi/ndb_cluster_connection.hpp:
  Auto merged
storage/ndb/include/ndbapi/ndb_opt_defaults.h:
  Auto merged
storage/ndb/include/ndbapi/ndbapi_limits.h:
  Auto merged
storage/ndb/include/ndbapi/ndberror.h:
  Auto merged
storage/ndb/include/newtonapi/dba.h:
  Auto merged
storage/ndb/include/newtonapi/defs/pcn_types.h:
  Auto merged
storage/ndb/include/portlib/NdbCondition.h:
  Auto merged
storage/ndb/include/portlib/NdbConfig.h:
  Auto merged
storage/ndb/include/portlib/NdbDaemon.h:
  Auto merged
storage/ndb/include/portlib/NdbEnv.h:
  Auto merged
storage/ndb/include/portlib/NdbHost.h:
  Auto merged
storage/ndb/include/portlib/NdbMain.h:
  Auto merged
storage/ndb/include/portlib/NdbMem.h:
  Auto merged
storage/ndb/include/portlib/NdbMutex.h:
  Auto merged
storage/ndb/include/portlib/NdbSleep.h:
  Auto merged
storage/ndb/include/portlib/NdbTCP.h:
  Auto merged
storage/ndb/include/portlib/NdbThread.h:
  Auto merged
storage/ndb/include/portlib/NdbTick.h:
  Auto merged
storage/ndb/include/portlib/PortDefs.h:
  Auto merged
storage/ndb/include/portlib/prefetch.h:
  Auto merged
storage/ndb/include/transporter/TransporterCallback.hpp:
  Auto merged
storage/ndb/include/transporter/TransporterDefinitions.hpp:
  Auto merged
storage/ndb/include/transporter/TransporterRegistry.hpp:
  Auto merged
storage/ndb/include/util/BaseString.hpp:
  Auto merged
storage/ndb/include/util/Bitmask.hpp:
  Auto merged
storage/ndb/include/util/File.hpp:
  Auto merged
storage/ndb/include/util/InputStream.hpp:
  Auto merged
storage/ndb/include/util/NdbAutoPtr.hpp:
  Auto merged
storage/ndb/include/util/NdbOut.hpp:
  Auto merged
storage/ndb/include/util/NdbSqlUtil.hpp:
  Auto merged
storage/ndb/include/util/OutputStream.hpp:
  Auto merged
storage/ndb/include/util/Parser.hpp:
  Auto merged
storage/ndb/include/util/Properties.hpp:
  Auto merged
storage/ndb/include/util/SimpleProperties.hpp:
  Auto merged
storage/ndb/include/util/SocketAuthenticator.hpp:
  Auto merged
storage/ndb/include/util/SocketClient.hpp:
  Auto merged
storage/ndb/include/util/SocketServer.hpp:
  Auto merged
storage/ndb/include/util/UtilBuffer.hpp:
  Auto merged
storage/ndb/include/util/Vector.hpp:
  Auto merged
storage/ndb/include/util/basestring_vsnprintf.h:
  Auto merged
storage/ndb/include/util/md5_hash.hpp:
  Auto merged
storage/ndb/include/util/ndb_opts.h:
  Auto merged
storage/ndb/include/util/random.h:
  Auto merged
storage/ndb/include/util/socket_io.h:
  Auto merged
storage/ndb/include/util/uucode.h:
  Auto merged
storage/ndb/include/util/version.h:
  Auto merged
storage/ndb/src/common/debugger/BlockNames.cpp:
  Auto merged
storage/ndb/src/common/debugger/DebuggerNames.cpp:
  Auto merged
storage/ndb/src/common/debugger/EventLogger.cpp:
  Auto merged
storage/ndb/src/common/debugger/GrepError.cpp:
  Auto merged
storage/ndb/src/common/debugger/SignalLoggerManager.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/AccLock.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/AlterIndx.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/AlterTab.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/AlterTable.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/AlterTrig.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/BackupImpl.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/BackupSignalData.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/CloseComReqConf.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/ContinueB.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/CopyGCI.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/CreateEvnt.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/CreateFragmentation.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/CreateIndx.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/CreateTrig.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/DictTabInfo.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/DihContinueB.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/DihSwitchReplicaReq.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/DisconnectRep.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/DropIndx.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/DropTab.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/DropTrig.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/FailRep.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/FireTrigOrd.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/FsAppendReq.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/FsCloseReq.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/FsConf.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/FsOpenReq.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/FsReadWriteReq.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/FsRef.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/GCPSave.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/IndxAttrInfo.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/IndxKeyInfo.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/LCP.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/LqhFrag.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/LqhKey.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/LqhTrans.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/MasterLCP.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/NFCompleteRep.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/NdbSttor.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/NdbfsContinueB.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/PackedSignal.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/PrepDropTab.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/PrepFailReqRef.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/ScanFrag.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/ScanTab.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/SignalDataPrint.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/SignalDroppedRep.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/SignalNames.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/StartRec.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/SumaImpl.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/SystemError.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/TcIndx.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/TcKeyConf.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/TcKeyRef.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/TcKeyReq.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/TcRollbackRep.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/TrigAttrInfo.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/TupCommit.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/TupKey.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/TuxMaint.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/UtilDelete.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/UtilExecute.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/UtilLock.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/UtilPrepare.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/UtilSequence.cpp:
  Auto merged
storage/ndb/src/common/logger/ConsoleLogHandler.cpp:
  Auto merged
storage/ndb/src/common/logger/FileLogHandler.cpp:
  Auto merged
storage/ndb/src/common/logger/LogHandler.cpp:
  Auto merged
storage/ndb/src/common/logger/LogHandlerList.cpp:
  Auto merged
storage/ndb/src/common/logger/LogHandlerList.hpp:
  Auto merged
storage/ndb/src/common/logger/Logger.cpp:
  Auto merged
storage/ndb/src/common/logger/SysLogHandler.cpp:
  Auto merged
storage/ndb/src/common/logger/listtest/LogHandlerListUnitTest.cpp:
  Auto merged
storage/ndb/src/common/logger/listtest/LogHandlerListUnitTest.hpp:
  Auto merged
storage/ndb/src/common/logger/loggertest/LoggerUnitTest.cpp:
  Auto merged
storage/ndb/src/common/logger/loggertest/LoggerUnitTest.hpp:
  Auto merged
storage/ndb/src/common/mgmcommon/ConfigRetriever.cpp:
  Auto merged
storage/ndb/src/common/mgmcommon/IPCConfig.cpp:
  Auto merged
storage/ndb/src/common/mgmcommon/printConfig/printConfig.cpp:
  Auto merged
storage/ndb/src/common/portlib/NdbCondition.c:
  Auto merged
storage/ndb/src/common/portlib/NdbConfig.c:
  Auto merged
storage/ndb/src/common/portlib/NdbDaemon.c:
  Auto merged
storage/ndb/src/common/portlib/NdbEnv.c:
  Auto merged
storage/ndb/src/common/portlib/NdbHost.c:
  Auto merged
storage/ndb/src/common/portlib/NdbMem.c:
  Auto merged
storage/ndb/src/common/portlib/NdbMutex.c:
  Auto merged
storage/ndb/src/common/portlib/NdbPortLibTest.cpp:
  Auto merged
storage/ndb/src/common/portlib/NdbSleep.c:
  Auto merged
storage/ndb/src/common/portlib/NdbTCP.cpp:
  Auto merged
storage/ndb/src/common/portlib/NdbThread.c:
  Auto merged
storage/ndb/src/common/portlib/NdbTick.c:
  Auto merged
storage/ndb/src/common/portlib/memtest.c:
  Auto merged
storage/ndb/src/common/portlib/mmstest.cpp:
  Auto merged
storage/ndb/src/common/portlib/munmaptest.cpp:
  Auto merged
storage/ndb/src/common/portlib/win32/NdbCondition.c:
  Auto merged
storage/ndb/src/common/portlib/win32/NdbDaemon.c:
  Auto merged
storage/ndb/src/common/portlib/win32/NdbEnv.c:
  Auto merged
storage/ndb/src/common/portlib/win32/NdbHost.c:
  Auto merged
storage/ndb/src/common/portlib/win32/NdbMem.c:
  Auto merged
storage/ndb/src/common/portlib/win32/NdbMutex.c:
  Auto merged
storage/ndb/src/common/portlib/win32/NdbSleep.c:
  Auto merged
storage/ndb/src/common/portlib/win32/NdbTCP.c:
  Auto merged
storage/ndb/src/common/portlib/win32/NdbThread.c:
  Auto merged
storage/ndb/src/common/portlib/win32/NdbTick.c:
  Auto merged
storage/ndb/src/common/transporter/Packer.cpp:
  Auto merged
storage/ndb/src/common/transporter/Packer.hpp:
  Auto merged
storage/ndb/src/common/transporter/SCI_Transporter.cpp:
  Auto merged
storage/ndb/src/common/transporter/SCI_Transporter.hpp:
  Auto merged
storage/ndb/src/common/transporter/SHM_Buffer.hpp:
  Auto merged
storage/ndb/src/common/transporter/SHM_Transporter.cpp:
  Auto merged
storage/ndb/src/common/transporter/SHM_Transporter.hpp:
  Auto merged
storage/ndb/src/common/transporter/SHM_Transporter.unix.cpp:
  Auto merged
storage/ndb/src/common/transporter/SHM_Transporter.win32.cpp:
  Auto merged
storage/ndb/src/common/transporter/SendBuffer.cpp:
  Auto merged
storage/ndb/src/common/transporter/SendBuffer.hpp:
  Auto merged
storage/ndb/src/common/transporter/TCP_Transporter.cpp:
  Auto merged
storage/ndb/src/common/transporter/TCP_Transporter.hpp:
  Auto merged
storage/ndb/src/common/transporter/Transporter.cpp:
  Auto merged
storage/ndb/src/common/transporter/Transporter.hpp:
  Auto merged
storage/ndb/src/common/transporter/TransporterInternalDefinitions.hpp:
  Auto merged
storage/ndb/src/common/transporter/TransporterRegistry.cpp:
  Auto merged
storage/ndb/src/common/transporter/basictest/basicTransporterTest.cpp:
  Auto merged
storage/ndb/src/common/transporter/buddy.cpp:
  Auto merged
storage/ndb/src/common/transporter/buddy.hpp:
  Auto merged
storage/ndb/src/common/transporter/failoverSCI/failoverSCI.cpp:
  Auto merged
storage/ndb/src/common/transporter/perftest/perfTransporterTest.cpp:
  Auto merged
storage/ndb/src/common/transporter/priotest/prioSCI/prioSCI.cpp:
  Auto merged
storage/ndb/src/common/transporter/priotest/prioSHM/prioSHM.cpp:
  Auto merged
storage/ndb/src/common/transporter/priotest/prioTCP/prioTCP.cpp:
  Auto merged
storage/ndb/src/common/transporter/priotest/prioTransporterTest.cpp:
  Auto merged
storage/ndb/src/common/transporter/priotest/prioTransporterTest.hpp:
  Auto merged
storage/ndb/src/common/util/BaseString.cpp:
  Auto merged
storage/ndb/src/common/util/File.cpp:
  Auto merged
storage/ndb/src/common/util/InputStream.cpp:
  Auto merged
storage/ndb/src/common/util/NdbOut.cpp:
  Auto merged
storage/ndb/src/common/util/NdbSqlUtil.cpp:
  Auto merged
storage/ndb/src/common/util/OutputStream.cpp:
  Auto merged
storage/ndb/src/common/util/Parser.cpp:
  Auto merged
storage/ndb/src/common/util/Properties.cpp:
  Auto merged
storage/ndb/src/common/util/SimpleProperties.cpp:
  Auto merged
storage/ndb/src/common/util/SocketAuthenticator.cpp:
  Auto merged
storage/ndb/src/common/util/SocketClient.cpp:
  Auto merged
storage/ndb/src/common/util/SocketServer.cpp:
  Auto merged
storage/ndb/src/common/util/basestring_vsnprintf.c:
  Auto merged
storage/ndb/src/common/util/md5_hash.cpp:
  Auto merged
storage/ndb/src/common/util/ndb_init.c:
  Auto merged
storage/ndb/src/common/util/random.c:
  Auto merged
storage/ndb/src/common/util/socket_io.cpp:
  Auto merged
storage/ndb/src/common/util/strdup.c:
  Auto merged
storage/ndb/src/common/util/filetest/FileUnitTest.cpp:
  Auto merged
storage/ndb/src/common/util/filetest/FileUnitTest.hpp:
  Auto merged
storage/ndb/src/common/util/testProperties/testProperties.cpp:
  Auto merged
storage/ndb/src/common/util/testSimpleProperties/sp_test.cpp:
  Auto merged
storage/ndb/src/common/util/uucode.c:
  Auto merged
storage/ndb/src/common/util/version.c:
  Auto merged
storage/ndb/src/cw/cpcc-win32/C++/CPC_GUI.cpp:
  Auto merged
storage/ndb/src/cw/cpcc-win32/C++/CPC_GUI.h:
  Auto merged
storage/ndb/src/cw/cpcc-win32/C++/NdbControls.cpp:
  Auto merged
storage/ndb/src/cw/cpcc-win32/C++/StdAfx.cpp:
  Auto merged
storage/ndb/src/cw/cpcc-win32/C++/StdAfx.h:
  Auto merged
storage/ndb/src/cw/cpcc-win32/C++/TreeView.cpp:
  Auto merged
storage/ndb/src/cw/cpcc-win32/C++/TreeView.h:
  Auto merged
storage/ndb/src/cw/cpcc-win32/C++/resource.h:
  Auto merged
storage/ndb/src/cw/cpcd/APIService.cpp:
  Auto merged
storage/ndb/src/cw/cpcd/APIService.hpp:
  Auto merged
storage/ndb/src/cw/cpcd/CPCD.cpp:
  Auto merged
storage/ndb/src/cw/cpcd/CPCD.hpp:
  Auto merged
storage/ndb/src/cw/cpcd/Monitor.cpp:
  Auto merged
storage/ndb/src/cw/cpcd/Process.cpp:
  Auto merged
storage/ndb/src/cw/cpcd/common.cpp:
  Auto merged
storage/ndb/src/cw/cpcd/common.hpp:
  Auto merged
storage/ndb/src/cw/cpcd/main.cpp:
  Auto merged
storage/ndb/src/cw/test/socketclient/socketClientTest.cpp:
  Auto merged
storage/ndb/src/cw/util/ClientInterface.cpp:
  Auto merged
storage/ndb/src/cw/util/ClientInterface.hpp:
  Auto merged
storage/ndb/src/cw/util/SocketRegistry.cpp:
  Auto merged
storage/ndb/src/cw/util/SocketRegistry.hpp:
  Auto merged
storage/ndb/src/cw/util/SocketService.cpp:
  Auto merged
storage/ndb/src/cw/util/SocketService.hpp:
  Auto merged
storage/ndb/src/kernel/SimBlockList.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/mutexes.hpp:
  Auto merged
storage/ndb/src/kernel/main.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/backup/Backup.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/backup/Backup.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/backup/BackupFormat.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/backup/BackupInit.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/backup/FsBuffer.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/backup/read.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbacc/Dbacc.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbacc/DbaccInit.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbdict/SchemaFile.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbdict/printSchemaFile.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbdih/Dbdih.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbdih/DbdihInit.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbdih/Sysfile.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbdih/printSysfile/printSysfile.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dblqh/Dblqh.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dblqh/DblqhInit.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dblqh/redoLogReader/records.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dblqh/redoLogReader/records.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dblqh/redoLogReader/redoLogFileReader.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtc/DbtcInit.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/AttributeOffset.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupAbort.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupBuffer.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupCommit.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupDebug.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupFixAlloc.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupGen.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupIndex.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupPagMan.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupPageMap.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupScan.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupStoredProcDef.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupTabDesMan.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupTrigger.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtux/Dbtux.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtux/DbtuxCmp.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtux/DbtuxDebug.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtux/DbtuxGen.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtux/DbtuxMaint.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtux/DbtuxMeta.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtux/DbtuxNode.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtux/DbtuxScan.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtux/DbtuxSearch.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtux/DbtuxTree.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbutil/DbUtil.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbutil/DbUtil.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbcntr/Ndbcntr.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbcntr/NdbcntrInit.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbcntr/NdbcntrSysTable.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbfs/AsyncFileTest/AsyncFileTest.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbfs/CircularIndex.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbfs/CircularIndex.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbfs/Filename.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbfs/Filename.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbfs/MemoryChannel.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbfs/MemoryChannel.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbfs/MemoryChannelTest/MemoryChannelTest.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbfs/Ndbfs.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbfs/Ndbfs.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbfs/OpenFiles.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbfs/Pool.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbfs/VoidFs.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/qmgr/Qmgr.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/qmgr/QmgrInit.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/qmgr/QmgrMain.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/qmgr/timer.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/suma/Suma.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/suma/Suma.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/suma/SumaInit.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/trix/Trix.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/trix/Trix.hpp:
  Auto merged
storage/ndb/src/kernel/error/ErrorHandlingMacros.hpp:
  Auto merged
storage/ndb/src/kernel/error/ErrorReporter.cpp:
  Auto merged
storage/ndb/src/kernel/error/ErrorReporter.hpp:
  Auto merged
storage/ndb/src/kernel/error/TimeModule.cpp:
  Auto merged
storage/ndb/src/kernel/error/TimeModule.hpp:
  Auto merged
storage/ndb/src/kernel/error/ndbd_exit_codes.c:
  Auto merged
storage/ndb/src/kernel/vm/Array.hpp:
  Auto merged
storage/ndb/src/kernel/vm/ArrayPool.hpp:
  Auto merged
storage/ndb/src/kernel/vm/CArray.hpp:
  Auto merged
storage/ndb/src/kernel/vm/Callback.hpp:
  Auto merged
storage/ndb/src/kernel/vm/ClusterConfiguration.cpp:
  Auto merged
storage/ndb/src/kernel/vm/ClusterConfiguration.hpp:
  Auto merged
storage/ndb/src/kernel/vm/Configuration.cpp:
  Auto merged
storage/ndb/src/kernel/vm/Configuration.hpp:
  Auto merged
storage/ndb/src/kernel/vm/DLFifoList.hpp:
  Auto merged
storage/ndb/src/kernel/vm/DLHashTable.hpp:
  Auto merged
storage/ndb/src/kernel/vm/DLHashTable2.hpp:
  Auto merged
storage/ndb/src/kernel/vm/DLList.hpp:
  Auto merged
storage/ndb/src/kernel/vm/DataBuffer.hpp:
  Auto merged
storage/ndb/src/kernel/vm/Emulator.cpp:
  Auto merged
storage/ndb/src/kernel/vm/Emulator.hpp:
  Auto merged
storage/ndb/src/kernel/vm/FastScheduler.cpp:
  Auto merged
storage/ndb/src/kernel/vm/FastScheduler.hpp:
  Auto merged
storage/ndb/src/kernel/vm/GlobalData.hpp:
  Auto merged
storage/ndb/src/kernel/vm/KeyDescriptor.hpp:
  Auto merged
storage/ndb/src/kernel/vm/KeyTable.hpp:
  Auto merged
storage/ndb/src/kernel/vm/KeyTable2.hpp:
  Auto merged
storage/ndb/src/kernel/vm/LongSignal.hpp:
  Auto merged
storage/ndb/src/kernel/vm/Mutex.cpp:
  Auto merged
storage/ndb/src/kernel/vm/Mutex.hpp:
  Auto merged
storage/ndb/src/kernel/vm/Prio.hpp:
  Auto merged
storage/ndb/src/kernel/vm/RequestTracker.hpp:
  Auto merged
storage/ndb/src/kernel/vm/SLList.hpp:
  Auto merged
storage/ndb/src/kernel/vm/SafeCounter.cpp:
  Auto merged
storage/ndb/src/kernel/vm/SafeCounter.hpp:
  Auto merged
storage/ndb/src/kernel/vm/SectionReader.cpp:
  Auto merged
storage/ndb/src/kernel/vm/SectionReader.hpp:
  Auto merged
storage/ndb/src/kernel/vm/SignalCounter.hpp:
  Auto merged
storage/ndb/src/kernel/vm/SimBlockList.hpp:
  Auto merged
storage/ndb/src/kernel/vm/SimplePropertiesSection.cpp:
  Auto merged
storage/ndb/src/kernel/vm/SimulatedBlock.cpp:
  Auto merged
storage/ndb/src/kernel/vm/SimulatedBlock.hpp:
  Auto merged
storage/ndb/src/kernel/vm/SuperPool.cpp:
  Auto merged
storage/ndb/src/kernel/vm/SuperPool.hpp:
  Auto merged
storage/ndb/src/kernel/vm/ThreadConfig.cpp:
  Auto merged
storage/ndb/src/kernel/vm/ThreadConfig.hpp:
  Auto merged
storage/ndb/src/kernel/vm/TimeQueue.cpp:
  Auto merged
storage/ndb/src/kernel/vm/TimeQueue.hpp:
  Auto merged
storage/ndb/src/kernel/vm/TransporterCallback.cpp:
  Auto merged
storage/ndb/src/kernel/vm/VMSignal.cpp:
  Auto merged
storage/ndb/src/kernel/vm/VMSignal.hpp:
  Auto merged
storage/ndb/src/kernel/vm/WaitQueue.hpp:
  Auto merged
storage/ndb/src/kernel/vm/WatchDog.cpp:
  Auto merged
storage/ndb/src/kernel/vm/WatchDog.hpp:
  Auto merged
storage/ndb/src/kernel/vm/al_test/arrayListTest.cpp:
  Auto merged
storage/ndb/src/kernel/vm/al_test/arrayPoolTest.cpp:
  Auto merged
storage/ndb/src/kernel/vm/al_test/main.cpp:
  Auto merged
storage/ndb/src/kernel/vm/ndbd_malloc.cpp:
  Auto merged
storage/ndb/src/kernel/vm/ndbd_malloc.hpp:
  Auto merged
storage/ndb/src/kernel/vm/pc.hpp:
  Auto merged
storage/ndb/src/kernel/vm/testCopy/rr.cpp:
  Auto merged
storage/ndb/src/kernel/vm/testCopy/testCopy.cpp:
  Auto merged
storage/ndb/src/kernel/vm/testDataBuffer/testDataBuffer.cpp:
  Auto merged
storage/ndb/src/kernel/vm/testLongSig/testLongSig.cpp:
  Auto merged
storage/ndb/src/kernel/vm/testSimplePropertiesSection/test.cpp:
  Auto merged
storage/ndb/src/kernel/vm/testSuperPool.cpp:
  Auto merged
storage/ndb/src/mgmapi/LocalConfig.cpp:
  Auto merged
storage/ndb/src/mgmapi/LocalConfig.hpp:
  Auto merged
storage/ndb/src/mgmapi/mgmapi.cpp:
  Auto merged
storage/ndb/src/mgmapi/mgmapi_configuration.hpp:
  Auto merged
storage/ndb/src/mgmapi/mgmapi_internal.h:
  Auto merged
storage/ndb/src/mgmapi/ndb_logevent.cpp:
  Auto merged
storage/ndb/src/mgmapi/ndb_logevent.hpp:
  Auto merged
storage/ndb/src/mgmapi/test/keso.c:
  Auto merged
storage/ndb/src/mgmapi/test/mgmSrvApi.cpp:
  Auto merged
storage/ndb/src/mgmclient/CommandInterpreter.cpp:
  Auto merged
storage/ndb/src/mgmclient/main.cpp:
  Auto merged
storage/ndb/src/mgmclient/ndb_mgmclient.hpp:
  Auto merged
storage/ndb/src/mgmclient/ndb_mgmclient.h:
  Auto merged
storage/ndb/src/mgmclient/test_cpcd/test_cpcd.cpp:
  Auto merged
storage/ndb/src/mgmsrv/Config.cpp:
  Auto merged
storage/ndb/src/mgmsrv/Config.hpp:
  Auto merged
storage/ndb/src/mgmsrv/ConfigInfo.cpp:
  Auto merged
storage/ndb/src/mgmsrv/ConfigInfo.hpp:
  Auto merged
storage/ndb/src/mgmsrv/InitConfigFileParser.cpp:
  Auto merged
storage/ndb/src/mgmsrv/InitConfigFileParser.hpp:
  Auto merged
storage/ndb/src/mgmsrv/MgmtSrvr.cpp:
  Auto merged
storage/ndb/src/mgmsrv/MgmtSrvr.hpp:
  Auto merged
storage/ndb/src/mgmsrv/MgmtSrvrConfig.cpp:
  Auto merged
storage/ndb/src/mgmsrv/MgmtSrvrGeneralSignalHandling.cpp:
  Auto merged
storage/ndb/src/mgmsrv/Services.cpp:
  Auto merged
storage/ndb/src/mgmsrv/Services.hpp:
  Auto merged
storage/ndb/src/mgmsrv/SignalQueue.cpp:
  Auto merged
storage/ndb/src/mgmsrv/SignalQueue.hpp:
  Auto merged
storage/ndb/src/mgmsrv/convertStrToInt.cpp:
  Auto merged
storage/ndb/src/mgmsrv/convertStrToInt.hpp:
  Auto merged
storage/ndb/src/mgmsrv/main.cpp:
  Auto merged
storage/ndb/src/mgmsrv/mkconfig/mkconfig.cpp:
  Auto merged
storage/ndb/src/ndbapi/API.hpp:
  Auto merged
storage/ndb/src/ndbapi/ClusterMgr.cpp:
  Auto merged
storage/ndb/src/ndbapi/ClusterMgr.hpp:
  Auto merged
storage/ndb/src/ndbapi/DictCache.cpp:
  Auto merged
storage/ndb/src/ndbapi/DictCache.hpp:
  Auto merged
storage/ndb/src/ndbapi/Ndb.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbApiSignal.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbApiSignal.hpp:
  Auto merged
storage/ndb/src/ndbapi/NdbBlob.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbBlobImpl.hpp:
  Auto merged
storage/ndb/src/ndbapi/NdbDictionary.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp:
  Auto merged
storage/ndb/src/ndbapi/NdbErrorOut.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbEventOperation.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbEventOperationImpl.hpp:
  Auto merged
storage/ndb/src/ndbapi/NdbImpl.hpp:
  Auto merged
storage/ndb/src/ndbapi/NdbIndexOperation.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbLinHash.hpp:
  Auto merged
storage/ndb/src/ndbapi/NdbOperation.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbOperationDefine.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbOperationExec.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbOperationInt.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbOperationScan.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbOperationSearch.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbPool.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbPoolImpl.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbPoolImpl.hpp:
  Auto merged
storage/ndb/src/ndbapi/NdbRecAttr.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbReceiver.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbScanFilter.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbScanOperation.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbTransaction.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbTransactionScan.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbUtil.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbUtil.hpp:
  Auto merged
storage/ndb/src/ndbapi/NdbWaiter.hpp:
  Auto merged
storage/ndb/src/ndbapi/Ndberr.cpp:
  Auto merged
storage/ndb/src/ndbapi/Ndbif.cpp:
  Auto merged
storage/ndb/src/ndbapi/Ndbinit.cpp:
  Auto merged
storage/ndb/src/ndbapi/Ndblist.cpp:
  Auto merged
storage/ndb/src/ndbapi/ObjectMap.hpp:
  Auto merged
storage/ndb/src/ndbapi/SignalSender.cpp:
  Auto merged
storage/ndb/src/ndbapi/SignalSender.hpp:
  Auto merged
storage/ndb/src/ndbapi/TransporterFacade.cpp:
  Auto merged
storage/ndb/src/ndbapi/TransporterFacade.hpp:
  Auto merged
storage/ndb/src/ndbapi/ndb_cluster_connection.cpp:
  Auto merged
storage/ndb/src/ndbapi/ndb_cluster_connection_impl.hpp:
  Auto merged
storage/ndb/src/ndbapi/ndberror.c:
  Auto merged
storage/ndb/src/ndbapi/signal-sender/SignalSender.cpp:
  Auto merged
storage/ndb/src/ndbapi/signal-sender/SignalSender.hpp:
  Auto merged
storage/ndb/test/include/CpcClient.hpp:
  Auto merged
storage/ndb/test/include/HugoAsynchTransactions.hpp:
  Auto merged
storage/ndb/test/include/HugoCalculator.hpp:
  Auto merged
storage/ndb/test/include/HugoOperations.hpp:
  Auto merged
storage/ndb/test/include/HugoTransactions.hpp:
  Auto merged
storage/ndb/test/include/NDBT.hpp:
  Auto merged
storage/ndb/test/include/NDBT_DataSet.hpp:
  Auto merged
storage/ndb/test/include/NDBT_DataSetTransaction.hpp:
  Auto merged
storage/ndb/test/include/NDBT_Error.hpp:
  Auto merged
storage/ndb/test/include/NDBT_Output.hpp:
  Auto merged
storage/ndb/test/include/NDBT_ResultRow.hpp:
  Auto merged
storage/ndb/test/include/NDBT_ReturnCodes.h:
  Auto merged
storage/ndb/test/include/NDBT_Stats.hpp:
  Auto merged
storage/ndb/test/include/NDBT_Table.hpp:
  Auto merged
storage/ndb/test/include/NDBT_Tables.hpp:
  Auto merged
storage/ndb/test/include/NDBT_Test.hpp:
  Auto merged
storage/ndb/test/include/NdbBackup.hpp:
  Auto merged
storage/ndb/test/include/NdbConfig.hpp:
  Auto merged
storage/ndb/test/include/NdbGrep.hpp:
  Auto merged
storage/ndb/test/include/NdbRestarter.hpp:
  Auto merged
storage/ndb/test/include/NdbRestarts.hpp:
  Auto merged
storage/ndb/test/include/NdbSchemaCon.hpp:
  Auto merged
storage/ndb/test/include/NdbSchemaOp.hpp:
  Auto merged
storage/ndb/test/include/NdbTest.hpp:
  Auto merged
storage/ndb/test/include/NdbTimer.hpp:
  Auto merged
storage/ndb/test/include/TestNdbEventOperation.hpp:
  Auto merged
storage/ndb/test/include/UtilTransactions.hpp:
  Auto merged
storage/ndb/test/include/getarg.h:
  Auto merged
storage/ndb/test/ndbapi/InsertRecs.cpp:
  Auto merged
storage/ndb/test/ndbapi/ScanFilter.hpp:
  Auto merged
storage/ndb/test/ndbapi/ScanFunctions.hpp:
  Auto merged
storage/ndb/test/ndbapi/ScanInterpretTest.hpp:
  Auto merged
storage/ndb/test/ndbapi/TraceNdbApi.cpp:
  Auto merged
storage/ndb/test/ndbapi/VerifyNdbApi.cpp:
  Auto merged
storage/ndb/test/ndbapi/acid.cpp:
  Auto merged
storage/ndb/test/ndbapi/acid2.cpp:
  Auto merged
storage/ndb/test/ndbapi/adoInsertRecs.cpp:
  Auto merged
storage/ndb/test/ndbapi/asyncGenerator.cpp:
  Auto merged
storage/ndb/test/ndbapi/benchronja.cpp:
  Auto merged
storage/ndb/test/ndbapi/bulk_copy.cpp:
  Auto merged
storage/ndb/test/ndbapi/cdrserver.cpp:
  Auto merged
storage/ndb/test/ndbapi/celloDb.cpp:
  Auto merged
storage/ndb/test/ndbapi/create_all_tabs.cpp:
  Auto merged
storage/ndb/test/ndbapi/create_tab.cpp:
  Auto merged
storage/ndb/test/ndbapi/drop_all_tabs.cpp:
  Auto merged
storage/ndb/test/ndbapi/flexAsynch.cpp:
  Auto merged
storage/ndb/test/ndbapi/flexBench.cpp:
  Auto merged
storage/ndb/test/ndbapi/flexHammer.cpp:
  Auto merged
storage/ndb/test/ndbapi/flexScan.cpp:
  Auto merged
storage/ndb/test/ndbapi/flexTT.cpp:
  Auto merged
storage/ndb/test/ndbapi/flexTimedAsynch.cpp:
  Auto merged
storage/ndb/test/ndbapi/flex_bench_mysql.cpp:
  Auto merged
storage/ndb/test/ndbapi/index.cpp:
  Auto merged
storage/ndb/test/ndbapi/index2.cpp:
  Auto merged
storage/ndb/test/ndbapi/initronja.cpp:
  Auto merged
storage/ndb/test/ndbapi/interpreterInTup.cpp:
  Auto merged
storage/ndb/test/ndbapi/mainAsyncGenerator.cpp:
  Auto merged
storage/ndb/test/ndbapi/msa.cpp:
  Auto merged
storage/ndb/test/ndbapi/ndb_async1.cpp:
  Auto merged
storage/ndb/test/ndbapi/ndb_async2.cpp:
  Auto merged
storage/ndb/test/ndbapi/ndb_user_populate.cpp:
  Auto merged
storage/ndb/test/ndbapi/ndb_user_transaction.cpp:
  Auto merged
storage/ndb/test/ndbapi/ndb_user_transaction2.cpp:
  Auto merged
storage/ndb/test/ndbapi/ndb_user_transaction3.cpp:
  Auto merged
storage/ndb/test/ndbapi/ndb_user_transaction4.cpp:
  Auto merged
storage/ndb/test/ndbapi/ndb_user_transaction5.cpp:
  Auto merged
storage/ndb/test/ndbapi/ndb_user_transaction6.cpp:
  Auto merged
storage/ndb/test/ndbapi/restarter.cpp:
  Auto merged
storage/ndb/test/ndbapi/restarter2.cpp:
  Auto merged
storage/ndb/test/ndbapi/restarts.cpp:
  Auto merged
storage/ndb/test/ndbapi/size.cpp:
  Auto merged
storage/ndb/test/ndbapi/testBackup.cpp:
  Auto merged
storage/ndb/test/ndbapi/testBasic.cpp:
  Auto merged
storage/ndb/test/ndbapi/testBasicAsynch.cpp:
  Auto merged
storage/ndb/test/ndbapi/testBlobs.cpp:
  Auto merged
storage/ndb/test/ndbapi/testDataBuffers.cpp:
  Auto merged
storage/ndb/test/ndbapi/testDeadlock.cpp:
  Auto merged
storage/ndb/test/ndbapi/testDict.cpp:
  Auto merged
storage/ndb/test/ndbapi/testGrepVerify.cpp:
  Auto merged
storage/ndb/test/ndbapi/testIndex.cpp:
  Auto merged
storage/ndb/test/ndbapi/testInterpreter.cpp:
  Auto merged
storage/ndb/test/ndbapi/testMgm.cpp:
  Auto merged
storage/ndb/test/ndbapi/testNdbApi.cpp:
  Auto merged
storage/ndb/test/ndbapi/testNodeRestart.cpp:
  Auto merged
storage/ndb/test/ndbapi/testOIBasic.cpp:
  Auto merged
storage/ndb/test/ndbapi/testOperations.cpp:
  Auto merged
storage/ndb/test/ndbapi/testOrderedIndex.cpp:
  Auto merged
storage/ndb/test/ndbapi/testPartitioning.cpp:
  Auto merged
storage/ndb/test/ndbapi/testReadPerf.cpp:
  Auto merged
storage/ndb/test/ndbapi/bank/Bank.cpp:
  Auto merged
storage/ndb/test/ndbapi/bank/Bank.hpp:
  Auto merged
storage/ndb/test/ndbapi/bank/BankLoad.cpp:
  Auto merged
storage/ndb/test/ndbapi/bank/bankCreator.cpp:
  Auto merged
storage/ndb/test/ndbapi/bank/bankMakeGL.cpp:
  Auto merged
storage/ndb/test/ndbapi/bank/bankSumAccounts.cpp:
  Auto merged
storage/ndb/test/ndbapi/bank/bankTimer.cpp:
  Auto merged
storage/ndb/test/ndbapi/bank/bankTransactionMaker.cpp:
  Auto merged
storage/ndb/test/ndbapi/bank/bankValidateAllGLs.cpp:
  Auto merged
storage/ndb/test/ndbapi/bank/testBank.cpp:
  Auto merged
storage/ndb/test/ndbapi/bench/asyncGenerator.cpp:
  Auto merged
storage/ndb/test/ndbapi/bench/dbGenerator.h:
  Auto merged
storage/ndb/test/ndbapi/bench/dbPopulate.cpp:
  Auto merged
storage/ndb/test/ndbapi/bench/dbPopulate.h:
  Auto merged
storage/ndb/test/ndbapi/bench/macros.h:
  Auto merged
storage/ndb/test/ndbapi/bench/mainAsyncGenerator.cpp:
  Auto merged
storage/ndb/test/ndbapi/bench/mainPopulate.cpp:
  Auto merged
storage/ndb/test/ndbapi/bench/ndb_async1.cpp:
  Auto merged
storage/ndb/test/ndbapi/bench/ndb_async2.cpp:
  Auto merged
storage/ndb/test/ndbapi/testRestartGci.cpp:
  Auto merged
storage/ndb/test/ndbapi/testSRBank.cpp:
  Auto merged
storage/ndb/test/ndbapi/testScan.cpp:
  Auto merged
storage/ndb/test/ndbapi/testScanInterpreter.cpp:
  Auto merged
storage/ndb/test/ndbapi/testScanPerf.cpp:
  Auto merged
storage/ndb/test/ndbapi/testSystemRestart.cpp:
  Auto merged
storage/ndb/test/ndbapi/testTimeout.cpp:
  Auto merged
storage/ndb/test/ndbapi/testTransactions.cpp:
  Auto merged
storage/ndb/test/ndbapi/test_event.cpp:
  Auto merged
storage/ndb/test/ndbapi/test_event_merge.cpp:
  Auto merged
storage/ndb/test/ndbapi/test_event_multi_table.cpp:
  Auto merged
storage/ndb/test/ndbapi/userInterface.cpp:
  Auto merged
storage/ndb/test/ndbapi/bench/ndb_error.hpp:
  Auto merged
storage/ndb/test/ndbapi/bench/ndb_schema.hpp:
  Auto merged
storage/ndb/test/ndbapi/bench/ndb_user_transaction.cpp:
  Auto merged
storage/ndb/test/ndbapi/bench/ndb_user_transaction2.cpp:
  Auto merged
storage/ndb/test/ndbapi/bench/ndb_user_transaction3.cpp:
  Auto merged
storage/ndb/test/ndbapi/bench/ndb_user_transaction4.cpp:
  Auto merged
storage/ndb/test/ndbapi/bench/ndb_user_transaction5.cpp:
  Auto merged
storage/ndb/test/ndbapi/bench/ndb_user_transaction6.cpp:
  Auto merged
storage/ndb/test/ndbapi/bench/testData.h:
  Auto merged
storage/ndb/test/ndbapi/bench/testDefinitions.h:
  Auto merged
storage/ndb/test/ndbapi/bench/userInterface.cpp:
  Auto merged
storage/ndb/test/ndbapi/bench/userInterface.h:
  Auto merged
storage/ndb/test/newtonapi/basic_test/basic/basic.cpp:
  Auto merged
storage/ndb/test/newtonapi/basic_test/bulk_read/br_test.cpp:
  Auto merged
storage/ndb/test/newtonapi/basic_test/common.cpp:
  Auto merged
storage/ndb/test/newtonapi/basic_test/common.hpp:
  Auto merged
storage/ndb/test/newtonapi/basic_test/ptr_binding/ptr_binding_test.cpp:
  Auto merged
storage/ndb/test/newtonapi/basic_test/too_basic.cpp:
  Auto merged
storage/ndb/test/newtonapi/perf_test/perf.cpp:
  Auto merged
storage/ndb/test/odbc/SQL99_test/SQL99_test.cpp:
  Auto merged
storage/ndb/test/odbc/SQL99_test/SQL99_test.h:
  Auto merged
storage/ndb/test/odbc/client/NDBT_ALLOCHANDLE.cpp:
  Auto merged
storage/ndb/test/odbc/client/NDBT_ALLOCHANDLE_HDBC.cpp:
  Auto merged
storage/ndb/test/odbc/client/NDBT_SQLConnect.cpp:
  Auto merged
storage/ndb/test/odbc/client/NDBT_SQLPrepare.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLAllocEnvTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLAllocHandleTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLAllocHandleTest_bf.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLBindColTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLBindParameterTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLCancelTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLCloseCursorTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLColAttributeTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLColAttributeTest1.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLColAttributeTest2.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLColAttributeTest3.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLConnectTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLCopyDescTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLDescribeColTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLDisconnectTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLDriverConnectTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLEndTranTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLErrorTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLExecDirectTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLExecuteTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLFetchScrollTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLFetchTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLFreeHandleTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLFreeStmtTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLGetConnectAttrTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLGetCursorNameTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLGetDataTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLGetDescFieldTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLGetDescRecTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLGetDiagFieldTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLGetDiagRecSimpleTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLGetDiagRecTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLGetEnvAttrTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLGetFunctionsTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLGetInfoTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLGetStmtAttrTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLGetTypeInfoTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLMoreResultsTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLNumResultColsTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLParamDataTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLPrepareTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLPutDataTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLRowCountTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLSetConnectAttrTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLSetCursorNameTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLSetDescFieldTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLSetDescRecTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLSetEnvAttrTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLSetStmtAttrTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLTablesTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLTransactTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/common.hpp:
  Auto merged
storage/ndb/test/odbc/client/main.cpp:
  Auto merged
storage/ndb/test/odbc/driver/testOdbcDriver.cpp:
  Auto merged
storage/ndb/test/odbc/test_compiler/test_compiler.cpp:
  Auto merged
storage/ndb/test/run-test/main.cpp:
  Auto merged
storage/ndb/test/run-test/run-test.hpp:
  Auto merged
storage/ndb/test/src/CpcClient.cpp:
  Auto merged
storage/ndb/test/src/HugoAsynchTransactions.cpp:
  Auto merged
storage/ndb/test/src/HugoCalculator.cpp:
  Auto merged
storage/ndb/test/src/HugoOperations.cpp:
  Auto merged
storage/ndb/test/src/HugoTransactions.cpp:
  Auto merged
storage/ndb/test/src/NDBT_Error.cpp:
  Auto merged
storage/ndb/test/src/NDBT_Output.cpp:
  Auto merged
storage/ndb/test/src/NDBT_ResultRow.cpp:
  Auto merged
storage/ndb/test/src/NDBT_ReturnCodes.cpp:
  Auto merged
storage/ndb/test/src/NDBT_Table.cpp:
  Auto merged
storage/ndb/test/src/NDBT_Tables.cpp:
  Auto merged
storage/ndb/test/src/NDBT_Test.cpp:
  Auto merged
storage/ndb/test/src/NdbBackup.cpp:
  Auto merged
storage/ndb/test/src/NdbConfig.cpp:
  Auto merged
storage/ndb/test/src/NdbGrep.cpp:
  Auto merged
storage/ndb/test/src/NdbRestarter.cpp:
  Auto merged
storage/ndb/test/src/NdbRestarts.cpp:
  Auto merged
storage/ndb/test/src/NdbSchemaCon.cpp:
  Auto merged
storage/ndb/test/src/NdbSchemaOp.cpp:
  Auto merged
storage/ndb/test/src/UtilTransactions.cpp:
  Auto merged
storage/ndb/test/tools/copy_tab.cpp:
  Auto merged
storage/ndb/test/tools/cpcc.cpp:
  Auto merged
storage/ndb/test/tools/create_index.cpp:
  Auto merged
storage/ndb/test/tools/hugoCalculator.cpp:
  Auto merged
storage/ndb/test/tools/hugoFill.cpp:
  Auto merged
storage/ndb/test/tools/hugoLoad.cpp:
  Auto merged
storage/ndb/test/tools/hugoLockRecords.cpp:
  Auto merged
storage/ndb/test/tools/hugoPkDelete.cpp:
  Auto merged
storage/ndb/test/tools/hugoPkRead.cpp:
  Auto merged
storage/ndb/test/tools/hugoPkReadRecord.cpp:
  Auto merged
storage/ndb/test/tools/hugoPkUpdate.cpp:
  Auto merged
storage/ndb/test/tools/hugoScanRead.cpp:
  Auto merged
storage/ndb/test/tools/hugoScanUpdate.cpp:
  Auto merged
storage/ndb/test/tools/restart.cpp:
  Auto merged
storage/ndb/test/tools/transproxy.cpp:
  Auto merged
storage/ndb/test/tools/verify_index.cpp:
  Auto merged
storage/ndb/tools/delete_all.cpp:
  Auto merged
storage/ndb/tools/desc.cpp:
  Auto merged
storage/ndb/tools/drop_index.cpp:
  Auto merged
storage/ndb/tools/drop_tab.cpp:
  Auto merged
storage/ndb/tools/listTables.cpp:
  Auto merged
storage/ndb/tools/ndb_condig.cpp:
  Auto merged
storage/ndb/tools/ndb_test_platform.cpp:
  Auto merged
storage/ndb/tools/ndbsql.cpp:
  Auto merged
storage/ndb/tools/restore/Restore.cpp:
  Auto merged
storage/ndb/tools/restore/Restore.hpp:
  Auto merged
storage/ndb/tools/restore/consumer.cpp:
  Auto merged
storage/ndb/tools/restore/consumer.hpp:
  Auto merged
storage/ndb/tools/restore/consumer_printer.cpp:
  Auto merged
storage/ndb/tools/restore/consumer_printer.hpp:
  Auto merged
storage/ndb/tools/restore/consumer_restore.cpp:
  Auto merged
storage/ndb/tools/restore/consumer_restore.hpp:
  Auto merged
storage/ndb/tools/restore/consumer_restorem.cpp:
  Auto merged
storage/ndb/tools/restore/restore_main.cpp:
  Auto merged
storage/ndb/tools/select_all.cpp:
  Auto merged
storage/ndb/tools/select_count.cpp:
  Auto merged
storage/ndb/tools/waiter.cpp:
  Auto merged
strings/Makefile.am:
  Auto merged
strings/ctype-big5.c:
  Auto merged
strings/ctype-bin.c:
  Auto merged
strings/ctype-cp932.c:
  Auto merged
strings/ctype-euc_kr.c:
  Auto merged
strings/ctype-eucjpms.c:
  Auto merged
strings/ctype-gb2312.c:
  Auto merged
strings/ctype-gbk.c:
  Auto merged
strings/ctype-latin1.c:
  Auto merged
strings/ctype-mb.c:
  Auto merged
strings/ctype-simple.c:
  Auto merged
strings/ctype-sjis.c:
  Auto merged
strings/ctype-tis620.c:
  Auto merged
strings/ctype-ucs2.c:
  Auto merged
strings/ctype-ujis.c:
  Auto merged
strings/ctype-utf8.c:
  Auto merged
strings/ctype-win1250ch.c:
  Auto merged
strings/ctype.c:
  Auto merged
strings/decimal.c:
  Auto merged
strings/strxnmov.c:
  Auto merged
strings/xml.c:
  Auto merged
tests/Makefile.am:
  Auto merged
tests/mysql_client_test.c:
  Auto merged
vio/Makefile.am:
  Auto merged
vio/vio.c:
  Auto merged
vio/viosocket.c:
  Auto merged
vio/viossl.c:
  Auto merged
vio/viosslfactories.c:
  Auto merged
zlib/Makefile.am:
  Auto merged
2006-12-23 20:20:40 +01:00
unknown
0ea6669e04 Applied innodb-5.1-ss1004
Fixes:
- Bug #15815: Very poor performance with multiple queries running concurrently
- Bug #22868: 'Thread thrashing' with > 50 concurrent conns under an upd-intensive workloadw
- Bug #24089: Race condition in fil_flush_file_spaces()


storage/innobase/btr/btr0btr.c:
  Applied innodb-5.1-ss1004
  
  Revision r934:
  btr_lift_page_up(): Set new page levels in all ancestor pages, not just
  in the father page.
  
  btr0btr.h: Add a BTR_MAX_LEVELS define.
storage/innobase/buf/buf0buf.c:
  Applied innodb-5.1-ss1004
  
  Revision r999:
  Reduce buffer pool mutex contention under >= 4 big concurrent
  CPU-bound SELECT queries.  (Bug #22868)
  
  Fix: replace the mutex by one mutex protecting the 'flush list'
  (and the free list) and several mutexes protecting portions of the
  buffer pool, where we keep several indivudual LRU lists of pages.
  
  This patch is from Sunny Bains and Heikki Tuuri.
storage/innobase/buf/buf0flu.c:
  Applied innodb-5.1-ss1004
  
  Revision r999:
  Reduce buffer pool mutex contention under >= 4 big concurrent
  CPU-bound SELECT queries.  (Bug #22868)
  
  Fix: replace the mutex by one mutex protecting the 'flush list'
  (and the free list) and several mutexes protecting portions of the
  buffer pool, where we keep several indivudual LRU lists of pages.
  
  This patch is from Sunny Bains and Heikki Tuuri.
storage/innobase/buf/buf0lru.c:
  Applied innodb-5.1-ss1004
  
  Revision r999:
  Reduce buffer pool mutex contention under >= 4 big concurrent
  CPU-bound SELECT queries.  (Bug #22868)
  
  Fix: replace the mutex by one mutex protecting the 'flush list'
  (and the free list) and several mutexes protecting portions of the
  buffer pool, where we keep several indivudual LRU lists of pages.
  
  This patch is from Sunny Bains and Heikki Tuuri.
  
  
  Revision r1004:
  UT_LIST_REMOVE(): Invalidate the node pointers #ifdef UNIV_DEBUG.
  
  buf_LRU_invalidate_tablespace(): Invoke UT_LIST_GET_PREV(LRU, block)
  before UT_LIST_REMOVE(LRU, buf_pool->LRU, block).
storage/innobase/dict/dict0crea.c:
  Applied innodb-5.1-ss1004
  
  Revision r973:
  Do not break the latching order in TRUNCATE TABLE.
  
  dict_truncate_index_tree(): Replace parameter rec_t* rec with
  btr_pcur_t* pcur.  Reposition pcur before calling btr_create().
  
  sync_thread_add_level(): Remove the relaxation of the assertion added in r968.
storage/innobase/fil/fil0fil.c:
  Applied innodb-5.1-ss1004
  
  Revision r1002:
  fil_flush_file_spaces(): Copy the system->unflushed_spaces list to an
  array while holding the mutex.  This removes the crash-triggering
  race condition that was introduced when fixing Bug 15653.  (Bug #24089)
storage/innobase/include/btr0btr.h:
  Applied innodb-5.1-ss1004
  
  Revision r934:
  btr_lift_page_up(): Set new page levels in all ancestor pages, not just
  in the father page.
  
  btr0btr.h: Add a BTR_MAX_LEVELS define.
storage/innobase/include/buf0buf.h:
  Applied innodb-5.1-ss1004
  
  Revision r999:
  Reduce buffer pool mutex contention under >= 4 big concurrent
  CPU-bound SELECT queries.  (Bug #22868)
  
  Fix: replace the mutex by one mutex protecting the 'flush list'
  (and the free list) and several mutexes protecting portions of the
  buffer pool, where we keep several indivudual LRU lists of pages.
  
  This patch is from Sunny Bains and Heikki Tuuri.
storage/innobase/include/buf0buf.ic:
  Applied innodb-5.1-ss1004
  
  Revision r999:
  Reduce buffer pool mutex contention under >= 4 big concurrent
  CPU-bound SELECT queries.  (Bug #22868)
  
  Fix: replace the mutex by one mutex protecting the 'flush list'
  (and the free list) and several mutexes protecting portions of the
  buffer pool, where we keep several indivudual LRU lists of pages.
  
  This patch is from Sunny Bains and Heikki Tuuri.
storage/innobase/include/dict0crea.h:
  Applied innodb-5.1-ss1004
  
  Revision r973:
  Do not break the latching order in TRUNCATE TABLE.
  
  dict_truncate_index_tree(): Replace parameter rec_t* rec with
  btr_pcur_t* pcur.  Reposition pcur before calling btr_create().
  
  sync_thread_add_level(): Remove the relaxation of the assertion added in r968.
storage/innobase/include/ut0lst.h:
  Applied innodb-5.1-ss1004
  
  Revision r1004:
  UT_LIST_REMOVE(): Invalidate the node pointers #ifdef UNIV_DEBUG.
  
  buf_LRU_invalidate_tablespace(): Invoke UT_LIST_GET_PREV(LRU, block)
  before UT_LIST_REMOVE(LRU, buf_pool->LRU, block).
storage/innobase/row/row0mysql.c:
  Applied innodb-5.1-ss1004
  
  Revision r973:
  Do not break the latching order in TRUNCATE TABLE.
  
  dict_truncate_index_tree(): Replace parameter rec_t* rec with
  btr_pcur_t* pcur.  Reposition pcur before calling btr_create().
  
  sync_thread_add_level(): Remove the relaxation of the assertion added in r968.
2006-11-09 05:01:19 +01:00
unknown
ff66bc05f7 Applied InnoDB snapshot 5.1-ss927
Fixes:
- Bug #23368: crash during insert, table has foreign key pointing into other schema,permission


storage/innobase/dict/dict0dict.c:
  Applied InnoDB snapshot 5.1-ss927
  
  Revision r927:
  dict_print_info_on_foreign_key_in_create_format(): Use ut_print_name()
  instead of passing the wrong length to ut_print_namel().  (Bug #23368)
  
  ut_print_name(), ut_print_namel(): Document the special treatment of '/'.
  
  ut_print_namel(): Replace strchr() with memchr(), as the string might
  not be NUL-terminated.
storage/innobase/include/ut0ut.h:
  Applied InnoDB snapshot 5.1-ss927
  
  Revision r927:
  dict_print_info_on_foreign_key_in_create_format(): Use ut_print_name()
  instead of passing the wrong length to ut_print_namel().  (Bug #23368)
  
  ut_print_name(), ut_print_namel(): Document the special treatment of '/'.
  
  ut_print_namel(): Replace strchr() with memchr(), as the string might
  not be NUL-terminated.
storage/innobase/ut/ut0ut.c:
  Applied InnoDB snapshot 5.1-ss927
  
  Revision r927:
  dict_print_info_on_foreign_key_in_create_format(): Use ut_print_name()
  instead of passing the wrong length to ut_print_namel().  (Bug #23368)
  
  ut_print_name(), ut_print_namel(): Document the special treatment of '/'.
  
  ut_print_namel(): Replace strchr() with memchr(), as the string might
  not be NUL-terminated.
2006-10-20 13:44:49 -06:00
unknown
f6f91b9d3b Apply InnoDB snapshot ss923
Fixes:
- Bug #18077: InnoDB uses full explicit table locks in stored FUNCTION


storage/innobase/btr/btr0btr.c:
  Apply InnoDB snapshot ss923
  
  Revision r919:
  btr_page_get_father_for_rec(): Remove bogus comment about removed dict_tree_t.
storage/innobase/dict/dict0dict.c:
  Apply InnoDB snapshot ss923
  
  Revision r892:
  Merge changes from MySQL AB.
  
  dict_col_copy_type_noninline(): Remove the return statement.
  Some compilers do not allow return expressions of void type.
  
  innobase_start_or_create_for_mysql(): Do not cap srv_max_threads to 1000
  on Windows.
  
  Makefile.am (EXTRA_DIST): Add plug.in
  
  
  Revision r897:
  dict_index_get_if_in_cache(): Enclose in #ifdef UNIV_DEBUG.
  Replace the search loop with a call to dict_index_find_on_id_low().
storage/innobase/handler/ha_innodb.cc:
  Apply InnoDB snapshot ss923
  
  Revision r887:
  storage/innobase/handler: Merge changes from MySQL AB:
  
  ChangeSet
    2006/09/30 18:44:42-07:00 brian@zim.(none) 
    Merge zim.(none):/home/brian/mysql/merge-5.1
    into  zim.(none):/home/brian/mysql/arch-5.1
  
  ChangeSet
    2006/09/30 12:49:46-07:00 brian@zim.(none) 
    This patch adds handlerton passing to functions. NDB and Innodb still require a global hanlderton in the main code due to the nature of the sql_cache call back function (should be solveable... another patch).
    Partitioning now has a flag to allow disabling of engines from being compatible with partitioning. Cleaned up heap naming convention on panic call. 
  
  ChangeSet
    2006/09/29 17:19:02-07:00 brian@zim.(none) 
    This removes the passing of global hton to engine instance. 
  
  ChangeSet
    2006/09/28 13:22:56+02:00 gbichot@dl145h.mysql.com 
    Merge gbichot@bk-internal:/home/bk/mysql-5.1-arch
    into  dl145h.mysql.com:/users/gbichot/mysql-5.1-arch
  
  ChangeSet
    2006/09/28 13:19:43+02:00 gbichot@dl145h.mysql.com 
    In the handlerton, cursor creation function don't have an argument
    and so the engine calls current_thd to derive transaction information;
    instead we now pass THD to those functions, it looks more logical
    (it makes the implicit current_thd parameter more visible).
    Approved by Brian and Monty.
  
  ChangeSet
    2006/09/26 22:51:53-07:00 brian@zim.(none) 
    Merge zim.(none):/home/brian/mysql/merge-5.1
    into  zim.(none):/home/brian/mysql/arch-5.1
  
  
  Revision r895:
  Merge changes from MySQL AB, and remove two compilation warnings.
  
  ha_innodb.cc: innodb_mutex_show_status(): Add (ulong) casts to
  ulonglong expressions being passed to fprintf %lu.  The warnings
  were apparently introduced by MySQL AB developers.
  
  mysql_declare_plugin(innobase): Add PLUGIN_LICENSE_GPL.
  
  have_innodb.inc: Merge changes from MySQL AB.
  
  
  Revision r923:
  ha_innobase::store_lock(): When downgrading table locks, do not
  check thd->in_lock_tables but test if
  thd->lex->sql_command == SQLCOM_LOCK_TABLES
  instead.  Otherwise, stored functions will use table locks.  (Bug #18077)
  
  This patch is from Heikki.
storage/innobase/include/dict0dict.h:
  Apply InnoDB snapshot ss923
  
  Revision r897:
  dict_index_get_if_in_cache(): Enclose in #ifdef UNIV_DEBUG.
  Replace the search loop with a call to dict_index_find_on_id_low().
storage/innobase/include/mem0dbg.h:
  Apply InnoDB snapshot ss923
  
  Revision r901:
  Enclose some mem debug functions in #ifdef UNIV_DEBUG or #ifdef UNIV_MEM_DEBUG.
storage/innobase/include/mtr0mtr.h:
  Apply InnoDB snapshot ss923
  
  Revision r866:
  mtr_print(), mtr_memo_contains(): Disable unless #ifdef UNIV_DEBUG.
storage/innobase/include/mtr0mtr.ic:
  Apply InnoDB snapshot ss923
  
  Revision r866:
  mtr_print(), mtr_memo_contains(): Disable unless #ifdef UNIV_DEBUG.
storage/innobase/include/sync0rw.h:
  Apply InnoDB snapshot ss923
  
  Revision r907:
  Send all SHOW ENGINE INNODB STATUS information to the client also when
  UNIV_SYNC_DEBUG is defined.
  
  rw_lock_list_print_info(): Add parameter "file".
  
  mutex_list_print_info(): Add parameter "file".  Make the function static.
storage/innobase/include/sync0sync.h:
  Apply InnoDB snapshot ss923
  
  Revision r907:
  Send all SHOW ENGINE INNODB STATUS information to the client also when
  UNIV_SYNC_DEBUG is defined.
  
  rw_lock_list_print_info(): Add parameter "file".
  
  mutex_list_print_info(): Add parameter "file".  Make the function static.
storage/innobase/include/univ.i:
  Apply InnoDB snapshot ss923
  
  Revision r894:
  univ.i: Indent some of the directives, and remove conditions about Windows
  in the "#else" branch of "#if building on Windows".
storage/innobase/mem/mem0dbg.c:
  Apply InnoDB snapshot ss923
  
  Revision r901:
  Enclose some mem debug functions in #ifdef UNIV_DEBUG or #ifdef UNIV_MEM_DEBUG.
  
  
  Revision r902:
  mem0dbg.c: Enclose some more function definitions in #ifdef UNIV_MEM_DEBUG.
  The declarations were already enclosed in #ifdef UNIV_MEM_DEBUG.
storage/innobase/mem/mem0pool.c:
  Apply InnoDB snapshot ss923
  
  Revision r896:
  mem0pool.c: Remove obsolete comments about the dictionary cache being
  managed with an LRU algorithm.
storage/innobase/mtr/mtr0mtr.c:
  Apply InnoDB snapshot ss923
  
  Revision r866:
  mtr_print(), mtr_memo_contains(): Disable unless #ifdef UNIV_DEBUG.
storage/innobase/row/row0purge.c:
  Apply InnoDB snapshot ss923
  
  Revision r869:
  row_purge_parse_undo_rec(): Correct a faulty condition.  Luckily, this
  bug would only surface if the InnoDB SQL interpreter were used for
  updating fixed-length columns.  Currently (as the UPD_NODE_NO_SIZE_CHANGE
  flag is never set), cmpl_info can only be 0 or UPD_NODE_NO_ORD_CHANGE.
  Luckily, UPD_NODE_NO_ORD_CHANGE is 1, and the condition was simplified
  to !cmpl_info.
storage/innobase/sync/sync0rw.c:
  Apply InnoDB snapshot ss923
  
  Revision r907:
  Send all SHOW ENGINE INNODB STATUS information to the client also when
  UNIV_SYNC_DEBUG is defined.
  
  rw_lock_list_print_info(): Add parameter "file".
  
  mutex_list_print_info(): Add parameter "file".  Make the function static.
storage/innobase/sync/sync0sync.c:
  Apply InnoDB snapshot ss923
  
  Revision r907:
  Send all SHOW ENGINE INNODB STATUS information to the client also when
  UNIV_SYNC_DEBUG is defined.
  
  rw_lock_list_print_info(): Add parameter "file".
  
  mutex_list_print_info(): Add parameter "file".  Make the function static.
2006-10-20 12:36:15 -06:00
unknown
90d71b22c8 Fix Solaris 10 compile failure
- Void function can't return a value


storage/innobase/dict/dict0dict.c:
  Void function can't return a value
2006-09-21 20:37:35 +02:00
unknown
bf2f50d345 Applied innodb-5.1 snapshots ss799 and ss854
Bugs fixed:
- Bug #20877: InnoDB data dictionary memory footprint is too big
- Bug #13544: Second delete of same row in transaction illustrates non-optimal locking
- Bug #20791: valgrind errors in InnoDB


storage/innobase/btr/btr0btr.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r823:
  Minor cleanup related to Bug #20877.
  
  btr_print_recursive(): Replace tree->tree_indexes with tree->index.
  This should have been done in r453.
  
  univ.i: Add UNIV_BTR_PRINT.
  
  rw_lock_t: Reduce writer_is_wait_ex to a bit and move it close to
  other bitfields.  Change the types to unsigned, in case ulint or ibool
  bitfields will not work.
  
  
  Revision r828:
  Remove dict_tree_t, which should have been removed in r453.
  There always was a one-to-one mapping between dict_tree_t and dict_index_t.
  
  This saves 6 machine words per B-tree index in the data dictionary
  cache plus the memory allocation overhead.  We save one mem_heap_t
  object per index (15 machine words).  Considering the internal
  fragmentation of the buddy allocator in mem_area_alloc(), this should
  save 32 machine words per index (128 bytes on 32-bit systems and 256
  bytes on 64-bit systems).  (Bug #20877)
  
  struct dict_tree_struct, dict_tree_t: Remove.
  
  struct dict_index_struct: Add page and lock.
  
  dict_tree_create(): Remove.  Replace the invocation with
  assignment to index->page and a call to rw_lock_create(&index->lock).
  
  dict_tree_free(): Remove.  Replace the invocation wtih
  a call to rw_lock_free(&index->lock).
  
  dict_index_get_tree(): Remove.
  
  dict_tree_get_space_reserve(): Rename to dict_index_get_space_reserve()
  and remove the parameter, which was unused.
  
  btr_level_list_remove(): Remove the unused parameter "tree".
  
  Replace the occurrences of "tree" with "index" in names of variables,
  functions and data types, e.g. "dict_tree_t tree" becomes
  "dict_index_t index".  Remove local variables "tree" or "index" of
  functions that needed both "tree" and "index".
  
  
  Revision r834:
  dict_col_t: Copy the fields of "dtype_t type" directly to this structure,
  so that all integer fields can be packed into 64 bits.  (Bug #20877)
  
  dtype_t: Change the type of all bit-fields to unsigned.
  
  dict_table_get_nth_col(), dict_table_get_sys_col_noninline(),
  dict_table_get_sys_col(), dict_field_get_col(): Return const
  dict_col_t*, so that changes to dict_col_t can be detected more
  easily.  Add const to many dict_col_t* declarations.
  
  dict_index_get_nth_type(): Replace with dict_index_get_nth_col().
  
  dict_col_get_type(): Replace with dict_col_copy_type().
  
  dict_col_get_min_size(), dict_col_get_max_size(), dict_col_get_fixed_size(),
  dict_col_get_sql_null_size(): New functions.
  
  dtype_get_at_most_n_mbchars(): Replace the parameter dtype
  with the parameters prtype, mbminlen, mbmaxlen.
  
  dtype_get_pad_char(), cmp_data_data(), cmp_data_data_slow(),
  cmp_whole_field(): Replace the dtype_t* parameter with the ulint
  parameters mtype, prtype.
  
  dtype_copy(): Add a const qualifier to type2 (the one being copied from).
  
  dtype_set_mblen(): Replaced with dtype_get_mblen().
  
  dtype_get_fixed_size_low(), dtype_get_min_size_low(),
  dtype_get_fixed_max_low(): Replace dtype_get_fixed_size(),
  dtype_get_min_size(), and dtype_get_max_size().  These are used by the
  dict_col_get_{fixed,min,max}_size() functions.
  
  cmp_types_are_equal(): Replace with cmp_cols_are_equal().
  
  dict_table_get_col_name(): Add a const qualifier parameter to the
  parameter "table".
  
  dtype_binary, dtype_binary_val: Remove.
  
  dtype_is_fixed_size(): Remove.
  
  
  Revision r837:
  page_offset(): New function to replace many ut_align_offset(., UNIV_PAGE_SIZE)
  calls.
  
  dict_index_build_node_ptr(): Correct a typo in a comment.
  
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/btr/btr0cur.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r816:
  Remove more remnants of mixed indexes.
  
  Revision r828:
  Remove dict_tree_t, which should have been removed in r453.
  There always was a one-to-one mapping between dict_tree_t and dict_index_t.
  
  This saves 6 machine words per B-tree index in the data dictionary
  cache plus the memory allocation overhead.  We save one mem_heap_t
  object per index (15 machine words).  Considering the internal
  fragmentation of the buddy allocator in mem_area_alloc(), this should
  save 32 machine words per index (128 bytes on 32-bit systems and 256
  bytes on 64-bit systems).  (Bug #20877)
  
  struct dict_tree_struct, dict_tree_t: Remove.
  
  struct dict_index_struct: Add page and lock.
  
  dict_tree_create(): Remove.  Replace the invocation with
  assignment to index->page and a call to rw_lock_create(&index->lock).
  
  dict_tree_free(): Remove.  Replace the invocation wtih
  a call to rw_lock_free(&index->lock).
  
  dict_index_get_tree(): Remove.
  
  dict_tree_get_space_reserve(): Rename to dict_index_get_space_reserve()
  and remove the parameter, which was unused.
  
  btr_level_list_remove(): Remove the unused parameter "tree".
  
  Replace the occurrences of "tree" with "index" in names of variables,
  functions and data types, e.g. "dict_tree_t tree" becomes
  "dict_index_t index".  Remove local variables "tree" or "index" of
  functions that needed both "tree" and "index".
  
  
  Revision r830:
  page_align(ptr): New utility function to replace
  ut_align_down(ptr, UNIV_PAGE_SIZE) calls.
  
  
  Revision r837:
  page_offset(): New function to replace many ut_align_offset(., UNIV_PAGE_SIZE)
  calls.
  
  dict_index_build_node_ptr(): Correct a typo in a comment.
  
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/btr/btr0pcur.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r828:
  Remove dict_tree_t, which should have been removed in r453.
  There always was a one-to-one mapping between dict_tree_t and dict_index_t.
  
  This saves 6 machine words per B-tree index in the data dictionary
  cache plus the memory allocation overhead.  We save one mem_heap_t
  object per index (15 machine words).  Considering the internal
  fragmentation of the buddy allocator in mem_area_alloc(), this should
  save 32 machine words per index (128 bytes on 32-bit systems and 256
  bytes on 64-bit systems).  (Bug #20877)
  
  struct dict_tree_struct, dict_tree_t: Remove.
  
  struct dict_index_struct: Add page and lock.
  
  dict_tree_create(): Remove.  Replace the invocation with
  assignment to index->page and a call to rw_lock_create(&index->lock).
  
  dict_tree_free(): Remove.  Replace the invocation wtih
  a call to rw_lock_free(&index->lock).
  
  dict_index_get_tree(): Remove.
  
  dict_tree_get_space_reserve(): Rename to dict_index_get_space_reserve()
  and remove the parameter, which was unused.
  
  btr_level_list_remove(): Remove the unused parameter "tree".
  
  Replace the occurrences of "tree" with "index" in names of variables,
  functions and data types, e.g. "dict_tree_t tree" becomes
  "dict_index_t index".  Remove local variables "tree" or "index" of
  functions that needed both "tree" and "index".
  
  
  Revision r830:
  page_align(ptr): New utility function to replace
  ut_align_down(ptr, UNIV_PAGE_SIZE) calls.
  
  
  Revision r837:
  page_offset(): New function to replace many ut_align_offset(., UNIV_PAGE_SIZE)
  calls.
  
  dict_index_build_node_ptr(): Correct a typo in a comment.
  
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/btr/btr0sea.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r813:
  Reduce the size of the data dictionary cache.  (Bug #20877)
  
  dtype_t: Remove unused field "prec", which was supposed to be used for
  the precision of decimal columns in stand-alone InnoDB.
  
  dtype_get_prec(): Remove.
  
  dtype_set(), dict_mem_table_add_col(): Remove parameter "prec".
  
  dtype_t: Turn all fields (mtype, prtype, len, mbminlen, mbmaxlen, len)
  into bit-fields.
  
  dict_table_t, dict_index_t, dict_tree_t: Omit magic_n from non-debug builds.
  
  dict_col_t: Turn ind, clust_pos, and ord_part into bit-fields.
  
  Replace the default clust_pos value ULINT_UNDEFINED with
  REC_MAX_N_FIELDS and replace all references to clust_pos with calls to
  the accessor function dict_col_get_clust_pos().
  
  dict_field_t: Turn prefix_len and fixed_len into bit-fields.
  
  dict_tree_t: Remove pad[64].
  
  dict_table_t: Turn the fields ibd_file_missing, tablespace_discarded,
  cached, flags, stat_initialized, and autoinc_inited into bit-fields.
  Remove does_not_fit_in_memory from non-debug builds.
  
  dict_index_t: Turn the fields trx_id_offset, n_user_defined_cols,
  n_uniq, n_def, n_fields, n_nullable, and cached into bit-fields.
  
  dict_foreign_struct: Turn n_fields and type into bit-fields.
  
  rw_lock_t: Turn cline, last_s_line, and last_x_line into bit-fields.
  Omit level unless #defined UNIV_SYNC_DEBUG.
  
  Move REC_MAX_N_FIELDS (and REC_MAX_HEAP_NO and REC_MAX_N_OWNED)
  from rem0rec.c to rem0types.h, as they are needed in dict0dict.ic.
  dict_col_get_clust_pos(): Map REC_MAX_N_FIELDS to ULINT_UNDEFINED.
  
  
  Revision r816:
  Remove more remnants of mixed indexes.
  
  Revision r824:
  Reduce the size of btr_search_t from 13 machine words to 7.  This
  structure is reserved for every index in the data dictionary cache.
  (Bug #20877)
  
  We could shrink the structure further to three 32-bit words or two
  64-bit words by turning the remaining fields to bit-fields.
  Unfortunately, the fields are not protected by any mutex, and thus we
  would better keep each field aligned to a machine word.
  
  btr_search_t, buf_block_t: Rename "ulint side" to "ibool left_side".
  Remove BTR_SEARCH_LEFT_SIDE and BTR_SEARCH_RIGHT_SIDE, and also rename
  some local variables and function parameters from "ulint side" to
  "ibool left_side".
  
  btr_search_t: Remove the unused fields last_search, n_direction, direction,
  and modify_clock.  Remove the unused constants BTR_SEA_NO_DIRECTION,
  BTR_SEA_LEFT, BTR_SEA_RIGHT, and BTR_SEA_SAME_REC.
  
  btr_search_t: Remove magic_n unless #defined UNIV_DEBUG.  Turn an assertion
  about the magic number into a debug assertion.
  
  
  Revision r828:
  Remove dict_tree_t, which should have been removed in r453.
  There always was a one-to-one mapping between dict_tree_t and dict_index_t.
  
  This saves 6 machine words per B-tree index in the data dictionary
  cache plus the memory allocation overhead.  We save one mem_heap_t
  object per index (15 machine words).  Considering the internal
  fragmentation of the buddy allocator in mem_area_alloc(), this should
  save 32 machine words per index (128 bytes on 32-bit systems and 256
  bytes on 64-bit systems).  (Bug #20877)
  
  struct dict_tree_struct, dict_tree_t: Remove.
  
  struct dict_index_struct: Add page and lock.
  
  dict_tree_create(): Remove.  Replace the invocation with
  assignment to index->page and a call to rw_lock_create(&index->lock).
  
  dict_tree_free(): Remove.  Replace the invocation wtih
  a call to rw_lock_free(&index->lock).
  
  dict_index_get_tree(): Remove.
  
  dict_tree_get_space_reserve(): Rename to dict_index_get_space_reserve()
  and remove the parameter, which was unused.
  
  btr_level_list_remove(): Remove the unused parameter "tree".
  
  Replace the occurrences of "tree" with "index" in names of variables,
  functions and data types, e.g. "dict_tree_t tree" becomes
  "dict_index_t index".  Remove local variables "tree" or "index" of
  functions that needed both "tree" and "index".
  
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/buf/buf0buf.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r824:
  Reduce the size of btr_search_t from 13 machine words to 7.  This
  structure is reserved for every index in the data dictionary cache.
  (Bug #20877)
  
  We could shrink the structure further to three 32-bit words or two
  64-bit words by turning the remaining fields to bit-fields.
  Unfortunately, the fields are not protected by any mutex, and thus we
  would better keep each field aligned to a machine word.
  
  btr_search_t, buf_block_t: Rename "ulint side" to "ibool left_side".
  Remove BTR_SEARCH_LEFT_SIDE and BTR_SEARCH_RIGHT_SIDE, and also rename
  some local variables and function parameters from "ulint side" to
  "ibool left_side".
  
  btr_search_t: Remove the unused fields last_search, n_direction, direction,
  and modify_clock.  Remove the unused constants BTR_SEA_NO_DIRECTION,
  BTR_SEA_LEFT, BTR_SEA_RIGHT, and BTR_SEA_SAME_REC.
  
  btr_search_t: Remove magic_n unless #defined UNIV_DEBUG.  Turn an assertion
  about the magic number into a debug assertion.
  
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/buf/buf0flu.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/buf/buf0lru.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/buf/buf0rea.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/data/data0data.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/data/data0type.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r813:
  Reduce the size of the data dictionary cache.  (Bug #20877)
  
  dtype_t: Remove unused field "prec", which was supposed to be used for
  the precision of decimal columns in stand-alone InnoDB.
  
  dtype_get_prec(): Remove.
  
  dtype_set(), dict_mem_table_add_col(): Remove parameter "prec".
  
  dtype_t: Turn all fields (mtype, prtype, len, mbminlen, mbmaxlen, len)
  into bit-fields.
  
  dict_table_t, dict_index_t, dict_tree_t: Omit magic_n from non-debug builds.
  
  dict_col_t: Turn ind, clust_pos, and ord_part into bit-fields.
  
  Replace the default clust_pos value ULINT_UNDEFINED with
  REC_MAX_N_FIELDS and replace all references to clust_pos with calls to
  the accessor function dict_col_get_clust_pos().
  
  dict_field_t: Turn prefix_len and fixed_len into bit-fields.
  
  dict_tree_t: Remove pad[64].
  
  dict_table_t: Turn the fields ibd_file_missing, tablespace_discarded,
  cached, flags, stat_initialized, and autoinc_inited into bit-fields.
  Remove does_not_fit_in_memory from non-debug builds.
  
  dict_index_t: Turn the fields trx_id_offset, n_user_defined_cols,
  n_uniq, n_def, n_fields, n_nullable, and cached into bit-fields.
  
  dict_foreign_struct: Turn n_fields and type into bit-fields.
  
  rw_lock_t: Turn cline, last_s_line, and last_x_line into bit-fields.
  Omit level unless #defined UNIV_SYNC_DEBUG.
  
  Move REC_MAX_N_FIELDS (and REC_MAX_HEAP_NO and REC_MAX_N_OWNED)
  from rem0rec.c to rem0types.h, as they are needed in dict0dict.ic.
  dict_col_get_clust_pos(): Map REC_MAX_N_FIELDS to ULINT_UNDEFINED.
  
  
  Revision r816:
  Remove more remnants of mixed indexes.
  
  Revision r834:
  dict_col_t: Copy the fields of "dtype_t type" directly to this structure,
  so that all integer fields can be packed into 64 bits.  (Bug #20877)
  
  dtype_t: Change the type of all bit-fields to unsigned.
  
  dict_table_get_nth_col(), dict_table_get_sys_col_noninline(),
  dict_table_get_sys_col(), dict_field_get_col(): Return const
  dict_col_t*, so that changes to dict_col_t can be detected more
  easily.  Add const to many dict_col_t* declarations.
  
  dict_index_get_nth_type(): Replace with dict_index_get_nth_col().
  
  dict_col_get_type(): Replace with dict_col_copy_type().
  
  dict_col_get_min_size(), dict_col_get_max_size(), dict_col_get_fixed_size(),
  dict_col_get_sql_null_size(): New functions.
  
  dtype_get_at_most_n_mbchars(): Replace the parameter dtype
  with the parameters prtype, mbminlen, mbmaxlen.
  
  dtype_get_pad_char(), cmp_data_data(), cmp_data_data_slow(),
  cmp_whole_field(): Replace the dtype_t* parameter with the ulint
  parameters mtype, prtype.
  
  dtype_copy(): Add a const qualifier to type2 (the one being copied from).
  
  dtype_set_mblen(): Replaced with dtype_get_mblen().
  
  dtype_get_fixed_size_low(), dtype_get_min_size_low(),
  dtype_get_fixed_max_low(): Replace dtype_get_fixed_size(),
  dtype_get_min_size(), and dtype_get_max_size().  These are used by the
  dict_col_get_{fixed,min,max}_size() functions.
  
  cmp_types_are_equal(): Replace with cmp_cols_are_equal().
  
  dict_table_get_col_name(): Add a const qualifier parameter to the
  parameter "table".
  
  dtype_binary, dtype_binary_val: Remove.
  
  dtype_is_fixed_size(): Remove.
storage/innobase/dict/dict0boot.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r813:
  Reduce the size of the data dictionary cache.  (Bug #20877)
  
  dtype_t: Remove unused field "prec", which was supposed to be used for
  the precision of decimal columns in stand-alone InnoDB.
  
  dtype_get_prec(): Remove.
  
  dtype_set(), dict_mem_table_add_col(): Remove parameter "prec".
  
  dtype_t: Turn all fields (mtype, prtype, len, mbminlen, mbmaxlen, len)
  into bit-fields.
  
  dict_table_t, dict_index_t, dict_tree_t: Omit magic_n from non-debug builds.
  
  dict_col_t: Turn ind, clust_pos, and ord_part into bit-fields.
  
  Replace the default clust_pos value ULINT_UNDEFINED with
  REC_MAX_N_FIELDS and replace all references to clust_pos with calls to
  the accessor function dict_col_get_clust_pos().
  
  dict_field_t: Turn prefix_len and fixed_len into bit-fields.
  
  dict_tree_t: Remove pad[64].
  
  dict_table_t: Turn the fields ibd_file_missing, tablespace_discarded,
  cached, flags, stat_initialized, and autoinc_inited into bit-fields.
  Remove does_not_fit_in_memory from non-debug builds.
  
  dict_index_t: Turn the fields trx_id_offset, n_user_defined_cols,
  n_uniq, n_def, n_fields, n_nullable, and cached into bit-fields.
  
  dict_foreign_struct: Turn n_fields and type into bit-fields.
  
  rw_lock_t: Turn cline, last_s_line, and last_x_line into bit-fields.
  Omit level unless #defined UNIV_SYNC_DEBUG.
  
  Move REC_MAX_N_FIELDS (and REC_MAX_HEAP_NO and REC_MAX_N_OWNED)
  from rem0rec.c to rem0types.h, as they are needed in dict0dict.ic.
  dict_col_get_clust_pos(): Map REC_MAX_N_FIELDS to ULINT_UNDEFINED.
  
  
  Revision r816:
  Remove more remnants of mixed indexes.
  
  Revision r827:
  Make dict_index_find_cols() always succeed.
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/dict/dict0crea.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r813:
  Reduce the size of the data dictionary cache.  (Bug #20877)
  
  dtype_t: Remove unused field "prec", which was supposed to be used for
  the precision of decimal columns in stand-alone InnoDB.
  
  dtype_get_prec(): Remove.
  
  dtype_set(), dict_mem_table_add_col(): Remove parameter "prec".
  
  dtype_t: Turn all fields (mtype, prtype, len, mbminlen, mbmaxlen, len)
  into bit-fields.
  
  dict_table_t, dict_index_t, dict_tree_t: Omit magic_n from non-debug builds.
  
  dict_col_t: Turn ind, clust_pos, and ord_part into bit-fields.
  
  Replace the default clust_pos value ULINT_UNDEFINED with
  REC_MAX_N_FIELDS and replace all references to clust_pos with calls to
  the accessor function dict_col_get_clust_pos().
  
  dict_field_t: Turn prefix_len and fixed_len into bit-fields.
  
  dict_tree_t: Remove pad[64].
  
  dict_table_t: Turn the fields ibd_file_missing, tablespace_discarded,
  cached, flags, stat_initialized, and autoinc_inited into bit-fields.
  Remove does_not_fit_in_memory from non-debug builds.
  
  dict_index_t: Turn the fields trx_id_offset, n_user_defined_cols,
  n_uniq, n_def, n_fields, n_nullable, and cached into bit-fields.
  
  dict_foreign_struct: Turn n_fields and type into bit-fields.
  
  rw_lock_t: Turn cline, last_s_line, and last_x_line into bit-fields.
  Omit level unless #defined UNIV_SYNC_DEBUG.
  
  Move REC_MAX_N_FIELDS (and REC_MAX_HEAP_NO and REC_MAX_N_OWNED)
  from rem0rec.c to rem0types.h, as they are needed in dict0dict.ic.
  dict_col_get_clust_pos(): Map REC_MAX_N_FIELDS to ULINT_UNDEFINED.
  
  
  Revision r816:
  Remove more remnants of mixed indexes.
  
  Revision r827:
  Make dict_index_find_cols() always succeed.
  
  Revision r828:
  Remove dict_tree_t, which should have been removed in r453.
  There always was a one-to-one mapping between dict_tree_t and dict_index_t.
  
  This saves 6 machine words per B-tree index in the data dictionary
  cache plus the memory allocation overhead.  We save one mem_heap_t
  object per index (15 machine words).  Considering the internal
  fragmentation of the buddy allocator in mem_area_alloc(), this should
  save 32 machine words per index (128 bytes on 32-bit systems and 256
  bytes on 64-bit systems).  (Bug #20877)
  
  struct dict_tree_struct, dict_tree_t: Remove.
  
  struct dict_index_struct: Add page and lock.
  
  dict_tree_create(): Remove.  Replace the invocation with
  assignment to index->page and a call to rw_lock_create(&index->lock).
  
  dict_tree_free(): Remove.  Replace the invocation wtih
  a call to rw_lock_free(&index->lock).
  
  dict_index_get_tree(): Remove.
  
  dict_tree_get_space_reserve(): Rename to dict_index_get_space_reserve()
  and remove the parameter, which was unused.
  
  btr_level_list_remove(): Remove the unused parameter "tree".
  
  Replace the occurrences of "tree" with "index" in names of variables,
  functions and data types, e.g. "dict_tree_t tree" becomes
  "dict_index_t index".  Remove local variables "tree" or "index" of
  functions that needed both "tree" and "index".
  
  
  Revision r832:
  Add dict_table_get_col_name() in preparation for getting rid of
  dict_col_t::name, and use it instead of col->name everywhere.
  
  Revision r833:
  Tweak the bit-field definitions introduced since r813 to address Bug #20877.
  
  rw_lock_t: Do not make writer_is_wait_ex a bit-field.  There are no fields
  yet that could be fused to the same machine word, but we play it safe,
  because the field writer_is_wait_ex may be modified by several threads
  simultaneously.  Such fields should always be allocated an own machine
  word.
  
  dict_table_t: Change the type of all bit-fields to "unsigned".  Make
  "space" a bit-field of 32 bits.  Move name_hash and id_hash after all
  bit-fields, so that the bit-fields can be allocated together.  Do not
  make autoinc_inited a bit-field, as we cannot allocate any field
  from the same machine word.
  
  dict_build_table_def_step(): Pass a local variable to
  fil_create_new_single_table_tablespace() and initialize table->space
  from it after the call, now that table->space is a bit-field.
  
  
  Revision r834:
  dict_col_t: Copy the fields of "dtype_t type" directly to this structure,
  so that all integer fields can be packed into 64 bits.  (Bug #20877)
  
  dtype_t: Change the type of all bit-fields to unsigned.
  
  dict_table_get_nth_col(), dict_table_get_sys_col_noninline(),
  dict_table_get_sys_col(), dict_field_get_col(): Return const
  dict_col_t*, so that changes to dict_col_t can be detected more
  easily.  Add const to many dict_col_t* declarations.
  
  dict_index_get_nth_type(): Replace with dict_index_get_nth_col().
  
  dict_col_get_type(): Replace with dict_col_copy_type().
  
  dict_col_get_min_size(), dict_col_get_max_size(), dict_col_get_fixed_size(),
  dict_col_get_sql_null_size(): New functions.
  
  dtype_get_at_most_n_mbchars(): Replace the parameter dtype
  with the parameters prtype, mbminlen, mbmaxlen.
  
  dtype_get_pad_char(), cmp_data_data(), cmp_data_data_slow(),
  cmp_whole_field(): Replace the dtype_t* parameter with the ulint
  parameters mtype, prtype.
  
  dtype_copy(): Add a const qualifier to type2 (the one being copied from).
  
  dtype_set_mblen(): Replaced with dtype_get_mblen().
  
  dtype_get_fixed_size_low(), dtype_get_min_size_low(),
  dtype_get_fixed_max_low(): Replace dtype_get_fixed_size(),
  dtype_get_min_size(), and dtype_get_max_size().  These are used by the
  dict_col_get_{fixed,min,max}_size() functions.
  
  cmp_types_are_equal(): Replace with cmp_cols_are_equal().
  
  dict_table_get_col_name(): Add a const qualifier parameter to the
  parameter "table".
  
  dtype_binary, dtype_binary_val: Remove.
  
  dtype_is_fixed_size(): Remove.
  
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/dict/dict0dict.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r813:
  Reduce the size of the data dictionary cache.  (Bug #20877)
  
  dtype_t: Remove unused field "prec", which was supposed to be used for
  the precision of decimal columns in stand-alone InnoDB.
  
  dtype_get_prec(): Remove.
  
  dtype_set(), dict_mem_table_add_col(): Remove parameter "prec".
  
  dtype_t: Turn all fields (mtype, prtype, len, mbminlen, mbmaxlen, len)
  into bit-fields.
  
  dict_table_t, dict_index_t, dict_tree_t: Omit magic_n from non-debug builds.
  
  dict_col_t: Turn ind, clust_pos, and ord_part into bit-fields.
  
  Replace the default clust_pos value ULINT_UNDEFINED with
  REC_MAX_N_FIELDS and replace all references to clust_pos with calls to
  the accessor function dict_col_get_clust_pos().
  
  dict_field_t: Turn prefix_len and fixed_len into bit-fields.
  
  dict_tree_t: Remove pad[64].
  
  dict_table_t: Turn the fields ibd_file_missing, tablespace_discarded,
  cached, flags, stat_initialized, and autoinc_inited into bit-fields.
  Remove does_not_fit_in_memory from non-debug builds.
  
  dict_index_t: Turn the fields trx_id_offset, n_user_defined_cols,
  n_uniq, n_def, n_fields, n_nullable, and cached into bit-fields.
  
  dict_foreign_struct: Turn n_fields and type into bit-fields.
  
  rw_lock_t: Turn cline, last_s_line, and last_x_line into bit-fields.
  Omit level unless #defined UNIV_SYNC_DEBUG.
  
  Move REC_MAX_N_FIELDS (and REC_MAX_HEAP_NO and REC_MAX_N_OWNED)
  from rem0rec.c to rem0types.h, as they are needed in dict0dict.ic.
  dict_col_get_clust_pos(): Map REC_MAX_N_FIELDS to ULINT_UNDEFINED.
  
  
  Revision r816:
  Remove more remnants of mixed indexes.
  
  Revision r818:
  Remove dict_col_t::hash, dict_col_t::table,
  dict_sys->col_hash, and DICT_POOL_PER_COL_HASH.  (Bug #20877)
  
  The col->table pointer was only needed for maintaining a hash table of
  all defined columns in all tables.  The hash table was only looked up
  in dict_index_find_cols().  Removing the col->hash and col->table
  pointers reduces the size of a table column by two machine words
  (usually 8 or 16 bytes).
  
  dict_col_add_to_cache(), dict_col_reposition_in_cache(),
  dict_col_remove_from_cache(): Remove.  These only updated dict_sys->col_hash.
  
  dict_index_find_cols(): Use a linear search instead of the hash table.
  The time complexity is affected, but this function is only invoked by
  dict_index_add_to_cache(), and we only search the columns of a single
  table (typically at most a few dozen) as opposed to all columns of all
  tables.
  
  
  Revision r819:
  dict_col_t: Reduce ord_part to one bit.
  
  dict_index_add_to_cache(): Instead of incrementing ord_part, set it.
  
  dict_index_remove_from_cache(): Do not touch ord_part.
  
  dtype_t: Reduce mbminlen from 3 to 2 bits.
  
  row_upd(): Add a UNIV_LIKELY hint around node->in_mysql_interface.
  
  
  Revision r820:
  Remove dict_col_t::clust_pos.
  
  dict_col_get_clust_pos(): Add parameter clust_index.  Replace the
  look-up with a linear search of all columns in the clustered index.
  
  row_upd_index_replace_new_col_vals(): Compute clust_index outside
  the loops.  Compute clust_pos outside the inner loop.
  
  row_upd_changes_ord_field_binary(), row_upd_changes_first_fields_binary():
  Compute clust_index outside the loops.  Declare the auxiliary variables
  inside the loop scope.
  
  
  Revision r821:
  dict_table_t: Rename the integer field max_row_size
  to the Boolean field big_rows.  (Bug #20877)
  
  BIG_ROW_SIZE: Move the definition from row0sel.c to dict_table_add_to_cache().
  
  
  Revision r826:
  The code base was reindented in r763 and automatic .emacs indentation
  settings introduced. Some problems were found, so from this commit on one
  additional indentation rule is introduced:
  
   (add-to-list 'c-offsets-alist '(arglist-intro . +))
  
  Note that fixing some of the unfortunate line-splits done in r764 will be
  done in a future change.
  
  Revision r827:
  Make dict_index_find_cols() always succeed.
  
  Revision r828:
  Remove dict_tree_t, which should have been removed in r453.
  There always was a one-to-one mapping between dict_tree_t and dict_index_t.
  
  This saves 6 machine words per B-tree index in the data dictionary
  cache plus the memory allocation overhead.  We save one mem_heap_t
  object per index (15 machine words).  Considering the internal
  fragmentation of the buddy allocator in mem_area_alloc(), this should
  save 32 machine words per index (128 bytes on 32-bit systems and 256
  bytes on 64-bit systems).  (Bug #20877)
  
  struct dict_tree_struct, dict_tree_t: Remove.
  
  struct dict_index_struct: Add page and lock.
  
  dict_tree_create(): Remove.  Replace the invocation with
  assignment to index->page and a call to rw_lock_create(&index->lock).
  
  dict_tree_free(): Remove.  Replace the invocation wtih
  a call to rw_lock_free(&index->lock).
  
  dict_index_get_tree(): Remove.
  
  dict_tree_get_space_reserve(): Rename to dict_index_get_space_reserve()
  and remove the parameter, which was unused.
  
  btr_level_list_remove(): Remove the unused parameter "tree".
  
  Replace the occurrences of "tree" with "index" in names of variables,
  functions and data types, e.g. "dict_tree_t tree" becomes
  "dict_index_t index".  Remove local variables "tree" or "index" of
  functions that needed both "tree" and "index".
  
  
  Revision r831:
  Add dict_col_get_clust_pos_noninline(), which was forgotten from r820.
  
  
  Revision r832:
  Add dict_table_get_col_name() in preparation for getting rid of
  dict_col_t::name, and use it instead of col->name everywhere.
  
  Revision r834:
  dict_col_t: Copy the fields of "dtype_t type" directly to this structure,
  so that all integer fields can be packed into 64 bits.  (Bug #20877)
  
  dtype_t: Change the type of all bit-fields to unsigned.
  
  dict_table_get_nth_col(), dict_table_get_sys_col_noninline(),
  dict_table_get_sys_col(), dict_field_get_col(): Return const
  dict_col_t*, so that changes to dict_col_t can be detected more
  easily.  Add const to many dict_col_t* declarations.
  
  dict_index_get_nth_type(): Replace with dict_index_get_nth_col().
  
  dict_col_get_type(): Replace with dict_col_copy_type().
  
  dict_col_get_min_size(), dict_col_get_max_size(), dict_col_get_fixed_size(),
  dict_col_get_sql_null_size(): New functions.
  
  dtype_get_at_most_n_mbchars(): Replace the parameter dtype
  with the parameters prtype, mbminlen, mbmaxlen.
  
  dtype_get_pad_char(), cmp_data_data(), cmp_data_data_slow(),
  cmp_whole_field(): Replace the dtype_t* parameter with the ulint
  parameters mtype, prtype.
  
  dtype_copy(): Add a const qualifier to type2 (the one being copied from).
  
  dtype_set_mblen(): Replaced with dtype_get_mblen().
  
  dtype_get_fixed_size_low(), dtype_get_min_size_low(),
  dtype_get_fixed_max_low(): Replace dtype_get_fixed_size(),
  dtype_get_min_size(), and dtype_get_max_size().  These are used by the
  dict_col_get_{fixed,min,max}_size() functions.
  
  cmp_types_are_equal(): Replace with cmp_cols_are_equal().
  
  dict_table_get_col_name(): Add a const qualifier parameter to the
  parameter "table".
  
  dtype_binary, dtype_binary_val: Remove.
  
  dtype_is_fixed_size(): Remove.
  
  
  Revision r836:
  Remove dict_col_t::name, replace it with a packed array of column names in
  dict_table_t. This saves 8-15+ bytes of memory per column on 64-bit
  machines.
  
  Revision r837:
  page_offset(): New function to replace many ut_align_offset(., UNIV_PAGE_SIZE)
  calls.
  
  dict_index_build_node_ptr(): Correct a typo in a comment.
  
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
  
  Revision r845:
  Split long lines with [] operators better.
storage/innobase/dict/dict0load.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r813:
  Reduce the size of the data dictionary cache.  (Bug #20877)
  
  dtype_t: Remove unused field "prec", which was supposed to be used for
  the precision of decimal columns in stand-alone InnoDB.
  
  dtype_get_prec(): Remove.
  
  dtype_set(), dict_mem_table_add_col(): Remove parameter "prec".
  
  dtype_t: Turn all fields (mtype, prtype, len, mbminlen, mbmaxlen, len)
  into bit-fields.
  
  dict_table_t, dict_index_t, dict_tree_t: Omit magic_n from non-debug builds.
  
  dict_col_t: Turn ind, clust_pos, and ord_part into bit-fields.
  
  Replace the default clust_pos value ULINT_UNDEFINED with
  REC_MAX_N_FIELDS and replace all references to clust_pos with calls to
  the accessor function dict_col_get_clust_pos().
  
  dict_field_t: Turn prefix_len and fixed_len into bit-fields.
  
  dict_tree_t: Remove pad[64].
  
  dict_table_t: Turn the fields ibd_file_missing, tablespace_discarded,
  cached, flags, stat_initialized, and autoinc_inited into bit-fields.
  Remove does_not_fit_in_memory from non-debug builds.
  
  dict_index_t: Turn the fields trx_id_offset, n_user_defined_cols,
  n_uniq, n_def, n_fields, n_nullable, and cached into bit-fields.
  
  dict_foreign_struct: Turn n_fields and type into bit-fields.
  
  rw_lock_t: Turn cline, last_s_line, and last_x_line into bit-fields.
  Omit level unless #defined UNIV_SYNC_DEBUG.
  
  Move REC_MAX_N_FIELDS (and REC_MAX_HEAP_NO and REC_MAX_N_OWNED)
  from rem0rec.c to rem0types.h, as they are needed in dict0dict.ic.
  dict_col_get_clust_pos(): Map REC_MAX_N_FIELDS to ULINT_UNDEFINED.
  
  
  Revision r832:
  Add dict_table_get_col_name() in preparation for getting rid of
  dict_col_t::name, and use it instead of col->name everywhere.
  
  Revision r834:
  dict_col_t: Copy the fields of "dtype_t type" directly to this structure,
  so that all integer fields can be packed into 64 bits.  (Bug #20877)
  
  dtype_t: Change the type of all bit-fields to unsigned.
  
  dict_table_get_nth_col(), dict_table_get_sys_col_noninline(),
  dict_table_get_sys_col(), dict_field_get_col(): Return const
  dict_col_t*, so that changes to dict_col_t can be detected more
  easily.  Add const to many dict_col_t* declarations.
  
  dict_index_get_nth_type(): Replace with dict_index_get_nth_col().
  
  dict_col_get_type(): Replace with dict_col_copy_type().
  
  dict_col_get_min_size(), dict_col_get_max_size(), dict_col_get_fixed_size(),
  dict_col_get_sql_null_size(): New functions.
  
  dtype_get_at_most_n_mbchars(): Replace the parameter dtype
  with the parameters prtype, mbminlen, mbmaxlen.
  
  dtype_get_pad_char(), cmp_data_data(), cmp_data_data_slow(),
  cmp_whole_field(): Replace the dtype_t* parameter with the ulint
  parameters mtype, prtype.
  
  dtype_copy(): Add a const qualifier to type2 (the one being copied from).
  
  dtype_set_mblen(): Replaced with dtype_get_mblen().
  
  dtype_get_fixed_size_low(), dtype_get_min_size_low(),
  dtype_get_fixed_max_low(): Replace dtype_get_fixed_size(),
  dtype_get_min_size(), and dtype_get_max_size().  These are used by the
  dict_col_get_{fixed,min,max}_size() functions.
  
  cmp_types_are_equal(): Replace with cmp_cols_are_equal().
  
  dict_table_get_col_name(): Add a const qualifier parameter to the
  parameter "table".
  
  dtype_binary, dtype_binary_val: Remove.
  
  dtype_is_fixed_size(): Remove.
  
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/dict/dict0mem.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r813:
  Reduce the size of the data dictionary cache.  (Bug #20877)
  
  dtype_t: Remove unused field "prec", which was supposed to be used for
  the precision of decimal columns in stand-alone InnoDB.
  
  dtype_get_prec(): Remove.
  
  dtype_set(), dict_mem_table_add_col(): Remove parameter "prec".
  
  dtype_t: Turn all fields (mtype, prtype, len, mbminlen, mbmaxlen, len)
  into bit-fields.
  
  dict_table_t, dict_index_t, dict_tree_t: Omit magic_n from non-debug builds.
  
  dict_col_t: Turn ind, clust_pos, and ord_part into bit-fields.
  
  Replace the default clust_pos value ULINT_UNDEFINED with
  REC_MAX_N_FIELDS and replace all references to clust_pos with calls to
  the accessor function dict_col_get_clust_pos().
  
  dict_field_t: Turn prefix_len and fixed_len into bit-fields.
  
  dict_tree_t: Remove pad[64].
  
  dict_table_t: Turn the fields ibd_file_missing, tablespace_discarded,
  cached, flags, stat_initialized, and autoinc_inited into bit-fields.
  Remove does_not_fit_in_memory from non-debug builds.
  
  dict_index_t: Turn the fields trx_id_offset, n_user_defined_cols,
  n_uniq, n_def, n_fields, n_nullable, and cached into bit-fields.
  
  dict_foreign_struct: Turn n_fields and type into bit-fields.
  
  rw_lock_t: Turn cline, last_s_line, and last_x_line into bit-fields.
  Omit level unless #defined UNIV_SYNC_DEBUG.
  
  Move REC_MAX_N_FIELDS (and REC_MAX_HEAP_NO and REC_MAX_N_OWNED)
  from rem0rec.c to rem0types.h, as they are needed in dict0dict.ic.
  dict_col_get_clust_pos(): Map REC_MAX_N_FIELDS to ULINT_UNDEFINED.
  
  
  Revision r818:
  Remove dict_col_t::hash, dict_col_t::table,
  dict_sys->col_hash, and DICT_POOL_PER_COL_HASH.  (Bug #20877)
  
  The col->table pointer was only needed for maintaining a hash table of
  all defined columns in all tables.  The hash table was only looked up
  in dict_index_find_cols().  Removing the col->hash and col->table
  pointers reduces the size of a table column by two machine words
  (usually 8 or 16 bytes).
  
  dict_col_add_to_cache(), dict_col_reposition_in_cache(),
  dict_col_remove_from_cache(): Remove.  These only updated dict_sys->col_hash.
  
  dict_index_find_cols(): Use a linear search instead of the hash table.
  The time complexity is affected, but this function is only invoked by
  dict_index_add_to_cache(), and we only search the columns of a single
  table (typically at most a few dozen) as opposed to all columns of all
  tables.
  
  
  Revision r820:
  Remove dict_col_t::clust_pos.
  
  dict_col_get_clust_pos(): Add parameter clust_index.  Replace the
  look-up with a linear search of all columns in the clustered index.
  
  row_upd_index_replace_new_col_vals(): Compute clust_index outside
  the loops.  Compute clust_pos outside the inner loop.
  
  row_upd_changes_ord_field_binary(), row_upd_changes_first_fields_binary():
  Compute clust_index outside the loops.  Declare the auxiliary variables
  inside the loop scope.
  
  
  Revision r821:
  dict_table_t: Rename the integer field max_row_size
  to the Boolean field big_rows.  (Bug #20877)
  
  BIG_ROW_SIZE: Move the definition from row0sel.c to dict_table_add_to_cache().
  
  
  Revision r828:
  Remove dict_tree_t, which should have been removed in r453.
  There always was a one-to-one mapping between dict_tree_t and dict_index_t.
  
  This saves 6 machine words per B-tree index in the data dictionary
  cache plus the memory allocation overhead.  We save one mem_heap_t
  object per index (15 machine words).  Considering the internal
  fragmentation of the buddy allocator in mem_area_alloc(), this should
  save 32 machine words per index (128 bytes on 32-bit systems and 256
  bytes on 64-bit systems).  (Bug #20877)
  
  struct dict_tree_struct, dict_tree_t: Remove.
  
  struct dict_index_struct: Add page and lock.
  
  dict_tree_create(): Remove.  Replace the invocation with
  assignment to index->page and a call to rw_lock_create(&index->lock).
  
  dict_tree_free(): Remove.  Replace the invocation wtih
  a call to rw_lock_free(&index->lock).
  
  dict_index_get_tree(): Remove.
  
  dict_tree_get_space_reserve(): Rename to dict_index_get_space_reserve()
  and remove the parameter, which was unused.
  
  btr_level_list_remove(): Remove the unused parameter "tree".
  
  Replace the occurrences of "tree" with "index" in names of variables,
  functions and data types, e.g. "dict_tree_t tree" becomes
  "dict_index_t index".  Remove local variables "tree" or "index" of
  functions that needed both "tree" and "index".
  
  
  Revision r834:
  dict_col_t: Copy the fields of "dtype_t type" directly to this structure,
  so that all integer fields can be packed into 64 bits.  (Bug #20877)
  
  dtype_t: Change the type of all bit-fields to unsigned.
  
  dict_table_get_nth_col(), dict_table_get_sys_col_noninline(),
  dict_table_get_sys_col(), dict_field_get_col(): Return const
  dict_col_t*, so that changes to dict_col_t can be detected more
  easily.  Add const to many dict_col_t* declarations.
  
  dict_index_get_nth_type(): Replace with dict_index_get_nth_col().
  
  dict_col_get_type(): Replace with dict_col_copy_type().
  
  dict_col_get_min_size(), dict_col_get_max_size(), dict_col_get_fixed_size(),
  dict_col_get_sql_null_size(): New functions.
  
  dtype_get_at_most_n_mbchars(): Replace the parameter dtype
  with the parameters prtype, mbminlen, mbmaxlen.
  
  dtype_get_pad_char(), cmp_data_data(), cmp_data_data_slow(),
  cmp_whole_field(): Replace the dtype_t* parameter with the ulint
  parameters mtype, prtype.
  
  dtype_copy(): Add a const qualifier to type2 (the one being copied from).
  
  dtype_set_mblen(): Replaced with dtype_get_mblen().
  
  dtype_get_fixed_size_low(), dtype_get_min_size_low(),
  dtype_get_fixed_max_low(): Replace dtype_get_fixed_size(),
  dtype_get_min_size(), and dtype_get_max_size().  These are used by the
  dict_col_get_{fixed,min,max}_size() functions.
  
  cmp_types_are_equal(): Replace with cmp_cols_are_equal().
  
  dict_table_get_col_name(): Add a const qualifier parameter to the
  parameter "table".
  
  dtype_binary, dtype_binary_val: Remove.
  
  dtype_is_fixed_size(): Remove.
  
  
  Revision r836:
  Remove dict_col_t::name, replace it with a packed array of column names in
  dict_table_t. This saves 8-15+ bytes of memory per column on 64-bit
  machines.
storage/innobase/eval/eval0eval.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r826:
  The code base was reindented in r763 and automatic .emacs indentation
  settings introduced. Some problems were found, so from this commit on one
  additional indentation rule is introduced:
  
   (add-to-list 'c-offsets-alist '(arglist-intro . +))
  
  Note that fixing some of the unfortunate line-splits done in r764 will be
  done in a future change.
storage/innobase/eval/eval0proc.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/fil/fil0fil.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/fsp/fsp0fsp.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
  
  Revision r845:
  Split long lines with [] operators better.
storage/innobase/handler/ha_innodb.cc:
  Applied innodb-5.1 snapshots ss799 and ss854
storage/innobase/handler/ha_innodb.h:
  Applied innodb-5.1 snapshots ss799 and ss854
storage/innobase/ibuf/ibuf0ibuf.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r813:
  Reduce the size of the data dictionary cache.  (Bug #20877)
  
  dtype_t: Remove unused field "prec", which was supposed to be used for
  the precision of decimal columns in stand-alone InnoDB.
  
  dtype_get_prec(): Remove.
  
  dtype_set(), dict_mem_table_add_col(): Remove parameter "prec".
  
  dtype_t: Turn all fields (mtype, prtype, len, mbminlen, mbmaxlen, len)
  into bit-fields.
  
  dict_table_t, dict_index_t, dict_tree_t: Omit magic_n from non-debug builds.
  
  dict_col_t: Turn ind, clust_pos, and ord_part into bit-fields.
  
  Replace the default clust_pos value ULINT_UNDEFINED with
  REC_MAX_N_FIELDS and replace all references to clust_pos with calls to
  the accessor function dict_col_get_clust_pos().
  
  dict_field_t: Turn prefix_len and fixed_len into bit-fields.
  
  dict_tree_t: Remove pad[64].
  
  dict_table_t: Turn the fields ibd_file_missing, tablespace_discarded,
  cached, flags, stat_initialized, and autoinc_inited into bit-fields.
  Remove does_not_fit_in_memory from non-debug builds.
  
  dict_index_t: Turn the fields trx_id_offset, n_user_defined_cols,
  n_uniq, n_def, n_fields, n_nullable, and cached into bit-fields.
  
  dict_foreign_struct: Turn n_fields and type into bit-fields.
  
  rw_lock_t: Turn cline, last_s_line, and last_x_line into bit-fields.
  Omit level unless #defined UNIV_SYNC_DEBUG.
  
  Move REC_MAX_N_FIELDS (and REC_MAX_HEAP_NO and REC_MAX_N_OWNED)
  from rem0rec.c to rem0types.h, as they are needed in dict0dict.ic.
  dict_col_get_clust_pos(): Map REC_MAX_N_FIELDS to ULINT_UNDEFINED.
  
  
  Revision r828:
  Remove dict_tree_t, which should have been removed in r453.
  There always was a one-to-one mapping between dict_tree_t and dict_index_t.
  
  This saves 6 machine words per B-tree index in the data dictionary
  cache plus the memory allocation overhead.  We save one mem_heap_t
  object per index (15 machine words).  Considering the internal
  fragmentation of the buddy allocator in mem_area_alloc(), this should
  save 32 machine words per index (128 bytes on 32-bit systems and 256
  bytes on 64-bit systems).  (Bug #20877)
  
  struct dict_tree_struct, dict_tree_t: Remove.
  
  struct dict_index_struct: Add page and lock.
  
  dict_tree_create(): Remove.  Replace the invocation with
  assignment to index->page and a call to rw_lock_create(&index->lock).
  
  dict_tree_free(): Remove.  Replace the invocation wtih
  a call to rw_lock_free(&index->lock).
  
  dict_index_get_tree(): Remove.
  
  dict_tree_get_space_reserve(): Rename to dict_index_get_space_reserve()
  and remove the parameter, which was unused.
  
  btr_level_list_remove(): Remove the unused parameter "tree".
  
  Replace the occurrences of "tree" with "index" in names of variables,
  functions and data types, e.g. "dict_tree_t tree" becomes
  "dict_index_t index".  Remove local variables "tree" or "index" of
  functions that needed both "tree" and "index".
  
  
  Revision r832:
  Add dict_table_get_col_name() in preparation for getting rid of
  dict_col_t::name, and use it instead of col->name everywhere.
  
  Revision r834:
  dict_col_t: Copy the fields of "dtype_t type" directly to this structure,
  so that all integer fields can be packed into 64 bits.  (Bug #20877)
  
  dtype_t: Change the type of all bit-fields to unsigned.
  
  dict_table_get_nth_col(), dict_table_get_sys_col_noninline(),
  dict_table_get_sys_col(), dict_field_get_col(): Return const
  dict_col_t*, so that changes to dict_col_t can be detected more
  easily.  Add const to many dict_col_t* declarations.
  
  dict_index_get_nth_type(): Replace with dict_index_get_nth_col().
  
  dict_col_get_type(): Replace with dict_col_copy_type().
  
  dict_col_get_min_size(), dict_col_get_max_size(), dict_col_get_fixed_size(),
  dict_col_get_sql_null_size(): New functions.
  
  dtype_get_at_most_n_mbchars(): Replace the parameter dtype
  with the parameters prtype, mbminlen, mbmaxlen.
  
  dtype_get_pad_char(), cmp_data_data(), cmp_data_data_slow(),
  cmp_whole_field(): Replace the dtype_t* parameter with the ulint
  parameters mtype, prtype.
  
  dtype_copy(): Add a const qualifier to type2 (the one being copied from).
  
  dtype_set_mblen(): Replaced with dtype_get_mblen().
  
  dtype_get_fixed_size_low(), dtype_get_min_size_low(),
  dtype_get_fixed_max_low(): Replace dtype_get_fixed_size(),
  dtype_get_min_size(), and dtype_get_max_size().  These are used by the
  dict_col_get_{fixed,min,max}_size() functions.
  
  cmp_types_are_equal(): Replace with cmp_cols_are_equal().
  
  dict_table_get_col_name(): Add a const qualifier parameter to the
  parameter "table".
  
  dtype_binary, dtype_binary_val: Remove.
  
  dtype_is_fixed_size(): Remove.
  
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/include/btr0btr.h:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r828:
  Remove dict_tree_t, which should have been removed in r453.
  There always was a one-to-one mapping between dict_tree_t and dict_index_t.
  
  This saves 6 machine words per B-tree index in the data dictionary
  cache plus the memory allocation overhead.  We save one mem_heap_t
  object per index (15 machine words).  Considering the internal
  fragmentation of the buddy allocator in mem_area_alloc(), this should
  save 32 machine words per index (128 bytes on 32-bit systems and 256
  bytes on 64-bit systems).  (Bug #20877)
  
  struct dict_tree_struct, dict_tree_t: Remove.
  
  struct dict_index_struct: Add page and lock.
  
  dict_tree_create(): Remove.  Replace the invocation with
  assignment to index->page and a call to rw_lock_create(&index->lock).
  
  dict_tree_free(): Remove.  Replace the invocation wtih
  a call to rw_lock_free(&index->lock).
  
  dict_index_get_tree(): Remove.
  
  dict_tree_get_space_reserve(): Rename to dict_index_get_space_reserve()
  and remove the parameter, which was unused.
  
  btr_level_list_remove(): Remove the unused parameter "tree".
  
  Replace the occurrences of "tree" with "index" in names of variables,
  functions and data types, e.g. "dict_tree_t tree" becomes
  "dict_index_t index".  Remove local variables "tree" or "index" of
  functions that needed both "tree" and "index".
storage/innobase/include/btr0btr.ic:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r837:
  page_offset(): New function to replace many ut_align_offset(., UNIV_PAGE_SIZE)
  calls.
  
  dict_index_build_node_ptr(): Correct a typo in a comment.
storage/innobase/include/btr0cur.h:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r828:
  Remove dict_tree_t, which should have been removed in r453.
  There always was a one-to-one mapping between dict_tree_t and dict_index_t.
  
  This saves 6 machine words per B-tree index in the data dictionary
  cache plus the memory allocation overhead.  We save one mem_heap_t
  object per index (15 machine words).  Considering the internal
  fragmentation of the buddy allocator in mem_area_alloc(), this should
  save 32 machine words per index (128 bytes on 32-bit systems and 256
  bytes on 64-bit systems).  (Bug #20877)
  
  struct dict_tree_struct, dict_tree_t: Remove.
  
  struct dict_index_struct: Add page and lock.
  
  dict_tree_create(): Remove.  Replace the invocation with
  assignment to index->page and a call to rw_lock_create(&index->lock).
  
  dict_tree_free(): Remove.  Replace the invocation wtih
  a call to rw_lock_free(&index->lock).
  
  dict_index_get_tree(): Remove.
  
  dict_tree_get_space_reserve(): Rename to dict_index_get_space_reserve()
  and remove the parameter, which was unused.
  
  btr_level_list_remove(): Remove the unused parameter "tree".
  
  Replace the occurrences of "tree" with "index" in names of variables,
  functions and data types, e.g. "dict_tree_t tree" becomes
  "dict_index_t index".  Remove local variables "tree" or "index" of
  functions that needed both "tree" and "index".
storage/innobase/include/btr0cur.ic:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r828:
  Remove dict_tree_t, which should have been removed in r453.
  There always was a one-to-one mapping between dict_tree_t and dict_index_t.
  
  This saves 6 machine words per B-tree index in the data dictionary
  cache plus the memory allocation overhead.  We save one mem_heap_t
  object per index (15 machine words).  Considering the internal
  fragmentation of the buddy allocator in mem_area_alloc(), this should
  save 32 machine words per index (128 bytes on 32-bit systems and 256
  bytes on 64-bit systems).  (Bug #20877)
  
  struct dict_tree_struct, dict_tree_t: Remove.
  
  struct dict_index_struct: Add page and lock.
  
  dict_tree_create(): Remove.  Replace the invocation with
  assignment to index->page and a call to rw_lock_create(&index->lock).
  
  dict_tree_free(): Remove.  Replace the invocation wtih
  a call to rw_lock_free(&index->lock).
  
  dict_index_get_tree(): Remove.
  
  dict_tree_get_space_reserve(): Rename to dict_index_get_space_reserve()
  and remove the parameter, which was unused.
  
  btr_level_list_remove(): Remove the unused parameter "tree".
  
  Replace the occurrences of "tree" with "index" in names of variables,
  functions and data types, e.g. "dict_tree_t tree" becomes
  "dict_index_t index".  Remove local variables "tree" or "index" of
  functions that needed both "tree" and "index".
storage/innobase/include/btr0pcur.h:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r817:
  btr0pcur.h: Change FIXME to TODO.
storage/innobase/include/btr0sea.h:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r824:
  Reduce the size of btr_search_t from 13 machine words to 7.  This
  structure is reserved for every index in the data dictionary cache.
  (Bug #20877)
  
  We could shrink the structure further to three 32-bit words or two
  64-bit words by turning the remaining fields to bit-fields.
  Unfortunately, the fields are not protected by any mutex, and thus we
  would better keep each field aligned to a machine word.
  
  btr_search_t, buf_block_t: Rename "ulint side" to "ibool left_side".
  Remove BTR_SEARCH_LEFT_SIDE and BTR_SEARCH_RIGHT_SIDE, and also rename
  some local variables and function parameters from "ulint side" to
  "ibool left_side".
  
  btr_search_t: Remove the unused fields last_search, n_direction, direction,
  and modify_clock.  Remove the unused constants BTR_SEA_NO_DIRECTION,
  BTR_SEA_LEFT, BTR_SEA_RIGHT, and BTR_SEA_SAME_REC.
  
  btr_search_t: Remove magic_n unless #defined UNIV_DEBUG.  Turn an assertion
  about the magic number into a debug assertion.
storage/innobase/include/buf0buf.h:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r824:
  Reduce the size of btr_search_t from 13 machine words to 7.  This
  structure is reserved for every index in the data dictionary cache.
  (Bug #20877)
  
  We could shrink the structure further to three 32-bit words or two
  64-bit words by turning the remaining fields to bit-fields.
  Unfortunately, the fields are not protected by any mutex, and thus we
  would better keep each field aligned to a machine word.
  
  btr_search_t, buf_block_t: Rename "ulint side" to "ibool left_side".
  Remove BTR_SEARCH_LEFT_SIDE and BTR_SEARCH_RIGHT_SIDE, and also rename
  some local variables and function parameters from "ulint side" to
  "ibool left_side".
  
  btr_search_t: Remove the unused fields last_search, n_direction, direction,
  and modify_clock.  Remove the unused constants BTR_SEA_NO_DIRECTION,
  BTR_SEA_LEFT, BTR_SEA_RIGHT, and BTR_SEA_SAME_REC.
  
  btr_search_t: Remove magic_n unless #defined UNIV_DEBUG.  Turn an assertion
  about the magic number into a debug assertion.
storage/innobase/include/data0data.ic:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r813:
  Reduce the size of the data dictionary cache.  (Bug #20877)
  
  dtype_t: Remove unused field "prec", which was supposed to be used for
  the precision of decimal columns in stand-alone InnoDB.
  
  dtype_get_prec(): Remove.
  
  dtype_set(), dict_mem_table_add_col(): Remove parameter "prec".
  
  dtype_t: Turn all fields (mtype, prtype, len, mbminlen, mbmaxlen, len)
  into bit-fields.
  
  dict_table_t, dict_index_t, dict_tree_t: Omit magic_n from non-debug builds.
  
  dict_col_t: Turn ind, clust_pos, and ord_part into bit-fields.
  
  Replace the default clust_pos value ULINT_UNDEFINED with
  REC_MAX_N_FIELDS and replace all references to clust_pos with calls to
  the accessor function dict_col_get_clust_pos().
  
  dict_field_t: Turn prefix_len and fixed_len into bit-fields.
  
  dict_tree_t: Remove pad[64].
  
  dict_table_t: Turn the fields ibd_file_missing, tablespace_discarded,
  cached, flags, stat_initialized, and autoinc_inited into bit-fields.
  Remove does_not_fit_in_memory from non-debug builds.
  
  dict_index_t: Turn the fields trx_id_offset, n_user_defined_cols,
  n_uniq, n_def, n_fields, n_nullable, and cached into bit-fields.
  
  dict_foreign_struct: Turn n_fields and type into bit-fields.
  
  rw_lock_t: Turn cline, last_s_line, and last_x_line into bit-fields.
  Omit level unless #defined UNIV_SYNC_DEBUG.
  
  Move REC_MAX_N_FIELDS (and REC_MAX_HEAP_NO and REC_MAX_N_OWNED)
  from rem0rec.c to rem0types.h, as they are needed in dict0dict.ic.
  dict_col_get_clust_pos(): Map REC_MAX_N_FIELDS to ULINT_UNDEFINED.
storage/innobase/include/data0type.h:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r813:
  Reduce the size of the data dictionary cache.  (Bug #20877)
  
  dtype_t: Remove unused field "prec", which was supposed to be used for
  the precision of decimal columns in stand-alone InnoDB.
  
  dtype_get_prec(): Remove.
  
  dtype_set(), dict_mem_table_add_col(): Remove parameter "prec".
  
  dtype_t: Turn all fields (mtype, prtype, len, mbminlen, mbmaxlen, len)
  into bit-fields.
  
  dict_table_t, dict_index_t, dict_tree_t: Omit magic_n from non-debug builds.
  
  dict_col_t: Turn ind, clust_pos, and ord_part into bit-fields.
  
  Replace the default clust_pos value ULINT_UNDEFINED with
  REC_MAX_N_FIELDS and replace all references to clust_pos with calls to
  the accessor function dict_col_get_clust_pos().
  
  dict_field_t: Turn prefix_len and fixed_len into bit-fields.
  
  dict_tree_t: Remove pad[64].
  
  dict_table_t: Turn the fields ibd_file_missing, tablespace_discarded,
  cached, flags, stat_initialized, and autoinc_inited into bit-fields.
  Remove does_not_fit_in_memory from non-debug builds.
  
  dict_index_t: Turn the fields trx_id_offset, n_user_defined_cols,
  n_uniq, n_def, n_fields, n_nullable, and cached into bit-fields.
  
  dict_foreign_struct: Turn n_fields and type into bit-fields.
  
  rw_lock_t: Turn cline, last_s_line, and last_x_line into bit-fields.
  Omit level unless #defined UNIV_SYNC_DEBUG.
  
  Move REC_MAX_N_FIELDS (and REC_MAX_HEAP_NO and REC_MAX_N_OWNED)
  from rem0rec.c to rem0types.h, as they are needed in dict0dict.ic.
  dict_col_get_clust_pos(): Map REC_MAX_N_FIELDS to ULINT_UNDEFINED.
  
  
  Revision r816:
  Remove more remnants of mixed indexes.
  
  Revision r819:
  dict_col_t: Reduce ord_part to one bit.
  
  dict_index_add_to_cache(): Instead of incrementing ord_part, set it.
  
  dict_index_remove_from_cache(): Do not touch ord_part.
  
  dtype_t: Reduce mbminlen from 3 to 2 bits.
  
  row_upd(): Add a UNIV_LIKELY hint around node->in_mysql_interface.
  
  
  Revision r834:
  dict_col_t: Copy the fields of "dtype_t type" directly to this structure,
  so that all integer fields can be packed into 64 bits.  (Bug #20877)
  
  dtype_t: Change the type of all bit-fields to unsigned.
  
  dict_table_get_nth_col(), dict_table_get_sys_col_noninline(),
  dict_table_get_sys_col(), dict_field_get_col(): Return const
  dict_col_t*, so that changes to dict_col_t can be detected more
  easily.  Add const to many dict_col_t* declarations.
  
  dict_index_get_nth_type(): Replace with dict_index_get_nth_col().
  
  dict_col_get_type(): Replace with dict_col_copy_type().
  
  dict_col_get_min_size(), dict_col_get_max_size(), dict_col_get_fixed_size(),
  dict_col_get_sql_null_size(): New functions.
  
  dtype_get_at_most_n_mbchars(): Replace the parameter dtype
  with the parameters prtype, mbminlen, mbmaxlen.
  
  dtype_get_pad_char(), cmp_data_data(), cmp_data_data_slow(),
  cmp_whole_field(): Replace the dtype_t* parameter with the ulint
  parameters mtype, prtype.
  
  dtype_copy(): Add a const qualifier to type2 (the one being copied from).
  
  dtype_set_mblen(): Replaced with dtype_get_mblen().
  
  dtype_get_fixed_size_low(), dtype_get_min_size_low(),
  dtype_get_fixed_max_low(): Replace dtype_get_fixed_size(),
  dtype_get_min_size(), and dtype_get_max_size().  These are used by the
  dict_col_get_{fixed,min,max}_size() functions.
  
  cmp_types_are_equal(): Replace with cmp_cols_are_equal().
  
  dict_table_get_col_name(): Add a const qualifier parameter to the
  parameter "table".
  
  dtype_binary, dtype_binary_val: Remove.
  
  dtype_is_fixed_size(): Remove.
storage/innobase/include/data0type.ic:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r813:
  Reduce the size of the data dictionary cache.  (Bug #20877)
  
  dtype_t: Remove unused field "prec", which was supposed to be used for
  the precision of decimal columns in stand-alone InnoDB.
  
  dtype_get_prec(): Remove.
  
  dtype_set(), dict_mem_table_add_col(): Remove parameter "prec".
  
  dtype_t: Turn all fields (mtype, prtype, len, mbminlen, mbmaxlen, len)
  into bit-fields.
  
  dict_table_t, dict_index_t, dict_tree_t: Omit magic_n from non-debug builds.
  
  dict_col_t: Turn ind, clust_pos, and ord_part into bit-fields.
  
  Replace the default clust_pos value ULINT_UNDEFINED with
  REC_MAX_N_FIELDS and replace all references to clust_pos with calls to
  the accessor function dict_col_get_clust_pos().
  
  dict_field_t: Turn prefix_len and fixed_len into bit-fields.
  
  dict_tree_t: Remove pad[64].
  
  dict_table_t: Turn the fields ibd_file_missing, tablespace_discarded,
  cached, flags, stat_initialized, and autoinc_inited into bit-fields.
  Remove does_not_fit_in_memory from non-debug builds.
  
  dict_index_t: Turn the fields trx_id_offset, n_user_defined_cols,
  n_uniq, n_def, n_fields, n_nullable, and cached into bit-fields.
  
  dict_foreign_struct: Turn n_fields and type into bit-fields.
  
  rw_lock_t: Turn cline, last_s_line, and last_x_line into bit-fields.
  Omit level unless #defined UNIV_SYNC_DEBUG.
  
  Move REC_MAX_N_FIELDS (and REC_MAX_HEAP_NO and REC_MAX_N_OWNED)
  from rem0rec.c to rem0types.h, as they are needed in dict0dict.ic.
  dict_col_get_clust_pos(): Map REC_MAX_N_FIELDS to ULINT_UNDEFINED.
  
  
  Revision r816:
  Remove more remnants of mixed indexes.
  
  Revision r834:
  dict_col_t: Copy the fields of "dtype_t type" directly to this structure,
  so that all integer fields can be packed into 64 bits.  (Bug #20877)
  
  dtype_t: Change the type of all bit-fields to unsigned.
  
  dict_table_get_nth_col(), dict_table_get_sys_col_noninline(),
  dict_table_get_sys_col(), dict_field_get_col(): Return const
  dict_col_t*, so that changes to dict_col_t can be detected more
  easily.  Add const to many dict_col_t* declarations.
  
  dict_index_get_nth_type(): Replace with dict_index_get_nth_col().
  
  dict_col_get_type(): Replace with dict_col_copy_type().
  
  dict_col_get_min_size(), dict_col_get_max_size(), dict_col_get_fixed_size(),
  dict_col_get_sql_null_size(): New functions.
  
  dtype_get_at_most_n_mbchars(): Replace the parameter dtype
  with the parameters prtype, mbminlen, mbmaxlen.
  
  dtype_get_pad_char(), cmp_data_data(), cmp_data_data_slow(),
  cmp_whole_field(): Replace the dtype_t* parameter with the ulint
  parameters mtype, prtype.
  
  dtype_copy(): Add a const qualifier to type2 (the one being copied from).
  
  dtype_set_mblen(): Replaced with dtype_get_mblen().
  
  dtype_get_fixed_size_low(), dtype_get_min_size_low(),
  dtype_get_fixed_max_low(): Replace dtype_get_fixed_size(),
  dtype_get_min_size(), and dtype_get_max_size().  These are used by the
  dict_col_get_{fixed,min,max}_size() functions.
  
  cmp_types_are_equal(): Replace with cmp_cols_are_equal().
  
  dict_table_get_col_name(): Add a const qualifier parameter to the
  parameter "table".
  
  dtype_binary, dtype_binary_val: Remove.
  
  dtype_is_fixed_size(): Remove.
  
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/include/dict0boot.h:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r816:
  Remove more remnants of mixed indexes.
storage/innobase/include/dict0dict.h:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r816:
  Remove more remnants of mixed indexes.
  
  Revision r818:
  Remove dict_col_t::hash, dict_col_t::table,
  dict_sys->col_hash, and DICT_POOL_PER_COL_HASH.  (Bug #20877)
  
  The col->table pointer was only needed for maintaining a hash table of
  all defined columns in all tables.  The hash table was only looked up
  in dict_index_find_cols().  Removing the col->hash and col->table
  pointers reduces the size of a table column by two machine words
  (usually 8 or 16 bytes).
  
  dict_col_add_to_cache(), dict_col_reposition_in_cache(),
  dict_col_remove_from_cache(): Remove.  These only updated dict_sys->col_hash.
  
  dict_index_find_cols(): Use a linear search instead of the hash table.
  The time complexity is affected, but this function is only invoked by
  dict_index_add_to_cache(), and we only search the columns of a single
  table (typically at most a few dozen) as opposed to all columns of all
  tables.
  
  
  Revision r820:
  Remove dict_col_t::clust_pos.
  
  dict_col_get_clust_pos(): Add parameter clust_index.  Replace the
  look-up with a linear search of all columns in the clustered index.
  
  row_upd_index_replace_new_col_vals(): Compute clust_index outside
  the loops.  Compute clust_pos outside the inner loop.
  
  row_upd_changes_ord_field_binary(), row_upd_changes_first_fields_binary():
  Compute clust_index outside the loops.  Declare the auxiliary variables
  inside the loop scope.
  
  
  Revision r827:
  Make dict_index_find_cols() always succeed.
  
  Revision r828:
  Remove dict_tree_t, which should have been removed in r453.
  There always was a one-to-one mapping between dict_tree_t and dict_index_t.
  
  This saves 6 machine words per B-tree index in the data dictionary
  cache plus the memory allocation overhead.  We save one mem_heap_t
  object per index (15 machine words).  Considering the internal
  fragmentation of the buddy allocator in mem_area_alloc(), this should
  save 32 machine words per index (128 bytes on 32-bit systems and 256
  bytes on 64-bit systems).  (Bug #20877)
  
  struct dict_tree_struct, dict_tree_t: Remove.
  
  struct dict_index_struct: Add page and lock.
  
  dict_tree_create(): Remove.  Replace the invocation with
  assignment to index->page and a call to rw_lock_create(&index->lock).
  
  dict_tree_free(): Remove.  Replace the invocation wtih
  a call to rw_lock_free(&index->lock).
  
  dict_index_get_tree(): Remove.
  
  dict_tree_get_space_reserve(): Rename to dict_index_get_space_reserve()
  and remove the parameter, which was unused.
  
  btr_level_list_remove(): Remove the unused parameter "tree".
  
  Replace the occurrences of "tree" with "index" in names of variables,
  functions and data types, e.g. "dict_tree_t tree" becomes
  "dict_index_t index".  Remove local variables "tree" or "index" of
  functions that needed both "tree" and "index".
  
  
  Revision r831:
  Add dict_col_get_clust_pos_noninline(), which was forgotten from r820.
  
  
  Revision r832:
  Add dict_table_get_col_name() in preparation for getting rid of
  dict_col_t::name, and use it instead of col->name everywhere.
  
  Revision r834:
  dict_col_t: Copy the fields of "dtype_t type" directly to this structure,
  so that all integer fields can be packed into 64 bits.  (Bug #20877)
  
  dtype_t: Change the type of all bit-fields to unsigned.
  
  dict_table_get_nth_col(), dict_table_get_sys_col_noninline(),
  dict_table_get_sys_col(), dict_field_get_col(): Return const
  dict_col_t*, so that changes to dict_col_t can be detected more
  easily.  Add const to many dict_col_t* declarations.
  
  dict_index_get_nth_type(): Replace with dict_index_get_nth_col().
  
  dict_col_get_type(): Replace with dict_col_copy_type().
  
  dict_col_get_min_size(), dict_col_get_max_size(), dict_col_get_fixed_size(),
  dict_col_get_sql_null_size(): New functions.
  
  dtype_get_at_most_n_mbchars(): Replace the parameter dtype
  with the parameters prtype, mbminlen, mbmaxlen.
  
  dtype_get_pad_char(), cmp_data_data(), cmp_data_data_slow(),
  cmp_whole_field(): Replace the dtype_t* parameter with the ulint
  parameters mtype, prtype.
  
  dtype_copy(): Add a const qualifier to type2 (the one being copied from).
  
  dtype_set_mblen(): Replaced with dtype_get_mblen().
  
  dtype_get_fixed_size_low(), dtype_get_min_size_low(),
  dtype_get_fixed_max_low(): Replace dtype_get_fixed_size(),
  dtype_get_min_size(), and dtype_get_max_size().  These are used by the
  dict_col_get_{fixed,min,max}_size() functions.
  
  cmp_types_are_equal(): Replace with cmp_cols_are_equal().
  
  dict_table_get_col_name(): Add a const qualifier parameter to the
  parameter "table".
  
  dtype_binary, dtype_binary_val: Remove.
  
  dtype_is_fixed_size(): Remove.
  
  
  Revision r836:
  Remove dict_col_t::name, replace it with a packed array of column names in
  dict_table_t. This saves 8-15+ bytes of memory per column on 64-bit
  machines.
storage/innobase/include/dict0dict.ic:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r813:
  Reduce the size of the data dictionary cache.  (Bug #20877)
  
  dtype_t: Remove unused field "prec", which was supposed to be used for
  the precision of decimal columns in stand-alone InnoDB.
  
  dtype_get_prec(): Remove.
  
  dtype_set(), dict_mem_table_add_col(): Remove parameter "prec".
  
  dtype_t: Turn all fields (mtype, prtype, len, mbminlen, mbmaxlen, len)
  into bit-fields.
  
  dict_table_t, dict_index_t, dict_tree_t: Omit magic_n from non-debug builds.
  
  dict_col_t: Turn ind, clust_pos, and ord_part into bit-fields.
  
  Replace the default clust_pos value ULINT_UNDEFINED with
  REC_MAX_N_FIELDS and replace all references to clust_pos with calls to
  the accessor function dict_col_get_clust_pos().
  
  dict_field_t: Turn prefix_len and fixed_len into bit-fields.
  
  dict_tree_t: Remove pad[64].
  
  dict_table_t: Turn the fields ibd_file_missing, tablespace_discarded,
  cached, flags, stat_initialized, and autoinc_inited into bit-fields.
  Remove does_not_fit_in_memory from non-debug builds.
  
  dict_index_t: Turn the fields trx_id_offset, n_user_defined_cols,
  n_uniq, n_def, n_fields, n_nullable, and cached into bit-fields.
  
  dict_foreign_struct: Turn n_fields and type into bit-fields.
  
  rw_lock_t: Turn cline, last_s_line, and last_x_line into bit-fields.
  Omit level unless #defined UNIV_SYNC_DEBUG.
  
  Move REC_MAX_N_FIELDS (and REC_MAX_HEAP_NO and REC_MAX_N_OWNED)
  from rem0rec.c to rem0types.h, as they are needed in dict0dict.ic.
  dict_col_get_clust_pos(): Map REC_MAX_N_FIELDS to ULINT_UNDEFINED.
  
  
  Revision r820:
  Remove dict_col_t::clust_pos.
  
  dict_col_get_clust_pos(): Add parameter clust_index.  Replace the
  look-up with a linear search of all columns in the clustered index.
  
  row_upd_index_replace_new_col_vals(): Compute clust_index outside
  the loops.  Compute clust_pos outside the inner loop.
  
  row_upd_changes_ord_field_binary(), row_upd_changes_first_fields_binary():
  Compute clust_index outside the loops.  Declare the auxiliary variables
  inside the loop scope.
  
  
  Revision r828:
  Remove dict_tree_t, which should have been removed in r453.
  There always was a one-to-one mapping between dict_tree_t and dict_index_t.
  
  This saves 6 machine words per B-tree index in the data dictionary
  cache plus the memory allocation overhead.  We save one mem_heap_t
  object per index (15 machine words).  Considering the internal
  fragmentation of the buddy allocator in mem_area_alloc(), this should
  save 32 machine words per index (128 bytes on 32-bit systems and 256
  bytes on 64-bit systems).  (Bug #20877)
  
  struct dict_tree_struct, dict_tree_t: Remove.
  
  struct dict_index_struct: Add page and lock.
  
  dict_tree_create(): Remove.  Replace the invocation with
  assignment to index->page and a call to rw_lock_create(&index->lock).
  
  dict_tree_free(): Remove.  Replace the invocation wtih
  a call to rw_lock_free(&index->lock).
  
  dict_index_get_tree(): Remove.
  
  dict_tree_get_space_reserve(): Rename to dict_index_get_space_reserve()
  and remove the parameter, which was unused.
  
  btr_level_list_remove(): Remove the unused parameter "tree".
  
  Replace the occurrences of "tree" with "index" in names of variables,
  functions and data types, e.g. "dict_tree_t tree" becomes
  "dict_index_t index".  Remove local variables "tree" or "index" of
  functions that needed both "tree" and "index".
  
  
  Revision r834:
  dict_col_t: Copy the fields of "dtype_t type" directly to this structure,
  so that all integer fields can be packed into 64 bits.  (Bug #20877)
  
  dtype_t: Change the type of all bit-fields to unsigned.
  
  dict_table_get_nth_col(), dict_table_get_sys_col_noninline(),
  dict_table_get_sys_col(), dict_field_get_col(): Return const
  dict_col_t*, so that changes to dict_col_t can be detected more
  easily.  Add const to many dict_col_t* declarations.
  
  dict_index_get_nth_type(): Replace with dict_index_get_nth_col().
  
  dict_col_get_type(): Replace with dict_col_copy_type().
  
  dict_col_get_min_size(), dict_col_get_max_size(), dict_col_get_fixed_size(),
  dict_col_get_sql_null_size(): New functions.
  
  dtype_get_at_most_n_mbchars(): Replace the parameter dtype
  with the parameters prtype, mbminlen, mbmaxlen.
  
  dtype_get_pad_char(), cmp_data_data(), cmp_data_data_slow(),
  cmp_whole_field(): Replace the dtype_t* parameter with the ulint
  parameters mtype, prtype.
  
  dtype_copy(): Add a const qualifier to type2 (the one being copied from).
  
  dtype_set_mblen(): Replaced with dtype_get_mblen().
  
  dtype_get_fixed_size_low(), dtype_get_min_size_low(),
  dtype_get_fixed_max_low(): Replace dtype_get_fixed_size(),
  dtype_get_min_size(), and dtype_get_max_size().  These are used by the
  dict_col_get_{fixed,min,max}_size() functions.
  
  cmp_types_are_equal(): Replace with cmp_cols_are_equal().
  
  dict_table_get_col_name(): Add a const qualifier parameter to the
  parameter "table".
  
  dtype_binary, dtype_binary_val: Remove.
  
  dtype_is_fixed_size(): Remove.
storage/innobase/include/dict0mem.h:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r813:
  Reduce the size of the data dictionary cache.  (Bug #20877)
  
  dtype_t: Remove unused field "prec", which was supposed to be used for
  the precision of decimal columns in stand-alone InnoDB.
  
  dtype_get_prec(): Remove.
  
  dtype_set(), dict_mem_table_add_col(): Remove parameter "prec".
  
  dtype_t: Turn all fields (mtype, prtype, len, mbminlen, mbmaxlen, len)
  into bit-fields.
  
  dict_table_t, dict_index_t, dict_tree_t: Omit magic_n from non-debug builds.
  
  dict_col_t: Turn ind, clust_pos, and ord_part into bit-fields.
  
  Replace the default clust_pos value ULINT_UNDEFINED with
  REC_MAX_N_FIELDS and replace all references to clust_pos with calls to
  the accessor function dict_col_get_clust_pos().
  
  dict_field_t: Turn prefix_len and fixed_len into bit-fields.
  
  dict_tree_t: Remove pad[64].
  
  dict_table_t: Turn the fields ibd_file_missing, tablespace_discarded,
  cached, flags, stat_initialized, and autoinc_inited into bit-fields.
  Remove does_not_fit_in_memory from non-debug builds.
  
  dict_index_t: Turn the fields trx_id_offset, n_user_defined_cols,
  n_uniq, n_def, n_fields, n_nullable, and cached into bit-fields.
  
  dict_foreign_struct: Turn n_fields and type into bit-fields.
  
  rw_lock_t: Turn cline, last_s_line, and last_x_line into bit-fields.
  Omit level unless #defined UNIV_SYNC_DEBUG.
  
  Move REC_MAX_N_FIELDS (and REC_MAX_HEAP_NO and REC_MAX_N_OWNED)
  from rem0rec.c to rem0types.h, as they are needed in dict0dict.ic.
  dict_col_get_clust_pos(): Map REC_MAX_N_FIELDS to ULINT_UNDEFINED.
  
  
  Revision r815:
  dict_index_t: Remove tree_indexes.  It should have been removed in r453
  when the list in dict_tree_t was replaced with the pointer tree_index.
  
  
  Revision r818:
  Remove dict_col_t::hash, dict_col_t::table,
  dict_sys->col_hash, and DICT_POOL_PER_COL_HASH.  (Bug #20877)
  
  The col->table pointer was only needed for maintaining a hash table of
  all defined columns in all tables.  The hash table was only looked up
  in dict_index_find_cols().  Removing the col->hash and col->table
  pointers reduces the size of a table column by two machine words
  (usually 8 or 16 bytes).
  
  dict_col_add_to_cache(), dict_col_reposition_in_cache(),
  dict_col_remove_from_cache(): Remove.  These only updated dict_sys->col_hash.
  
  dict_index_find_cols(): Use a linear search instead of the hash table.
  The time complexity is affected, but this function is only invoked by
  dict_index_add_to_cache(), and we only search the columns of a single
  table (typically at most a few dozen) as opposed to all columns of all
  tables.
  
  
  Revision r819:
  dict_col_t: Reduce ord_part to one bit.
  
  dict_index_add_to_cache(): Instead of incrementing ord_part, set it.
  
  dict_index_remove_from_cache(): Do not touch ord_part.
  
  dtype_t: Reduce mbminlen from 3 to 2 bits.
  
  row_upd(): Add a UNIV_LIKELY hint around node->in_mysql_interface.
  
  
  Revision r820:
  Remove dict_col_t::clust_pos.
  
  dict_col_get_clust_pos(): Add parameter clust_index.  Replace the
  look-up with a linear search of all columns in the clustered index.
  
  row_upd_index_replace_new_col_vals(): Compute clust_index outside
  the loops.  Compute clust_pos outside the inner loop.
  
  row_upd_changes_ord_field_binary(), row_upd_changes_first_fields_binary():
  Compute clust_index outside the loops.  Declare the auxiliary variables
  inside the loop scope.
  
  
  Revision r821:
  dict_table_t: Rename the integer field max_row_size
  to the Boolean field big_rows.  (Bug #20877)
  
  BIG_ROW_SIZE: Move the definition from row0sel.c to dict_table_add_to_cache().
  
  
  Revision r828:
  Remove dict_tree_t, which should have been removed in r453.
  There always was a one-to-one mapping between dict_tree_t and dict_index_t.
  
  This saves 6 machine words per B-tree index in the data dictionary
  cache plus the memory allocation overhead.  We save one mem_heap_t
  object per index (15 machine words).  Considering the internal
  fragmentation of the buddy allocator in mem_area_alloc(), this should
  save 32 machine words per index (128 bytes on 32-bit systems and 256
  bytes on 64-bit systems).  (Bug #20877)
  
  struct dict_tree_struct, dict_tree_t: Remove.
  
  struct dict_index_struct: Add page and lock.
  
  dict_tree_create(): Remove.  Replace the invocation with
  assignment to index->page and a call to rw_lock_create(&index->lock).
  
  dict_tree_free(): Remove.  Replace the invocation wtih
  a call to rw_lock_free(&index->lock).
  
  dict_index_get_tree(): Remove.
  
  dict_tree_get_space_reserve(): Rename to dict_index_get_space_reserve()
  and remove the parameter, which was unused.
  
  btr_level_list_remove(): Remove the unused parameter "tree".
  
  Replace the occurrences of "tree" with "index" in names of variables,
  functions and data types, e.g. "dict_tree_t tree" becomes
  "dict_index_t index".  Remove local variables "tree" or "index" of
  functions that needed both "tree" and "index".
  
  
  Revision r833:
  Tweak the bit-field definitions introduced since r813 to address Bug #20877.
  
  rw_lock_t: Do not make writer_is_wait_ex a bit-field.  There are no fields
  yet that could be fused to the same machine word, but we play it safe,
  because the field writer_is_wait_ex may be modified by several threads
  simultaneously.  Such fields should always be allocated an own machine
  word.
  
  dict_table_t: Change the type of all bit-fields to "unsigned".  Make
  "space" a bit-field of 32 bits.  Move name_hash and id_hash after all
  bit-fields, so that the bit-fields can be allocated together.  Do not
  make autoinc_inited a bit-field, as we cannot allocate any field
  from the same machine word.
  
  dict_build_table_def_step(): Pass a local variable to
  fil_create_new_single_table_tablespace() and initialize table->space
  from it after the call, now that table->space is a bit-field.
  
  
  Revision r834:
  dict_col_t: Copy the fields of "dtype_t type" directly to this structure,
  so that all integer fields can be packed into 64 bits.  (Bug #20877)
  
  dtype_t: Change the type of all bit-fields to unsigned.
  
  dict_table_get_nth_col(), dict_table_get_sys_col_noninline(),
  dict_table_get_sys_col(), dict_field_get_col(): Return const
  dict_col_t*, so that changes to dict_col_t can be detected more
  easily.  Add const to many dict_col_t* declarations.
  
  dict_index_get_nth_type(): Replace with dict_index_get_nth_col().
  
  dict_col_get_type(): Replace with dict_col_copy_type().
  
  dict_col_get_min_size(), dict_col_get_max_size(), dict_col_get_fixed_size(),
  dict_col_get_sql_null_size(): New functions.
  
  dtype_get_at_most_n_mbchars(): Replace the parameter dtype
  with the parameters prtype, mbminlen, mbmaxlen.
  
  dtype_get_pad_char(), cmp_data_data(), cmp_data_data_slow(),
  cmp_whole_field(): Replace the dtype_t* parameter with the ulint
  parameters mtype, prtype.
  
  dtype_copy(): Add a const qualifier to type2 (the one being copied from).
  
  dtype_set_mblen(): Replaced with dtype_get_mblen().
  
  dtype_get_fixed_size_low(), dtype_get_min_size_low(),
  dtype_get_fixed_max_low(): Replace dtype_get_fixed_size(),
  dtype_get_min_size(), and dtype_get_max_size().  These are used by the
  dict_col_get_{fixed,min,max}_size() functions.
  
  cmp_types_are_equal(): Replace with cmp_cols_are_equal().
  
  dict_table_get_col_name(): Add a const qualifier parameter to the
  parameter "table".
  
  dtype_binary, dtype_binary_val: Remove.
  
  dtype_is_fixed_size(): Remove.
  
  
  Revision r835:
  Change the recently introduced ulint bit-fields to unsigned.
  
  
  Revision r836:
  Remove dict_col_t::name, replace it with a packed array of column names in
  dict_table_t. This saves 8-15+ bytes of memory per column on 64-bit
  machines.
storage/innobase/include/dict0types.h:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r828:
  Remove dict_tree_t, which should have been removed in r453.
  There always was a one-to-one mapping between dict_tree_t and dict_index_t.
  
  This saves 6 machine words per B-tree index in the data dictionary
  cache plus the memory allocation overhead.  We save one mem_heap_t
  object per index (15 machine words).  Considering the internal
  fragmentation of the buddy allocator in mem_area_alloc(), this should
  save 32 machine words per index (128 bytes on 32-bit systems and 256
  bytes on 64-bit systems).  (Bug #20877)
  
  struct dict_tree_struct, dict_tree_t: Remove.
  
  struct dict_index_struct: Add page and lock.
  
  dict_tree_create(): Remove.  Replace the invocation with
  assignment to index->page and a call to rw_lock_create(&index->lock).
  
  dict_tree_free(): Remove.  Replace the invocation wtih
  a call to rw_lock_free(&index->lock).
  
  dict_index_get_tree(): Remove.
  
  dict_tree_get_space_reserve(): Rename to dict_index_get_space_reserve()
  and remove the parameter, which was unused.
  
  btr_level_list_remove(): Remove the unused parameter "tree".
  
  Replace the occurrences of "tree" with "index" in names of variables,
  functions and data types, e.g. "dict_tree_t tree" becomes
  "dict_index_t index".  Remove local variables "tree" or "index" of
  functions that needed both "tree" and "index".
storage/innobase/include/ibuf0ibuf.ic:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/include/page0page.h:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r830:
  page_align(ptr): New utility function to replace
  ut_align_down(ptr, UNIV_PAGE_SIZE) calls.
  
  
  Revision r837:
  page_offset(): New function to replace many ut_align_offset(., UNIV_PAGE_SIZE)
  calls.
  
  dict_index_build_node_ptr(): Correct a typo in a comment.
storage/innobase/include/page0page.ic:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r830:
  page_align(ptr): New utility function to replace
  ut_align_down(ptr, UNIV_PAGE_SIZE) calls.
  
  
  Revision r837:
  page_offset(): New function to replace many ut_align_offset(., UNIV_PAGE_SIZE)
  calls.
  
  dict_index_build_node_ptr(): Correct a typo in a comment.
  
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/include/read0read.ic:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/include/rem0cmp.h:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r834:
  dict_col_t: Copy the fields of "dtype_t type" directly to this structure,
  so that all integer fields can be packed into 64 bits.  (Bug #20877)
  
  dtype_t: Change the type of all bit-fields to unsigned.
  
  dict_table_get_nth_col(), dict_table_get_sys_col_noninline(),
  dict_table_get_sys_col(), dict_field_get_col(): Return const
  dict_col_t*, so that changes to dict_col_t can be detected more
  easily.  Add const to many dict_col_t* declarations.
  
  dict_index_get_nth_type(): Replace with dict_index_get_nth_col().
  
  dict_col_get_type(): Replace with dict_col_copy_type().
  
  dict_col_get_min_size(), dict_col_get_max_size(), dict_col_get_fixed_size(),
  dict_col_get_sql_null_size(): New functions.
  
  dtype_get_at_most_n_mbchars(): Replace the parameter dtype
  with the parameters prtype, mbminlen, mbmaxlen.
  
  dtype_get_pad_char(), cmp_data_data(), cmp_data_data_slow(),
  cmp_whole_field(): Replace the dtype_t* parameter with the ulint
  parameters mtype, prtype.
  
  dtype_copy(): Add a const qualifier to type2 (the one being copied from).
  
  dtype_set_mblen(): Replaced with dtype_get_mblen().
  
  dtype_get_fixed_size_low(), dtype_get_min_size_low(),
  dtype_get_fixed_max_low(): Replace dtype_get_fixed_size(),
  dtype_get_min_size(), and dtype_get_max_size().  These are used by the
  dict_col_get_{fixed,min,max}_size() functions.
  
  cmp_types_are_equal(): Replace with cmp_cols_are_equal().
  
  dict_table_get_col_name(): Add a const qualifier parameter to the
  parameter "table".
  
  dtype_binary, dtype_binary_val: Remove.
  
  dtype_is_fixed_size(): Remove.
storage/innobase/include/rem0cmp.ic:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r834:
  dict_col_t: Copy the fields of "dtype_t type" directly to this structure,
  so that all integer fields can be packed into 64 bits.  (Bug #20877)
  
  dtype_t: Change the type of all bit-fields to unsigned.
  
  dict_table_get_nth_col(), dict_table_get_sys_col_noninline(),
  dict_table_get_sys_col(), dict_field_get_col(): Return const
  dict_col_t*, so that changes to dict_col_t can be detected more
  easily.  Add const to many dict_col_t* declarations.
  
  dict_index_get_nth_type(): Replace with dict_index_get_nth_col().
  
  dict_col_get_type(): Replace with dict_col_copy_type().
  
  dict_col_get_min_size(), dict_col_get_max_size(), dict_col_get_fixed_size(),
  dict_col_get_sql_null_size(): New functions.
  
  dtype_get_at_most_n_mbchars(): Replace the parameter dtype
  with the parameters prtype, mbminlen, mbmaxlen.
  
  dtype_get_pad_char(), cmp_data_data(), cmp_data_data_slow(),
  cmp_whole_field(): Replace the dtype_t* parameter with the ulint
  parameters mtype, prtype.
  
  dtype_copy(): Add a const qualifier to type2 (the one being copied from).
  
  dtype_set_mblen(): Replaced with dtype_get_mblen().
  
  dtype_get_fixed_size_low(), dtype_get_min_size_low(),
  dtype_get_fixed_max_low(): Replace dtype_get_fixed_size(),
  dtype_get_min_size(), and dtype_get_max_size().  These are used by the
  dict_col_get_{fixed,min,max}_size() functions.
  
  cmp_types_are_equal(): Replace with cmp_cols_are_equal().
  
  dict_table_get_col_name(): Add a const qualifier parameter to the
  parameter "table".
  
  dtype_binary, dtype_binary_val: Remove.
  
  dtype_is_fixed_size(): Remove.
storage/innobase/include/rem0rec.h:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r813:
  Reduce the size of the data dictionary cache.  (Bug #20877)
  
  dtype_t: Remove unused field "prec", which was supposed to be used for
  the precision of decimal columns in stand-alone InnoDB.
  
  dtype_get_prec(): Remove.
  
  dtype_set(), dict_mem_table_add_col(): Remove parameter "prec".
  
  dtype_t: Turn all fields (mtype, prtype, len, mbminlen, mbmaxlen, len)
  into bit-fields.
  
  dict_table_t, dict_index_t, dict_tree_t: Omit magic_n from non-debug builds.
  
  dict_col_t: Turn ind, clust_pos, and ord_part into bit-fields.
  
  Replace the default clust_pos value ULINT_UNDEFINED with
  REC_MAX_N_FIELDS and replace all references to clust_pos with calls to
  the accessor function dict_col_get_clust_pos().
  
  dict_field_t: Turn prefix_len and fixed_len into bit-fields.
  
  dict_tree_t: Remove pad[64].
  
  dict_table_t: Turn the fields ibd_file_missing, tablespace_discarded,
  cached, flags, stat_initialized, and autoinc_inited into bit-fields.
  Remove does_not_fit_in_memory from non-debug builds.
  
  dict_index_t: Turn the fields trx_id_offset, n_user_defined_cols,
  n_uniq, n_def, n_fields, n_nullable, and cached into bit-fields.
  
  dict_foreign_struct: Turn n_fields and type into bit-fields.
  
  rw_lock_t: Turn cline, last_s_line, and last_x_line into bit-fields.
  Omit level unless #defined UNIV_SYNC_DEBUG.
  
  Move REC_MAX_N_FIELDS (and REC_MAX_HEAP_NO and REC_MAX_N_OWNED)
  from rem0rec.c to rem0types.h, as they are needed in dict0dict.ic.
  dict_col_get_clust_pos(): Map REC_MAX_N_FIELDS to ULINT_UNDEFINED.
storage/innobase/include/rem0rec.ic:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/include/rem0types.h:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r813:
  Reduce the size of the data dictionary cache.  (Bug #20877)
  
  dtype_t: Remove unused field "prec", which was supposed to be used for
  the precision of decimal columns in stand-alone InnoDB.
  
  dtype_get_prec(): Remove.
  
  dtype_set(), dict_mem_table_add_col(): Remove parameter "prec".
  
  dtype_t: Turn all fields (mtype, prtype, len, mbminlen, mbmaxlen, len)
  into bit-fields.
  
  dict_table_t, dict_index_t, dict_tree_t: Omit magic_n from non-debug builds.
  
  dict_col_t: Turn ind, clust_pos, and ord_part into bit-fields.
  
  Replace the default clust_pos value ULINT_UNDEFINED with
  REC_MAX_N_FIELDS and replace all references to clust_pos with calls to
  the accessor function dict_col_get_clust_pos().
  
  dict_field_t: Turn prefix_len and fixed_len into bit-fields.
  
  dict_tree_t: Remove pad[64].
  
  dict_table_t: Turn the fields ibd_file_missing, tablespace_discarded,
  cached, flags, stat_initialized, and autoinc_inited into bit-fields.
  Remove does_not_fit_in_memory from non-debug builds.
  
  dict_index_t: Turn the fields trx_id_offset, n_user_defined_cols,
  n_uniq, n_def, n_fields, n_nullable, and cached into bit-fields.
  
  dict_foreign_struct: Turn n_fields and type into bit-fields.
  
  rw_lock_t: Turn cline, last_s_line, and last_x_line into bit-fields.
  Omit level unless #defined UNIV_SYNC_DEBUG.
  
  Move REC_MAX_N_FIELDS (and REC_MAX_HEAP_NO and REC_MAX_N_OWNED)
  from rem0rec.c to rem0types.h, as they are needed in dict0dict.ic.
  dict_col_get_clust_pos(): Map REC_MAX_N_FIELDS to ULINT_UNDEFINED.
storage/innobase/include/row0upd.ic:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r834:
  dict_col_t: Copy the fields of "dtype_t type" directly to this structure,
  so that all integer fields can be packed into 64 bits.  (Bug #20877)
  
  dtype_t: Change the type of all bit-fields to unsigned.
  
  dict_table_get_nth_col(), dict_table_get_sys_col_noninline(),
  dict_table_get_sys_col(), dict_field_get_col(): Return const
  dict_col_t*, so that changes to dict_col_t can be detected more
  easily.  Add const to many dict_col_t* declarations.
  
  dict_index_get_nth_type(): Replace with dict_index_get_nth_col().
  
  dict_col_get_type(): Replace with dict_col_copy_type().
  
  dict_col_get_min_size(), dict_col_get_max_size(), dict_col_get_fixed_size(),
  dict_col_get_sql_null_size(): New functions.
  
  dtype_get_at_most_n_mbchars(): Replace the parameter dtype
  with the parameters prtype, mbminlen, mbmaxlen.
  
  dtype_get_pad_char(), cmp_data_data(), cmp_data_data_slow(),
  cmp_whole_field(): Replace the dtype_t* parameter with the ulint
  parameters mtype, prtype.
  
  dtype_copy(): Add a const qualifier to type2 (the one being copied from).
  
  dtype_set_mblen(): Replaced with dtype_get_mblen().
  
  dtype_get_fixed_size_low(), dtype_get_min_size_low(),
  dtype_get_fixed_max_low(): Replace dtype_get_fixed_size(),
  dtype_get_min_size(), and dtype_get_max_size().  These are used by the
  dict_col_get_{fixed,min,max}_size() functions.
  
  cmp_types_are_equal(): Replace with cmp_cols_are_equal().
  
  dict_table_get_col_name(): Add a const qualifier parameter to the
  parameter "table".
  
  dtype_binary, dtype_binary_val: Remove.
  
  dtype_is_fixed_size(): Remove.
storage/innobase/include/sync0rw.h:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r813:
  Reduce the size of the data dictionary cache.  (Bug #20877)
  
  dtype_t: Remove unused field "prec", which was supposed to be used for
  the precision of decimal columns in stand-alone InnoDB.
  
  dtype_get_prec(): Remove.
  
  dtype_set(), dict_mem_table_add_col(): Remove parameter "prec".
  
  dtype_t: Turn all fields (mtype, prtype, len, mbminlen, mbmaxlen, len)
  into bit-fields.
  
  dict_table_t, dict_index_t, dict_tree_t: Omit magic_n from non-debug builds.
  
  dict_col_t: Turn ind, clust_pos, and ord_part into bit-fields.
  
  Replace the default clust_pos value ULINT_UNDEFINED with
  REC_MAX_N_FIELDS and replace all references to clust_pos with calls to
  the accessor function dict_col_get_clust_pos().
  
  dict_field_t: Turn prefix_len and fixed_len into bit-fields.
  
  dict_tree_t: Remove pad[64].
  
  dict_table_t: Turn the fields ibd_file_missing, tablespace_discarded,
  cached, flags, stat_initialized, and autoinc_inited into bit-fields.
  Remove does_not_fit_in_memory from non-debug builds.
  
  dict_index_t: Turn the fields trx_id_offset, n_user_defined_cols,
  n_uniq, n_def, n_fields, n_nullable, and cached into bit-fields.
  
  dict_foreign_struct: Turn n_fields and type into bit-fields.
  
  rw_lock_t: Turn cline, last_s_line, and last_x_line into bit-fields.
  Omit level unless #defined UNIV_SYNC_DEBUG.
  
  Move REC_MAX_N_FIELDS (and REC_MAX_HEAP_NO and REC_MAX_N_OWNED)
  from rem0rec.c to rem0types.h, as they are needed in dict0dict.ic.
  dict_col_get_clust_pos(): Map REC_MAX_N_FIELDS to ULINT_UNDEFINED.
  
  
  Revision r823:
  Minor cleanup related to Bug #20877.
  
  btr_print_recursive(): Replace tree->tree_indexes with tree->index.
  This should have been done in r453.
  
  univ.i: Add UNIV_BTR_PRINT.
  
  rw_lock_t: Reduce writer_is_wait_ex to a bit and move it close to
  other bitfields.  Change the types to unsigned, in case ulint or ibool
  bitfields will not work.
  
  
  Revision r833:
  Tweak the bit-field definitions introduced since r813 to address Bug #20877.
  
  rw_lock_t: Do not make writer_is_wait_ex a bit-field.  There are no fields
  yet that could be fused to the same machine word, but we play it safe,
  because the field writer_is_wait_ex may be modified by several threads
  simultaneously.  Such fields should always be allocated an own machine
  word.
  
  dict_table_t: Change the type of all bit-fields to "unsigned".  Make
  "space" a bit-field of 32 bits.  Move name_hash and id_hash after all
  bit-fields, so that the bit-fields can be allocated together.  Do not
  make autoinc_inited a bit-field, as we cannot allocate any field
  from the same machine word.
  
  dict_build_table_def_step(): Pass a local variable to
  fil_create_new_single_table_tablespace() and initialize table->space
  from it after the call, now that table->space is a bit-field.
storage/innobase/include/univ.i:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r823:
  Minor cleanup related to Bug #20877.
  
  btr_print_recursive(): Replace tree->tree_indexes with tree->index.
  This should have been done in r453.
  
  univ.i: Add UNIV_BTR_PRINT.
  
  rw_lock_t: Reduce writer_is_wait_ex to a bit and move it close to
  other bitfields.  Change the types to unsigned, in case ulint or ibool
  bitfields will not work.
storage/innobase/lock/lock0lock.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/log/log0log.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/log/log0recv.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/mem/mem0dbg.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/mem/mem0pool.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/mtr/mtr0log.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r813:
  Reduce the size of the data dictionary cache.  (Bug #20877)
  
  dtype_t: Remove unused field "prec", which was supposed to be used for
  the precision of decimal columns in stand-alone InnoDB.
  
  dtype_get_prec(): Remove.
  
  dtype_set(), dict_mem_table_add_col(): Remove parameter "prec".
  
  dtype_t: Turn all fields (mtype, prtype, len, mbminlen, mbmaxlen, len)
  into bit-fields.
  
  dict_table_t, dict_index_t, dict_tree_t: Omit magic_n from non-debug builds.
  
  dict_col_t: Turn ind, clust_pos, and ord_part into bit-fields.
  
  Replace the default clust_pos value ULINT_UNDEFINED with
  REC_MAX_N_FIELDS and replace all references to clust_pos with calls to
  the accessor function dict_col_get_clust_pos().
  
  dict_field_t: Turn prefix_len and fixed_len into bit-fields.
  
  dict_tree_t: Remove pad[64].
  
  dict_table_t: Turn the fields ibd_file_missing, tablespace_discarded,
  cached, flags, stat_initialized, and autoinc_inited into bit-fields.
  Remove does_not_fit_in_memory from non-debug builds.
  
  dict_index_t: Turn the fields trx_id_offset, n_user_defined_cols,
  n_uniq, n_def, n_fields, n_nullable, and cached into bit-fields.
  
  dict_foreign_struct: Turn n_fields and type into bit-fields.
  
  rw_lock_t: Turn cline, last_s_line, and last_x_line into bit-fields.
  Omit level unless #defined UNIV_SYNC_DEBUG.
  
  Move REC_MAX_N_FIELDS (and REC_MAX_HEAP_NO and REC_MAX_N_OWNED)
  from rem0rec.c to rem0types.h, as they are needed in dict0dict.ic.
  dict_col_get_clust_pos(): Map REC_MAX_N_FIELDS to ULINT_UNDEFINED.
  
  
  Revision r832:
  Add dict_table_get_col_name() in preparation for getting rid of
  dict_col_t::name, and use it instead of col->name everywhere.
  
  Revision r834:
  dict_col_t: Copy the fields of "dtype_t type" directly to this structure,
  so that all integer fields can be packed into 64 bits.  (Bug #20877)
  
  dtype_t: Change the type of all bit-fields to unsigned.
  
  dict_table_get_nth_col(), dict_table_get_sys_col_noninline(),
  dict_table_get_sys_col(), dict_field_get_col(): Return const
  dict_col_t*, so that changes to dict_col_t can be detected more
  easily.  Add const to many dict_col_t* declarations.
  
  dict_index_get_nth_type(): Replace with dict_index_get_nth_col().
  
  dict_col_get_type(): Replace with dict_col_copy_type().
  
  dict_col_get_min_size(), dict_col_get_max_size(), dict_col_get_fixed_size(),
  dict_col_get_sql_null_size(): New functions.
  
  dtype_get_at_most_n_mbchars(): Replace the parameter dtype
  with the parameters prtype, mbminlen, mbmaxlen.
  
  dtype_get_pad_char(), cmp_data_data(), cmp_data_data_slow(),
  cmp_whole_field(): Replace the dtype_t* parameter with the ulint
  parameters mtype, prtype.
  
  dtype_copy(): Add a const qualifier to type2 (the one being copied from).
  
  dtype_set_mblen(): Replaced with dtype_get_mblen().
  
  dtype_get_fixed_size_low(), dtype_get_min_size_low(),
  dtype_get_fixed_max_low(): Replace dtype_get_fixed_size(),
  dtype_get_min_size(), and dtype_get_max_size().  These are used by the
  dict_col_get_{fixed,min,max}_size() functions.
  
  cmp_types_are_equal(): Replace with cmp_cols_are_equal().
  
  dict_table_get_col_name(): Add a const qualifier parameter to the
  parameter "table".
  
  dtype_binary, dtype_binary_val: Remove.
  
  dtype_is_fixed_size(): Remove.
  
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/mtr/mtr0mtr.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/os/os0file.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/os/os0thread.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/page/page0cur.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r837:
  page_offset(): New function to replace many ut_align_offset(., UNIV_PAGE_SIZE)
  calls.
  
  dict_index_build_node_ptr(): Correct a typo in a comment.
  
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/page/page0page.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r813:
  Reduce the size of the data dictionary cache.  (Bug #20877)
  
  dtype_t: Remove unused field "prec", which was supposed to be used for
  the precision of decimal columns in stand-alone InnoDB.
  
  dtype_get_prec(): Remove.
  
  dtype_set(), dict_mem_table_add_col(): Remove parameter "prec".
  
  dtype_t: Turn all fields (mtype, prtype, len, mbminlen, mbmaxlen, len)
  into bit-fields.
  
  dict_table_t, dict_index_t, dict_tree_t: Omit magic_n from non-debug builds.
  
  dict_col_t: Turn ind, clust_pos, and ord_part into bit-fields.
  
  Replace the default clust_pos value ULINT_UNDEFINED with
  REC_MAX_N_FIELDS and replace all references to clust_pos with calls to
  the accessor function dict_col_get_clust_pos().
  
  dict_field_t: Turn prefix_len and fixed_len into bit-fields.
  
  dict_tree_t: Remove pad[64].
  
  dict_table_t: Turn the fields ibd_file_missing, tablespace_discarded,
  cached, flags, stat_initialized, and autoinc_inited into bit-fields.
  Remove does_not_fit_in_memory from non-debug builds.
  
  dict_index_t: Turn the fields trx_id_offset, n_user_defined_cols,
  n_uniq, n_def, n_fields, n_nullable, and cached into bit-fields.
  
  dict_foreign_struct: Turn n_fields and type into bit-fields.
  
  rw_lock_t: Turn cline, last_s_line, and last_x_line into bit-fields.
  Omit level unless #defined UNIV_SYNC_DEBUG.
  
  Move REC_MAX_N_FIELDS (and REC_MAX_HEAP_NO and REC_MAX_N_OWNED)
  from rem0rec.c to rem0types.h, as they are needed in dict0dict.ic.
  dict_col_get_clust_pos(): Map REC_MAX_N_FIELDS to ULINT_UNDEFINED.
  
  
  Revision r837:
  page_offset(): New function to replace many ut_align_offset(., UNIV_PAGE_SIZE)
  calls.
  
  dict_index_build_node_ptr(): Correct a typo in a comment.
storage/innobase/pars/pars0opt.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/pars/pars0pars.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r813:
  Reduce the size of the data dictionary cache.  (Bug #20877)
  
  dtype_t: Remove unused field "prec", which was supposed to be used for
  the precision of decimal columns in stand-alone InnoDB.
  
  dtype_get_prec(): Remove.
  
  dtype_set(), dict_mem_table_add_col(): Remove parameter "prec".
  
  dtype_t: Turn all fields (mtype, prtype, len, mbminlen, mbmaxlen, len)
  into bit-fields.
  
  dict_table_t, dict_index_t, dict_tree_t: Omit magic_n from non-debug builds.
  
  dict_col_t: Turn ind, clust_pos, and ord_part into bit-fields.
  
  Replace the default clust_pos value ULINT_UNDEFINED with
  REC_MAX_N_FIELDS and replace all references to clust_pos with calls to
  the accessor function dict_col_get_clust_pos().
  
  dict_field_t: Turn prefix_len and fixed_len into bit-fields.
  
  dict_tree_t: Remove pad[64].
  
  dict_table_t: Turn the fields ibd_file_missing, tablespace_discarded,
  cached, flags, stat_initialized, and autoinc_inited into bit-fields.
  Remove does_not_fit_in_memory from non-debug builds.
  
  dict_index_t: Turn the fields trx_id_offset, n_user_defined_cols,
  n_uniq, n_def, n_fields, n_nullable, and cached into bit-fields.
  
  dict_foreign_struct: Turn n_fields and type into bit-fields.
  
  rw_lock_t: Turn cline, last_s_line, and last_x_line into bit-fields.
  Omit level unless #defined UNIV_SYNC_DEBUG.
  
  Move REC_MAX_N_FIELDS (and REC_MAX_HEAP_NO and REC_MAX_N_OWNED)
  from rem0rec.c to rem0types.h, as they are needed in dict0dict.ic.
  dict_col_get_clust_pos(): Map REC_MAX_N_FIELDS to ULINT_UNDEFINED.
  
  
  Revision r832:
  Add dict_table_get_col_name() in preparation for getting rid of
  dict_col_t::name, and use it instead of col->name everywhere.
  
  Revision r834:
  dict_col_t: Copy the fields of "dtype_t type" directly to this structure,
  so that all integer fields can be packed into 64 bits.  (Bug #20877)
  
  dtype_t: Change the type of all bit-fields to unsigned.
  
  dict_table_get_nth_col(), dict_table_get_sys_col_noninline(),
  dict_table_get_sys_col(), dict_field_get_col(): Return const
  dict_col_t*, so that changes to dict_col_t can be detected more
  easily.  Add const to many dict_col_t* declarations.
  
  dict_index_get_nth_type(): Replace with dict_index_get_nth_col().
  
  dict_col_get_type(): Replace with dict_col_copy_type().
  
  dict_col_get_min_size(), dict_col_get_max_size(), dict_col_get_fixed_size(),
  dict_col_get_sql_null_size(): New functions.
  
  dtype_get_at_most_n_mbchars(): Replace the parameter dtype
  with the parameters prtype, mbminlen, mbmaxlen.
  
  dtype_get_pad_char(), cmp_data_data(), cmp_data_data_slow(),
  cmp_whole_field(): Replace the dtype_t* parameter with the ulint
  parameters mtype, prtype.
  
  dtype_copy(): Add a const qualifier to type2 (the one being copied from).
  
  dtype_set_mblen(): Replaced with dtype_get_mblen().
  
  dtype_get_fixed_size_low(), dtype_get_min_size_low(),
  dtype_get_fixed_max_low(): Replace dtype_get_fixed_size(),
  dtype_get_min_size(), and dtype_get_max_size().  These are used by the
  dict_col_get_{fixed,min,max}_size() functions.
  
  cmp_types_are_equal(): Replace with cmp_cols_are_equal().
  
  dict_table_get_col_name(): Add a const qualifier parameter to the
  parameter "table".
  
  dtype_binary, dtype_binary_val: Remove.
  
  dtype_is_fixed_size(): Remove.
  
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/pars/pars0sym.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r813:
  Reduce the size of the data dictionary cache.  (Bug #20877)
  
  dtype_t: Remove unused field "prec", which was supposed to be used for
  the precision of decimal columns in stand-alone InnoDB.
  
  dtype_get_prec(): Remove.
  
  dtype_set(), dict_mem_table_add_col(): Remove parameter "prec".
  
  dtype_t: Turn all fields (mtype, prtype, len, mbminlen, mbmaxlen, len)
  into bit-fields.
  
  dict_table_t, dict_index_t, dict_tree_t: Omit magic_n from non-debug builds.
  
  dict_col_t: Turn ind, clust_pos, and ord_part into bit-fields.
  
  Replace the default clust_pos value ULINT_UNDEFINED with
  REC_MAX_N_FIELDS and replace all references to clust_pos with calls to
  the accessor function dict_col_get_clust_pos().
  
  dict_field_t: Turn prefix_len and fixed_len into bit-fields.
  
  dict_tree_t: Remove pad[64].
  
  dict_table_t: Turn the fields ibd_file_missing, tablespace_discarded,
  cached, flags, stat_initialized, and autoinc_inited into bit-fields.
  Remove does_not_fit_in_memory from non-debug builds.
  
  dict_index_t: Turn the fields trx_id_offset, n_user_defined_cols,
  n_uniq, n_def, n_fields, n_nullable, and cached into bit-fields.
  
  dict_foreign_struct: Turn n_fields and type into bit-fields.
  
  rw_lock_t: Turn cline, last_s_line, and last_x_line into bit-fields.
  Omit level unless #defined UNIV_SYNC_DEBUG.
  
  Move REC_MAX_N_FIELDS (and REC_MAX_HEAP_NO and REC_MAX_N_OWNED)
  from rem0rec.c to rem0types.h, as they are needed in dict0dict.ic.
  dict_col_get_clust_pos(): Map REC_MAX_N_FIELDS to ULINT_UNDEFINED.
storage/innobase/read/read0read.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/rem/rem0cmp.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r834:
  dict_col_t: Copy the fields of "dtype_t type" directly to this structure,
  so that all integer fields can be packed into 64 bits.  (Bug #20877)
  
  dtype_t: Change the type of all bit-fields to unsigned.
  
  dict_table_get_nth_col(), dict_table_get_sys_col_noninline(),
  dict_table_get_sys_col(), dict_field_get_col(): Return const
  dict_col_t*, so that changes to dict_col_t can be detected more
  easily.  Add const to many dict_col_t* declarations.
  
  dict_index_get_nth_type(): Replace with dict_index_get_nth_col().
  
  dict_col_get_type(): Replace with dict_col_copy_type().
  
  dict_col_get_min_size(), dict_col_get_max_size(), dict_col_get_fixed_size(),
  dict_col_get_sql_null_size(): New functions.
  
  dtype_get_at_most_n_mbchars(): Replace the parameter dtype
  with the parameters prtype, mbminlen, mbmaxlen.
  
  dtype_get_pad_char(), cmp_data_data(), cmp_data_data_slow(),
  cmp_whole_field(): Replace the dtype_t* parameter with the ulint
  parameters mtype, prtype.
  
  dtype_copy(): Add a const qualifier to type2 (the one being copied from).
  
  dtype_set_mblen(): Replaced with dtype_get_mblen().
  
  dtype_get_fixed_size_low(), dtype_get_min_size_low(),
  dtype_get_fixed_max_low(): Replace dtype_get_fixed_size(),
  dtype_get_min_size(), and dtype_get_max_size().  These are used by the
  dict_col_get_{fixed,min,max}_size() functions.
  
  cmp_types_are_equal(): Replace with cmp_cols_are_equal().
  
  dict_table_get_col_name(): Add a const qualifier parameter to the
  parameter "table".
  
  dtype_binary, dtype_binary_val: Remove.
  
  dtype_is_fixed_size(): Remove.
  
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/rem/rem0rec.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r834:
  dict_col_t: Copy the fields of "dtype_t type" directly to this structure,
  so that all integer fields can be packed into 64 bits.  (Bug #20877)
  
  dtype_t: Change the type of all bit-fields to unsigned.
  
  dict_table_get_nth_col(), dict_table_get_sys_col_noninline(),
  dict_table_get_sys_col(), dict_field_get_col(): Return const
  dict_col_t*, so that changes to dict_col_t can be detected more
  easily.  Add const to many dict_col_t* declarations.
  
  dict_index_get_nth_type(): Replace with dict_index_get_nth_col().
  
  dict_col_get_type(): Replace with dict_col_copy_type().
  
  dict_col_get_min_size(), dict_col_get_max_size(), dict_col_get_fixed_size(),
  dict_col_get_sql_null_size(): New functions.
  
  dtype_get_at_most_n_mbchars(): Replace the parameter dtype
  with the parameters prtype, mbminlen, mbmaxlen.
  
  dtype_get_pad_char(), cmp_data_data(), cmp_data_data_slow(),
  cmp_whole_field(): Replace the dtype_t* parameter with the ulint
  parameters mtype, prtype.
  
  dtype_copy(): Add a const qualifier to type2 (the one being copied from).
  
  dtype_set_mblen(): Replaced with dtype_get_mblen().
  
  dtype_get_fixed_size_low(), dtype_get_min_size_low(),
  dtype_get_fixed_max_low(): Replace dtype_get_fixed_size(),
  dtype_get_min_size(), and dtype_get_max_size().  These are used by the
  dict_col_get_{fixed,min,max}_size() functions.
  
  cmp_types_are_equal(): Replace with cmp_cols_are_equal().
  
  dict_table_get_col_name(): Add a const qualifier parameter to the
  parameter "table".
  
  dtype_binary, dtype_binary_val: Remove.
  
  dtype_is_fixed_size(): Remove.
  
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/row/row0ins.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r834:
  dict_col_t: Copy the fields of "dtype_t type" directly to this structure,
  so that all integer fields can be packed into 64 bits.  (Bug #20877)
  
  dtype_t: Change the type of all bit-fields to unsigned.
  
  dict_table_get_nth_col(), dict_table_get_sys_col_noninline(),
  dict_table_get_sys_col(), dict_field_get_col(): Return const
  dict_col_t*, so that changes to dict_col_t can be detected more
  easily.  Add const to many dict_col_t* declarations.
  
  dict_index_get_nth_type(): Replace with dict_index_get_nth_col().
  
  dict_col_get_type(): Replace with dict_col_copy_type().
  
  dict_col_get_min_size(), dict_col_get_max_size(), dict_col_get_fixed_size(),
  dict_col_get_sql_null_size(): New functions.
  
  dtype_get_at_most_n_mbchars(): Replace the parameter dtype
  with the parameters prtype, mbminlen, mbmaxlen.
  
  dtype_get_pad_char(), cmp_data_data(), cmp_data_data_slow(),
  cmp_whole_field(): Replace the dtype_t* parameter with the ulint
  parameters mtype, prtype.
  
  dtype_copy(): Add a const qualifier to type2 (the one being copied from).
  
  dtype_set_mblen(): Replaced with dtype_get_mblen().
  
  dtype_get_fixed_size_low(), dtype_get_min_size_low(),
  dtype_get_fixed_max_low(): Replace dtype_get_fixed_size(),
  dtype_get_min_size(), and dtype_get_max_size().  These are used by the
  dict_col_get_{fixed,min,max}_size() functions.
  
  cmp_types_are_equal(): Replace with cmp_cols_are_equal().
  
  dict_table_get_col_name(): Add a const qualifier parameter to the
  parameter "table".
  
  dtype_binary, dtype_binary_val: Remove.
  
  dtype_is_fixed_size(): Remove.
  
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/row/row0mysql.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r828:
  Remove dict_tree_t, which should have been removed in r453.
  There always was a one-to-one mapping between dict_tree_t and dict_index_t.
  
  This saves 6 machine words per B-tree index in the data dictionary
  cache plus the memory allocation overhead.  We save one mem_heap_t
  object per index (15 machine words).  Considering the internal
  fragmentation of the buddy allocator in mem_area_alloc(), this should
  save 32 machine words per index (128 bytes on 32-bit systems and 256
  bytes on 64-bit systems).  (Bug #20877)
  
  struct dict_tree_struct, dict_tree_t: Remove.
  
  struct dict_index_struct: Add page and lock.
  
  dict_tree_create(): Remove.  Replace the invocation with
  assignment to index->page and a call to rw_lock_create(&index->lock).
  
  dict_tree_free(): Remove.  Replace the invocation wtih
  a call to rw_lock_free(&index->lock).
  
  dict_index_get_tree(): Remove.
  
  dict_tree_get_space_reserve(): Rename to dict_index_get_space_reserve()
  and remove the parameter, which was unused.
  
  btr_level_list_remove(): Remove the unused parameter "tree".
  
  Replace the occurrences of "tree" with "index" in names of variables,
  functions and data types, e.g. "dict_tree_t tree" becomes
  "dict_index_t index".  Remove local variables "tree" or "index" of
  functions that needed both "tree" and "index".
  
  
  Revision r832:
  Add dict_table_get_col_name() in preparation for getting rid of
  dict_col_t::name, and use it instead of col->name everywhere.
  
  Revision r834:
  dict_col_t: Copy the fields of "dtype_t type" directly to this structure,
  so that all integer fields can be packed into 64 bits.  (Bug #20877)
  
  dtype_t: Change the type of all bit-fields to unsigned.
  
  dict_table_get_nth_col(), dict_table_get_sys_col_noninline(),
  dict_table_get_sys_col(), dict_field_get_col(): Return const
  dict_col_t*, so that changes to dict_col_t can be detected more
  easily.  Add const to many dict_col_t* declarations.
  
  dict_index_get_nth_type(): Replace with dict_index_get_nth_col().
  
  dict_col_get_type(): Replace with dict_col_copy_type().
  
  dict_col_get_min_size(), dict_col_get_max_size(), dict_col_get_fixed_size(),
  dict_col_get_sql_null_size(): New functions.
  
  dtype_get_at_most_n_mbchars(): Replace the parameter dtype
  with the parameters prtype, mbminlen, mbmaxlen.
  
  dtype_get_pad_char(), cmp_data_data(), cmp_data_data_slow(),
  cmp_whole_field(): Replace the dtype_t* parameter with the ulint
  parameters mtype, prtype.
  
  dtype_copy(): Add a const qualifier to type2 (the one being copied from).
  
  dtype_set_mblen(): Replaced with dtype_get_mblen().
  
  dtype_get_fixed_size_low(), dtype_get_min_size_low(),
  dtype_get_fixed_max_low(): Replace dtype_get_fixed_size(),
  dtype_get_min_size(), and dtype_get_max_size().  These are used by the
  dict_col_get_{fixed,min,max}_size() functions.
  
  cmp_types_are_equal(): Replace with cmp_cols_are_equal().
  
  dict_table_get_col_name(): Add a const qualifier parameter to the
  parameter "table".
  
  dtype_binary, dtype_binary_val: Remove.
  
  dtype_is_fixed_size(): Remove.
  
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/row/row0purge.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r828:
  Remove dict_tree_t, which should have been removed in r453.
  There always was a one-to-one mapping between dict_tree_t and dict_index_t.
  
  This saves 6 machine words per B-tree index in the data dictionary
  cache plus the memory allocation overhead.  We save one mem_heap_t
  object per index (15 machine words).  Considering the internal
  fragmentation of the buddy allocator in mem_area_alloc(), this should
  save 32 machine words per index (128 bytes on 32-bit systems and 256
  bytes on 64-bit systems).  (Bug #20877)
  
  struct dict_tree_struct, dict_tree_t: Remove.
  
  struct dict_index_struct: Add page and lock.
  
  dict_tree_create(): Remove.  Replace the invocation with
  assignment to index->page and a call to rw_lock_create(&index->lock).
  
  dict_tree_free(): Remove.  Replace the invocation wtih
  a call to rw_lock_free(&index->lock).
  
  dict_index_get_tree(): Remove.
  
  dict_tree_get_space_reserve(): Rename to dict_index_get_space_reserve()
  and remove the parameter, which was unused.
  
  btr_level_list_remove(): Remove the unused parameter "tree".
  
  Replace the occurrences of "tree" with "index" in names of variables,
  functions and data types, e.g. "dict_tree_t tree" becomes
  "dict_index_t index".  Remove local variables "tree" or "index" of
  functions that needed both "tree" and "index".
  
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/row/row0row.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r834:
  dict_col_t: Copy the fields of "dtype_t type" directly to this structure,
  so that all integer fields can be packed into 64 bits.  (Bug #20877)
  
  dtype_t: Change the type of all bit-fields to unsigned.
  
  dict_table_get_nth_col(), dict_table_get_sys_col_noninline(),
  dict_table_get_sys_col(), dict_field_get_col(): Return const
  dict_col_t*, so that changes to dict_col_t can be detected more
  easily.  Add const to many dict_col_t* declarations.
  
  dict_index_get_nth_type(): Replace with dict_index_get_nth_col().
  
  dict_col_get_type(): Replace with dict_col_copy_type().
  
  dict_col_get_min_size(), dict_col_get_max_size(), dict_col_get_fixed_size(),
  dict_col_get_sql_null_size(): New functions.
  
  dtype_get_at_most_n_mbchars(): Replace the parameter dtype
  with the parameters prtype, mbminlen, mbmaxlen.
  
  dtype_get_pad_char(), cmp_data_data(), cmp_data_data_slow(),
  cmp_whole_field(): Replace the dtype_t* parameter with the ulint
  parameters mtype, prtype.
  
  dtype_copy(): Add a const qualifier to type2 (the one being copied from).
  
  dtype_set_mblen(): Replaced with dtype_get_mblen().
  
  dtype_get_fixed_size_low(), dtype_get_min_size_low(),
  dtype_get_fixed_max_low(): Replace dtype_get_fixed_size(),
  dtype_get_min_size(), and dtype_get_max_size().  These are used by the
  dict_col_get_{fixed,min,max}_size() functions.
  
  cmp_types_are_equal(): Replace with cmp_cols_are_equal().
  
  dict_table_get_col_name(): Add a const qualifier parameter to the
  parameter "table".
  
  dtype_binary, dtype_binary_val: Remove.
  
  dtype_is_fixed_size(): Remove.
  
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/row/row0sel.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r820:
  Remove dict_col_t::clust_pos.
  
  dict_col_get_clust_pos(): Add parameter clust_index.  Replace the
  look-up with a linear search of all columns in the clustered index.
  
  row_upd_index_replace_new_col_vals(): Compute clust_index outside
  the loops.  Compute clust_pos outside the inner loop.
  
  row_upd_changes_ord_field_binary(), row_upd_changes_first_fields_binary():
  Compute clust_index outside the loops.  Declare the auxiliary variables
  inside the loop scope.
  
  
  Revision r821:
  dict_table_t: Rename the integer field max_row_size
  to the Boolean field big_rows.  (Bug #20877)
  
  BIG_ROW_SIZE: Move the definition from row0sel.c to dict_table_add_to_cache().
  
  
  Revision r825:
  row_search_for_mysql(): Skip setting the next-key lock on an already 
  delete-marked record in a clustered index where the search criteria is 
  unique, within the same transaction (Bug #13544).
  
  
  Revision r834:
  dict_col_t: Copy the fields of "dtype_t type" directly to this structure,
  so that all integer fields can be packed into 64 bits.  (Bug #20877)
  
  dtype_t: Change the type of all bit-fields to unsigned.
  
  dict_table_get_nth_col(), dict_table_get_sys_col_noninline(),
  dict_table_get_sys_col(), dict_field_get_col(): Return const
  dict_col_t*, so that changes to dict_col_t can be detected more
  easily.  Add const to many dict_col_t* declarations.
  
  dict_index_get_nth_type(): Replace with dict_index_get_nth_col().
  
  dict_col_get_type(): Replace with dict_col_copy_type().
  
  dict_col_get_min_size(), dict_col_get_max_size(), dict_col_get_fixed_size(),
  dict_col_get_sql_null_size(): New functions.
  
  dtype_get_at_most_n_mbchars(): Replace the parameter dtype
  with the parameters prtype, mbminlen, mbmaxlen.
  
  dtype_get_pad_char(), cmp_data_data(), cmp_data_data_slow(),
  cmp_whole_field(): Replace the dtype_t* parameter with the ulint
  parameters mtype, prtype.
  
  dtype_copy(): Add a const qualifier to type2 (the one being copied from).
  
  dtype_set_mblen(): Replaced with dtype_get_mblen().
  
  dtype_get_fixed_size_low(), dtype_get_min_size_low(),
  dtype_get_fixed_max_low(): Replace dtype_get_fixed_size(),
  dtype_get_min_size(), and dtype_get_max_size().  These are used by the
  dict_col_get_{fixed,min,max}_size() functions.
  
  cmp_types_are_equal(): Replace with cmp_cols_are_equal().
  
  dict_table_get_col_name(): Add a const qualifier parameter to the
  parameter "table".
  
  dtype_binary, dtype_binary_val: Remove.
  
  dtype_is_fixed_size(): Remove.
  
  
  Revision r837:
  page_offset(): New function to replace many ut_align_offset(., UNIV_PAGE_SIZE)
  calls.
  
  dict_index_build_node_ptr(): Correct a typo in a comment.
  
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
  
  Revision r845:
  Split long lines with [] operators better.
storage/innobase/row/row0uins.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/row/row0umod.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/row/row0upd.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r813:
  Reduce the size of the data dictionary cache.  (Bug #20877)
  
  dtype_t: Remove unused field "prec", which was supposed to be used for
  the precision of decimal columns in stand-alone InnoDB.
  
  dtype_get_prec(): Remove.
  
  dtype_set(), dict_mem_table_add_col(): Remove parameter "prec".
  
  dtype_t: Turn all fields (mtype, prtype, len, mbminlen, mbmaxlen, len)
  into bit-fields.
  
  dict_table_t, dict_index_t, dict_tree_t: Omit magic_n from non-debug builds.
  
  dict_col_t: Turn ind, clust_pos, and ord_part into bit-fields.
  
  Replace the default clust_pos value ULINT_UNDEFINED with
  REC_MAX_N_FIELDS and replace all references to clust_pos with calls to
  the accessor function dict_col_get_clust_pos().
  
  dict_field_t: Turn prefix_len and fixed_len into bit-fields.
  
  dict_tree_t: Remove pad[64].
  
  dict_table_t: Turn the fields ibd_file_missing, tablespace_discarded,
  cached, flags, stat_initialized, and autoinc_inited into bit-fields.
  Remove does_not_fit_in_memory from non-debug builds.
  
  dict_index_t: Turn the fields trx_id_offset, n_user_defined_cols,
  n_uniq, n_def, n_fields, n_nullable, and cached into bit-fields.
  
  dict_foreign_struct: Turn n_fields and type into bit-fields.
  
  rw_lock_t: Turn cline, last_s_line, and last_x_line into bit-fields.
  Omit level unless #defined UNIV_SYNC_DEBUG.
  
  Move REC_MAX_N_FIELDS (and REC_MAX_HEAP_NO and REC_MAX_N_OWNED)
  from rem0rec.c to rem0types.h, as they are needed in dict0dict.ic.
  dict_col_get_clust_pos(): Map REC_MAX_N_FIELDS to ULINT_UNDEFINED.
  
  
  Revision r819:
  dict_col_t: Reduce ord_part to one bit.
  
  dict_index_add_to_cache(): Instead of incrementing ord_part, set it.
  
  dict_index_remove_from_cache(): Do not touch ord_part.
  
  dtype_t: Reduce mbminlen from 3 to 2 bits.
  
  row_upd(): Add a UNIV_LIKELY hint around node->in_mysql_interface.
  
  
  Revision r820:
  Remove dict_col_t::clust_pos.
  
  dict_col_get_clust_pos(): Add parameter clust_index.  Replace the
  look-up with a linear search of all columns in the clustered index.
  
  row_upd_index_replace_new_col_vals(): Compute clust_index outside
  the loops.  Compute clust_pos outside the inner loop.
  
  row_upd_changes_ord_field_binary(), row_upd_changes_first_fields_binary():
  Compute clust_index outside the loops.  Declare the auxiliary variables
  inside the loop scope.
  
  
  Revision r834:
  dict_col_t: Copy the fields of "dtype_t type" directly to this structure,
  so that all integer fields can be packed into 64 bits.  (Bug #20877)
  
  dtype_t: Change the type of all bit-fields to unsigned.
  
  dict_table_get_nth_col(), dict_table_get_sys_col_noninline(),
  dict_table_get_sys_col(), dict_field_get_col(): Return const
  dict_col_t*, so that changes to dict_col_t can be detected more
  easily.  Add const to many dict_col_t* declarations.
  
  dict_index_get_nth_type(): Replace with dict_index_get_nth_col().
  
  dict_col_get_type(): Replace with dict_col_copy_type().
  
  dict_col_get_min_size(), dict_col_get_max_size(), dict_col_get_fixed_size(),
  dict_col_get_sql_null_size(): New functions.
  
  dtype_get_at_most_n_mbchars(): Replace the parameter dtype
  with the parameters prtype, mbminlen, mbmaxlen.
  
  dtype_get_pad_char(), cmp_data_data(), cmp_data_data_slow(),
  cmp_whole_field(): Replace the dtype_t* parameter with the ulint
  parameters mtype, prtype.
  
  dtype_copy(): Add a const qualifier to type2 (the one being copied from).
  
  dtype_set_mblen(): Replaced with dtype_get_mblen().
  
  dtype_get_fixed_size_low(), dtype_get_min_size_low(),
  dtype_get_fixed_max_low(): Replace dtype_get_fixed_size(),
  dtype_get_min_size(), and dtype_get_max_size().  These are used by the
  dict_col_get_{fixed,min,max}_size() functions.
  
  cmp_types_are_equal(): Replace with cmp_cols_are_equal().
  
  dict_table_get_col_name(): Add a const qualifier parameter to the
  parameter "table".
  
  dtype_binary, dtype_binary_val: Remove.
  
  dtype_is_fixed_size(): Remove.
  
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
  
  Revision r851:
  row_upd_sec_step(): Fix false comment.
storage/innobase/row/row0vers.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/srv/srv0srv.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r813:
  Reduce the size of the data dictionary cache.  (Bug #20877)
  
  dtype_t: Remove unused field "prec", which was supposed to be used for
  the precision of decimal columns in stand-alone InnoDB.
  
  dtype_get_prec(): Remove.
  
  dtype_set(), dict_mem_table_add_col(): Remove parameter "prec".
  
  dtype_t: Turn all fields (mtype, prtype, len, mbminlen, mbmaxlen, len)
  into bit-fields.
  
  dict_table_t, dict_index_t, dict_tree_t: Omit magic_n from non-debug builds.
  
  dict_col_t: Turn ind, clust_pos, and ord_part into bit-fields.
  
  Replace the default clust_pos value ULINT_UNDEFINED with
  REC_MAX_N_FIELDS and replace all references to clust_pos with calls to
  the accessor function dict_col_get_clust_pos().
  
  dict_field_t: Turn prefix_len and fixed_len into bit-fields.
  
  dict_tree_t: Remove pad[64].
  
  dict_table_t: Turn the fields ibd_file_missing, tablespace_discarded,
  cached, flags, stat_initialized, and autoinc_inited into bit-fields.
  Remove does_not_fit_in_memory from non-debug builds.
  
  dict_index_t: Turn the fields trx_id_offset, n_user_defined_cols,
  n_uniq, n_def, n_fields, n_nullable, and cached into bit-fields.
  
  dict_foreign_struct: Turn n_fields and type into bit-fields.
  
  rw_lock_t: Turn cline, last_s_line, and last_x_line into bit-fields.
  Omit level unless #defined UNIV_SYNC_DEBUG.
  
  Move REC_MAX_N_FIELDS (and REC_MAX_HEAP_NO and REC_MAX_N_OWNED)
  from rem0rec.c to rem0types.h, as they are needed in dict0dict.ic.
  dict_col_get_clust_pos(): Map REC_MAX_N_FIELDS to ULINT_UNDEFINED.
  
  
  Revision r832:
  Add dict_table_get_col_name() in preparation for getting rid of
  dict_col_t::name, and use it instead of col->name everywhere.
  
  Revision r834:
  dict_col_t: Copy the fields of "dtype_t type" directly to this structure,
  so that all integer fields can be packed into 64 bits.  (Bug #20877)
  
  dtype_t: Change the type of all bit-fields to unsigned.
  
  dict_table_get_nth_col(), dict_table_get_sys_col_noninline(),
  dict_table_get_sys_col(), dict_field_get_col(): Return const
  dict_col_t*, so that changes to dict_col_t can be detected more
  easily.  Add const to many dict_col_t* declarations.
  
  dict_index_get_nth_type(): Replace with dict_index_get_nth_col().
  
  dict_col_get_type(): Replace with dict_col_copy_type().
  
  dict_col_get_min_size(), dict_col_get_max_size(), dict_col_get_fixed_size(),
  dict_col_get_sql_null_size(): New functions.
  
  dtype_get_at_most_n_mbchars(): Replace the parameter dtype
  with the parameters prtype, mbminlen, mbmaxlen.
  
  dtype_get_pad_char(), cmp_data_data(), cmp_data_data_slow(),
  cmp_whole_field(): Replace the dtype_t* parameter with the ulint
  parameters mtype, prtype.
  
  dtype_copy(): Add a const qualifier to type2 (the one being copied from).
  
  dtype_set_mblen(): Replaced with dtype_get_mblen().
  
  dtype_get_fixed_size_low(), dtype_get_min_size_low(),
  dtype_get_fixed_max_low(): Replace dtype_get_fixed_size(),
  dtype_get_min_size(), and dtype_get_max_size().  These are used by the
  dict_col_get_{fixed,min,max}_size() functions.
  
  cmp_types_are_equal(): Replace with cmp_cols_are_equal().
  
  dict_table_get_col_name(): Add a const qualifier parameter to the
  parameter "table".
  
  dtype_binary, dtype_binary_val: Remove.
  
  dtype_is_fixed_size(): Remove.
  
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/srv/srv0start.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/sync/sync0arr.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/sync/sync0rw.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r813:
  Reduce the size of the data dictionary cache.  (Bug #20877)
  
  dtype_t: Remove unused field "prec", which was supposed to be used for
  the precision of decimal columns in stand-alone InnoDB.
  
  dtype_get_prec(): Remove.
  
  dtype_set(), dict_mem_table_add_col(): Remove parameter "prec".
  
  dtype_t: Turn all fields (mtype, prtype, len, mbminlen, mbmaxlen, len)
  into bit-fields.
  
  dict_table_t, dict_index_t, dict_tree_t: Omit magic_n from non-debug builds.
  
  dict_col_t: Turn ind, clust_pos, and ord_part into bit-fields.
  
  Replace the default clust_pos value ULINT_UNDEFINED with
  REC_MAX_N_FIELDS and replace all references to clust_pos with calls to
  the accessor function dict_col_get_clust_pos().
  
  dict_field_t: Turn prefix_len and fixed_len into bit-fields.
  
  dict_tree_t: Remove pad[64].
  
  dict_table_t: Turn the fields ibd_file_missing, tablespace_discarded,
  cached, flags, stat_initialized, and autoinc_inited into bit-fields.
  Remove does_not_fit_in_memory from non-debug builds.
  
  dict_index_t: Turn the fields trx_id_offset, n_user_defined_cols,
  n_uniq, n_def, n_fields, n_nullable, and cached into bit-fields.
  
  dict_foreign_struct: Turn n_fields and type into bit-fields.
  
  rw_lock_t: Turn cline, last_s_line, and last_x_line into bit-fields.
  Omit level unless #defined UNIV_SYNC_DEBUG.
  
  Move REC_MAX_N_FIELDS (and REC_MAX_HEAP_NO and REC_MAX_N_OWNED)
  from rem0rec.c to rem0types.h, as they are needed in dict0dict.ic.
  dict_col_get_clust_pos(): Map REC_MAX_N_FIELDS to ULINT_UNDEFINED.
storage/innobase/sync/sync0sync.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/trx/trx0purge.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/trx/trx0rec.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r834:
  dict_col_t: Copy the fields of "dtype_t type" directly to this structure,
  so that all integer fields can be packed into 64 bits.  (Bug #20877)
  
  dtype_t: Change the type of all bit-fields to unsigned.
  
  dict_table_get_nth_col(), dict_table_get_sys_col_noninline(),
  dict_table_get_sys_col(), dict_field_get_col(): Return const
  dict_col_t*, so that changes to dict_col_t can be detected more
  easily.  Add const to many dict_col_t* declarations.
  
  dict_index_get_nth_type(): Replace with dict_index_get_nth_col().
  
  dict_col_get_type(): Replace with dict_col_copy_type().
  
  dict_col_get_min_size(), dict_col_get_max_size(), dict_col_get_fixed_size(),
  dict_col_get_sql_null_size(): New functions.
  
  dtype_get_at_most_n_mbchars(): Replace the parameter dtype
  with the parameters prtype, mbminlen, mbmaxlen.
  
  dtype_get_pad_char(), cmp_data_data(), cmp_data_data_slow(),
  cmp_whole_field(): Replace the dtype_t* parameter with the ulint
  parameters mtype, prtype.
  
  dtype_copy(): Add a const qualifier to type2 (the one being copied from).
  
  dtype_set_mblen(): Replaced with dtype_get_mblen().
  
  dtype_get_fixed_size_low(), dtype_get_min_size_low(),
  dtype_get_fixed_max_low(): Replace dtype_get_fixed_size(),
  dtype_get_min_size(), and dtype_get_max_size().  These are used by the
  dict_col_get_{fixed,min,max}_size() functions.
  
  cmp_types_are_equal(): Replace with cmp_cols_are_equal().
  
  dict_table_get_col_name(): Add a const qualifier parameter to the
  parameter "table".
  
  dtype_binary, dtype_binary_val: Remove.
  
  dtype_is_fixed_size(): Remove.
  
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/trx/trx0rseg.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/trx/trx0sys.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r829:
  Erase the magic number in the trx sys header using a redo-logged write;
  it should be redo-logged because the data structure is file-based;
  this patch does not fix any bug; the original erase operation was added
  in r781 to fix Valgrind Bug #20791
  
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/trx/trx0trx.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
storage/innobase/trx/trx0undo.c:
  Applied innodb-5.1 snapshots ss799 and ss854
  
  Revision r838:
  Revamp the line splits done in r763 and r764 that can now be done better,
  thanks to r826.
2006-09-21 01:39:09 -06:00
unknown
0da158aa2f Applied InnoDB 5.1 snapshot ss787.
Bugs fixed:
- Bug #20791    valgrind errors in InnoDB
  Remove Valgrind warning of Bug #20791 : in new database
  creation, we read the doublewrite buffer magic number from
  uninitialized memory; the code worked because it was extremely
  unlikely that the memory would contain the magic number
- Bug #21784    DROP TABLE crashes 5.1.12-pre if concurrent
  queries on the table
  remove update_thd() in ::store_lock()


Also includes numerous coding style fixes, etc.  See file-level
comments for details.


sql/ha_innodb.cc:
  Applied InnoDB 5.1 snapshot ss787.
  
    r755:
    Merge a patch from MySQL AB (Mats Kindal):
  
    Lock and unlock prepare_commit_mutex under the same conditions.
  
    r782:
    Fix bug #21784 of a crash in DROP TABLE with concurrent queries on the table
storage/innobase/Makefile.am:
  Applied InnoDB 5.1 snapshot ss787.
  
    r772:
    Merge changes from MySQL AB:
  
    ChangeSet
      2006/08/23 13:59:16-07:00 brian@zim.(none)
      This patch removes need for a innodb to have its own configure.
storage/innobase/btr/btr0btr.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r764:
    Split lines before an opening parenthesis, not after one.
  
    Replace some printf(...) in debug builds with fprintf(stderr, ...).
  
    r765:
    Split lines before binary operators, not after them.
storage/innobase/btr/btr0cur.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r761:
    btr_cur_search_to_nth_level(): Document where cursor is left at in
    PAGE_CUR_LE searches.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r765:
    Split lines before binary operators, not after them.
storage/innobase/btr/btr0pcur.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r765:
    Split lines before binary operators, not after them.
storage/innobase/btr/btr0sea.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/buf/buf0buf.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r764:
    Split lines before an opening parenthesis, not after one.
  
    Replace some printf(...) in debug builds with fprintf(stderr, ...).
  
    r765:
    Split lines before binary operators, not after them.
storage/innobase/buf/buf0flu.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r764:
    Split lines before an opening parenthesis, not after one.
  
    Replace some printf(...) in debug builds with fprintf(stderr, ...).
  
    r765:
    Split lines before binary operators, not after them.
storage/innobase/buf/buf0lru.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r764:
    Split lines before an opening parenthesis, not after one.
  
    Replace some printf(...) in debug builds with fprintf(stderr, ...).
storage/innobase/buf/buf0rea.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r765:
    Split lines before binary operators, not after them.
storage/innobase/data/data0data.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r743:
    dfield_print_raw(): Make static.  Print at most 1000 bytes to avoid
    excessive space usage of the error log.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r765:
    Split lines before binary operators, not after them.
storage/innobase/data/data0type.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/dict/dict0boot.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/dict/dict0crea.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/dict/dict0dict.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r764:
    Split lines before an opening parenthesis, not after one.
  
    Replace some printf(...) in debug builds with fprintf(stderr, ...).
  
    r765:
    Split lines before binary operators, not after them.
  
    r767:
    Remove dict_col_t::aux, which was only used when copying an index definition
    to the data dictionary cache.
storage/innobase/dict/dict0load.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r765:
    Split lines before binary operators, not after them.
storage/innobase/dict/dict0mem.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/eval/eval0eval.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r765:
    Split lines before binary operators, not after them.
storage/innobase/eval/eval0proc.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/fil/fil0fil.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r764:
    Split lines before an opening parenthesis, not after one.
  
    Replace some printf(...) in debug builds with fprintf(stderr, ...).
  
    r765:
    Split lines before binary operators, not after them.
storage/innobase/fsp/fsp0fsp.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r764:
    Split lines before an opening parenthesis, not after one.
  
    Replace some printf(...) in debug builds with fprintf(stderr, ...).
  
    r765:
    Split lines before binary operators, not after them.
storage/innobase/fut/fut0lst.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/ha/ha0ha.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/ibuf/ibuf0ibuf.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r735:
    Remove all traces of the obsolete concept of replicate spaces.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r764:
    Split lines before an opening parenthesis, not after one.
  
    Replace some printf(...) in debug builds with fprintf(stderr, ...).
  
    r765:
    Split lines before binary operators, not after them.
storage/innobase/include/btr0btr.ic:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/include/btr0cur.h:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/include/btr0cur.ic:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/include/btr0pcur.ic:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/include/buf0buf.h:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/include/buf0buf.ic:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/include/buf0flu.ic:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/include/buf0rea.h:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/include/data0data.h:
  Applied InnoDB 5.1 snapshot ss787.
  
    r743:
    dfield_print_raw(): Make static.  Print at most 1000 bytes to avoid
    excessive space usage of the error log.
storage/innobase/include/data0data.ic:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/include/data0type.ic:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/include/dict0boot.h:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/include/dict0dict.ic:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/include/dict0mem.h:
  Applied InnoDB 5.1 snapshot ss787.
  
    r767:
    Remove dict_col_t::aux, which was only used when copying an index definition
    to the data dictionary cache.
storage/innobase/include/eval0eval.ic:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/include/fut0lst.ic:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/include/ibuf0ibuf.ic:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/include/lock0lock.ic:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/include/log0log.ic:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/include/log0recv.h:
  Applied InnoDB 5.1 snapshot ss787.
  
    r735:
    Remove all traces of the obsolete concept of replicate spaces.
storage/innobase/include/mach0data.ic:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/include/mem0mem.ic:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r765:
    Split lines before binary operators, not after them.
storage/innobase/include/mtr0log.ic:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/include/mtr0mtr.h:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/include/os0file.h:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/include/page0cur.ic:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/include/page0page.ic:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r764:
    Split lines before an opening parenthesis, not after one.
  
    Replace some printf(...) in debug builds with fprintf(stderr, ...).
storage/innobase/include/que0que.ic:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/include/read0read.ic:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/include/rem0cmp.ic:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/include/rem0rec.ic:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r765:
    Split lines before binary operators, not after them.
storage/innobase/include/row0mysql.h:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/include/row0purge.h:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/include/row0row.h:
  Applied InnoDB 5.1 snapshot ss787.
  
    r777:
    Remove unused code.
  
    row_build(): Remove type==ROW_COPY_ALSO_EXTERNALS, because it is never
    passed.
storage/innobase/include/row0row.ic:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/include/row0sel.h:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/include/row0sel.ic:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/include/row0undo.h:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/include/row0upd.ic:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/include/sync0rw.h:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/include/sync0rw.ic:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/include/sync0sync.h:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/include/sync0sync.ic:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/include/trx0rec.ic:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/include/trx0rseg.ic:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r765:
    Split lines before binary operators, not after them.
storage/innobase/include/trx0sys.ic:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r765:
    Split lines before binary operators, not after them.
storage/innobase/include/trx0trx.h:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/include/trx0trx.ic:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/include/trx0undo.h:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/include/trx0undo.ic:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/include/trx0xa.h:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/include/univ.i:
  Applied InnoDB 5.1 snapshot ss787.
  
    r772:
    Merge changes from MySQL AB:
  
    ChangeSet
      2006/08/23 13:59:16-07:00 brian@zim.(none)·
      This patch removes need for a innodb to have its own configure.·
  
    univ.i: Replace ../ib_config.h with config.h.
  
    r777:
    Remove unused code.
  
    univ.i: Do not #define YYDEBUG, because it is only useful for debugging
    the grammar of the Bison-generated InnoDB SQL parser.
storage/innobase/include/ut0byte.ic:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/include/ut0rnd.ic:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r765:
    Split lines before binary operators, not after them.
storage/innobase/lock/lock0lock.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r764:
    Split lines before an opening parenthesis, not after one.
  
    Replace some printf(...) in debug builds with fprintf(stderr, ...).
  
    r765:
    Split lines before binary operators, not after them.
storage/innobase/log/log0log.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r764:
    Split lines before an opening parenthesis, not after one.
  
    Replace some printf(...) in debug builds with fprintf(stderr, ...).
  
    r765:
    Split lines before binary operators, not after them.
storage/innobase/log/log0recv.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r735:
    Remove all traces of the obsolete concept of replicate spaces.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r764:
    Split lines before an opening parenthesis, not after one.
  
    Replace some printf(...) in debug builds with fprintf(stderr, ...).
  
    r765:
    Split lines before binary operators, not after them.
storage/innobase/mem/mem0dbg.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r765:
    Split lines before binary operators, not after them.
storage/innobase/mem/mem0mem.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/mem/mem0pool.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/mtr/mtr0log.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/mtr/mtr0mtr.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r765:
    Split lines before binary operators, not after them.
storage/innobase/os/os0file.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r765:
    Split lines before binary operators, not after them.
storage/innobase/os/os0proc.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r765:
    Split lines before binary operators, not after them.
storage/innobase/os/os0sync.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/os/os0thread.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/page/page0cur.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r765:
    Split lines before binary operators, not after them.
storage/innobase/page/page0page.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r761:
    btr_cur_search_to_nth_level(): Document where cursor is left at in
    PAGE_CUR_LE searches.
  
    r762:
    page_validate(): Add missing space to error print, for real this time,
    following an error in r761.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r764:
    Split lines before an opening parenthesis, not after one.
  
    Replace some printf(...) in debug builds with fprintf(stderr, ...).
  
    r765:
    Split lines before binary operators, not after them.
storage/innobase/pars/pars0opt.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/pars/pars0pars.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r764:
    Split lines before an opening parenthesis, not after one.
  
    Replace some printf(...) in debug builds with fprintf(stderr, ...).
  
    r765:
    Split lines before binary operators, not after them.
storage/innobase/que/que0que.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/read/read0read.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/rem/rem0cmp.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r764:
    Split lines before an opening parenthesis, not after one.
  
    Replace some printf(...) in debug builds with fprintf(stderr, ...).
  
    r765:
    Split lines before binary operators, not after them.
storage/innobase/rem/rem0rec.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r765:
    Split lines before binary operators, not after them.
storage/innobase/row/row0ins.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r764:
    Split lines before an opening parenthesis, not after one.
  
    Replace some printf(...) in debug builds with fprintf(stderr, ...).
  
    r765:
    Split lines before binary operators, not after them.
storage/innobase/row/row0mysql.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r764:
    Split lines before an opening parenthesis, not after one.
  
    Replace some printf(...) in debug builds with fprintf(stderr, ...).
  
    r765:
    Split lines before binary operators, not after them.
storage/innobase/row/row0purge.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/row/row0row.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r765:
    Split lines before binary operators, not after them.
  
    r777:
    Remove unused code.
  
    row_build(): Remove type==ROW_COPY_ALSO_EXTERNALS, because it is never
    passed.
storage/innobase/row/row0sel.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r764:
    Split lines before an opening parenthesis, not after one.
  
    Replace some printf(...) in debug builds with fprintf(stderr, ...).
  
    r765:
    Split lines before binary operators, not after them.
storage/innobase/row/row0uins.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/row/row0umod.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/row/row0undo.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/row/row0upd.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r765:
    Split lines before binary operators, not after them.
storage/innobase/row/row0vers.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/srv/srv0srv.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r741:
    srv_master_thread(): Add OS_THREAD_DUMMY_RETURN to get rid of a compiler
    warning "no return value from a function returning non-void".
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r764:
    Split lines before an opening parenthesis, not after one.
  
    Replace some printf(...) in debug builds with fprintf(stderr, ...).
  
    r765:
    Split lines before binary operators, not after them.
  
    r780:
    Add a warning comment above the place where we set srv_main_thread_op_info
    to "waiting for server activity" that mentions that this string should not
    be changed.
storage/innobase/srv/srv0start.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r765:
    Split lines before binary operators, not after them.
storage/innobase/sync/sync0arr.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r765:
    Split lines before binary operators, not after them.
storage/innobase/sync/sync0rw.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/sync/sync0sync.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/thr/thr0loc.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/trx/trx0purge.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r765:
    Split lines before binary operators, not after them.
storage/innobase/trx/trx0rec.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r735:
    Remove all traces of the obsolete concept of replicate spaces.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r765:
    Split lines before binary operators, not after them.
storage/innobase/trx/trx0roll.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/trx/trx0rseg.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/trx/trx0sys.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r765:
    Split lines before binary operators, not after them.
storage/innobase/trx/trx0trx.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r764:
    Split lines before an opening parenthesis, not after one.
  
    Replace some printf(...) in debug builds with fprintf(stderr, ...).
  
    r765:
    Split lines before binary operators, not after them.
storage/innobase/trx/trx0undo.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r765:
    Split lines before binary operators, not after them.
storage/innobase/ut/ut0byte.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/ut/ut0dbg.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r764:
    Split lines before an opening parenthesis, not after one.
  
    Replace some printf(...) in debug builds with fprintf(stderr, ...).
storage/innobase/ut/ut0mem.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/ut/ut0ut.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
  
    r765:
    Split lines before binary operators, not after them.
storage/innobase/ut/ut0vec.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
storage/innobase/ut/ut0wqueue.c:
  Applied InnoDB 5.1 snapshot ss787.
  
    r763:
    Reindent the code base (except for ha_innodb.{cc,h} and generated parser
    and lexer files).
2006-09-05 03:52:15 +02:00
unknown
2606cb9321 Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots.
All but ss677 are against the mysql-5.1 tree only.

Fixes the following bugs:
- Bug #19834: Using cursors when running in READ-COMMITTED can cause InnoDB to crash
- Bug #20213: DBT2 testing cause mysqld to core using Innodb
- Bug #20493: on partition tables, select and show command casue server crash
- Bug #21113: Duplicate printout in SHOW INNODB STATUS
- Bug #21313: rsql_..._recover_innodb_tmp_table is redundant and broken
- Bug #21467: Manual URL wrong in InnoDB "page corrupted" error report


mysql-test/r/innodb.result:
  Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots.
  All but ss677 are against the mysql-5.1 tree only.
  
  innodb.result: Adjust Innodb_rows_inserted and Innodb_rows_updated
  to reflect the deleted statements in r420, which somehow reappeared
  in the MySQL tree.
mysql-test/t/innodb.test:
  Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots.
  All but ss677 are against the mysql-5.1 tree only.
sql/ha_innodb.cc:
  Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots.
  All but ss677 are against the mysql-5.1 tree only.
  
  ha_innobase::start_stmt(): patch from Heikki:
  Do not call read_view_close_for_mysql().  (Bug #19834)
  
  Fix Bug#20213 and its duplicates: stress test crashes of InnoDB-5.1
  
  Fix Bug #20493 : we must prepare prebuilt->trx to point to the trx of this thd before using it
  
  Add update_thd() to several places in ha_innodb.cc to make sure prebuilt->trx points to the right trx object; in other functions add assertions that prebuilt->trx is for this thd; when 5.1 stabilizes, we can change these assertions to ut_ad() debug version assertions
  
  Remove redundant check_trx_exists() and ut_a() from r701,
  as suggested by Marko
  
  Correct all URLs pointing to the MySQL manual. (Bug #21467)
storage/innobase/btr/btr0btr.c:
  Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots.
  All but ss677 are against the mysql-5.1 tree only.
  
  Correct all URLs pointing to the MySQL manual. (Bug #21467)
storage/innobase/buf/buf0buf.c:
  Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots.
  All but ss677 are against the mysql-5.1 tree only.
  
  Correct all URLs pointing to the MySQL manual. (Bug #21467)
storage/innobase/dict/dict0dict.c:
  Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots.
  All but ss677 are against the mysql-5.1 tree only.
  
  Correct all URLs pointing to the MySQL manual. (Bug #21467)
storage/innobase/fil/fil0fil.c:
  Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots.
  All but ss677 are against the mysql-5.1 tree only.
  
  Make the tablespace cache hash size 100 or 1000 times bigger. Fixes bug
  #21112.
  
  After ut_print_timestamp(), always display "  InnoDB:" (note two spaces).
  
  Correct all URLs pointing to the MySQL manual. (Bug #21467)
storage/innobase/fsp/fsp0fsp.c:
  Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots.
  All but ss677 are against the mysql-5.1 tree only.
  
  Correct all URLs pointing to the MySQL manual. (Bug #21467)
storage/innobase/ibuf/ibuf0ibuf.c:
  Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots.
  All but ss677 are against the mysql-5.1 tree only.
  
  ibuf_print(): Don't print redundant information. Fixes bug #21113.
  
  Remove non-varying variable ibuf->meter and related constant IBUF_THRESHOLD.
storage/innobase/include/btr0cur.ic:
  Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots.
  All but ss677 are against the mysql-5.1 tree only.
  
  btr_cur_get_page(): Remove buggy assertion.
storage/innobase/include/buf0buf.ic:
  Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots.
  All but ss677 are against the mysql-5.1 tree only.
  
  Correct all URLs pointing to the MySQL manual. (Bug #21467)
storage/innobase/include/ibuf0ibuf.ic:
  Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots.
  All but ss677 are against the mysql-5.1 tree only.
  
  Remove non-varying variable ibuf->meter and related constant IBUF_THRESHOLD.
storage/innobase/log/log0log.c:
  Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots.
  All but ss677 are against the mysql-5.1 tree only.
  
  Correct all URLs pointing to the MySQL manual. (Bug #21467)
storage/innobase/log/log0recv.c:
  Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots.
  All but ss677 are against the mysql-5.1 tree only.
  
  Correct all URLs pointing to the MySQL manual. (Bug #21467)
storage/innobase/os/os0file.c:
  Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots.
  All but ss677 are against the mysql-5.1 tree only.
  
  Correct all URLs pointing to the MySQL manual. (Bug #21467)
storage/innobase/row/row0mysql.c:
  Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots.
  All but ss677 are against the mysql-5.1 tree only.
  
  Remove the special treatment of tables
  rsql_IDENTIFIER_recover_innodb_tmp_table, which is redundant and
  was broken with the introduction of the "safe" file name encoding of
  identifiers.  (Bug #21313)
  
  ChangeSet@1.2181.173.1  2006-08-02 17:57:06+02:00  ingo@local
  Bug#18775 - Temporary table from alter table visible to other threads
  Continued implementation of WL#1324 (table name to filename encoding)
  Changed back the encoded temp file prefix to #sql.
  
  After ut_print_timestamp(), always display "  InnoDB:" (note two spaces).
  
  Correct all URLs pointing to the MySQL manual. (Bug #21467)
storage/innobase/row/row0sel.c:
  Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots.
  All but ss677 are against the mysql-5.1 tree only.
  
  Correct all URLs pointing to the MySQL manual. (Bug #21467)
storage/innobase/row/row0vers.c:
  Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots.
  All but ss677 are against the mysql-5.1 tree only.
  
  row_vers_build_for_semi_consistent_read(): rec_trx_id was uninitialized
  in a comparison.  Initialize it.
storage/innobase/srv/srv0start.c:
  Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots.
  All but ss677 are against the mysql-5.1 tree only.
  
  Correct all URLs pointing to the MySQL manual. (Bug #21467)
storage/innobase/ut/ut0dbg.c:
  Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots.
  All but ss677 are against the mysql-5.1 tree only.
  
  ut_dbg_assertion_failed(): Print space between timestamp and start of error
  message.
  
  After ut_print_timestamp(), always display "  InnoDB:" (note two spaces).
  
  Correct all URLs pointing to the MySQL manual. (Bug #21467)
storage/innobase/Makefile.am:
  Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots.
  All but ss677 are against the mysql-5.1 tree only.
2006-08-15 01:42:57 +02:00
unknown
d36f94791a Applied innodb-5.1-ss660 snapshot.
Changes in SQL parser:
 * Change default mode of SELECT from "lock in share mode"
   to "consistent read".
 * Remove support from SELECT for specifying "consistent read".
 * Add support in SELECT for specifying "lock in share mode".
 * Change all uses of SQL parser to specify "lock in share mode".
 * Modify syntax so that the only valid top-level statement is
   a procedure definition, since it's the only one that actually
   works.
 * Add support for lock waits.


sql/ha_innodb.cc:
  Applied innodb-5.1-ss660 snapshot.
   Document better the "bool table_id" flag.
storage/innobase/btr/btr0cur.c:
  Applied innodb-5.1-ss660 snapshot.
   btr_cur_search_to_nth_level(): Reacquire btr_search_latch after
   inserting to the insert buffer. This was noticed while analysing
   Bug#19801, but this should not fix this bug since, according to
   Heikki, btr_search_latch is not reserved during an insert.
storage/innobase/configure.in:
  Applied innodb-5.1-ss660 snapshot.
   Add -Wpointer-arith to CFLAGS when using GCC.
storage/innobase/data/data0type.c:
  Applied innodb-5.1-ss660 snapshot.
storage/innobase/dict/dict0crea.c:
  Applied innodb-5.1-ss660 snapshot.
storage/innobase/dict/dict0dict.c:
  Applied innodb-5.1-ss660 snapshot.
   Make dict_remove_db_name() non-static.
storage/innobase/ibuf/ibuf0ibuf.c:
  Applied innodb-5.1-ss660 snapshot.
   ibuf_fixed_addr_page(): Add parameter space. As the insert buffer
   B-tree is only located in the system tablespace (space 0),
   IBUF_TREE_ROOT_PAGE_NO is only special in space 0.
storage/innobase/include/data0type.h:
  Applied innodb-5.1-ss660 snapshot.
storage/innobase/include/dict0dict.h:
  Applied innodb-5.1-ss660 snapshot.
   Make dict_remove_db_name() non-static.
storage/innobase/include/pars0grm.h:
  Applied innodb-5.1-ss660 snapshot.
storage/innobase/include/pars0pars.h:
  Applied innodb-5.1-ss660 snapshot.
storage/innobase/include/que0que.h:
  Applied innodb-5.1-ss660 snapshot.
storage/innobase/include/sync0rw.ic:
  Applied innodb-5.1-ss660 snapshot.
   rw_lock_s_unlock_func(): Change a debug assertion to a
   production assertion in order to track down Bug#19081.
storage/innobase/include/trx0trx.h:
  Applied innodb-5.1-ss660 snapshot.
   trx_sig_send() always succeeds or asserts.
storage/innobase/include/ut0ut.h:
  Applied innodb-5.1-ss660 snapshot.
   Document better the "bool table_id" flags.
storage/innobase/mem/mem0mem.c:
  Applied innodb-5.1-ss660 snapshot.
storage/innobase/pars/lexyy.c:
  Applied innodb-5.1-ss660 snapshot.
storage/innobase/pars/pars0grm.c:
  Applied innodb-5.1-ss660 snapshot.
storage/innobase/pars/pars0grm.h:
  Applied innodb-5.1-ss660 snapshot.
storage/innobase/pars/pars0grm.y:
  Applied innodb-5.1-ss660 snapshot.
storage/innobase/pars/pars0lex.l:
  Applied innodb-5.1-ss660 snapshot.
storage/innobase/pars/pars0pars.c:
  Applied innodb-5.1-ss660 snapshot.
storage/innobase/que/que0que.c:
  Applied innodb-5.1-ss660 snapshot.
storage/innobase/row/row0mysql.c:
  Applied innodb-5.1-ss660 snapshot.
storage/innobase/row/row0sel.c:
  Applied innodb-5.1-ss660 snapshot.
   * Disable prefetch and adaptive hash index for tables
     with rows over 1024 bytes in InnoDB's SQL parser.
   * row_sel_try_search_shortcut(): Do not return SEL_FOUND
     when the record was not found. This bug was introduced
     in MySQL/InnoDB 5.0.3, but luckily it should never
     manifest itself, given that existing InnoDB SQL code
     never makes use of consistent reads.
   * Don't take unnecesary locks on supremum records when the
     srv_locks_unsafe_for_binlog option is enabled. Fixes an
     assertion failure in the innodb_unsafe_binlog testcase
     when compiled with UNIV_DEBUG.
storage/innobase/row/row0upd.c:
  Applied innodb-5.1-ss660 snapshot.
storage/innobase/trx/trx0roll.c:
  Applied innodb-5.1-ss660 snapshot.
   trx_sig_send() always succeeds or asserts.
storage/innobase/trx/trx0trx.c:
  Applied innodb-5.1-ss660 snapshot.
   trx_sig_send() always succeeds or asserts.
storage/innobase/ut/ut0ut.c:
  Applied innodb-5.1-ss660 snapshot.
   Document better the "bool table_id" flags.
2006-07-26 13:28:51 +04:00
unknown
2dca2a1a5d Applied innodb-5.1-ss594 snapshot.
Fixed BUG#19542 "InnoDB doesn't increase the Handler_read_prev couter".
 Fixed BUG#19609 "Case sensitivity of innodb_data_file_path gives stupid error".
 Fixed BUG#19727 "InnoDB crashed server and crashed tables are ot recoverable".
 Also:
 * Remove remnants of the obsolete concept of memoryfixing tables and indexes.
 * Remove unused dict_table_LRU_trim().
 * Remove unused 'trx' parameter from dict_table_get_on_id_low(),
   dict_table_get(), dict_table_get_and_increment_handle_count().
 * Add a normal linked list implementation.
 * Add a work queue implementation.
 * Add 'level' parameter to mutex_create() and rw_lock_create().
   Remove mutex_set_level() and rw_lock_set_level().
 * Rename SYNC_LEVEL_NONE to SYNC_LEVEL_VARYING.
 * Add support for bound ids in InnoDB's parser.
 * Define UNIV_BTR_DEBUG for enabling consistency checks of
   FIL_PAGE_NEXT and FIL_PAGE_PREV when accessing sibling
   pages of B-tree indexes.
   btr_validate_level(): Check the validity of the doubly linked
   list formed by FIL_PAGE_NEXT and FIL_PAGE_PREV.
 * Adapt InnoDB to the new tablename to filename encoding in MySQL 5.1.
   ut_print_name(), ut_print_name1(): Add parameter 'table_id' for
   distinguishing names of tables from other identifiers.
   New: innobase_convert_from_table_id(), innobase_convert_from_id(),
        innobase_convert_from_filename(), innobase_get_charset.
   dict_accept(), dict_scan_id(), dict_scan_col(), dict_scan_table_name(),
   dict_skip_word(), dict_create_foreign_constraints_low(): Add
   parameter 'cs' so that isspace() can be replaced with my_isspace(),
   whose operation depends on the connection character set.
   dict_scan_id(): Convert identifier to UTF-8.
   dict_str_starts_with_keyword(): New extern function, to replace
   dict_accept() in row_search_for_mysql().
   mysql_get_identifier_quote_char(): Replaced with innobase_print_identifier().
   ha_innobase::create(): Remove the thd->convert_strin() call. Pass the
   statement to InnoDB in the connection character set and let InnoDB
   convert the identifier to UTF-8.
 * Add max_row_size to dict_table_t.
 * btr0cur.c
   btr_copy_externally_stored_field(): Only set the 'offset' variable
   when needed.
 * buf0buf.c
   buf_page_io_complete(): Write to the error log if the page number or
   the space id o the disk do not match those in memory. Also write to
   the error log if a page was read from the doublewrite buffer. The
   doublewrite buffer should be only read by the lower-level function
   fil_io() at database startup.
 * dict0dict.c
   dict_scan_table_name(): Remove fallback to differently encoded name
   when the table is not found. The encoding is handled at a higher level.
 * ha_innodb.cc
   Increment statistic counter in ha_innobase::index_prev() (bug 19542).
   Add innobase_convert_string wrapper function and a new file
   ha_prototypes.h.
   innobase_print_identifier(): Remove TODO comment before calling
   get_quote_char_for_identifier(). That function apparently assumes
   the identifier to be encoded in UTF-8.
 * ibuf0ibuf.c|h
   ibuf_count_get(), ibuf_counts[], ibuf_count_inited(): Define these
   only #ifdef UNIV_IBUF_DEBUG. Previously, when compiled without
   UNIV_IBUF_DEBUG, invoking ibuf_count_get() would crash InnoDB.
   The function is only being called #ifdef UNIV_IBUF_DEBUG.
 * innodb.result
   Adjust the results for changes in the foreign key error messages.
 * mem0mem.c|h
   New: mem_heap_dup(), mem_heap_printf(), mem_heap_cat().
 * os0file.c
   Check the page trailers also after writing to disk. This improves
   chances of diagnosing bug 18886.
   os_file_check_page_trailers(): New function for checking that the
   two copies of the LSN stamped on the page match.
   os_aio_simulated_handle(): Call os_file_check_page_trailers()
   before and after os_file_write().
 * row0mysql.c
   Move trx_commit_for_mysql(trx) calls before calls to
   row_mysql_unlock_data_dictionary(trx) (bug 19727).
 * row0sel.c
   row_fetch_print(): Handle SQL NULL values without crashing.
   row_sel_store_mysql_rec(): Remove useless call to rec_get_nth_field
   when handling an externally stored column.
   Fetch externally stored fields when using InnoDB's internal SQL
   parser.
   Optimize BLOB selects by using prebuilt->blob_heap directly instead
   of first reading BLOB data to a temporary heap and then copying it
   to prebuilt->blob_heap.
 * srv0srv.c
   srv_master_thread(): Remove unreachable code.
 * srv0start.c
   srv_parse_data_file_paths_and_sizes(): Accept lower-case 'm' and
   'g' as abbreviations of megabyte and gigabyte (bug 19609).
   srv_parse_megabytes(): New fuction.
 * ut0dbg.c|h
   Implement InnoDB assertions (ut_a and ut_error) with abort() when
   the code is compiled with GCC 3 or later on other platforms than
   Windows or Netware. Also disable the variable ut_dbg_stop_threads
   and the function ut_dbg_stop_thread() i this case, unless
   UNIV_SYC_DEBUG is defined. This should allow the compiler to
   generate more compact code for assertions.
 * ut0list.c|h
   Add ib_list_create_heap().


mysql-test/r/innodb.result:
  Applied innodb-5.1-ss594 snapshot.
mysql-test/t/innodb.test:
  Copy the comment from the beginning of the file
   to the end because MySQL developers continue
   adding test cases to this file.
sql/ha_innodb.cc:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/CMakeLists.txt:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/Makefile.am:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/btr/btr0btr.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/btr/btr0cur.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/btr/btr0pcur.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/btr/btr0sea.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/buf/buf0buf.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/buf/buf0flu.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/data/data0type.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/dict/dict0crea.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/dict/dict0dict.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/dict/dict0load.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/dict/dict0mem.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/fil/fil0fil.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/ha/hash0hash.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/ibuf/ibuf0ibuf.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/include/data0type.h:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/include/dict0dict.h:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/include/dict0dict.ic:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/include/dict0mem.h:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/include/fil0fil.h:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/include/fsp0fsp.h:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/include/ibuf0ibuf.h:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/include/mem0mem.h:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/include/pars0pars.h:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/include/pars0sym.h:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/include/pars0types.h:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/include/rem0rec.h:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/include/row0purge.h:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/include/row0undo.h:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/include/srv0srv.h:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/include/sync0rw.h:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/include/sync0sync.h:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/include/univ.i:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/include/ut0dbg.h:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/include/ut0ut.h:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/lock/lock0lock.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/log/log0log.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/log/log0recv.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/mem/mem0dbg.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/mem/mem0mem.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/mem/mem0pool.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/os/os0file.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/os/os0thread.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/pars/lexyy.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/pars/pars0lex.l:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/pars/pars0pars.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/pars/pars0sym.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/row/row0ins.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/row/row0mysql.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/row/row0purge.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/row/row0row.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/row/row0sel.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/row/row0upd.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/srv/srv0srv.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/srv/srv0start.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/sync/sync0arr.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/sync/sync0rw.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/sync/sync0sync.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/thr/thr0loc.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/trx/trx0purge.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/trx/trx0rec.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/trx/trx0roll.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/trx/trx0rseg.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/trx/trx0sys.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/trx/trx0trx.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/ut/Makefile.am:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/ut/ut0dbg.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/ut/ut0ut.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/include/ha_prototypes.h:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/include/ut0list.h:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/include/ut0list.ic:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/include/ut0wqueue.h:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/ut/ut0list.c:
  Applied innodb-5.1-ss594 snapshot.
storage/innobase/ut/ut0wqueue.c:
  Applied innodb-5.1-ss594 snapshot.
2006-06-01 10:34:04 +04:00
unknown
67d23360d7 Applied innodb-5.1-ss492 snapshot.
* Fix BUG#19217 "dict_load_indexes() may read the delete-mark incorrectly".
 * Remove obsolete and unused variables from srv0srv.c.
 * Remove srv_sys->operational since it is unused.
 * Make thread_id parameter in os_thread_create() optional.
 * Add platform-specific os_thread_ret_t and OS_THREAD_DUMMY_RETURN,
   and convert thread start functions to use them.


storage/innobase/dict/dict0dict.c:
  Applied innodb-5.1-ss492 snapshot.
storage/innobase/dict/dict0load.c:
  Applied innodb-5.1-ss492 snapshot.
   dict_load_indexes(): pass comp=0 to rec_get_deleted_flag(), because
   SYS_INDEXES always is in ROW_FORMAT=REDUNDANT (Bug #19217).
storage/innobase/include/os0thread.h:
  Applied innodb-5.1-ss492 snapshot.
storage/innobase/include/srv0srv.h:
  Applied innodb-5.1-ss492 snapshot.
storage/innobase/include/trx0roll.h:
  Applied innodb-5.1-ss492 snapshot.
storage/innobase/include/univ.i:
  Applied innodb-5.1-ss492 snapshot.
storage/innobase/log/log0recv.c:
  Applied innodb-5.1-ss492 snapshot.
storage/innobase/os/os0thread.c:
  Applied innodb-5.1-ss492 snapshot.
storage/innobase/que/que0que.c:
  Applied innodb-5.1-ss492 snapshot.
storage/innobase/srv/srv0srv.c:
  Applied innodb-5.1-ss492 snapshot.
storage/innobase/srv/srv0start.c:
  Applied innodb-5.1-ss492 snapshot.
storage/innobase/trx/trx0roll.c:
  Applied innodb-5.1-ss492 snapshot.
2006-04-26 08:30:37 +04:00
unknown
ca9b46f71a Applied innodb-5.1-ss475 snapshot.
* Fix BUG#15650: "DELETE with LEFT JOIN crashes server with innodb_locks_unsafe_for binlog"
* Fix BUG#17134: "Partitions: uncommitted changes are visible"
* Fix BUG#17992: "Partitions: InnoDB, somehow rotten table after UPDATE"
  row0ins.c: MySQL's partitioned table code does not set preduilt->sql_stat_start right
  if it does an insert in the same statement after doing a search first in the same
  partition table. We now write trx id always to the buffer, not just when flag
  sql_stat_start is on. This will waste CPU time very sightly.
* Fix BUG#18077: "InnoDB uses full explicit table locks in stored FUNCTION"
* Fix BUG#18238: "When locks exhaust the buffer pool, InnoDB does not roll back the trx"
* Fix BUG#18252" "Disk space leak in updates of InnoDB BLOB rows in 5.0 and 5.1"
* Fix BUG#18283: "When InnoDB returns error 'lock table full', MySQL can write to binlog too much"
* Fix BUG#18350: "Use consistent read in CREATE ... SELECT ... if innodb_locks_unsafe_for_binlog"
* Fix BUG#18384: "InnoDB memory leak on duplicate key errors in 5.0 if row has many columns"
* Fix BUG#18934: "InnoDB crashes when table uses column names like DB_ROW_ID"
  Refuse tables that use reserved column names.
* InnoDB's SQL parser:
  - Add support for UNSIGNED types, EXIT keyword, quoted identifiers, user-function callbacks
    for processing results of FETCH statements, bound literals, DATA_VARCHAR for bound literals.
  - Allow bound literals of type non-INTEGER to be of length 0.
  - Add make_flex.sh and update lexer/parser generation documentation.
  - Add comment clarifying the difference between 'alias' and 'indirection' fields in sym_node_t.
  - Remove never reached duplicate code in pars_set_dfield_type().
  - Rewrite pars_info datatypes and APIs, add a few helper functions.
  - Since the functions definitions in pars_info_t are accessed after pars_sql() returns
    in the query graph execution stage, we can't free pars_info_t in pars_sql(). Instead,
    make pars_sql() transfer ownership of pars_info_t to the created query graph, and
    make que_graph_free() free it if needed.
  - Allow access to system columns like DB_ROW_ID.
* Use bound literals in row_truncate_table_for_mysql, row_drop_table_for_mysql,
  row_discard_tablespace_for_mysql, and row_rename_table_for_mysql.
* Setting an isolation level of the transaction to read committed weakens the locks for
  this session similarly like the option innodb_locks_unsafe_for binlog. This patch removes
  alnost all gap locking (used in next-key locking) and makes MySQL to release the row locks
  on the rows which does not belong to result set. Additionally, nonlocking selects on
  INSERT INTO SELECT, UPDATE ... (SELECT ...), and CREATE ... SELECT ... use a nonlocking
  consistent read. If a binlog is used, then binlog format should be set to row based
  binloging to make the execution of the complex SQL statements.
* Disable the statistic variables btr_search_n_hash_fail and n_hash_succ, n_hash_fail,
  n_patt_succ, and n_searches of btr_search_t in builds without #ifdef UNIV_SEARCH_PERF_STAT.
* Make innodb.test faster. Group all consistent read test cases to a one test case and
  wait their lock timeout after all have been send to the server. Decrease amount of rows
  inserted in a certain test - this has no effect on the effectiveness of the test and
  reduces the running time by ~10 sec. Remove temporary work-arounds from innodb.result
  now that ALTER TABLE DROP FOREIGN KEY works once again.
* Make innodb_unsafe_binlog.test faster. Grout all consistent read test cases to a one
  test case amd wait their lock timeout after all have been sent to the server. Remove
  unnecessary option --loose_innodb_lock_wait_timeout.
* Print dictionary memory size in SHOW INNODB STATUS.
* Fix memory leaks in row_create_table_for_mysql() in rare corner cases.
* Remove code related to clustered tables. They were never implemented, and the
  implementation would be challenging with ROW_FORMAT=COMPACT. Remove the table types
  DICT_TABLE_CLUSTER_MEMBER and DICT_TABLE_CLUSTER and all related tests and functions.
  dict_table_t: Remove mix_id, mix_len, mix_id_len, mix_id_buf, and cluster_name.
  plan_t: Remove mixed_index.
  dict_create_sys_tables_tuple(): Set MIX_ID=0, MIX_LEN=0, CLUSTER_NAME=NULL when
  inserting into SYS_TABLES.
  dict_tree_check_search_tuple(): Enclose in #ifdef UNIV_DEBUG.
* Move calling of thr_local_free() from trx_free_for_mysql() to
  innobase_close_connection().


mysql-test/r/innodb.result:
  Applied innodb-5.1-ss475 snapshot.
mysql-test/r/innodb_unsafe_binlog.result:
  Applied innodb-5.1-ss475 snapshot.
mysql-test/t/innodb-master.opt:
  Applied innodb-5.1-ss475 snapshot.
mysql-test/t/innodb.test:
  Applied innodb-5.1-ss475 snapshot.
mysql-test/t/innodb_unsafe_binlog-master.opt:
  Applied innodb-5.1-ss475 snapshot.
mysql-test/t/innodb_unsafe_binlog.test:
  Applied innodb-5.1-ss475 snapshot.
sql/ha_innodb.cc:
  Applied innodb-5.1-ss475 snapshot.
   Do not use inlined functions in ha_innodb.cc.
   Remove assertion ut_error which crashes the mysqld server
   if it prints a warning about the adaptive latch.
storage/innobase/Makefile.am:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/btr/btr0btr.c:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/btr/btr0cur.c:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/btr/btr0pcur.c:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/btr/btr0sea.c:
  Applied innodb-5.1-ss475 snapshot.
   Fix compilation problem with non-C99 compilers.
storage/innobase/buf/buf0lru.c:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/cmakelists.txt:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/configure.in:
  Applied innodb-5.1-ss475 snapshot.
   Add disabled-by-default logic to switch GCC to a strict C89-mode.
   Add -Werror-implicit-function_declaration to CFLAGS when using gcc.
storage/innobase/data/data0type.c:
  Applied innodb-5.1-ss475 snapshot.
   dtype_print(): Recognize DATA_FIXBINARY and DATA_BLOB types.
   Print known flags from prtype. Use a switch statement instead
   of else-if chain.
storage/innobase/dict/dict0crea.c:
  Applied innodb-5.1-ss475 snapshot.
   Use bound literals in all SQL statements instead of elaborately
   constructing correctly allocated and quoted strings to pass the
   data in ASCII form.
storage/innobase/dict/dict0dict.c:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/dict/dict0load.c:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/dict/dict0mem.c:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/eval/eval0proc.c:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/ibuf/ibuf0ibuf.c:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/include/btr0cur.h:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/include/btr0cur.ic:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/include/btr0sea.h:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/include/buf0lru.h:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/include/dict0dict.h:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/include/dict0dict.ic:
  Applied innodb-5.1-ss475 snapshot.
   Remove too strict assertions from some dict_table_t
   accessor functions.
storage/innobase/include/dict0mem.h:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/include/eval0proc.h:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/include/hash0hash.h:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/include/lock0lock.h:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/include/mem0mem.h:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/include/page0page.ic:
  Applied innodb-5.1-ss475 snapshot.
   Remove UNIV_RELEASE_NOT_YET_STABLE and related checks.
storage/innobase/include/pars0grm.h:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/include/pars0pars.h:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/include/pars0sym.h:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/include/pars0types.h:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/include/que0que.h:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/include/row0mysql.h:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/include/row0sel.h:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/include/row0upd.h:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/include/trx0trx.h:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/include/univ.i:
  Applied innodb-5.1-ss475 snapshot.
   Remove UNIV_RELEASE_NOT_YET_STABLE and related checks.
   When using GCC, use __inline__ instead of inline.
storage/innobase/include/ut0mem.h:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/lock/lock0lock.c:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/log/log0recv.c:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/mem/mem0dbg.c:
  Applied innodb-5.1-ss475 snapshot.
   Add (void*) cast when using the %p printf format specifier.
storage/innobase/mem/mem0mem.c:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/os/os0sync.c:
  Applied innodb-5.1-ss475 snapshot.
   Add (void*) cast when using the %p printf format specifier.
storage/innobase/pars/lexyy.c:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/pars/make_bison.sh:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/pars/pars0grm.c:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/pars/pars0grm.h:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/pars/pars0grm.y:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/pars/pars0lex.l:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/pars/pars0opt.c:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/pars/pars0pars.c:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/pars/pars0sym.c:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/que/que0que.c:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/row/row0ins.c:
  Applied innodb-5.1-ss475 snapshot.
   Remove a memory leak when trying to insert a duplicate record to a
   clustered inedx comprising more than about 90 columns (Bug#18384).
   row_ins_duplicate_error_in_clust(): Call mem_heap_free(heap) at
   func_exit if needed.
storage/innobase/row/row0mysql.c:
  Applied innodb-5.1-ss475 snapshot.
   row_mysql_is_system_table(): Use strncmp, not memcmp, since we
   don't know how long the input string is.
storage/innobase/row/row0sel.c:
  Applied innodb-5.1-ss475 snapshot.
   Remove UNIV_RELEASE_NOT_YET_STABLE and related checks.
   row_sel_field_store_in_mysql_format(): Turn the assertions on
   mbminlen, mbmaxlen, and templ->type into debug assertions.
   fetch_step(): Print a more usefull error message when the cursor is closed.
storage/innobase/row/row0upd.c:
  Applied innodb-5.1-ss475 snapshot.
   row_upd_index_replace_new_col_vals_index_pos(): Add a parameter
   order_only for limiting the replacement to the ordering fields
   of the index.
storage/innobase/srv/srv0srv.c:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/sync/sync0arr.c:
  Applied innodb-5.1-ss475 snapshot.
   Add (void*) cast when using the %p printf format specifier.
storage/innobase/sync/sync0rw.c:
  Applied innodb-5.1-ss475 snapshot.
   Add (void*) cast when using the %p printf format specifier.
storage/innobase/sync/sync0sync.c:
  Applied innodb-5.1-ss475 snapshot.
   Add (void*) cast when using the %p printf format specifier.
storage/innobase/trx/trx0trx.c:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/ut/Makefile.am:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/ut/ut0mem.c:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/include/ut0vec.h:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/include/ut0vec.ic:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/pars/make_flex.sh:
  Applied innodb-5.1-ss475 snapshot.
storage/innobase/ut/ut0vec.c:
  Applied innodb-5.1-ss475 snapshot.
2006-04-23 12:48:31 +04:00