Обсуждение: BUG #4355: TOKMAXLEN=10 to short for token strings
The following bug has been logged online:
Bug reference: 4355
Logged by: Gerhard Leykam
Email address: gel123@sealsystems.de
PostgreSQL version: 8.3.1
Operating system: HP-UX 11 64bit
Description: TOKMAXLEN=10 to short for token strings
Details:
Hi!
Structure datetkn in src/include/utils/datetime.h has a character array
token of length 10 (TOKMAXLEN).
In src/backend/utils/adt/datetime.c two arrays of datetkn structures are
filled where some tokens exceed 10 bytes!
On HP-UX using aCC this gives startup errors as:
2008-09-04 07:13:41 GMT LOG: ordering error in deltatktbl table: "#mil"
>= "{llennia"
2008-09-04 07:13:41 GMT LOG: ordering error in deltatktbl table:
"{millenniu" >= "p{millisec"
To solve this for me i increased TOKMAXLEN to 16.
Regards,
Gerhard Leykam
"Gerhard Leykam" <gel123@sealsystems.de> writes:
> On HP-UX using aCC this gives startup errors as:
> 2008-09-04 07:13:41 GMT LOG: ordering error in deltatktbl table: "#mil"
>> = "{llennia"
> 2008-09-04 07:13:41 GMT LOG: ordering error in deltatktbl table:
> "{millenniu" >= "p{millisec"
Since no one else is reporting this, a reasonable conclusion is that
you have a broken compiler.
Note that there are not in fact any strings longer than 10 bytes
in the table --- there are some that would be 11 if they included
a null terminator, but we don't require that.
regards, tom lane