Re: Reduce build times of pg_trgm GIN indexes - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Reduce build times of pg_trgm GIN indexes
Date
Msg-id 2197023.1776288324@sss.pgh.pa.us
Whole thread
In response to Re: Reduce build times of pg_trgm GIN indexes  (Peter Eisentraut <peter@eisentraut.org>)
Responses Re: Reduce build times of pg_trgm GIN indexes
List pgsql-hackers
Peter Eisentraut <peter@eisentraut.org> writes:
> On 15.04.26 13:06, Heikki Linnakangas wrote:
>> This was briefly discussed when PointerGetDatum() was changed from a 
>> macro to a static inline function [1]. On that email, Peter pointed out 
>> that the compiler was doing the same deduction that Coverity did now, 
>> i.e. that if you pass the Datum returned by PointerGetDatum(&foo) to a 
>> function, it cannot change *foo. I'm surprised we dismissed that worry 
>> so quickly. If the compiler optimizes based on that assumption, you can 
>> get incorrect code.

> I don't think this is in evidence.  AFAICT, it's just Coverity that is 
> complaining here, which is its right, but the code is not incorrect.

Are you sure?  This seems like the sort of thing that will bite us on
the rear sometime in the future, as the compiler geeks put in more and
more aggressive optimizations.

I think we should at least test the theory that changing
PointerGetDatum to remove the const cast would silence Coverity's
complaint.  If it does not then we're attributing too much
intelligence to Coverity.  But if it does, then we've correctly
identified why it's complaining, and we should take seriously the
idea that they aren't the only ones making this sort of deduction
(or won't be for long).

            regards, tom lane



pgsql-hackers by date:

Previous
From: Paul A Jungwirth
Date:
Subject: Re: FOR PORTION OF does not recompute GENERATED STORED columns that depend on the range column
Next
From: "Tristan Partin"
Date:
Subject: Re: Minor cleanup of Meson files given that we require 0.57