mariadb/mysql-test/innodb-autoinc-44030.result
marko ae9752c3d6 branches/zip: Merge revisions 6471:6538 from branches/5.1:
------------------------------------------------------------------------
  r6488 | sunny | 2010-01-21 02:55:08 +0200 (Thu, 21 Jan 2010) | 2 lines
  Changed paths:
     M /branches/5.1/mysql-test/innodb-autoinc.result
     M /branches/5.1/mysql-test/innodb-autoinc.test

  branches/5.1: Factor out test for bug#44030 from innodb-autoinc.test
  into a separate test/result files.
  ------------------------------------------------------------------------
  r6489 | sunny | 2010-01-21 02:57:50 +0200 (Thu, 21 Jan 2010) | 2 lines
  Changed paths:
     A /branches/5.1/mysql-test/innodb-autoinc-44030.result
     A /branches/5.1/mysql-test/innodb-autoinc-44030.test

  branches/5.1: Factor out test for bug#44030 from innodb-autoinc.test
  into a separate test/result files.
  ------------------------------------------------------------------------
  r6492 | sunny | 2010-01-21 09:38:35 +0200 (Thu, 21 Jan 2010) | 1 line
  Changed paths:
     M /branches/5.1/mysql-test/innodb-autoinc-44030.test

  branches/5.1: Add reference to bug#47621 in the comment.
  ------------------------------------------------------------------------
  r6535 | sunny | 2010-01-30 00:08:40 +0200 (Sat, 30 Jan 2010) | 11 lines
  Changed paths:
     M /branches/5.1/handler/ha_innodb.cc

  branches/5.1: Undo the change from r6424. We need to return DB_SUCCESS even
  if we were unable to initialize the tabe autoinc value. This is required for
  the open to succeed. The only condition we currently treat as a hard error
  is if the autoinc field instance passed in by MySQL is NULL.

  Previously if the table autoinc value was 0 and the next value was requested
  we had an assertion that would fail. Change that assertion and treat a value
  of 0 to mean that the autoinc system is unavailable. Generation of next
  value will now return failure.

  rb://237
  ------------------------------------------------------------------------
  r6536 | sunny | 2010-01-30 00:13:42 +0200 (Sat, 30 Jan 2010) | 6 lines
  Changed paths:
     M /branches/5.1/handler/ha_innodb.cc
     M /branches/5.1/mysql-test/innodb-autoinc.result
     M /branches/5.1/mysql-test/innodb-autoinc.test

  branches/5.1: Check *first_value everytime against the column max
  value and  set *first_value to next autoinc if it's > col max value.
  ie.  not rely on what is passed in from MySQL.

  [49497] Error 1467 (ER_AUTOINC_READ_FAILED) on inserting a negative value
  rb://236
  ------------------------------------------------------------------------
  r6537 | sunny | 2010-01-30 00:35:00 +0200 (Sat, 30 Jan 2010) | 2 lines
  Changed paths:
     M /branches/5.1/handler/ha_innodb.cc
     M /branches/5.1/mysql-test/innodb-autoinc.result
     M /branches/5.1/mysql-test/innodb-autoinc.test

  branches/5.1: Undo r6536.
  ------------------------------------------------------------------------
  r6538 | sunny | 2010-01-30 00:43:06 +0200 (Sat, 30 Jan 2010) | 6 lines
  Changed paths:
     M /branches/5.1/handler/ha_innodb.cc
     M /branches/5.1/mysql-test/innodb-autoinc.result
     M /branches/5.1/mysql-test/innodb-autoinc.test

  branches/5.1: Check *first_value every time against the column max
  value and  set *first_value to next autoinc if it's > col max value.
  ie.  not rely on what is passed in from MySQL.

  [49497] Error 1467 (ER_AUTOINC_READ_FAILED) on inserting a negative value
  rb://236
  ------------------------------------------------------------------------
2010-02-01 09:31:12 +00:00

30 lines
681 B
Text

drop table if exists t1;
SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
CREATE TABLE t1 (c1 INT PRIMARY KEY AUTO_INCREMENT) ENGINE=InnoDB;
INSERT INTO t1 VALUES (null);
INSERT INTO t1 VALUES (null);
ALTER TABLE t1 CHANGE c1 d1 INT NOT NULL AUTO_INCREMENT;
SELECT * FROM t1;
d1
1
2
SELECT * FROM t1;
d1
1
2
INSERT INTO t1 VALUES(null);
Got one of the listed errors
ALTER TABLE t1 AUTO_INCREMENT = 3;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`d1` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`d1`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES(null);
SELECT * FROM t1;
d1
1
2
3
DROP TABLE t1;