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@samurai.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@candle.pha.pa.us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073