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
|
# name: test/sql/transactions/test_multi_version.test
# description: Test multiple versions of the same data
# group: [transactions]
statement ok
PRAGMA enable_verification
# initialize the database
statement ok con1
CREATE TABLE integers(i INTEGER);
statement ok con1
INSERT INTO integers VALUES (1), (2), (3);
# we can query the database using both connections
query R con1
SELECT SUM(i) FROM integers
----
6.000000
query R con2
SELECT SUM(i) FROM integers
----
6.000000
# now update the database in connection 1
statement ok con1
BEGIN TRANSACTION;
statement ok con1
UPDATE integers SET i=5 WHERE i=1;
query R con1
SELECT SUM(i) FROM integers
----
10.000000
# con 2 still has the same result
query R con2
SELECT SUM(i) FROM integers
----
6.000000
# we can update the same data point again in con 1
statement ok con1
UPDATE integers SET i=10 WHERE i=5;
query R con1
SELECT SUM(i) FROM integers
----
15.000000
# con 2 still has the same result
query R con2
SELECT SUM(i) FROM integers
----
6.000000
# now delete it
statement ok con1
DELETE FROM integers WHERE i>5;
query R con1
SELECT SUM(i) FROM integers
----
5.000000
# con 2 still has the same result
query R con2
SELECT SUM(i) FROM integers
----
6.000000
# insert some new data again
statement ok con1
INSERT INTO integers VALUES (1), (2)
query R con1
SELECT SUM(i) FROM integers
----
8.000000
# con 2 still has the same result
query R con2
SELECT SUM(i) FROM integers
----
6.000000
# now commit
statement ok con1
COMMIT
# con 2 now has the updated results
query R con2
SELECT SUM(i) FROM integers
----
8.000000
|