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 /mysql-test/include/strict_autoinc.inc | |
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 'mysql-test/include/strict_autoinc.inc')
-rw-r--r-- | mysql-test/include/strict_autoinc.inc | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/mysql-test/include/strict_autoinc.inc b/mysql-test/include/strict_autoinc.inc new file mode 100644 index 00000000000..6960440f3a7 --- /dev/null +++ b/mysql-test/include/strict_autoinc.inc @@ -0,0 +1,28 @@ +# +# Test for strict-mode autoincrement +# + +set @org_mode=@@sql_mode; +eval create table t1 +( + `a` tinyint(4) NOT NULL auto_increment, + primary key (`a`) +) engine = $type ; +set @@sql_mode='strict_all_tables'; +--error ER_WARN_DATA_OUT_OF_RANGE +insert into t1 values(1000); +select count(*) from t1; + +set auto_increment_increment=1000; +set auto_increment_offset=700; +--error ER_WARN_DATA_OUT_OF_RANGE +insert into t1 values(null); +select count(*) from t1; + +set @@sql_mode=@org_mode; +insert into t1 values(null); +select * from t1; + +drop table t1; + +# End of test |