MCPcopy Create free account
hub / github.com/apache/cloudberry / plpgsql_param_ref

Function plpgsql_param_ref

src/pl/plpgsql/src/pl_comp.c:1170–1187  ·  view source on GitHub ↗

* plpgsql_param_ref parser callback for ParamRefs ($n symbols) */

Source from the content-addressed store, hash-verified

1168 * plpgsql_param_ref parser callback for ParamRefs ($n symbols)
1169 */
1170static Node *
1171plpgsql_param_ref(ParseState *pstate, ParamRef *pref)
1172{
1173 PLpgSQL_expr *expr = (PLpgSQL_expr *) pstate->p_ref_hook_state;
1174 char pname[32];
1175 PLpgSQL_nsitem *nse;
1176
1177 snprintf(pname, sizeof(pname), "$%d", pref->number);
1178
1179 nse = plpgsql_ns_lookup(expr->ns, false,
1180 pname, NULL, NULL,
1181 NULL);
1182
1183 if (nse == NULL)
1184 return NULL; /* name not known to plpgsql */
1185
1186 return make_datum_param(expr, nse->itemno, pref->location);
1187}
1188
1189/*
1190 * resolve_column_ref attempt to resolve a ColumnRef as a plpgsql var

Callers

nothing calls this directly

Calls 2

plpgsql_ns_lookupFunction · 0.85
make_datum_paramFunction · 0.85

Tested by

no test coverage detected