blob: f8e8dcf1f0453a81e24031aaf5f7a9f6c2f64fe4 [file] [log] [blame]
-- @@@ START COPYRIGHT @@@
--
-- Licensed to the Apache Software Foundation (ASF) under one
-- or more contributor license agreements. See the NOTICE file
-- distributed with this work for additional information
-- regarding copyright ownership. The ASF licenses this file
-- to you under the Apache License, Version 2.0 (the
-- "License"); you may not use this file except in compliance
-- with the License. You may obtain a copy of the License at
--
-- http://www.apache.org/licenses/LICENSE-2.0
--
-- Unless required by applicable law or agreed to in writing,
-- software distributed under the License is distributed on an
-- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-- KIND, either express or implied. See the License for the
-- specific language governing permissions and limitations
-- under the License.
--
-- @@@ END COPYRIGHT @@@
--
-- test for CREATE TABLE LIKE
--
log LOG040 clear;
?section set_up
-- set-up
drop schema if exists t040sch cascade;
create schema t040sch;
set schema t040sch;
create table t040salt(a int not null, b int not null, c int, primary key (a,b))
salt using 4 partitions;
showddl t040salt;
create table t040nosalt(a int not null, b int not null, c int, primary key (a,b));
showddl t040nosalt;
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));
showddl t040bigcols;
?section positive_tests
-- positive tests
create table t040salt1 like t040salt without salt;
showddl t040salt1;
create table t040salt5 like t040salt salt using 5 partitions;
showddl t040salt5;
create table t040salt6 like t040salt salt using 6 partitions on (a);
showddl t040salt6;
create table t040salt7 like t040salt salt using 7 partitions on (b);
showddl t040salt7;
create table t040salt8 like t040salt salt using 8 partitions on (a,b);
showddl t040salt8;
create table t040nosalt1 like t040nosalt without salt;
showddl t040nosalt1;
create table t040nosalt4 like t040nosalt salt using 4 partitions;
showddl t040nosalt4;
create table t040saltsame like t040salt;
showddl t040saltsame;
create table t040nosaltsame like t040nosalt;
showddl t040nosaltsame;
create table t040limitedcols like t040bigcols
limit column length to 256;
showddl t040limitedcols;
create table t040somelimitedcols like t040bigcols
limit column length to 1002;
showddl t040somelimitedcols;
create table t040fewerlimitedcols like t040bigcols
limit column length to 2010;
showddl t040fewerlimitedcols;
create table t040nolimitedcols like t040bigcols
limit column length to 4012;
showddl t040nolimitedcols;
?section negative_tests
-- negative tests
-- non-key column, should fail
create table t040saltbad1 like t040salt salt using 5 partitions on (c);
-- non-existent column, should fail
create table t040saltbad2 like t040salt salt using 5 partitions on (d);
-- should fail with error 3154
create table t040saltbad3 like t040salt without salt salt using 4 partitions;
-- should fail, duplicate clauses
create table t040saltbad4 like t040salt without salt without salt;
-- and now an extravaganza of errors
create table t040saltbad5 like t040salt salt using 4 partitions without salt salt using 7 partitions;
-- syntax error; clause not supported with LIKE
create table t040saltbad6 like t040salt store by (b);
log;
?section clean_up
-- clean up
drop schema if exists t040sch cascade;