Re: Changing constant in src/include/miscadmin.h
От | Thomas Lockhart |
---|---|
Тема | Re: Changing constant in src/include/miscadmin.h |
Дата | |
Msg-id | 3C98A668.8D569A1B@fourpalms.org обсуждение исходный текст |
Ответ на | Changing constant in src/include/miscadmin.h (Yury Bokhoncovich <byg@center-f1.ru>) |
Список | 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
В списке pgsql-hackers по дате отправления: