| # 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 foo3 (col1 INT, col2 INT); |
| CREATE INDEX idx1 ON foo3(col1) USING CSBTREE; |
| SELECT * FROM foo3; |
| -- |
| +-----------+-----------+ |
| |col1 |col2 | |
| +-----------+-----------+ |
| +-----------+-----------+ |
| == |
| CREATE INDEX idx2 ON foo3(col1) USING CSBTREE; |
| -- |
| ERROR: The relation foo3 already defines this index on the given attribute(s). |
| == |
| CREATE INDEX idx2 ON foo3(col2) USING CSBTREE; |
| SELECT * FROM foo3; |
| -- |
| +-----------+-----------+ |
| |col1 |col2 | |
| +-----------+-----------+ |
| +-----------+-----------+ |
| == |
| # Compound index creation should succeed, even when |
| # separate indices are defined on individual attributes. |
| CREATE INDEX idx3 ON foo3(col1, col2) USING CSBTREE; |
| SELECT * FROM foo3; |
| -- |
| +-----------+-----------+ |
| |col1 |col2 | |
| +-----------+-----------+ |
| +-----------+-----------+ |
| == |
| # Bloom filter index is not currently implemented. |
| CREATE INDEX idx4 ON foo3(col1, col2) USING BLOOMFILTER; |
| SELECT * FROM foo3; |
| -- |
| +-----------+-----------+ |
| |col1 |col2 | |
| +-----------+-----------+ |
| +-----------+-----------+ |
| == |
| # Specifying no columns will index all the columns. |
| # Calling INSERT will force creation of the block. |
| CREATE TABLE smaTable1 (int_attr int, str_attr VARCHAR(20)); |
| CREATE INDEX smaIndex ON smaTable1 USING SMA; |
| INSERT INTO smaTable1 VALUES (1, 'val1'); |
| SELECT COUNT(*) FROM smaTable1; |
| -- |
| +--------------------+ |
| |COUNT(*) | |
| +--------------------+ |
| | 1| |
| +--------------------+ |
| == |
| # SMA can also specify an index on selected columns. |
| # Calling INSERT will force creation of the block. |
| CREATE TABLE smaTable2 (int_attr int, str_attr VARCHAR(20)); |
| CREATE INDEX smaIndex2 ON smaTable2(int_attr) USING SMA; |
| INSERT INTO smaTable2 VALUES (1, 'val1'); |
| SELECT COUNT(*) FROM smaTable2; |
| -- |
| +--------------------+ |
| |COUNT(*) | |
| +--------------------+ |
| | 1| |
| +--------------------+ |