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
|
# name: test/sql/parallelism/interquery/concurrent_append_transactions.test_slow
# description: Test concurrent appends and transaction isolation
# group: [interquery]
statement ok
CREATE TABLE integers(i INTEGER)
concurrentloop threadid 0 10
statement ok
BEGIN TRANSACTION
statement ok
CREATE TEMPORARY TABLE count_table_${threadid} AS SELECT * FROM integers
loop i 0 100
statement ok
INSERT INTO integers VALUES (${threadid} * 10000 + ${i})
# verify that we inserted exactly one element in this transaction
query I
SELECT * FROM integers EXCEPT (SELECT * FROM count_table_${threadid} UNION SELECT ${threadid} * 10000 + ${i})
----
statement ok
CREATE OR REPLACE TEMPORARY TABLE count_table_${threadid} AS (SELECT * FROM count_table_${threadid} UNION SELECT ${threadid} * 10000 + ${i})
endloop
statement ok
COMMIT
endloop
query II
SELECT COUNT(*), SUM(i) FROM integers
----
1000 45049500
|