* plpgsql_param_ref parser callback for ParamRefs ($n symbols) */
| 1168 | * plpgsql_param_ref parser callback for ParamRefs ($n symbols) |
| 1169 | */ |
| 1170 | static Node * |
| 1171 | plpgsql_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 |
nothing calls this directly
no test coverage detected