Re: Changing constant in src/include/miscadmin.h

From: Thomas Lockhart <thomas(at)fourpalms(dot)org>
To: Yury Bokhoncovich <byg(at)center-f1(dot)ru>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Changing constant in src/include/miscadmin.h
Date: 2002-03-20 15:10:32
Message-ID: 3C98A668.8D569A1B@fourpalms.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> Is it valid to change a constant in src/include/miscadmin.h?
> -#define USE_POSTGRES_DATES 0
> +#define USE_POSTGRES_DATES 4

Yes, the code should still work and afaik these values are not embedded
anywhere other than in the compiled code so you will stay
self-consistant.

> This can make easy parsing of date style in parse_datestyle_internal
> function (src/backend/commands/variable.c) in this way:
> datestyle=0;
> if () datestyle=USE_xxx
> ...
> if (!datestyle) elog(ERROR

At the moment, one is allowed to call parse_datestyle_internal() only
setting the "european" vs "noneuropean" flag for month and day
interpretation. So the code should not have the check mentioned above.

Also, I would suggest using an explicit comparison rather than an
implicit comparison against zero. Something like

#define DATESTYLE_NOT_SPECIFIED 0
datestyle = DATESTYLE_NOT_SPECIFIED
...
if (datestyle == DATESTYLE_NOT_SPECIFIED) elog()...

where the #define is in the same place as the USE_xxx definitions. That
way you aren't relying on someone remembering that they *shouldn't* use
zero as one of the possible valid values. And that way the
DATESTYLE_NOT_SPECIFIED does not actually have to be zero.

- Thomas

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Thomas Lockhart 2002-03-20 15:24:17 Re: Notify argument?
Previous Message Thomas Lockhart 2002-03-20 14:54:54 Re: parse_datestyle_internal always return TRUE