Re: Question about an inconsistency - 1
От | Tom Lane |
---|---|
Тема | Re: Question about an inconsistency - 1 |
Дата | |
Msg-id | 3260.1467836527@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Question about an inconsistency - 1 ("petrum@gmail.com" <petrum@gmail.com>) |
Список | pgsql-hackers |
"petrum@gmail.com" <petrum@gmail.com> writes: > I have a question regarding the source code in file pg_proc.h (postgresql-9.4.4). > At line 1224 (copied below) why the 28th identifier is timestamp_eq? > DATA(insert OID = 1152 ( timestamptz_eq PGNSP PGUID 12 1 0 0 0 f f f t t f i 2 0 16 "1184 1184" _null_ _null_ _null__null_ timestamp_eq _null_ _null_ _null_ )); > I would expect it to be timestamptz_eq (the same as the 5th identifier > from the same line). If timestamptz_eq actually existed as a separate C function, then yes that would be correct. But see this bit in timestamp.h: extern int timestamp_cmp_internal(Timestamp dt1, Timestamp dt2); /* timestamp comparison works for timestamptz also */ #define timestamptz_cmp_internal(dt1,dt2) timestamp_cmp_internal(dt1, dt2) AFAICS there are not similar #defines equating timestamptz_eq to timestamp_eq and so on, probably because we don't have much need to refer to those functions in the C code. But even if we had such #defines, I think that pg_proc.h could not rely on them. It has to reference actual C functions. regards, tom lane
В списке pgsql-hackers по дате отправления: