diff options
author | unknown <acurtis/antony@xiphis.org/ltantony.xiphis.org> | 2006-08-30 13:20:39 -0700 |
---|---|---|
committer | unknown <acurtis/antony@xiphis.org/ltantony.xiphis.org> | 2006-08-30 13:20:39 -0700 |
commit | 2233201ba715bb733af86cddd1305ee389897d4b (patch) | |
tree | 8420b990a80a44f9a16ab6d77359c0a179d2893a /sql/ha_innodb.cc | |
parent | 69a29c1ea143387588367afbc3121fce4d977415 (diff) | |
download | mariadb-git-2233201ba715bb733af86cddd1305ee389897d4b.tar.gz |
Bug#20573
"strict mode: inserts autogenerated auto_increment value bigger than max"
Strict mode should fail if autoincrement value is out of range
include/my_base.h:
Add new handler error codes
sql/ha_berkeley.cc:
handle error in update_auto_increment()
sql/ha_heap.cc:
handle error in update_auto_increment()
sql/ha_innodb.cc:
handle error in update_auto_increment()
sql/ha_myisam.cc:
handle error in update_auto_increment()
sql/ha_myisammrg.cc:
handle error in update_auto_increment()
sql/ha_ndbcluster.cc:
handle error in update_auto_increment()
sql/handler.cc:
return error from handler::update_auto_increment()
sql/handler.h:
change return type of handler::update_auto_increment() to int
sql/share/errmsg.txt:
new error message for auto-increment
mysql-test/include/strict_autoinc.inc:
New BitKeeper file ``mysql-test/include/strict_autoinc.inc''
mysql-test/r/strict_autoinc_1myisam.result:
New BitKeeper file ``mysql-test/r/strict_autoinc_1myisam.result''
mysql-test/r/strict_autoinc_2innodb.result:
New BitKeeper file ``mysql-test/r/strict_autoinc_2innodb.result''
mysql-test/r/strict_autoinc_3heap.result:
New BitKeeper file ``mysql-test/r/strict_autoinc_3heap.result''
mysql-test/r/strict_autoinc_4bdb.result:
New BitKeeper file ``mysql-test/r/strict_autoinc_4bdb.result''
mysql-test/r/strict_autoinc_5ndb.result:
New BitKeeper file ``mysql-test/r/strict_autoinc_5ndb.result''
mysql-test/t/strict_autoinc_1myisam.test:
New BitKeeper file ``mysql-test/t/strict_autoinc_1myisam.test''
mysql-test/t/strict_autoinc_2innodb.test:
New BitKeeper file ``mysql-test/t/strict_autoinc_2innodb.test''
mysql-test/t/strict_autoinc_3heap.test:
New BitKeeper file ``mysql-test/t/strict_autoinc_3heap.test''
mysql-test/t/strict_autoinc_4bdb.test:
New BitKeeper file ``mysql-test/t/strict_autoinc_4bdb.test''
mysql-test/t/strict_autoinc_5ndb.test:
New BitKeeper file ``mysql-test/t/strict_autoinc_5ndb.test''
Diffstat (limited to 'sql/ha_innodb.cc')
-rw-r--r-- | sql/ha_innodb.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sql/ha_innodb.cc b/sql/ha_innodb.cc index c56be6376d0..4e73d4fb285 100644 --- a/sql/ha_innodb.cc +++ b/sql/ha_innodb.cc @@ -3252,7 +3252,8 @@ no_commit: /* We must use the handler code to update the auto-increment value to be sure that we increment it correctly. */ - update_auto_increment(); + if ((error= update_auto_increment())) + goto func_exit; auto_inc_used = 1; } |