Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitd82826d

Browse files
committed
fix test
1 parent8626387 commitd82826d

File tree

1 file changed

+31
-51
lines changed

1 file changed

+31
-51
lines changed

‎contrib/pg_tsdtm/t/001_distributed_transactions.pl‎

Lines changed: 31 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -73,14 +73,15 @@ sub PostgresNode::psql_fails {
7373
$node2->psql('postgres',"create table t(u int primary key, v int)");
7474
$node2->psql('postgres',"insert into t (select generate_series(0, 9), 0)");
7575

76-
my$conn1 = DBI->connect('DBI:Pg:' .$node1->connstr('postgres'));
77-
my$conn2 = DBI->connect('DBI:Pg:' .$node2->connstr('postgres'));
76+
# we need two connections to each node (run two simultameous global tx)
77+
my$conn11 = DBI->connect('DBI:Pg:' .$node1->connstr('postgres'));
78+
my$conn21 = DBI->connect('DBI:Pg:' .$node2->connstr('postgres'));
79+
my$conn12 = DBI->connect('DBI:Pg:' .$node1->connstr('postgres'));
80+
my$conn22 = DBI->connect('DBI:Pg:' .$node2->connstr('postgres'));
7881

7982
subcount_total
8083
{
81-
# my ($c1, $c2) = @_;
82-
my$c1 = DBI->connect('DBI:Pg:' .$node1->connstr('postgres'));
83-
my$c2 = DBI->connect('DBI:Pg:' .$node2->connstr('postgres'));
84+
my ($c1,$c2) =@_;
8485

8586
query_exec($c1,"begin");
8687
query_exec($c2,"begin");
@@ -101,54 +102,33 @@ sub count_total
101102
}
102103

103104
###############################################################################
104-
#Check for dirty reads
105+
#Sanity check on dirty reads
105106
###############################################################################
106107

107-
my$gtid ="tx1";
108-
109-
query_exec($conn1,"begin transaction");
110-
query_exec($conn2,"begin transaction");
111-
my$snapshot = query_row($conn1,"select dtm_extend('$gtid')");
112-
query_exec($conn2,"select dtm_access($snapshot, '$gtid')");
113-
query_exec($conn1,"update t set v = v - 10 where u=1");
114-
115-
my$intermediate_total = count_total();
116-
117-
query_exec($conn2,"update t set v = v + 10 where u=2");
118-
query_exec($conn1,"prepare transaction '$gtid'");
119-
query_exec($conn2,"prepare transaction '$gtid'");
120-
query_exec($conn1,"select dtm_begin_prepare('$gtid')");
121-
query_exec($conn2,"select dtm_begin_prepare('$gtid')");
122-
my$csn = query_row($conn1,"select dtm_prepare('$gtid', 0)");
123-
query_exec($conn2,"select dtm_prepare('$gtid',$csn)");
124-
query_exec($conn1,"select dtm_end_prepare('$gtid',$csn)");
125-
query_exec($conn2,"select dtm_end_prepare('$gtid',$csn)");
126-
query_exec($conn1,"commit prepared '$gtid'");
127-
query_exec($conn2,"commit prepared '$gtid'");
108+
my$gtid1 ="gtx1";
109+
110+
# start global tx
111+
query_exec($conn11,"begin transaction");
112+
query_exec($conn21,"begin transaction");
113+
my$snapshot = query_row($conn11,"select dtm_extend('$gtid1')");
114+
query_exec($conn21,"select dtm_access($snapshot, '$gtid1')");
115+
116+
# transfer some amount of integers to different node
117+
query_exec($conn11,"update t set v = v - 10 where u=1");
118+
my$intermediate_total = count_total($conn12,$conn22);
119+
query_exec($conn21,"update t set v = v + 10 where u=2");
120+
121+
# commit our global tx
122+
query_exec($conn11,"prepare transaction '$gtid1'");
123+
query_exec($conn21,"prepare transaction '$gtid1'");
124+
query_exec($conn11,"select dtm_begin_prepare('$gtid1')");
125+
query_exec($conn21,"select dtm_begin_prepare('$gtid1')");
126+
my$csn = query_row($conn11,"select dtm_prepare('$gtid1', 0)");
127+
query_exec($conn21,"select dtm_prepare('$gtid1',$csn)");
128+
query_exec($conn11,"select dtm_end_prepare('$gtid1',$csn)");
129+
query_exec($conn21,"select dtm_end_prepare('$gtid1',$csn)");
130+
query_exec($conn11,"commit prepared '$gtid1'");
131+
query_exec($conn21,"commit prepared '$gtid1'");
128132

129133
is($intermediate_total, 0,"Check for absence of dirty reads");
130134

131-
132-
133-
134-
135-
136-
137-
138-
139-
140-
141-
142-
143-
144-
145-
146-
147-
148-
149-
150-
151-
152-
153-
154-

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp