Commit 5d249a71 authored by unknown's avatar unknown
Browse files

Merge acurtis@bk-internal.mysql.com:/home/bk/mysql-5.0-engines

into  xiphis.org:/home/antony/work2/engines-merge


BitKeeper/deleted/.del-ha_berkeley.cc:
  Auto merged
mysql-test/r/myisam.result:
  Auto merged
mysql-test/t/myisam.test:
  Auto merged
sql/opt_range.cc:
  Auto merged
storage/heap/ha_heap.cc:
  Auto merged
storage/myisam/ha_myisam.cc:
  Auto merged
storage/myisam/mi_packrec.c:
  Auto merged
storage/myisam/mi_rkey.c:
  Auto merged
storage/myisammrg/ha_myisammrg.cc:
  Auto merged
include/my_base.h:
  manual merge
sql/ha_ndbcluster.cc:
  manual merge
sql/handler.cc:
  manual merge
sql/handler.h:
  manual merge
sql/share/errmsg.txt:
  manual merge
storage/innobase/handler/ha_innodb.cc:
  manual merge
parents bf225def 74c82824
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -372,7 +372,9 @@ enum ha_base_keytype {
#define HA_ERR_TABLE_NEEDS_UPGRADE 164  /* The table changed in storage engine */
#define HA_ERR_TABLE_READONLY    165  /* The table is not writable */

#define HA_ERR_LAST              165  /*Copy last error nr.*/
#define HA_ERR_AUTOINC_READ_FAILED 166/* Failed to get the next autoinc value */
#define HA_ERR_AUTOINC_ERANGE    167  /* Failed to set the row autoinc value */
#define HA_ERR_LAST              167  /*Copy last error nr.*/
/* Add error numbers before HA_ERR_LAST and change it accordingly. */
#define HA_ERR_ERRORS            (HA_ERR_LAST - HA_ERR_FIRST + 1)

+28 −0
Original line number Diff line number Diff line
#
# 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
+27 −0
Original line number Diff line number Diff line
set @org_mode=@@sql_mode;
create table t1
(
`a` tinyint(4) NOT NULL auto_increment,
primary key (`a`)
) engine = 'MYISAM'  ;
set @@sql_mode='strict_all_tables';
insert into t1 values(1000);
ERROR 22003: Out of range value adjusted for column 'a' at row 1
select count(*) from t1;
count(*)
0
set auto_increment_increment=1000;
set auto_increment_offset=700;
insert into t1 values(null);
ERROR 22003: Out of range value adjusted for column 'a' at row 1
select count(*) from t1;
count(*)
0
set @@sql_mode=@org_mode;
insert into t1 values(null);
Warnings:
Warning	1264	Out of range value adjusted for column 'a' at row 1
select * from t1;
a
127
drop table t1;
+27 −0
Original line number Diff line number Diff line
set @org_mode=@@sql_mode;
create table t1
(
`a` tinyint(4) NOT NULL auto_increment,
primary key (`a`)
) engine = 'InnoDB'  ;
set @@sql_mode='strict_all_tables';
insert into t1 values(1000);
ERROR 22003: Out of range value adjusted for column 'a' at row 1
select count(*) from t1;
count(*)
0
set auto_increment_increment=1000;
set auto_increment_offset=700;
insert into t1 values(null);
ERROR 22003: Out of range value adjusted for column 'a' at row 1
select count(*) from t1;
count(*)
0
set @@sql_mode=@org_mode;
insert into t1 values(null);
Warnings:
Warning	1264	Out of range value adjusted for column 'a' at row 1
select * from t1;
a
127
drop table t1;
+27 −0
Original line number Diff line number Diff line
set @org_mode=@@sql_mode;
create table t1
(
`a` tinyint(4) NOT NULL auto_increment,
primary key (`a`)
) engine = 'MEMORY'  ;
set @@sql_mode='strict_all_tables';
insert into t1 values(1000);
ERROR 22003: Out of range value adjusted for column 'a' at row 1
select count(*) from t1;
count(*)
0
set auto_increment_increment=1000;
set auto_increment_offset=700;
insert into t1 values(null);
ERROR 22003: Out of range value adjusted for column 'a' at row 1
select count(*) from t1;
count(*)
0
set @@sql_mode=@org_mode;
insert into t1 values(null);
Warnings:
Warning	1264	Out of range value adjusted for column 'a' at row 1
select * from t1;
a
127
drop table t1;
Loading