blob: 3923c130e21b2e413b55163384ef112e5a6fecad [file] [log] [blame]
# 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.
CREATE TABLE TABLE (attr int)
--
ERROR: syntax error (1 : 14)
CREATE TABLE TABLE (attr int)
^
==
# We do not allow an empty-column table.
CREATE TABLE test ()
--
ERROR: syntax error (1 : 20)
CREATE TABLE test ()
^
==
CREATE TABLE test (attr1 INT, attr2 FLOAT, attr3 DOUBLE, attr4 CHAR(5), attr5 VARCHAR(4))
--
CreateTableStatement[relation_name=test]
+-attribute_list=
+-AttributeDefinition[name=attr1,type=Int]
+-AttributeDefinition[name=attr2,type=Float]
+-AttributeDefinition[name=attr3,type=Double]
+-AttributeDefinition[name=attr4,type=Char(5)]
+-AttributeDefinition[name=attr5,type=VarChar(4)]
==
CREATE TABLE test (attr CHAR(-1))
--
ERROR: syntax error (1 : 30)
CREATE TABLE test (attr CHAR(-1))
^
==
# Zero-length char type is not allowed.
CREATE TABLE test (attr CHAR(0))
--
ERROR: Length for CHAR type must be at least 1 (1 : 30)
CREATE TABLE test (attr CHAR(0))
^
==
CREATE TABLE test(attr CHAR(1+1))
--
ERROR: syntax error (1 : 30)
CREATE TABLE test(attr CHAR(1+1))
^
==
CREATE TABLE test (attr UNKNOWN_TYPE)
--
ERROR: syntax error (1 : 25)
CREATE TABLE test (attr UNKNOWN_TYPE)
^
==
CREATE TABLE test (attr INT NULL, attr FLOAT NOT NULL)
--
CreateTableStatement[relation_name=test]
+-attribute_list=
+-AttributeDefinition[name=attr,type=Int NULL]
+-AttributeDefinition[name=attr,type=Float]
==
CREATE TABLE test (attr INT UNIQUE)
--
ERROR: Column Constraints (UNIQUE) is not supported yet (1 : 29)
CREATE TABLE test (attr INT UNIQUE)
^
==
CREATE TABLE test (attr INT PRIMARY KEY)
--
ERROR: Column Constraints (PRIMARY KEY) is not supported yet (1 : 29)
CREATE TABLE test (attr INT PRIMARY KEY)
^
==
CREATE TABLE test (attr INT DEFAULT 4)
--
ERROR: Column Constraints (DEFAULT) is not supported yet (1 : 29)
CREATE TABLE test (attr INT DEFAULT 4)
^
==
CREATE TABLE test (attr INT CHECK(attr>5))
--
ERROR: Column Constraints (CHECK) is not supported yet (1 : 29)
CREATE TABLE test (attr INT CHECK(attr>5))
^
==
CREATE TABLE test (attr INT REFERENCES test2(attr2))
--
ERROR: Foreign Keys is not supported yet (1 : 29)
CREATE TABLE test (attr INT REFERENCES test2(attr2))
^
==
CREATE TABLE test (attr INT) UNIQUE(attr)
--
ERROR: Table Constraints (UNIQUE) is not supported yet (1 : 30)
CREATE TABLE test (attr INT) UNIQUE(attr)
^
==
CREATE TABLE test (attr INT) PRIMARY KEY(attr)
--
ERROR: Table Constraints (PRIMARY KEY) is not supported yet (1 : 30)
CREATE TABLE test (attr INT) PRIMARY KEY(attr)
^
==
CREATE TABLE test (attr INT) FOREIGN KEY(attr)
--
ERROR: syntax error (1 : 47)
... TABLE test (attr INT) FOREIGN KEY(attr)
^
==
CREATE TABLE test (attr INT) CHECK(attr>0)
--
ERROR: Table Constraints (CHECK) is not supported yet (1 : 30)
CREATE TABLE test (attr INT) CHECK(attr>0)
^
==
CREATE TABLE test (attr INT) PARTITION BY HASH(attr) PARTITIONS 4
--
CreateTableStatement[relation_name=test]
+-attribute_list=
| +-AttributeDefinition[name=attr,type=Int]
+-partition_clause=
+-PartitionClause[partition_type=hash]
+-Number of Partitions=NumericLiteral[numeric_string=4,float_like=false]
+-attribute_name_list=
+-String[value=attr]
==
# Empty partitioning attribute is not allowed
CREATE TABLE test (attr INT) PARTITION BY HASH() PARTITIONS 4
--
ERROR: syntax error (1 : 48)
...TABLE test (attr INT) PARTITION BY HASH() PARTITIONS 4
^
==
# Zero partitions not allowed
CREATE TABLE test (attr INT) PARTITION BY HASH(attr) PARTITIONS 0
--
ERROR: NUMBER OF PARITIONS must be between 1 and 64 (1 : 65)
...INT) PARTITION BY HASH(attr) PARTITIONS 0
^
==
# Missing number of partitions not allowed
CREATE TABLE test (attr INT) PARTITION BY HASH(attr) PARTITIONS
--
ERROR: syntax error (1 : 64)
... INT) PARTITION BY HASH(attr) PARTITIONS
^
==
# Missing PARTITIONS attribute not allowed
CREATE TABLE test (attr INT) PARTITION BY HASH(attr)
--
ERROR: syntax error (1 : 53)
... test (attr INT) PARTITION BY HASH(attr)
^
==
# Missing partitioning type not allowed
CREATE TABLE test (attr INT) PARTITION BY (attr) PARTITIONS 4
--
ERROR: syntax error (1 : 43)
CREATE TABLE test (attr INT) PARTITION BY (attr) PARTITIONS 4
^
==
# Number of partitions greater than 64 not allowed
CREATE TABLE test (attr INT) PARTITION BY HASH(attr) PARTITIONS 65
--
ERROR: NUMBER OF PARITIONS must be between 1 and 64 (1 : 65)
...INT) PARTITION BY HASH(attr) PARTITIONS 65
^
==
# Missing PARTITION BY clause not allowed
CREATE TABLE test (attr INT) PARTITIONS 4
--
ERROR: syntax error (1 : 30)
CREATE TABLE test (attr INT) PARTITIONS 4
^
==
# Duplicate partition attributes.
CREATE TABLE test (attr INT) PARTITION BY HASH(attr, attr) PARTITIONS 4
--
CreateTableStatement[relation_name=test]
+-attribute_list=
| +-AttributeDefinition[name=attr,type=Int]
+-partition_clause=
+-PartitionClause[partition_type=hash]
+-Number of Partitions=NumericLiteral[numeric_string=4,float_like=false]
+-attribute_name_list=
+-String[value=attr]
+-String[value=attr]
==
# Multiple partition attributes.
CREATE TABLE test (attr1 INT, attr2 LONG, attr3 FLOAT, attr4 DOUBLE, attr5 CHAR(5), attr6 VARCHAR(4))
PARTITION BY HASH(attr1, attr2, attr3, attr4, attr5, attr6) PARTITIONS 4
--
CreateTableStatement[relation_name=test]
+-attribute_list=
| +-AttributeDefinition[name=attr1,type=Int]
| +-AttributeDefinition[name=attr2,type=Long]
| +-AttributeDefinition[name=attr3,type=Float]
| +-AttributeDefinition[name=attr4,type=Double]
| +-AttributeDefinition[name=attr5,type=Char(5)]
| +-AttributeDefinition[name=attr6,type=VarChar(4)]
+-partition_clause=
+-PartitionClause[partition_type=hash]
+-Number of Partitions=NumericLiteral[numeric_string=4,float_like=false]
+-attribute_name_list=
+-String[value=attr1]
+-String[value=attr2]
+-String[value=attr3]
+-String[value=attr4]
+-String[value=attr5]
+-String[value=attr6]
==
CREATE TABLE test (attr INT) WITH BLOCKPROPERTIES
(TYPE rowstore)
--
CreateTableStatement[relation_name=test]
+-attribute_list=
| +-AttributeDefinition[name=attr,type=Int]
+-block_properties=
+-BlockProperties
+-block_property=KeyStringValue[key=TYPE]
+-value=String[value=rowstore]
==
CREATE TABLE test (attr INT, attr2 INT) WITH BLOCKPROPERTIES
(TYPE columnstore)
--
CreateTableStatement[relation_name=test]
+-attribute_list=
| +-AttributeDefinition[name=attr,type=Int]
| +-AttributeDefinition[name=attr2,type=Int]
+-block_properties=
+-BlockProperties
+-block_property=KeyStringValue[key=TYPE]
+-value=String[value=columnstore]
==
CREATE TABLE test (attr INT, attr2 INT) WITH BLOCKPROPERTIES
(TYPE columnstore, SORT attr)
--
CreateTableStatement[relation_name=test]
+-attribute_list=
| +-AttributeDefinition[name=attr,type=Int]
| +-AttributeDefinition[name=attr2,type=Int]
+-block_properties=
+-BlockProperties
+-block_property=KeyStringValue[key=TYPE]
| +-value=String[value=columnstore]
+-block_property=KeyStringValue[key=SORT]
+-value=String[value=attr]
==
CREATE TABLE test (attr INT, attr2 INT) WITH BLOCKPROPERTIES
(TYPE columnstore, SORT (attr, attr2))
--
CreateTableStatement[relation_name=test]
+-attribute_list=
| +-AttributeDefinition[name=attr,type=Int]
| +-AttributeDefinition[name=attr2,type=Int]
+-block_properties=
+-BlockProperties
+-block_property=KeyStringValue[key=TYPE]
| +-value=String[value=columnstore]
+-block_property=KeyStringList[key=SORT]
+-value_list=
+-String[value=attr]
+-String[value=attr2]
==
CREATE TABLE test (attr INT) WITH BLOCKPROPERTIES
(TYPE compressed_columnstore, SORT attr, COMPRESS ALL)
--
CreateTableStatement[relation_name=test]
+-attribute_list=
| +-AttributeDefinition[name=attr,type=Int]
+-block_properties=
+-BlockProperties
+-block_property=KeyStringValue[key=TYPE]
| +-value=String[value=compressed_columnstore]
+-block_property=KeyStringValue[key=SORT]
| +-value=String[value=attr]
+-block_property=KeyStringValue[key=COMPRESS]
+-value=String[value=ALL]
==
CREATE TABLE test (attr1 INT, attr2 INT) WITH BLOCKPROPERTIES
(TYPE compressed_columnstore, SORT attr1, COMPRESS (attr1, attr2))
--
CreateTableStatement[relation_name=test]
+-attribute_list=
| +-AttributeDefinition[name=attr1,type=Int]
| +-AttributeDefinition[name=attr2,type=Int]
+-block_properties=
+-BlockProperties
+-block_property=KeyStringValue[key=TYPE]
| +-value=String[value=compressed_columnstore]
+-block_property=KeyStringValue[key=SORT]
| +-value=String[value=attr1]
+-block_property=KeyStringList[key=COMPRESS]
+-value_list=
+-String[value=attr1]
+-String[value=attr2]
==
CREATE TABLE test (attr INT) WITH BLOCKPROPERTIES
(TYPE rowstore, BLOCKSIZEMB 10);
--
CreateTableStatement[relation_name=test]
+-attribute_list=
| +-AttributeDefinition[name=attr,type=Int]
+-block_properties=
+-BlockProperties
+-block_property=KeyStringValue[key=TYPE]
| +-value=String[value=rowstore]
+-block_property=KeyIntegerValue[key=BLOCKSIZEMB]
+-value=NumericLiteral[numeric_string=10,float_like=false]