mysql5/mysql-5.7.27/mysql-test/suite/ndb/t/ndb_row_format.test

97 lines
2.3 KiB
Plaintext

# The include statement below is a temp one for tests that are yet to
#be ported to run with InnoDB,
#but needs to be kept for tests that would need MyISAM in future.
--source include/force_myisam_default.inc
-- source include/have_ndb.inc
--disable_warnings
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
drop database if exists mysqltest;
--enable_warnings
#
# some negative tests
#
# cannot have ROW_FORMAT=FIXED and var attrs mixed
CREATE TABLE t1
( a INT KEY,
b VARCHAR(10) )
ROW_FORMAT=FIXED
ENGINE=NDB;
# warnings give more detail on the conflict
SHOW WARNINGS;
source show_varpart.inc;
# Turn off strict mode since INSERT intentionally truncate data
--source suite/ndb/include/turn_off_strict_sql_mode.inc
INSERT INTO t1 values(0,''),(2,"**"),(4,"****"),(6,"******"),(8,"********"),(10,"**********"),(12,"************");
--source suite/ndb/include/restore_sql_mode_after_turn_off_strict.inc
SELECT * FROM t1 ORDER BY a;
DROP TABLE t1;
#
# Check force var part for different ROW_FORMAT
#
# default => ForceVarPart: 1
CREATE TABLE t1
( a INT KEY,
b INT )
ENGINE=NDB;
source show_varpart.inc;
DROP TABLE t1;
# explicit DEFAULT => ForceVarPart: 1
CREATE TABLE t1
( a INT KEY,
b INT )
ROW_FORMAT=DEFAULT
ENGINE=NDB;
source show_varpart.inc;
DROP TABLE t1;
# FIXED => ForceVarPart: 0
CREATE TABLE t1
( a INT KEY,
b INT )
ROW_FORMAT=FIXED
ENGINE=NDB;
source show_varpart.inc;
DROP TABLE t1;
# DYNAMIC => ForceVarPart: 1
CREATE TABLE t1
( a INT KEY,
b INT )
ROW_FORMAT=DYNAMIC
ENGINE=NDB;
source show_varpart.inc;
DROP TABLE t1;
# test of bug
create table t1 (a int auto_increment primary key, b varchar(1000)) engine = ndb;
insert into t1(b) values ('0123456789');
insert into t1(b) select b from t1;
insert into t1(b) select b from t1;
insert into t1(b) select b from t1;
insert into t1(b) select b from t1;
insert into t1(b) select b from t1;
insert into t1(b) select b from t1;
insert into t1(b) select b from t1;
insert into t1(b) select b from t1;
insert into t1(b) select b from t1;
insert into t1(b) select b from t1;
select count(*) from t1;
begin;
update t1 set b = concat(b,b);
update t1 set b = concat(b,b);
update t1 set b = concat(b,b);
update t1 set b = concat(b,b);
update t1 set b = concat(b,b);
rollback;
select count(*),b from t1 group by b;
drop table t1;