forked from MaterializeInc/materialize
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathselect_index_span_ranges.slt
85 lines (73 loc) · 2 KB
/
select_index_span_ranges.slt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# 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_span_ranges
#
# 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.
mode cockroach
# This test verifies that we correctly perform an index join when the KV
# batches span ranges. This is testing that SQL disables batch limits for index
# join; otherwise it can get out of order results from KV that it can't handle.
kv-batch-size 10
statement ok
CREATE TABLE t (
a INT PRIMARY KEY,
b INT,
c INT,
d INT,
FAMILY (a),
FAMILY (b),
FAMILY (c),
FAMILY (d),
INDEX c (c)
)
statement ok
INSERT INTO t VALUES
(1, 0, 99, 0),
(2, 0, 80, 0),
(3, 0, 90, 0),
(4, 0, 10, 0),
(5, 0, 20, 0),
(6, 0, 85, 0),
(7, 0, 91, 0),
(8, 0, 12, 0),
(9, 0, 91, 0),
(10, 0, 11, 0),
(11, 0, 12, 0),
(12, 0, 88, 0),
(13, 0, 13, 0)
# Split the table across multiple ranges.
statement ok
ALTER TABLE t SPLIT AT VALUES (2)
statement ok
ALTER TABLE t SPLIT AT VALUES (3)
statement ok
ALTER TABLE t SPLIT AT VALUES (5)
statement ok
ALTER TABLE t SPLIT AT VALUES (8)
statement ok
ALTER INDEX t@c SPLIT AT VALUES (90)
statement ok
ALTER INDEX c SPLIT AT VALUES (10)
query IIII partialsort(3)
SELECT * FROM t@c WHERE (c >= 80) ORDER BY c
----
2 0 80 0
6 0 85 0
12 0 88 0
3 0 90 0
7 0 91 0
9 0 91 0
1 0 99 0