Re: [HACKERS] Warnings in objectaddress.c - Mailing list pgsql-hackers

From Tom Lane
Subject Re: [HACKERS] Warnings in objectaddress.c
Date
Msg-id 2317.1507081287@sss.pgh.pa.us
Whole thread Raw
In response to Re: [HACKERS] Warnings in objectaddress.c  (Robert Haas <robertmhaas@gmail.com>)
Responses Re: [HACKERS] Warnings in objectaddress.c
List pgsql-hackers
Robert Haas <robertmhaas@gmail.com> writes:
> Perhaps we should apply some glorified version of this:

> +    if (list_length(object) < 2)
> +        elog(ERROR, "fail");

> However, I'm not 100% sure that would be sufficient to suppress these
> warnings, because the compiler has got to be smart enough to know that
> elog() doesn't return and that i >= 2 is sufficient to guarantee that
> everything is initialized.

I'm betting it wouldn't help.  I was considering something along the line
of unrolling the loop:
Assert(list_length(object) == 2);
assign typenames[0] and typeoids[0] from linitial(object)
assign typenames[1] and typeoids[1] from lsecond(object)

This would involve duplicating the loop body, but that's only 3 lines,
so I think it wouldn't even net out as more code.
        regards, tom lane


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

pgsql-hackers by date:

Previous
From: Michael Paquier
Date:
Subject: Re: [HACKERS] 64-bit queryId?
Next
From: Tom Lane
Date:
Subject: Re: [HACKERS] Re: protocol version negotiation (Re: Libpq PGRES_COPY_BOTH - version compatibility)