123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- # Copyright 2015 - 2019 The Cockroach Authors. All rights reserved.
- # Copyright Materialize, Inc. and contributors. All rights reserved.
- #
- # Use of this software is governed by the Business Source License
- # included in the LICENSE file at the root of this repository.
- #
- # As of the Change Date specified in that file, in accordance with
- # the Business Source License, use of this software will be governed
- # by the Apache License, Version 2.0.
- #
- # This file is derived from the logic test suite in CockroachDB. The
- # original file was retrieved on June 10, 2019 from:
- #
- # https://github.com/cockroachdb/cockroach/blob/d2f7fbf5dd1fc1a099bbad790a2e1f7c60a66cc3/pkg/sql/logictest/testdata/logic_test/select_index_flags
- #
- # The original source code is subject to the terms of the Apache
- # 2.0 license, a copy of which can be found in the LICENSE file at the
- # root of this repository.
- # not supported yet
- halt
- mode cockroach
- statement ok
- CREATE TABLE abcd (
- a INT PRIMARY KEY,
- b INT,
- c INT,
- d INT,
- INDEX b (b),
- INDEX cd (c,d),
- UNIQUE INDEX bcd (b,c,d)
- )
- statement ok
- INSERT INTO abcd VALUES (10, 11, 12, 13), (20, 21, 22, 23), (30, 31, 32, 33), (40, 41, 42, 43)
- # No hint
- query IIII rowsort
- SELECT * FROM abcd WHERE a >= 20 AND a <= 30
- ----
- 20 21 22 23
- 30 31 32 33
- # Force primary
- query IIII rowsort
- SELECT * FROM abcd@primary WHERE a >= 20 AND a <= 30
- ----
- 20 21 22 23
- 30 31 32 33
- # Force primary, reverse scan.
- query IIII rowsort
- SELECT * FROM abcd@{FORCE_INDEX=primary,DESC} WHERE a >= 20 AND a <= 30
- ----
- 20 21 22 23
- 30 31 32 33
- # Force index b
- query IIII rowsort
- SELECT * FROM abcd@b WHERE a >= 20 AND a <= 30
- ----
- 20 21 22 23
- 30 31 32 33
- # Force index b, reverse scan.
- query IIII rowsort
- SELECT * FROM abcd@{FORCE_INDEX=b,DESC} WHERE a >= 20 AND a <= 30
- ----
- 20 21 22 23
- 30 31 32 33
- # Force index cd
- query IIII rowsort
- SELECT * FROM abcd@cd WHERE a >= 20 AND a <= 30
- ----
- 20 21 22 23
- 30 31 32 33
- # Force index bcd
- query IIII rowsort
- SELECT * FROM abcd@bcd WHERE a >= 20 AND a <= 30
- ----
- 20 21 22 23
- 30 31 32 33
- # Force index b (covering)
- query I rowsort
- SELECT b FROM abcd@b WHERE a >= 20 AND a <= 30
- ----
- 21
- 31
- # Force index b (non-covering due to WHERE clause)
- query I rowsort
- SELECT b FROM abcd@b WHERE c >= 20 AND c <= 30
- ----
- 21
- # No hint, should be using index cd
- query II rowsort
- SELECT c, d FROM abcd WHERE c >= 20 AND c < 40
- ----
- 22 23
- 32 33
- # Force primary index
- query II rowsort
- SELECT c, d FROM abcd@primary WHERE c >= 20 AND c < 40
- ----
- 22 23
- 32 33
- # Force index b
- query II rowsort
- SELECT c, d FROM abcd@b WHERE c >= 20 AND c < 40
- ----
- 22 23
- 32 33
- query error index \"badidx\" not found
- SELECT * FROM abcd@badidx
- query error index \"badidx\" not found
- SELECT * FROM abcd@{FORCE_INDEX=badidx}
|