File: test_interleaved_versions.test

package info (click to toggle)
duckdb 1.5.1-2
  • 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: 558
file content (141 lines) | stat: -rw-r--r-- 1,709 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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
# name: test/sql/transactions/test_interleaved_versions.test
# description: Test interleaved versions of tuples
# group: [transactions]

statement ok
PRAGMA enable_verification

statement ok
CREATE TABLE integers(i INTEGER)

statement ok con1
BEGIN TRANSACTION

statement ok con1
INSERT INTO integers VALUES (1)

statement ok con2
BEGIN TRANSACTION

statement ok con2
INSERT INTO integers VALUES (2)

# transaction local only
query I con1
SELECT SUM(i) FROM integers
----
1

query I con2
SELECT SUM(i) FROM integers
----
2

query I con3
SELECT SUM(i) FROM integers
----
NULL

# commit con1 only
statement ok con1
COMMIT

query I con1
SELECT SUM(i) FROM integers
----
1

query I con2
SELECT SUM(i) FROM integers
----
2

query I con3
SELECT SUM(i) FROM integers
----
1

# commit con2 as well
statement ok con2
COMMIT

query I con1
SELECT SUM(i) FROM integers
----
3

query I con2
SELECT SUM(i) FROM integers
----
3

query I con3
SELECT SUM(i) FROM integers
----
3

# now delete a tuple in both con1 and con2
statement ok con1
BEGIN TRANSACTION

statement ok con2
BEGIN TRANSACTION

statement ok con1
DELETE FROM integers WHERE i=1

statement ok con2
DELETE FROM integers WHERE i=2

query I con1
SELECT SUM(i) FROM integers
----
2

query I con2
SELECT SUM(i) FROM integers
----
1

query I con3
SELECT SUM(i) FROM integers
----
3

# commit con1
statement ok con1
COMMIT

query I con1
SELECT SUM(i) FROM integers
----
2

query I con2
SELECT SUM(i) FROM integers
----
1

query I con3
SELECT SUM(i) FROM integers
----
2

# commit con2
statement ok con2
COMMIT

query I con1
SELECT SUM(i) FROM integers
----
NULL

query I con2
SELECT SUM(i) FROM integers
----
NULL

query I con3
SELECT SUM(i) FROM integers
----
NULL