Re: correct NUL vs. NULL usage

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Neil Conway <neilc(at)samurai(dot)com>, PostgreSQL Patches <pgsql-patches(at)postgresql(dot)org>
Subject: Re: correct NUL vs. NULL usage
Date: 2003-09-28 00:36:58
Message-ID: 200309280036.h8S0awO27806@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-patches


Tom, I understand your research on the historical usage of null, but in
PostgreSQL we have not two but three possible uses for n-u-l-l:

o null pointer
o null byte
o null SQL value

With that list, anything that makes null clearer is great. I think we
should just standardize on 'NUL' for a null byte, or 'nul'. I think the
code would benefit from that clarification. I usually do:

#define NUL '\0'

in my C code.

---------------------------------------------------------------------------

Tom Lane wrote:
> Neil Conway <neilc(at)samurai(dot)com> writes:
> > In C, "NULL" denotes a special pointer value indicating the pointer
> > points to no value. "NUL" is the ASCII character that terminates a C
> > string. These two terms are not synonymous, so this patch corrects the
> > usage of NULL in comments in the postgres source.
>
> However, lower case "null" is commonly used for both meanings.
> I cite the C99 standard:
>
> ... A byte with all bits set to 0,
> called the null character, shall exist in the basic
> execution character set; it is used to terminate a character
> string.
>
> The standard thereafter consistently uses "the null character" to
> refer to '\0'. Kernighan & Ritchie first edition tends to use boldface
> "\0" in running text, but the initial use of that symbol is *defined as*
> "the <i>null character</>, whose value is zero" (their italics).
>
> In my experience "NUL" is actually less common than other names for
> the null character.
>
> In short, I think most of this patch is just pedantry. Could you
> trim it down to just the places where there's actually risk of
> confusion? (I do agree that upper case NULL is not appropriate as
> a name for the character.)
>
> regards, tom lane
>
> ---------------------------(end of broadcast)---------------------------
> TIP 8: explain analyze is your friend
>

--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073

In response to

Responses

Browse pgsql-patches by date

  From Date Subject
Next Message Bruce Momjian 2003-09-28 01:15:54 Re: pretty print for check constraints broken
Previous Message Bruce Momjian 2003-09-28 00:29:22 Re: tsearch2 memory alloc checks