On 3/22/18, Tom Lane <t...@sss.pgh.pa.us> wrote: > Looking at this again, I think a big chunk of the readability problem here > is just from the fact that we have long, similar-looking lines tightly > packed. If it were reformatted to have comment lines and whitespace > between, it might not look nearly as bad. > ... > Anyway, for the moment I'd stick with BKI_LOOKUP rather than undoing > that work. I think it's a more transparent way of saying what we > want than the magic-OID-typedefs approach. The formatting issue is > just a mild annoyance, and it's not really BKI_LOOKUP's fault anyway.
Okay, I'll do it with comments and whitespace. > While I'm thinking of it --- I noticed one or two places where you > had "BKI_DEFAULT(\0)". That coding scares me a bit --- gcc seems to > tolerate it, but other C compilers might feel that \0 is not a valid > preprocessing token, or it might confuse some editors' syntax highlight > rules. I'd rather write cases like this as "BKI_DEFAULT('\0')". IOW, > the argument should be a valid C identifier, number, or string literal. Hmm, I only see this octal in pg_type.h char typdelim BKI_DEFAULT(\054); Which I hope is fine. Were you thinking of this comment in pg_attribute.h? We use the double-quoted empty string for postgres.bki and change it to '\0' for schemapg.h. /* One of the ATTRIBUTE_IDENTITY_* constants below, or '\0' */ char attidentity BKI_DEFAULT(""); -John Naylor