aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/jsonpath_exec.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/utils/adt/jsonpath_exec.c')
-rw-r--r--src/backend/utils/adt/jsonpath_exec.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/backend/utils/adt/jsonpath_exec.c b/src/backend/utils/adt/jsonpath_exec.c
index c30d059a762..d79c9298227 100644
--- a/src/backend/utils/adt/jsonpath_exec.c
+++ b/src/backend/utils/adt/jsonpath_exec.c
@@ -2994,7 +2994,8 @@ GetJsonPathVar(void *cxt, char *varName, int varNameLen,
{
JsonPathVariable *curvar = lfirst(lc);
- if (!strncmp(curvar->name, varName, varNameLen))
+ if (curvar->namelen == varNameLen &&
+ strncmp(curvar->name, varName, varNameLen) == 0)
{
var = curvar;
break;
@@ -4118,6 +4119,7 @@ JsonTableInitOpaque(TableFuncScanState *state, int natts)
JsonPathVariable *var = palloc(sizeof(*var));
var->name = pstrdup(name->sval);
+ var->namelen = strlen(var->name);
var->typid = exprType((Node *) state->expr);
var->typmod = exprTypmod((Node *) state->expr);