-- 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; INSERT INTO t1 values(0,''),(2,"**"),(4,"****"),(6,"******"),(8,"********"),(10,"**********"),(12,"************"); 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;