| # 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. |
| |
| # Name of index is required |
| CREATE INDEX ON test |
| -- |
| ERROR: syntax error (1 : 14) |
| CREATE INDEX ON test |
| ^ |
| == |
| |
| # Empty-column list is not allowed |
| CREATE INDEX test ON test () |
| -- |
| ERROR: syntax error (1 : 28) |
| CREATE INDEX test ON test () |
| ^ |
| == |
| |
| # Type of index is required |
| CREATE INDEX test ON test |
| -- |
| ERROR: syntax error (1 : 26) |
| CREATE INDEX test ON test |
| ^ |
| == |
| |
| # Currently supported indices are csbtree, bloomfilter, and sma. |
| # Unsupported indices should result in syntax error. |
| CREATE INDEX test ON test USING arbitrary |
| -- |
| ERROR: syntax error (1 : 33) |
| CREATE INDEX test ON test USING arbitrary |
| ^ |
| == |
| CREATE INDEX smaIndex ON test USING SMA |
| -- |
| CreateIndexStatement[index_name=smaIndex,relation_name=test,index_type=sma] |
| == |
| CREATE INDEX bloomIndex ON test USING BLOOMFILTER |
| -- |
| CreateIndexStatement[index_name=bloomIndex,relation_name=test, |
| index_type=bloom_filter] |
| == |
| CREATE INDEX csbIndex ON test USING CSBTREE |
| -- |
| CreateIndexStatement[index_name=csbIndex,relation_name=test,index_type=cs_b_tree] |
| == |
| # Bitweaving is supported on builds where it was included as a submodule. The |
| # parser should create code to change the catalog, but on Block creation, no |
| # index will be created. |
| CREATE INDEX bwIndex ON test(int_col) USING bitweaving; |
| -- |
| CreateIndexStatement[index_name=bwIndex,relation_name=test,index_type=bitweaving] |
| +-attribute_list= |
| +-AttributeReference[attribute_name=int_col] |
| == |
| CREATE INDEX bwhIndex ON test(int_col) USING bitweaving (TYPE H); |
| -- |
| CreateIndexStatement[index_name=bwhIndex,relation_name=test, |
| index_type=bitweaving] |
| +-attribute_list= |
| | +-AttributeReference[attribute_name=int_col] |
| +-index_property_list= |
| +-IndexProperties |
| +-index_property=KeyStringValue[key=TYPE] |
| +-value=String[value=H] |