- Notifications
You must be signed in to change notification settings - Fork4.9k
Commit447dbf7
committed
Fix bogus code for extracting extended-statistics data from syscache.
statext_dependencies_load and statext_ndistinct_load were not up to snuff,in addition to being randomly different from each other. In detail:* Deserialize the fetched bytea value before releasing the syscacheentry, not after. This mistake causes visible regression test failureswhen running with -DCATCACHE_FORCE_RELEASE. Since it's not exposed by-DCLOBBER_CACHE_ALWAYS, I think there may be no production hazard hereat present, but it's at least a latent bug.* Use DatumGetByteaPP not DatumGetByteaP to save a detoasting cyclefor short stats values; the deserialize function has to be, and is,prepared for short-header values since its other caller uses PP.* Use a test-and-elog for null stats values in both functions, ratherthan a test-and-elog in one case and an Assert in the other. PerhapsAsserts would be sufficient in both cases, but I don't see a goodargument for them being different.* Minor cosmetic changes to make these functions more visibly alike.Backpatch to v10 where this code came in.Amit Langote, minor additional hacking by meDiscussion:https://postgr.es/m/1349aabb-3a1f-6675-9fc0-65e2ce7491dd@lab.ntt.co.jp1 parentbcded26 commit447dbf7
2 files changed
+17
-7
lines changedLines changed: 10 additions & 3 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
631 | 631 |
| |
632 | 632 |
| |
633 | 633 |
| |
| 634 | + | |
634 | 635 |
| |
635 | 636 |
| |
636 |
| - | |
| 637 | + | |
637 | 638 |
| |
| 639 | + | |
638 | 640 |
| |
639 | 641 |
| |
640 | 642 |
| |
641 | 643 |
| |
642 | 644 |
| |
643 |
| - | |
| 645 | + | |
| 646 | + | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
| 650 | + | |
644 | 651 |
| |
645 | 652 |
| |
646 | 653 |
| |
647 |
| - | |
| 654 | + | |
648 | 655 |
| |
649 | 656 |
| |
650 | 657 |
| |
|
Lines changed: 7 additions & 4 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
126 | 126 |
| |
127 | 127 |
| |
128 | 128 |
| |
129 |
| - | |
| 129 | + | |
| 130 | + | |
130 | 131 |
| |
131 | 132 |
| |
132 | 133 |
| |
133 | 134 |
| |
134 |
| - | |
| 135 | + | |
135 | 136 |
| |
136 | 137 |
| |
137 | 138 |
| |
138 | 139 |
| |
139 | 140 |
| |
140 | 141 |
| |
141 |
| - | |
| 142 | + | |
142 | 143 |
| |
143 | 144 |
| |
| 145 | + | |
| 146 | + | |
144 | 147 |
| |
145 | 148 |
| |
146 |
| - | |
| 149 | + | |
147 | 150 |
| |
148 | 151 |
| |
149 | 152 |
| |
|
0 commit comments
Comments
(0)