Re: POC: converting Lists into arrays - Mailing list pgsql-hackers

From Andres Freund
Subject Re: POC: converting Lists into arrays
Date
Msg-id 20190731230047.xtbgswuwopmrhd53@alap3.anarazel.de
Whole thread Raw
In response to Re: POC: converting Lists into arrays  (Andres Freund <andres@anarazel.de>)
Responses Re: POC: converting Lists into arrays  (Andres Freund <andres@anarazel.de>)
List pgsql-hackers
Hi,

On 2019-07-31 15:57:56 -0700, Andres Freund wrote:
> I also wonder if a foreach version that includes the typical
> (Type *) var = (Type *) lfirst(lc);
> or
> (Type *) var = castNode(Type, lfirst(lc));
> or
> OpExpr       *hclause = lfirst_node(OpExpr, lc);
> 
> would make it nicer to use lists.
> 
> foreach_node_in(Type, name, list) could mean something like
> 
> foreach(ListCell *name##_cell, list)
> {
>     Type* name = lfirst_node(Type, name##_cell);
> }

s/lfirst/linitial/ of course. Was looking at code that also used
lfirst...

Reminds me that one advantage of macros like the second one would also
be to reduce the use of the confusingly named linitial*(), helping newer
hackers.

Greetings,

Andres Freund



pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: POC: converting Lists into arrays
Next
From: Andres Freund
Date:
Subject: Re: POC: converting Lists into arrays