- Notifications
You must be signed in to change notification settings - Fork28
Commitdf630b0
committed
Implement SKIP LOCKED for row-level locks
This clause changes the behavior of SELECT locking clauses in thepresence of locked rows: instead of causing a process to block waitingfor the locks held by other processes (or raise an error, with NOWAIT),SKIP LOCKED makes the new reader skip over such rows. While this is notappropriate behavior for general purposes, there are some cases in whichit is useful, such as queue-like tables.Catalog version bumped because this patch changes the representation ofstored rules.Reviewed by Craig Ringer (based on a previous attempt at animplementation by Simon Riggs, who also provided input on the syntaxused in the current patch), David Rowley, and Álvaro Herrera.Author: Thomas Munro1 parentc421efd commitdf630b0
File tree
38 files changed
+907
-121
lines changed- doc/src/sgml
- ref
- src
- backend
- access/heap
- commands
- executor
- nodes
- optimizer
- plan
- prep
- parser
- rewrite
- utils/adt
- include
- access
- catalog
- executor
- nodes
- parser
- utils
- test/isolation
- expected
- specs
38 files changed
+907
-121
lines changedLines changed: 17 additions & 9 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
45 | 45 |
| |
46 | 46 |
| |
47 | 47 |
| |
48 |
| - | |
| 48 | + | |
49 | 49 |
| |
50 | 50 |
| |
51 | 51 |
| |
| |||
1284 | 1284 |
| |
1285 | 1285 |
| |
1286 | 1286 |
| |
1287 |
| - | |
| 1287 | + | |
1288 | 1288 |
| |
1289 | 1289 |
| |
1290 | 1290 |
| |
| |||
1360 | 1360 |
| |
1361 | 1361 |
| |
1362 | 1362 |
| |
1363 |
| - | |
1364 |
| - | |
1365 |
| - | |
| 1363 | + | |
| 1364 | + | |
| 1365 | + | |
| 1366 | + | |
| 1367 | + | |
| 1368 | + | |
| 1369 | + | |
| 1370 | + | |
| 1371 | + | |
1366 | 1372 |
| |
1367 | 1373 |
| |
1368 | 1374 |
| |
| |||
1394 | 1400 |
| |
1395 | 1401 |
| |
1396 | 1402 |
| |
1397 |
| - | |
| 1403 | + | |
| 1404 | + | |
| 1405 | + | |
1398 | 1406 |
| |
1399 | 1407 |
| |
1400 | 1408 |
| |
| |||
1931 | 1939 |
| |
1932 | 1940 |
| |
1933 | 1941 |
| |
1934 |
| - | |
1935 |
| - | |
1936 |
| - | |
| 1942 | + | |
| 1943 | + | |
| 1944 | + | |
1937 | 1945 |
| |
1938 | 1946 |
| |
1939 | 1947 |
| |
|
Lines changed: 1 addition & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
863 | 863 |
| |
864 | 864 |
| |
865 | 865 |
| |
866 |
| - | |
| 866 | + | |
867 | 867 |
| |
868 | 868 |
| |
869 | 869 |
| |
|
Lines changed: 74 additions & 34 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
4090 | 4090 |
| |
4091 | 4091 |
| |
4092 | 4092 |
| |
4093 |
| - | |
| 4093 | + | |
4094 | 4094 |
| |
4095 | 4095 |
| |
4096 | 4096 |
| |
| |||
4103 | 4103 |
| |
4104 | 4104 |
| |
4105 | 4105 |
| |
| 4106 | + | |
4106 | 4107 |
| |
4107 | 4108 |
| |
4108 | 4109 |
| |
| |||
4114 | 4115 |
| |
4115 | 4116 |
| |
4116 | 4117 |
| |
4117 |
| - | |
| 4118 | + | |
4118 | 4119 |
| |
4119 | 4120 |
| |
4120 | 4121 |
| |
| |||
4220 | 4221 |
| |
4221 | 4222 |
| |
4222 | 4223 |
| |
4223 |
| - | |
| 4224 | + | |
4224 | 4225 |
| |
4225 |
| - | |
4226 |
| - | |
4227 |
| - | |
4228 |
| - | |
4229 |
| - | |
| 4226 | + | |
| 4227 | + | |
| 4228 | + | |
| 4229 | + | |
| 4230 | + | |
| 4231 | + | |
| 4232 | + | |
| 4233 | + | |
| 4234 | + | |
| 4235 | + | |
| 4236 | + | |
| 4237 | + | |
| 4238 | + | |
| 4239 | + | |
| 4240 | + | |
| 4241 | + | |
| 4242 | + | |
| 4243 | + | |
| 4244 | + | |
4230 | 4245 |
| |
4231 |
| - | |
4232 |
| - | |
4233 | 4246 |
| |
4234 | 4247 |
| |
4235 | 4248 |
| |
| |||
4432 | 4445 |
| |
4433 | 4446 |
| |
4434 | 4447 |
| |
4435 |
| - | |
4436 |
| - | |
| 4448 | + | |
| 4449 | + | |
4437 | 4450 |
| |
4438 |
| - | |
4439 |
| - | |
4440 |
| - | |
4441 |
| - | |
4442 |
| - | |
4443 |
| - | |
4444 |
| - | |
| 4451 | + | |
| 4452 | + | |
| 4453 | + | |
| 4454 | + | |
| 4455 | + | |
| 4456 | + | |
| 4457 | + | |
| 4458 | + | |
| 4459 | + | |
| 4460 | + | |
| 4461 | + | |
| 4462 | + | |
| 4463 | + | |
| 4464 | + | |
| 4465 | + | |
| 4466 | + | |
| 4467 | + | |
| 4468 | + | |
| 4469 | + | |
| 4470 | + | |
| 4471 | + | |
| 4472 | + | |
| 4473 | + | |
| 4474 | + | |
| 4475 | + | |
4445 | 4476 |
| |
4446 |
| - | |
4447 |
| - | |
4448 |
| - | |
4449 |
| - | |
4450 | 4477 |
| |
4451 | 4478 |
| |
4452 | 4479 |
| |
| |||
4491 | 4518 |
| |
4492 | 4519 |
| |
4493 | 4520 |
| |
4494 |
| - | |
4495 |
| - | |
| 4521 | + | |
| 4522 | + | |
4496 | 4523 |
| |
4497 |
| - | |
4498 |
| - | |
4499 |
| - | |
4500 |
| - | |
4501 |
| - | |
| 4524 | + | |
| 4525 | + | |
| 4526 | + | |
| 4527 | + | |
| 4528 | + | |
| 4529 | + | |
| 4530 | + | |
| 4531 | + | |
| 4532 | + | |
| 4533 | + | |
| 4534 | + | |
| 4535 | + | |
| 4536 | + | |
| 4537 | + | |
| 4538 | + | |
| 4539 | + | |
| 4540 | + | |
| 4541 | + | |
| 4542 | + | |
| 4543 | + | |
4502 | 4544 |
| |
4503 |
| - | |
4504 |
| - | |
4505 |
| - | |
4506 | 4545 |
| |
4507 | 4546 |
| |
4508 | 4547 |
| |
| |||
4564 | 4603 |
| |
4565 | 4604 |
| |
4566 | 4605 |
| |
4567 |
| - | |
| 4606 | + | |
| 4607 | + | |
4568 | 4608 |
| |
4569 | 4609 |
| |
4570 | 4610 |
| |
|
Lines changed: 1 addition & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
2706 | 2706 |
| |
2707 | 2707 |
| |
2708 | 2708 |
| |
2709 |
| - | |
| 2709 | + | |
2710 | 2710 |
| |
2711 | 2711 |
| |
2712 | 2712 |
| |
|
Lines changed: 30 additions & 15 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
836 | 836 |
| |
837 | 837 |
| |
838 | 838 |
| |
839 |
| - | |
| 839 | + | |
840 | 840 |
| |
841 | 841 |
| |
842 | 842 |
| |
| |||
1871 | 1871 |
| |
1872 | 1872 |
| |
1873 | 1873 |
| |
1874 |
| - | |
| 1874 | + | |
1875 | 1875 |
| |
1876 | 1876 |
| |
1877 | 1877 |
| |
| |||
1930 | 1930 |
| |
1931 | 1931 |
| |
1932 | 1932 |
| |
1933 |
| - | |
| 1933 | + | |
1934 | 1934 |
| |
1935 | 1935 |
| |
1936 | 1936 |
| |
1937 | 1937 |
| |
1938 | 1938 |
| |
| 1939 | + | |
| 1940 | + | |
| 1941 | + | |
1939 | 1942 |
| |
1940 | 1943 |
| |
1941 | 1944 |
| |
1942 | 1945 |
| |
1943 | 1946 |
| |
1944 | 1947 |
| |
1945 | 1948 |
| |
1946 |
| - | |
| 1949 | + | |
| 1950 | + | |
1947 | 1951 |
| |
1948 | 1952 |
| |
1949 | 1953 |
| |
| |||
1992 | 1996 |
| |
1993 | 1997 |
| |
1994 | 1998 |
| |
1995 |
| - | |
| 1999 | + | |
1996 | 2000 |
| |
1997 |
| - | |
1998 |
| - | |
1999 |
| - | |
2000 |
| - | |
2001 |
| - | |
| 2001 | + | |
| 2002 | + | |
| 2003 | + | |
| 2004 | + | |
| 2005 | + | |
| 2006 | + | |
| 2007 | + | |
| 2008 | + | |
| 2009 | + | |
| 2010 | + | |
| 2011 | + | |
| 2012 | + | |
| 2013 | + | |
| 2014 | + | |
| 2015 | + | |
| 2016 | + | |
2002 | 2017 |
| |
2003 |
| - | |
2004 |
| - | |
2005 |
| - | |
2006 |
| - | |
2007 | 2018 |
| |
2008 | 2019 |
| |
2009 | 2020 |
| |
| |||
2030 | 2041 |
| |
2031 | 2042 |
| |
2032 | 2043 |
| |
2033 |
| - | |
| 2044 | + | |
2034 | 2045 |
| |
2035 | 2046 |
| |
2036 | 2047 |
| |
| |||
2076 | 2087 |
| |
2077 | 2088 |
| |
2078 | 2089 |
| |
| 2090 | + | |
| 2091 | + | |
| 2092 | + | |
| 2093 | + | |
2079 | 2094 |
| |
2080 | 2095 |
| |
2081 | 2096 |
| |
|
Lines changed: 11 additions & 4 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
133 | 133 |
| |
134 | 134 |
| |
135 | 135 |
| |
136 |
| - | |
| 136 | + | |
137 | 137 |
| |
138 | 138 |
| |
139 | 139 |
| |
140 | 140 |
| |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
141 | 145 |
| |
142 | 146 |
| |
143 | 147 |
| |
| |||
170 | 174 |
| |
171 | 175 |
| |
172 | 176 |
| |
173 |
| - | |
174 |
| - | |
| 177 | + | |
| 178 | + | |
175 | 179 |
| |
176 | 180 |
| |
177 | 181 |
| |
178 |
| - | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
179 | 186 |
| |
180 | 187 |
| |
181 | 188 |
| |
|
0 commit comments
Comments
(0)