forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commitc203d6c
committed
Allow HOT updates for some expression indexes
If the value of an index expression is unchanged after UPDATE,allow HOT updates where previously we disallowed them, givinga significant performance boost in those cases.Particularly useful for indexes such as JSON->>field where theJSON value changes but the indexed value does not.Submitted as "surjective indexes" patch, now enabled by useof new "recheck_on_update" parameter.Author: Konstantin KnizhnikReviewer: Simon Riggs, with much wordsmithing and some cleanup1 parent1944cdc commitc203d6c
File tree
13 files changed
+395
-22
lines changed- doc/src/sgml/ref
- src
- backend
- access
- common
- heap
- catalog
- utils/cache
- bin/psql
- include
- access
- utils
- test/regress
- expected
- sql
13 files changed
+395
-22
lines changedLines changed: 35 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
309 | 309 |
| |
310 | 310 |
| |
311 | 311 |
| |
312 |
| - | |
313 |
| - | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
314 | 347 |
| |
315 | 348 |
| |
316 | 349 |
| |
|
Lines changed: 44 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
129 | 129 |
| |
130 | 130 |
| |
131 | 131 |
| |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
132 | 141 |
| |
133 | 142 |
| |
134 | 143 |
| |
| |||
1310 | 1319 |
| |
1311 | 1320 |
| |
1312 | 1321 |
| |
1313 |
| - | |
| 1322 | + | |
1314 | 1323 |
| |
1315 | 1324 |
| |
1316 | 1325 |
| |
| |||
1466 | 1475 |
| |
1467 | 1476 |
| |
1468 | 1477 |
| |
| 1478 | + | |
| 1479 | + | |
| 1480 | + | |
| 1481 | + | |
| 1482 | + | |
| 1483 | + | |
| 1484 | + | |
| 1485 | + | |
| 1486 | + | |
| 1487 | + | |
| 1488 | + | |
| 1489 | + | |
| 1490 | + | |
| 1491 | + | |
| 1492 | + | |
| 1493 | + | |
| 1494 | + | |
| 1495 | + | |
| 1496 | + | |
| 1497 | + | |
| 1498 | + | |
| 1499 | + | |
| 1500 | + | |
| 1501 | + | |
| 1502 | + | |
| 1503 | + | |
| 1504 | + | |
| 1505 | + | |
| 1506 | + | |
| 1507 | + | |
| 1508 | + | |
| 1509 | + | |
| 1510 | + | |
| 1511 | + | |
1469 | 1512 |
| |
1470 | 1513 |
| |
1471 | 1514 |
| |
|
Lines changed: 98 additions & 7 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
56 | 56 |
| |
57 | 57 |
| |
58 | 58 |
| |
| 59 | + | |
59 | 60 |
| |
60 | 61 |
| |
61 | 62 |
| |
| |||
74 | 75 |
| |
75 | 76 |
| |
76 | 77 |
| |
77 |
| - | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
78 | 81 |
| |
79 | 82 |
| |
80 | 83 |
| |
| |||
126 | 129 |
| |
127 | 130 |
| |
128 | 131 |
| |
| 132 | + | |
129 | 133 |
| |
130 | 134 |
| |
131 | 135 |
| |
| |||
3508 | 3512 |
| |
3509 | 3513 |
| |
3510 | 3514 |
| |
| 3515 | + | |
3511 | 3516 |
| |
3512 | 3517 |
| |
3513 | 3518 |
| |
| |||
3571 | 3576 |
| |
3572 | 3577 |
| |
3573 | 3578 |
| |
3574 |
| - | |
| 3579 | + | |
| 3580 | + | |
3575 | 3581 |
| |
3576 | 3582 |
| |
3577 | 3583 |
| |
3578 |
| - | |
3579 |
| - | |
3580 | 3584 |
| |
3581 | 3585 |
| |
3582 | 3586 |
| |
| |||
3596 | 3600 |
| |
3597 | 3601 |
| |
3598 | 3602 |
| |
| 3603 | + | |
3599 | 3604 |
| |
3600 | 3605 |
| |
3601 | 3606 |
| |
| |||
3894 | 3899 |
| |
3895 | 3900 |
| |
3896 | 3901 |
| |
| 3902 | + | |
3897 | 3903 |
| |
3898 | 3904 |
| |
3899 | 3905 |
| |
| |||
4201 | 4207 |
| |
4202 | 4208 |
| |
4203 | 4209 |
| |
4204 |
| - | |
4205 |
| - | |
| 4210 | + | |
| 4211 | + | |
| 4212 | + | |
| 4213 | + | |
4206 | 4214 |
| |
4207 |
| - | |
| 4215 | + | |
| 4216 | + | |
| 4217 | + | |
| 4218 | + | |
| 4219 | + | |
4208 | 4220 |
| |
| 4221 | + | |
4209 | 4222 |
| |
4210 | 4223 |
| |
4211 | 4224 |
| |
| |||
4367 | 4380 |
| |
4368 | 4381 |
| |
4369 | 4382 |
| |
| 4383 | + | |
4370 | 4384 |
| |
4371 | 4385 |
| |
4372 | 4386 |
| |
| |||
4453 | 4467 |
| |
4454 | 4468 |
| |
4455 | 4469 |
| |
| 4470 | + | |
| 4471 | + | |
| 4472 | + | |
| 4473 | + | |
| 4474 | + | |
| 4475 | + | |
| 4476 | + | |
| 4477 | + | |
| 4478 | + | |
| 4479 | + | |
| 4480 | + | |
| 4481 | + | |
| 4482 | + | |
| 4483 | + | |
| 4484 | + | |
| 4485 | + | |
| 4486 | + | |
| 4487 | + | |
| 4488 | + | |
| 4489 | + | |
| 4490 | + | |
| 4491 | + | |
| 4492 | + | |
| 4493 | + | |
| 4494 | + | |
| 4495 | + | |
| 4496 | + | |
| 4497 | + | |
| 4498 | + | |
| 4499 | + | |
| 4500 | + | |
| 4501 | + | |
| 4502 | + | |
| 4503 | + | |
| 4504 | + | |
| 4505 | + | |
| 4506 | + | |
| 4507 | + | |
| 4508 | + | |
| 4509 | + | |
| 4510 | + | |
| 4511 | + | |
| 4512 | + | |
| 4513 | + | |
| 4514 | + | |
| 4515 | + | |
| 4516 | + | |
| 4517 | + | |
| 4518 | + | |
| 4519 | + | |
| 4520 | + | |
| 4521 | + | |
| 4522 | + | |
| 4523 | + | |
| 4524 | + | |
| 4525 | + | |
| 4526 | + | |
| 4527 | + | |
| 4528 | + | |
| 4529 | + | |
| 4530 | + | |
| 4531 | + | |
| 4532 | + | |
| 4533 | + | |
| 4534 | + | |
| 4535 | + | |
| 4536 | + | |
| 4537 | + | |
| 4538 | + | |
| 4539 | + | |
| 4540 | + | |
| 4541 | + | |
| 4542 | + | |
| 4543 | + | |
| 4544 | + | |
| 4545 | + | |
| 4546 | + | |
4456 | 4547 |
| |
4457 | 4548 |
| |
4458 | 4549 |
| |
|
Lines changed: 2 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
26 | 26 |
| |
27 | 27 |
| |
28 | 28 |
| |
| 29 | + | |
29 | 30 |
| |
30 | 31 |
| |
31 | 32 |
| |
| |||
3863 | 3864 |
| |
3864 | 3865 |
| |
3865 | 3866 |
| |
3866 |
| - | |
| 3867 | + | |
3867 | 3868 |
| |
3868 | 3869 |
| |
3869 | 3870 |
| |
|
0 commit comments
Comments
(0)