File: commit_abort.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 (100 lines) | stat: -rw-r--r-- 1,705 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
# name: test/sql/storage/commit_abort.test
# description: Test abort of commit with persistent storage
# group: [storage]

# load the DB from disk
load __TEST_DIR__/commit_abort.db

statement ok
PRAGMA enable_verification

statement ok
CREATE TABLE test (a INTEGER PRIMARY KEY, b INTEGER, c VARCHAR);

statement ok
INSERT INTO test VALUES (11, 22, 'hello'), (13, 22, 'world'), (12, 21, 'test'), (10, NULL, NULL);

# start a transaction for con and con2
statement ok con1
BEGIN TRANSACTION

statement ok con2
BEGIN TRANSACTION

# insert the value 14 in both transactions
statement ok con1
INSERT INTO test VALUES (14, 10, 'con')

statement ok con2
INSERT INTO test VALUES (15, 10, 'con2')

statement ok con2
INSERT INTO test VALUES (14, 10, 'con2')

# commit both
# con2 will fail

statement ok con1
COMMIT

statement error con2
COMMIT
----

statement ok con1
INSERT INTO test VALUES (15, NULL, NULL)

query IIIIII
SELECT COUNT(*), COUNT(a), COUNT(b), SUM(a), SUM(b), SUM(LENGTH(c)) FROM test
----
6	6	4	75	75	17

query III
SELECT * FROM test ORDER BY a, b, c
----
10	NULL	NULL
11	22	hello
12	21	test
13	22	world
14	10	con
15	NULL	NULL

restart

statement ok
PRAGMA enable_verification

query III
SELECT * FROM test ORDER BY a, b, c
----
10	NULL	NULL
11	22	hello
12	21	test
13	22	world
14	10	con
15	NULL	NULL

query IIIIII
SELECT COUNT(*), COUNT(a), COUNT(b), SUM(a), SUM(b), SUM(LENGTH(c)) FROM test
----
6	6	4	75	75	17

restart

statement ok
PRAGMA enable_verification

query IIIIII
SELECT COUNT(*), COUNT(a), COUNT(b), SUM(a), SUM(b), SUM(LENGTH(c)) FROM test
----
6	6	4	75	75	17

query III
SELECT * FROM test ORDER BY a, b, c
----
10	NULL	NULL
11	22	hello
12	21	test
13	22	world
14	10	con
15	NULL	NULL