pgsql: Fix portability issue in isolationtester grammar.

Поиск
Список
Период
Сортировка
От Tom Lane
Тема pgsql: Fix portability issue in isolationtester grammar.
Дата
Msg-id E1YxkXV-0005AR-N1@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
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.

Branch
------
REL9_3_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/5c8e43a492c9885ea5d541b8d0d391a871ad8427

Modified Files
--------------
src/test/isolation/specparse.y   |   16 ++++++++--------
src/test/isolation/specscanner.l |    2 +-
2 files changed, 9 insertions(+), 9 deletions(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: pgsql: Fix portability issue in isolationtester grammar.
Следующее
От: Tom Lane
Дата:
Сообщение: pgsql: Fix pg_get_functiondef() to print a function's LEAKPROOF propert