aboutsummaryrefslogtreecommitdiff
path: root/src/backend/commands/functioncmds.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2015-05-27 19:14:40 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2015-05-27 19:14:40 -0400
commit5c8e43a492c9885ea5d541b8d0d391a871ad8427 (patch)
treef2ac09c4c70312d9dbf154ccc0e04b0858c3848e /src/backend/commands/functioncmds.c
parent9e980e7d00e8cb637804eef6fad3f5b38ac19786 (diff)
downloadpostgresql-5c8e43a492c9885ea5d541b8d0d391a871ad8427.tar.gz
postgresql-5c8e43a492c9885ea5d541b8d0d391a871ad8427.zip
Fix portability issue in isolationtester grammar.
specparse.y and specscanner.l used "string" as a token name. Now, bison likes to define each token name as a macro for the token code it assigns, which means those names are basically off-limits for any other use within the grammar file or included headers. So names as generic as "string" are dangerous. This is what was causing the recent failures on protosciurus: some versions of Solaris' sys/kstat.h use "string" as a field name. With late-model bison we don't see this problem because the token macros aren't defined till later (that is why castoroides didn't show the problem even though it's on the same machine). But protosciurus uses bison 1.875 which defines the token macros up front. This land mine has been there from day one; we'd have found it sooner except that protosciurus wasn't trying to run the isolation tests till recently. To fix, rename the token to "string_literal" which is hopefully less likely to collide with names used by system headers. Back-patch to all branches containing the isolation tests.
Diffstat (limited to 'src/backend/commands/functioncmds.c')
0 files changed, 0 insertions, 0 deletions