postgres.git / summary / log / commit / refs
commit cf925936ecc031355cd56fbd392ec3180517a110
Author: Peter Eisentraut <peter@eisentraut.org>
Date: Mon Jan 17 12:59:46 2022 +0000
First released in: 15.0
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.
src/backend/nodes/read.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/backend/nodes/read.c b/src/backend/nodes/read.c
index 8435203f2bd..1e61fde6367 100644
--- a/src/backend/nodes/read.c
+++ b/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;
[parent: 941460fcf731]