Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 9204dd2

Browse files
author
Nikita Glukhov
committed
Add jsonb-typed variables support to jsonpath
1 parent a103874 commit 9204dd2

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

src/backend/utils/adt/jsonpath_exec.c

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,20 @@ computeJsonPathVariable(JsonPathItem *variable, List *vars, JsonbValue *value)
101101
value->val.string.val = VARDATA_ANY(computedValue);
102102
value->val.string.len = VARSIZE_ANY_EXHDR(computedValue);
103103
break;
104+
case JSONBOID:
105+
{
106+
Jsonb *jb = DatumGetJsonbP(computedValue);
107+
108+
if (JB_ROOT_IS_SCALAR(jb))
109+
JsonbExtractScalar(&jb->root, value);
110+
else
111+
{
112+
value->type = jbvBinary;
113+
value->val.binary.data = &jb->root;
114+
value->val.binary.len = VARSIZE_ANY_EXHDR(jb);
115+
}
116+
}
117+
break;
104118
default:
105119
ereport(ERROR,
106120
(errcode(ERRCODE_WRONG_OBJECT_TYPE),

0 commit comments

Comments
 (0)