| # 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] |