forked from MaterializeInc/materialize
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcursor.slt
93 lines (72 loc) · 1.46 KB
/
cursor.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
86
87
88
89
90
91
92
93
# 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.
mode cockroach
statement ok
BEGIN
statement ok
DECLARE c CURSOR FOR VALUES (1), (2), (3)
query I
FETCH c
----
1
query I
FETCH 2 c
----
2
3
query I
FETCH c
----
query I
FETCH c
----
statement ok
COMMIT
statement ok
CREATE VIEW v AS VALUES ('a', 'b'), ('c', 'd'), ('e', 'f'), ('g', 'h')
----
query IITT
SUBSCRIBE v
----
18446744073709551615 1 a b
18446744073709551615 1 c d
18446744073709551615 1 e f
18446744073709551615 1 g h
statement ok
BEGIN
statement ok
DECLARE c CURSOR FOR SUBSCRIBE v
query IITT
FETCH c
----
18446744073709551615 1 a b
query IITT
FETCH 2 c WITH (TIMEOUT = '10s')
----
18446744073709551615 1 c d
18446744073709551615 1 e f
query IITT
FETCH 2 c WITH (TIMEOUT = '1s')
----
18446744073709551615 1 g h
query IITT
FETCH c WITH (TIMEOUT = '1s')
----
# Test some FETCH timeout errors. The actual timeout functionality is
# tested elsewhere.
statement error timeout out of range
FETCH c WITH (TIMEOUT = '-1s')
statement ok
ROLLBACK
statement ok
BEGIN
statement ok
DECLARE c CURSOR FOR SUBSCRIBE v
statement error timeout out of range
FETCH c WITH (TIMEOUT = '25h')