mariadb/storage/innobase/row
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
..
row0ins.c Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569. 2007-07-10 05:37:43 -06:00
row0mysql.c Apply InnoDB snapshot innodb-5.1-2858, part 7. 2008-12-14 13:42:37 -07:00
row0purge.c Apply InnoDB snapshot ss923 2006-10-20 12:36:15 -06:00
row0row.c Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569. 2007-07-10 05:37:43 -06:00
row0sel.c Apply InnoDB snapshot innodb-5.1-ss2637, part 1. Fixes 2008-12-14 12:28:19 -07:00
row0uins.c Applied innodb-5.1 snapshots ss799 and ss854 2006-09-21 01:39:09 -06:00
row0umod.c Applied innodb-5.1 snapshots ss799 and ss854 2006-09-21 01:39:09 -06:00
row0undo.c Applied innodb-5.1-ss1381 snapshot 2007-03-28 22:46:28 -06:00
row0upd.c Applied innodb-5.1-ss1039 and innodb-5.1-ss1134 snapshots. 2007-01-04 19:51:34 -07:00
row0vers.c Apply the following InnoDB snapshots: 2007-03-22 15:59:35 -06:00