blob: 4443ee601ad8a1b555fd79210d3177d1fae5f3e2 [file] [log] [blame]
>>
>>?section set_up
>>
>>-- set-up
>>
>>drop schema if exists t040sch cascade;
--- SQL operation complete.
>>
>>create schema t040sch;
--- SQL operation complete.
>>
>>set schema t040sch;
--- SQL operation complete.
>>
>>create table t040salt(a int not null, b int not null, c int, primary key (a,b))
+> salt using 4 partitions;
--- SQL operation complete.
>>
>>showddl t040salt;
CREATE TABLE TRAFODION.T040SCH.T040SALT
(
A INT NO DEFAULT NOT NULL NOT DROPPABLE
, B INT NO DEFAULT NOT NULL NOT DROPPABLE
, C INT DEFAULT NULL
, PRIMARY KEY (A ASC, B ASC)
)
SALT USING 4 PARTITIONS
ATTRIBUTES ALIGNED FORMAT
;
--- SQL operation complete.
>>
>>create table t040nosalt(a int not null, b int not null, c int, primary key (a,b));
--- SQL operation complete.
>>
>>showddl t040nosalt;
CREATE TABLE TRAFODION.T040SCH.T040NOSALT
(
A INT NO DEFAULT NOT NULL NOT DROPPABLE
, B INT NO DEFAULT NOT NULL NOT DROPPABLE
, C INT DEFAULT NULL
, PRIMARY KEY (A ASC, B ASC)
)
ATTRIBUTES ALIGNED FORMAT
;
--- SQL operation complete.
>>
>>create table t040bigcols(a int not null,
+> b char(1000) character set iso88591,
+> c varchar(1001) character set iso88591,
+> d char(1002) character set utf8,
+> e varchar(1003) character set utf8,
+> f char(1004) character set ucs2,
+> g varchar(1005) character set ucs2,
+> primary key (a));
--- SQL operation complete.
>>
>>showddl t040bigcols;
CREATE TABLE TRAFODION.T040SCH.T040BIGCOLS
(
A INT NO DEFAULT NOT NULL NOT DROPPABLE
, B CHAR(1000) CHARACTER SET ISO88591 COLLATE
DEFAULT DEFAULT NULL
, C VARCHAR(1001) CHARACTER SET ISO88591
COLLATE DEFAULT DEFAULT NULL
, D CHAR(1002 CHARS) CHARACTER SET UTF8
COLLATE DEFAULT DEFAULT NULL
, E VARCHAR(1003 CHARS) CHARACTER SET UTF8
COLLATE DEFAULT DEFAULT NULL
, F CHAR(1004) CHARACTER SET UCS2 COLLATE
DEFAULT DEFAULT NULL
, G VARCHAR(1005) CHARACTER SET UCS2 COLLATE
DEFAULT DEFAULT NULL
, PRIMARY KEY (A ASC)
)
ATTRIBUTES ALIGNED FORMAT
;
--- SQL operation complete.
>>
>>?section positive_tests
>>
>>-- positive tests
>>
>>create table t040salt1 like t040salt without salt;
--- SQL operation complete.
>>
>>showddl t040salt1;
CREATE TABLE TRAFODION.T040SCH.T040SALT1
(
A INT NO DEFAULT NOT NULL NOT DROPPABLE
, B INT NO DEFAULT NOT NULL NOT DROPPABLE
, C INT DEFAULT NULL
, PRIMARY KEY (A ASC, B ASC)
)
ATTRIBUTES ALIGNED FORMAT
;
--- SQL operation complete.
>>
>>create table t040salt5 like t040salt salt using 5 partitions;
--- SQL operation complete.
>>
>>showddl t040salt5;
CREATE TABLE TRAFODION.T040SCH.T040SALT5
(
A INT NO DEFAULT NOT NULL NOT DROPPABLE
, B INT NO DEFAULT NOT NULL NOT DROPPABLE
, C INT DEFAULT NULL
, PRIMARY KEY (A ASC, B ASC)
)
SALT USING 5 PARTITIONS
ATTRIBUTES ALIGNED FORMAT
;
--- SQL operation complete.
>>
>>create table t040salt6 like t040salt salt using 6 partitions on (a);
--- SQL operation complete.
>>
>>showddl t040salt6;
CREATE TABLE TRAFODION.T040SCH.T040SALT6
(
A INT NO DEFAULT NOT NULL NOT DROPPABLE
, B INT NO DEFAULT NOT NULL NOT DROPPABLE
, C INT DEFAULT NULL
, PRIMARY KEY (A ASC, B ASC)
)
SALT USING 6 PARTITIONS
ON (A)
ATTRIBUTES ALIGNED FORMAT
;
--- SQL operation complete.
>>
>>create table t040salt7 like t040salt salt using 7 partitions on (b);
--- SQL operation complete.
>>
>>showddl t040salt7;
CREATE TABLE TRAFODION.T040SCH.T040SALT7
(
A INT NO DEFAULT NOT NULL NOT DROPPABLE
, B INT NO DEFAULT NOT NULL NOT DROPPABLE
, C INT DEFAULT NULL
, PRIMARY KEY (A ASC, B ASC)
)
SALT USING 7 PARTITIONS
ON (B)
ATTRIBUTES ALIGNED FORMAT
;
--- SQL operation complete.
>>
>>create table t040salt8 like t040salt salt using 8 partitions on (a,b);
--- SQL operation complete.
>>
>>showddl t040salt8;
CREATE TABLE TRAFODION.T040SCH.T040SALT8
(
A INT NO DEFAULT NOT NULL NOT DROPPABLE
, B INT NO DEFAULT NOT NULL NOT DROPPABLE
, C INT DEFAULT NULL
, PRIMARY KEY (A ASC, B ASC)
)
SALT USING 8 PARTITIONS
ATTRIBUTES ALIGNED FORMAT
;
--- SQL operation complete.
>>
>>create table t040nosalt1 like t040nosalt without salt;
--- SQL operation complete.
>>
>>showddl t040nosalt1;
CREATE TABLE TRAFODION.T040SCH.T040NOSALT1
(
A INT NO DEFAULT NOT NULL NOT DROPPABLE
, B INT NO DEFAULT NOT NULL NOT DROPPABLE
, C INT DEFAULT NULL
, PRIMARY KEY (A ASC, B ASC)
)
ATTRIBUTES ALIGNED FORMAT
;
--- SQL operation complete.
>>
>>create table t040nosalt4 like t040nosalt salt using 4 partitions;
--- SQL operation complete.
>>
>>showddl t040nosalt4;
CREATE TABLE TRAFODION.T040SCH.T040NOSALT4
(
A INT NO DEFAULT NOT NULL NOT DROPPABLE
, B INT NO DEFAULT NOT NULL NOT DROPPABLE
, C INT DEFAULT NULL
, PRIMARY KEY (A ASC, B ASC)
)
SALT USING 4 PARTITIONS
ATTRIBUTES ALIGNED FORMAT
;
--- SQL operation complete.
>>
>>create table t040saltsame like t040salt;
--- SQL operation complete.
>>
>>showddl t040saltsame;
CREATE TABLE TRAFODION.T040SCH.T040SALTSAME
(
A INT NO DEFAULT NOT NULL NOT DROPPABLE
, B INT NO DEFAULT NOT NULL NOT DROPPABLE
, C INT DEFAULT NULL
, PRIMARY KEY (A ASC, B ASC)
)
SALT USING 4 PARTITIONS
ATTRIBUTES ALIGNED FORMAT
;
--- SQL operation complete.
>>
>>create table t040nosaltsame like t040nosalt;
--- SQL operation complete.
>>
>>showddl t040nosaltsame;
CREATE TABLE TRAFODION.T040SCH.T040NOSALTSAME
(
A INT NO DEFAULT NOT NULL NOT DROPPABLE
, B INT NO DEFAULT NOT NULL NOT DROPPABLE
, C INT DEFAULT NULL
, PRIMARY KEY (A ASC, B ASC)
)
ATTRIBUTES ALIGNED FORMAT
;
--- SQL operation complete.
>>
>>create table t040limitedcols like t040bigcols
+>limit column length to 256;
--- SQL operation complete.
>>
>>showddl t040limitedcols;
CREATE TABLE TRAFODION.T040SCH.T040LIMITEDCOLS
(
A INT NO DEFAULT NOT NULL NOT DROPPABLE
, B CHAR(256) CHARACTER SET ISO88591 COLLATE
DEFAULT DEFAULT NULL
, C VARCHAR(256) CHARACTER SET ISO88591
COLLATE DEFAULT DEFAULT NULL
, D CHAR(256 BYTES) CHARACTER SET UTF8 COLLATE
DEFAULT DEFAULT NULL
, E VARCHAR(256 BYTES) CHARACTER SET UTF8
COLLATE DEFAULT DEFAULT NULL
, F CHAR(128) CHARACTER SET UCS2 COLLATE
DEFAULT DEFAULT NULL
, G VARCHAR(128) CHARACTER SET UCS2 COLLATE
DEFAULT DEFAULT NULL
, PRIMARY KEY (A ASC)
)
ATTRIBUTES ALIGNED FORMAT
;
--- SQL operation complete.
>>
>>create table t040somelimitedcols like t040bigcols
+>limit column length to 1002;
--- SQL operation complete.
>>
>>showddl t040somelimitedcols;
CREATE TABLE TRAFODION.T040SCH.T040SOMELIMITEDCOLS
(
A INT NO DEFAULT NOT NULL NOT DROPPABLE
, B CHAR(1000) CHARACTER SET ISO88591 COLLATE
DEFAULT DEFAULT NULL
, C VARCHAR(1001) CHARACTER SET ISO88591
COLLATE DEFAULT DEFAULT NULL
, D CHAR(1002 BYTES) CHARACTER SET UTF8
COLLATE DEFAULT DEFAULT NULL
, E VARCHAR(1002 BYTES) CHARACTER SET UTF8
COLLATE DEFAULT DEFAULT NULL
, F CHAR(501) CHARACTER SET UCS2 COLLATE
DEFAULT DEFAULT NULL
, G VARCHAR(501) CHARACTER SET UCS2 COLLATE
DEFAULT DEFAULT NULL
, PRIMARY KEY (A ASC)
)
ATTRIBUTES ALIGNED FORMAT
;
--- SQL operation complete.
>>
>>create table t040fewerlimitedcols like t040bigcols
+>limit column length to 2010;
--- SQL operation complete.
>>
>>showddl t040fewerlimitedcols;
CREATE TABLE TRAFODION.T040SCH.T040FEWERLIMITEDCOLS
(
A INT NO DEFAULT NOT NULL NOT DROPPABLE
, B CHAR(1000) CHARACTER SET ISO88591 COLLATE
DEFAULT DEFAULT NULL
, C VARCHAR(1001) CHARACTER SET ISO88591
COLLATE DEFAULT DEFAULT NULL
, D CHAR(2010 BYTES) CHARACTER SET UTF8
COLLATE DEFAULT DEFAULT NULL
, E VARCHAR(2010 BYTES) CHARACTER SET UTF8
COLLATE DEFAULT DEFAULT NULL
, F CHAR(1004) CHARACTER SET UCS2 COLLATE
DEFAULT DEFAULT NULL
, G VARCHAR(1005) CHARACTER SET UCS2 COLLATE
DEFAULT DEFAULT NULL
, PRIMARY KEY (A ASC)
)
ATTRIBUTES ALIGNED FORMAT
;
--- SQL operation complete.
>>
>>create table t040nolimitedcols like t040bigcols
+>limit column length to 4012;
--- SQL operation complete.
>>
>>showddl t040nolimitedcols;
CREATE TABLE TRAFODION.T040SCH.T040NOLIMITEDCOLS
(
A INT NO DEFAULT NOT NULL NOT DROPPABLE
, B CHAR(1000) CHARACTER SET ISO88591 COLLATE
DEFAULT DEFAULT NULL
, C VARCHAR(1001) CHARACTER SET ISO88591
COLLATE DEFAULT DEFAULT NULL
, D CHAR(1002 CHARS) CHARACTER SET UTF8
COLLATE DEFAULT DEFAULT NULL
, E VARCHAR(1003 CHARS) CHARACTER SET UTF8
COLLATE DEFAULT DEFAULT NULL
, F CHAR(1004) CHARACTER SET UCS2 COLLATE
DEFAULT DEFAULT NULL
, G VARCHAR(1005) CHARACTER SET UCS2 COLLATE
DEFAULT DEFAULT NULL
, PRIMARY KEY (A ASC)
)
ATTRIBUTES ALIGNED FORMAT
;
--- SQL operation complete.
>>
>>?section negative_tests
>>
>>-- negative tests
>>
>>-- non-key column, should fail
>>create table t040saltbad1 like t040salt salt using 5 partitions on (c);
*** ERROR[1195] Column C is not allowed as a salt column. Only primary key columns or STORE BY columns are allowed.
--- SQL operation failed with errors.
>>
>>-- non-existent column, should fail
>>create table t040saltbad2 like t040salt salt using 5 partitions on (d);
*** ERROR[1195] Column D is not allowed as a salt column. Only primary key columns or STORE BY columns are allowed.
--- SQL operation failed with errors.
>>
>>-- should fail with error 3154
>>create table t040saltbad3 like t040salt without salt salt using 4 partitions;
*** ERROR[3154] The WITHOUT SALT clause is not allowed with the SALT clause.
*** ERROR[8822] The statement was not prepared.
>>
>>-- should fail, duplicate clauses
>>create table t040saltbad4 like t040salt without salt without salt;
*** ERROR[3152] Duplicate WITHOUT SALT phrases were specified in LIKE clause in CREATE TABLE statement.
*** ERROR[8822] The statement was not prepared.
>>
>>-- and now an extravaganza of errors
>>create table t040saltbad5 like t040salt salt using 4 partitions without salt salt using 7 partitions;
*** ERROR[3154] The WITHOUT SALT clause is not allowed with the SALT clause.
*** ERROR[3183] Duplicate SALT clauses were specified.
*** ERROR[3154] The WITHOUT SALT clause is not allowed with the SALT clause.
*** ERROR[8822] The statement was not prepared.
>>
>>-- syntax error; clause not supported with LIKE
>>create table t040saltbad6 like t040salt store by (b);
*** ERROR[15001] A syntax error occurred at or before:
create table t040saltbad6 like t040salt store by (b);
^ (45 characters from start of SQL statement)
*** ERROR[8822] The statement was not prepared.
>>
>>log;