Fix for new Boolean node

The token in nodeTokenType() is actually the whole rest of the string,
so we need to take into account the length to do the correct
comparison.

Without this, postgres_fdw tests fail under
-DWRITE_READ_PARSE_PLAN_TREES.
pull/73/head
Peter Eisentraut 4 years ago
parent 941460fcf7
commit cf925936ec
  1. 3
      src/backend/nodes/read.c

@ -283,7 +283,8 @@ nodeTokenType(const char *token, int length)
retval = RIGHT_PAREN;
else if (*token == '{')
retval = LEFT_BRACE;
else if (strcmp(token, "true") == 0 || strcmp(token, "false") == 0)
else if ((length == 4 && strncmp(token, "true", 4) == 0) ||
(length == 5 && strncmp(token, "false", 5) == 0))
retval = T_Boolean;
else if (*token == '"' && length > 1 && token[length - 1] == '"')
retval = T_String;

Loading…
Cancel
Save