Re: Error handling for ShmemInitStruct and ShmemInitHash - Mailing list pgsql-hackers

From Heikki Linnakangas
Subject Re: Error handling for ShmemInitStruct and ShmemInitHash
Date
Msg-id 4BD7E7F6.3070906@enterprisedb.com
Whole thread Raw
In response to Error handling for ShmemInitStruct and ShmemInitHash  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Tom Lane wrote:
> The functions ShmemInitStruct and ShmemInitHash will return NULL on
> certain failure conditions, apparently on the grounds that their caller
> can print a more useful error message than they can.  A quick survey
> shows that about half the callers aren't remembering to check for NULL,
> and none of the other half are printing messages that are more useful
> than "out of shared memory" (which isn't even necessarily correct).
> 
> I think that this is pretty error-prone, and that considering that
> PG hackers are accustomed to not checking palloc() results, it's
> inevitable that we'll make the same mistake in future if we leave
> this API as it is.  I suggest making these functions throw
> their own errors rather than returning NULL on failure, and removing
> the redundant error reports from the callers that have 'em.

+1. I was just annoyed by this when working on the known-assigned-xids
hash -> sorted-array patch.

--  Heikki Linnakangas EnterpriseDB   http://www.enterprisedb.com


pgsql-hackers by date:

Previous
From: Heikki Linnakangas
Date:
Subject: Re: Re: [COMMITTERS] pgsql: Make CheckRequiredParameterValues() depend upon correct
Next
From: Simon Riggs
Date:
Subject: Re: Re: [COMMITTERS] pgsql: Make CheckRequiredParameterValues() depend upon correct