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.
This commit is contained in:
Peter Eisentraut 2022-01-17 13:59:46 +01:00
parent 941460fcf7
commit cf925936ec
1 changed files with 2 additions and 1 deletions

View File

@ -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;