File: sequence_overflow.test

package info (click to toggle)
duckdb 1.5.1-3
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 299,196 kB
  • sloc: cpp: 865,414; ansic: 57,292; python: 18,871; sql: 12,663; lisp: 11,751; yacc: 7,412; lex: 1,682; sh: 747; makefile: 564
file content (119 lines) | stat: -rw-r--r-- 2,986 bytes parent folder | download | duplicates (4)
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# name: test/sql/catalog/sequence/sequence_overflow.test
# description: Issue #2678: overflow in sequences
# group: [sequence]

statement ok
create sequence seq1 INCREMENT BY 1 MINVALUE 9223372036854775800 MAXVALUE 9223372036854775807 CYCLE;

query I
SELECT nextval('seq1') from generate_series(0,20);
----
9223372036854775800
9223372036854775801
9223372036854775802
9223372036854775803
9223372036854775804
9223372036854775805
9223372036854775806
9223372036854775807
9223372036854775800
9223372036854775801
9223372036854775802
9223372036854775803
9223372036854775804
9223372036854775805
9223372036854775806
9223372036854775807
9223372036854775800
9223372036854775801
9223372036854775802
9223372036854775803
9223372036854775804

statement ok
create sequence seq2 INCREMENT BY -1 MINVALUE -9223372036854775808 MAXVALUE -9223372036854775800 CYCLE;

query I
SELECT nextval('seq2') from generate_series(0,20);
----
-9223372036854775800
-9223372036854775801
-9223372036854775802
-9223372036854775803
-9223372036854775804
-9223372036854775805
-9223372036854775806
-9223372036854775807
-9223372036854775808
-9223372036854775800
-9223372036854775801
-9223372036854775802
-9223372036854775803
-9223372036854775804
-9223372036854775805
-9223372036854775806
-9223372036854775807
-9223372036854775808
-9223372036854775800
-9223372036854775801
-9223372036854775802

statement ok
create sequence seq3 INCREMENT BY 1 MINVALUE 9223372036854775800 MAXVALUE 9223372036854775807;

statement error
SELECT nextval('seq3') from generate_series(0,20);
----
<REGEX>:.*Sequence Error.*reached maximum value of sequence.*

statement ok
create sequence seq4 INCREMENT BY -1 MINVALUE -9223372036854775808 MAXVALUE -9223372036854775800;

statement error
SELECT nextval('seq4') from generate_series(0,20);
----
<REGEX>:.*Sequence Error.*reached minimum value of sequence.*

statement ok
create sequence seq5 INCREMENT BY 9223372036854775807 MINVALUE 9223372036854775800 MAXVALUE 9223372036854775807 CYCLE;

query I
SELECT nextval('seq5') from generate_series(0,20);
----
9223372036854775800
9223372036854775800
9223372036854775800
9223372036854775800
9223372036854775800
9223372036854775800
9223372036854775800
9223372036854775800
9223372036854775800
9223372036854775800
9223372036854775800
9223372036854775800
9223372036854775800
9223372036854775800
9223372036854775800
9223372036854775800
9223372036854775800
9223372036854775800
9223372036854775800
9223372036854775800
9223372036854775800

statement ok
create sequence seq6 INCREMENT BY 9223372036854775807 MINVALUE 9223372036854775800 MAXVALUE 9223372036854775807;

statement error
SELECT nextval('seq6') from generate_series(0,20);
----
<REGEX>:.*Sequence Error.*reached maximum value of sequence.*

statement ok
create sequence seq7 INCREMENT BY -9223372036854775808 MINVALUE -9223372036854775808 MAXVALUE -9223372036854775800;

statement error
SELECT nextval('seq7') from generate_series(0,20);
----
<REGEX>:.*Sequence Error.*reached minimum value of sequence.*