Re: VacAttrStatsP vs VacAttrStats * (typedef'ing pointer types) - Mailing list pgsql-hackers

From Tom Lane
Subject Re: VacAttrStatsP vs VacAttrStats * (typedef'ing pointer types)
Date
Msg-id 25814.1209765211@sss.pgh.pa.us
Whole thread Raw
In response to VacAttrStatsP vs VacAttrStats * (typedef'ing pointer types)  (Jan Urbański <j.urbanski@students.mimuw.edu.pl>)
List pgsql-hackers
Jan Urbański <j.urbanski@students.mimuw.edu.pl> writes:
> While looking around vacuum.h (for my GSoC project) I found:
> typedef struct VacAttrStats *VacAttrStatsP;
> and then throughout the code sometimes VacAttrStats *foo is used and 
> sometimes VacAttrStatsP bar is used.

> Call this obsessive-compulsive disorder, but it kind of bothers me. Is 
> there a reason for using both notations? If not, then which one is 
> preferred and should I write a patch for it or should I just take a pill 
> or two and focus on important things?

Hmm.  We have a fairly widespread convention that pointers to structs
can be separately typedef'd as Foo where the underlying struct is
typedef FooData.  This isn't following that naming convention though,
and right offhand "FooP" doesn't seem an improvement over "Foo *".

I also notice that there are many more uses of VacAttrStats * than
VacAttrStatsP, so the collective vote about which notation is clearer
seems already taken.

If it bugs you, I'd suggest getting rid of typedef VacAttrStatsP
altogether and using VacAttrStats * everywhere.  It's surely not
too important though...
        regards, tom lane


pgsql-hackers by date:

Previous
From: Neil Conway
Date:
Subject: Re: VacAttrStatsP vs VacAttrStats * (typedef'ing pointer types)
Next
From: Tom Lane
Date:
Subject: Re: ecpg localization