aboutsummaryrefslogtreecommitdiff
path: root/contrib/jsonb_plpython
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2018-05-02 12:22:48 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2018-05-02 12:23:00 -0400
commit447dbf7aa7909bca76048042d6734ee8f5249d0f (patch)
tree775f490f88a13ba248ad180ad794adf7ed32b17f /contrib/jsonb_plpython
parentbcded2609ade6204badde506025b414c8e6ef0cd (diff)
downloadpostgresql-447dbf7aa7909bca76048042d6734ee8f5249d0f.tar.gz
postgresql-447dbf7aa7909bca76048042d6734ee8f5249d0f.zip
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 syscache entry, not after. This mistake causes visible regression test failures when running with -DCATCACHE_FORCE_RELEASE. Since it's not exposed by -DCLOBBER_CACHE_ALWAYS, I think there may be no production hazard here at present, but it's at least a latent bug. * Use DatumGetByteaPP not DatumGetByteaP to save a detoasting cycle for 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, rather than a test-and-elog in one case and an Assert in the other. Perhaps Asserts would be sufficient in both cases, but I don't see a good argument 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 me Discussion: https://postgr.es/m/1349aabb-3a1f-6675-9fc0-65e2ce7491dd@lab.ntt.co.jp
Diffstat (limited to 'contrib/jsonb_plpython')
0 files changed, 0 insertions, 0 deletions