On Mon, Apr 15, 2019 at 12:26:02PM -0400, Tom Lane wrote:
Dean Rasheed <dean.a.rash...@gmail.com> writes:
SELECT pg_mcv_list_items(stxmcv) from pg_statistic_ext WHERE stxname = 'foo_s';
which fails with
ERROR:  cache lookup failed for type 0

That definitely used to work, so I'm guessing it got broken by the
recent reworking of the serialisation code, but I've not looked into
it.

Yeah, looks like sloppy thinking about whether or not the types array
participates in maxalign-forcing?


Actually, no. It seems aligned just fine, AFAICS. The bug a bit more
embarassing - the deserialization does

   memcpy(ptr, mcvlist->types, sizeof(Oid) * ndims);

while it should be doing

   memcpy(mcvlist->types, ptr, sizeof(Oid) * ndims);

Will fix.


cheers

--
Tomas Vondra                  http://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Reply via email to