Re: pgsql: Add support for multivariate MCV lists
От | Tomas Vondra |
---|---|
Тема | Re: pgsql: Add support for multivariate MCV lists |
Дата | |
Msg-id | 20190328193711.GC16397@development обсуждение исходный текст |
Ответ на | Re: pgsql: Add support for multivariate MCV lists (Tomas Vondra <tomas.vondra@2ndquadrant.com>) |
Ответы |
Re: pgsql: Add support for multivariate MCV lists
|
Список | pgsql-committers |
On Thu, Mar 28, 2019 at 07:33:36PM +0100, Tomas Vondra wrote: >On Thu, Mar 28, 2019 at 11:29:12AM -0700, Peter Geoghegan wrote: >>On Wed, Mar 27, 2019 at 6:27 PM Tomas Vondra >><tomas.vondra@2ndquadrant.com> wrote: >>>It's a bit too late for pushing emergency fixes over here, so I'll do >>>more testing tomorrow and then push. >> >>The buildfarm is still almost all-red now. Can you estimate how long >>it will take to push a fix? >> > >Half an hour, at most. I have a fix and I'm running tests on it to make >sure it does break something else. > OK, I've pushed the fix. As explained in the commit message, the deserialization was borked in two ways. Firstly, it was vulnerable to use-after-free. Secondly, the serialization/deserialization of data for by-value types did not work for bigendian systems. I believe this should fix prion (which was tripping on the first issue, due to using -DRELCACHE_FORCE_RELEASE -DCATCACHE_FORCE_RELEASE) and at least some of the bigendian boxes (I've tested it on s390x). I do think there's one remaining issue - the deserialized value is allocated as a single chunk, and is then "sliced" into smaller buffers. But the code ignores alignment, which I think may trigger SIGBUS on some platforms - for example grison, skate or gull fail like this, and those are ARMv7 and sparc machines. I do have a fix for that too, but I decided not to push it yet before testing it a bit more. regards -- Tomas Vondra http://www.2ndQuadrant.com PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
В списке pgsql-committers по дате отправления: