WL#1190 preparatory work needed for compatability with future online add column

sql/ha_ndbcluster.cc:
  WL#1190 preparatory work needed for compatability with future online add column
  - make forcing of var part reference into ndb storage default, may be overridden by table setting ROW_FORMAT=FIXED
mysql-test/r/ndb_row_format.result:
  New BitKeeper file ``mysql-test/r/ndb_row_format.result''
mysql-test/t/ndb_row_format.test:
  New BitKeeper file ``mysql-test/t/ndb_row_format.test''
This commit is contained in:
unknown 2007-04-26 13:36:51 +02:00
commit 3854e64310
5 changed files with 167 additions and 0 deletions

View file

@ -57,6 +57,7 @@ Number of primary keys: 3
Length of frm data: #
Row Checksum: 1
Row GCI: 1
ForceVarPart: 1
TableStatus: Retrieved
-- Attributes --
a Int PRIMARY KEY AT=FIXED ST=MEMORY

View file

@ -0,0 +1,39 @@
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
drop database if exists mysqltest;
CREATE TABLE t1
( a INT KEY,
b VARCHAR(10) )
ROW_FORMAT=FIXED
ENGINE=NDB;
ERROR HY000: Can't create table 'test.t1' (errno: 138)
SHOW WARNINGS;
Level Code Message
Error 1466 Table storage engine 'ndbcluster' does not support the create option 'Row format FIXED incompatible with variable sized attributes'
Error 1005 Can't create table 'test.t1' (errno: 138)
CREATE TABLE t1
( a INT KEY,
b INT )
ENGINE=NDB;
ForceVarPart: 1
DROP TABLE t1;
CREATE TABLE t1
( a INT KEY,
b INT )
ROW_FORMAT=DEFAULT
ENGINE=NDB;
ForceVarPart: 1
DROP TABLE t1;
CREATE TABLE t1
( a INT KEY,
b INT )
ROW_FORMAT=FIXED
ENGINE=NDB;
ForceVarPart: 0
DROP TABLE t1;
CREATE TABLE t1
( a INT KEY,
b INT )
ROW_FORMAT=DYNAMIC
ENGINE=NDB;
ForceVarPart: 1
DROP TABLE t1;

View file

@ -0,0 +1,62 @@
-- source include/have_ndb.inc
-- source include/not_embedded.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
--error 1005
CREATE TABLE t1
( a INT KEY,
b VARCHAR(10) )
ROW_FORMAT=FIXED
ENGINE=NDB;
# warnings give more detail on the error
SHOW WARNINGS;
#
# Check force var part for different ROW_FORMAT
#
# default => ForceVarPart: 1
CREATE TABLE t1
( a INT KEY,
b INT )
ENGINE=NDB;
--exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t1 | grep ForceVarPart
DROP TABLE t1;
# explicit DEFAULT => ForceVarPart: 1
CREATE TABLE t1
( a INT KEY,
b INT )
ROW_FORMAT=DEFAULT
ENGINE=NDB;
--exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t1 | grep ForceVarPart
DROP TABLE t1;
# FIXED => ForceVarPart: 0
CREATE TABLE t1
( a INT KEY,
b INT )
ROW_FORMAT=FIXED
ENGINE=NDB;
--exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t1 | grep ForceVarPart
DROP TABLE t1;
# DYNAMIC => ForceVarPart: 1
CREATE TABLE t1
( a INT KEY,
b INT )
ROW_FORMAT=DYNAMIC
ENGINE=NDB;
--exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t1 | grep ForceVarPart
DROP TABLE t1;