Re: VacAttrStatsP vs VacAttrStats * (typedef'ing pointer types)

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Jan Urbański <j(dot)urbanski(at)students(dot)mimuw(dot)edu(dot)pl>
Cc: Postgres - Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: VacAttrStatsP vs VacAttrStats * (typedef'ing pointer types)
Date: 2008-05-02 21:53:31
Message-ID: 25814.1209765211@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

=?UTF-8?B?SmFuIFVyYmHFhHNraQ==?= <j(dot)urbanski(at)students(dot)mimuw(dot)edu(dot)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

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Dunstan 2008-05-02 22:18:29 Re: [COMMITTERS] pgsql: Sigh ...
Previous Message Neil Conway 2008-05-02 21:53:01 Re: VacAttrStatsP vs VacAttrStats * (typedef'ing pointer types)