mariadb/mysql-test/t/insert.test
unknown 83fc12f216 Added code to flush a bulk_insert index.
This fixes a bug when doing multi-row inserts on table with an auto_increment key that is not in the first key segment.


Docs/manual.texi:
  Changelog
include/my_base.h:
  Added code to flush a bulk_insert index
myisam/mi_extra.c:
  Added code to flush a bulk_insert index
mysql-test/r/insert.result:
  test of auto_increment and bulk_insert
mysql-test/t/insert.test:
  test of auto_increment and bulk_insert
sql/ha_myisam.cc:
  Added code to flush a bulk_insert index
sql/sql_insert.cc:
  Mark that bulk_insert is used
sql/sql_load.cc:
  Mark that bulk_insert is used
  Remove duplicated call to initialize bulk insert
sql/table.h:
  Mark that bulk_insert is used
vio/viosslfactories.c:
  Remove compiler warning
2002-09-18 21:04:49 +03:00

60 lines
1.6 KiB
Text

#
# Test of refering to old values
#
drop table if exists t1;
create table t1 (a int not null);
insert into t1 values (1);
insert into t1 values (a+2);
insert into t1 values (a+3);
insert into t1 values (4),(a+5);
select * from t1;
drop table t1;
#
# Test of duplicate key values with packed keys
#
create table t1 (id int not null auto_increment primary key, username varchar(32) not null, unique (username));
insert into t1 values (0,"mysql");
insert into t1 values (0,"mysql ab");
insert into t1 values (0,"mysql a");
insert into t1 values (0,"r1manic");
insert into t1 values (0,"r1man");
drop table t1;
#
# Test insert syntax
#
create table t1 (a int not null auto_increment, primary key (a), t timestamp, c char(10) default "hello", i int);
insert into t1 values (default,default,default,default), (default,default,default,default), (4,0,"a",5),(default,default,default,default);
select a,t>0,c,i from t1;
truncate table t1;
insert into t1 set a=default,t=default,c=default;
insert into t1 set a=default,t=default,c=default,i=default;
insert into t1 set a=4,t=0,c="a",i=5;
insert into t1 set a=5,t=0,c="a",i=null;
insert into t1 set a=default,t=default,c=default,i=default;
select a,t>0,c,i from t1;
drop table t1;
#
# Test problem with bulk insert and auto_increment on second part keys
#
create table t1 (sid char(20), id int(2) NOT NULL auto_increment, key(sid, id));
insert into t1 values ('skr',NULL),('skr',NULL),('test',NULL);
select * from t1;
drop table t1;
#
# Test of mysqld crash with fully qualified column names
#
drop database if exists foo;
create database foo;
use foo;
create table t1 (c int);
insert into foo.t1 set foo.t1.c = '1';
drop database foo;