Use ExprStates for hashing in GROUP BY and SubPlans
[pgsql.git] / contrib / pgrowlocks / expected / pgrowlocks.out
blob77431bfe1897eb550876feabd4f56a25c3600f9f
1 Parsed test spec with 2 sessions
3 starting permutation: s1_begin s1_tuplock1 s2_rowlocks s1_commit
4 step s1_begin: BEGIN;
5 step s1_tuplock1: SELECT * FROM multixact_conflict FOR KEY SHARE;
6 a|b
7 -+-
8 1|2
9 3|4
10 (2 rows)
12 step s2_rowlocks: SELECT locked_row, multi, modes FROM pgrowlocks('multixact_conflict');
13 locked_row|multi|modes            
14 ----------+-----+-----------------
15 (0,1)     |f    |{"For Key Share"}
16 (0,2)     |f    |{"For Key Share"}
17 (2 rows)
19 step s1_commit: COMMIT;
21 starting permutation: s1_begin s1_tuplock2 s2_rowlocks s1_commit
22 step s1_begin: BEGIN;
23 step s1_tuplock2: SELECT * FROM multixact_conflict FOR SHARE;
24 a|b
25 -+-
26 1|2
27 3|4
28 (2 rows)
30 step s2_rowlocks: SELECT locked_row, multi, modes FROM pgrowlocks('multixact_conflict');
31 locked_row|multi|modes        
32 ----------+-----+-------------
33 (0,1)     |f    |{"For Share"}
34 (0,2)     |f    |{"For Share"}
35 (2 rows)
37 step s1_commit: COMMIT;
39 starting permutation: s1_begin s1_tuplock3 s2_rowlocks s1_commit
40 step s1_begin: BEGIN;
41 step s1_tuplock3: SELECT * FROM multixact_conflict FOR NO KEY UPDATE;
42 a|b
43 -+-
44 1|2
45 3|4
46 (2 rows)
48 step s2_rowlocks: SELECT locked_row, multi, modes FROM pgrowlocks('multixact_conflict');
49 locked_row|multi|modes                
50 ----------+-----+---------------------
51 (0,1)     |f    |{"For No Key Update"}
52 (0,2)     |f    |{"For No Key Update"}
53 (2 rows)
55 step s1_commit: COMMIT;
57 starting permutation: s1_begin s1_tuplock4 s2_rowlocks s1_commit
58 step s1_begin: BEGIN;
59 step s1_tuplock4: SELECT * FROM multixact_conflict FOR UPDATE;
60 a|b
61 -+-
62 1|2
63 3|4
64 (2 rows)
66 step s2_rowlocks: SELECT locked_row, multi, modes FROM pgrowlocks('multixact_conflict');
67 locked_row|multi|modes         
68 ----------+-----+--------------
69 (0,1)     |f    |{"For Update"}
70 (0,2)     |f    |{"For Update"}
71 (2 rows)
73 step s1_commit: COMMIT;
75 starting permutation: s1_begin s1_updatea s2_rowlocks s1_commit
76 step s1_begin: BEGIN;
77 step s1_updatea: UPDATE multixact_conflict SET a = 10 WHERE a = 1;
78 step s2_rowlocks: SELECT locked_row, multi, modes FROM pgrowlocks('multixact_conflict');
79 locked_row|multi|modes   
80 ----------+-----+--------
81 (0,1)     |f    |{Update}
82 (1 row)
84 step s1_commit: COMMIT;
86 starting permutation: s1_begin s1_updateb s2_rowlocks s1_commit
87 step s1_begin: BEGIN;
88 step s1_updateb: UPDATE multixact_conflict SET b = 11 WHERE b = 4;
89 step s2_rowlocks: SELECT locked_row, multi, modes FROM pgrowlocks('multixact_conflict');
90 locked_row|multi|modes            
91 ----------+-----+-----------------
92 (0,2)     |f    |{"No Key Update"}
93 (1 row)
95 step s1_commit: COMMIT;
97 starting permutation: s1_begin s1_lcksvpt s1_tuplock1 s2_rowlocks s1_commit
98 step s1_begin: BEGIN;
99 step s1_lcksvpt: SELECT * FROM multixact_conflict FOR KEY SHARE; SAVEPOINT s;
104 (2 rows)
106 step s1_tuplock1: SELECT * FROM multixact_conflict FOR KEY SHARE;
111 (2 rows)
113 step s2_rowlocks: SELECT locked_row, multi, modes FROM pgrowlocks('multixact_conflict');
114 locked_row|multi|modes            
115 ----------+-----+-----------------
116 (0,1)     |f    |{"For Key Share"}
117 (0,2)     |f    |{"For Key Share"}
118 (2 rows)
120 step s1_commit: COMMIT;
122 starting permutation: s1_begin s1_lcksvpt s1_tuplock2 s2_rowlocks s1_commit
123 step s1_begin: BEGIN;
124 step s1_lcksvpt: SELECT * FROM multixact_conflict FOR KEY SHARE; SAVEPOINT s;
129 (2 rows)
131 step s1_tuplock2: SELECT * FROM multixact_conflict FOR SHARE;
136 (2 rows)
138 step s2_rowlocks: SELECT locked_row, multi, modes FROM pgrowlocks('multixact_conflict');
139 locked_row|multi|modes                        
140 ----------+-----+-----------------------------
141 (0,1)     |t    |{"For Key Share","For Share"}
142 (0,2)     |t    |{"For Key Share","For Share"}
143 (2 rows)
145 step s1_commit: COMMIT;
147 starting permutation: s1_begin s1_lcksvpt s1_tuplock3 s2_rowlocks s1_commit
148 step s1_begin: BEGIN;
149 step s1_lcksvpt: SELECT * FROM multixact_conflict FOR KEY SHARE; SAVEPOINT s;
154 (2 rows)
156 step s1_tuplock3: SELECT * FROM multixact_conflict FOR NO KEY UPDATE;
161 (2 rows)
163 step s2_rowlocks: SELECT locked_row, multi, modes FROM pgrowlocks('multixact_conflict');
164 locked_row|multi|modes                                
165 ----------+-----+-------------------------------------
166 (0,1)     |t    |{"For Key Share","For No Key Update"}
167 (0,2)     |t    |{"For Key Share","For No Key Update"}
168 (2 rows)
170 step s1_commit: COMMIT;
172 starting permutation: s1_begin s1_lcksvpt s1_tuplock4 s2_rowlocks s1_commit
173 step s1_begin: BEGIN;
174 step s1_lcksvpt: SELECT * FROM multixact_conflict FOR KEY SHARE; SAVEPOINT s;
179 (2 rows)
181 step s1_tuplock4: SELECT * FROM multixact_conflict FOR UPDATE;
186 (2 rows)
188 step s2_rowlocks: SELECT locked_row, multi, modes FROM pgrowlocks('multixact_conflict');
189 locked_row|multi|modes                         
190 ----------+-----+------------------------------
191 (0,1)     |t    |{"For Key Share","For Update"}
192 (0,2)     |t    |{"For Key Share","For Update"}
193 (2 rows)
195 step s1_commit: COMMIT;
197 starting permutation: s1_begin s1_lcksvpt s1_updatea s2_rowlocks s1_commit
198 step s1_begin: BEGIN;
199 step s1_lcksvpt: SELECT * FROM multixact_conflict FOR KEY SHARE; SAVEPOINT s;
204 (2 rows)
206 step s1_updatea: UPDATE multixact_conflict SET a = 10 WHERE a = 1;
207 step s2_rowlocks: SELECT locked_row, multi, modes FROM pgrowlocks('multixact_conflict');
208 locked_row|multi|modes                   
209 ----------+-----+------------------------
210 (0,1)     |t    |{"For Key Share",Update}
211 (0,2)     |f    |{"For Key Share"}       
212 (2 rows)
214 step s1_commit: COMMIT;
216 starting permutation: s1_begin s1_lcksvpt s1_updateb s2_rowlocks s1_commit
217 step s1_begin: BEGIN;
218 step s1_lcksvpt: SELECT * FROM multixact_conflict FOR KEY SHARE; SAVEPOINT s;
223 (2 rows)
225 step s1_updateb: UPDATE multixact_conflict SET b = 11 WHERE b = 4;
226 step s2_rowlocks: SELECT locked_row, multi, modes FROM pgrowlocks('multixact_conflict');
227 locked_row|multi|modes                            
228 ----------+-----+---------------------------------
229 (0,1)     |f    |{"For Key Share"}                
230 (0,2)     |t    |{"For Key Share","No Key Update"}
231 (2 rows)
233 step s1_commit: COMMIT;