---------- * plpgsql_ns_additem Add an item to the current namespace chain * ---------- */
| 89 | * ---------- |
| 90 | */ |
| 91 | void |
| 92 | plpgsql_ns_additem(PLpgSQL_nsitem_type itemtype, int itemno, const char *name) |
| 93 | { |
| 94 | PLpgSQL_nsitem *nse; |
| 95 | |
| 96 | Assert(name != NULL); |
| 97 | /* first item added must be a label */ |
| 98 | Assert(ns_top != NULL || itemtype == PLPGSQL_NSTYPE_LABEL); |
| 99 | |
| 100 | nse = palloc(offsetof(PLpgSQL_nsitem, name) + strlen(name) + 1); |
| 101 | nse->itemtype = itemtype; |
| 102 | nse->itemno = itemno; |
| 103 | nse->prev = ns_top; |
| 104 | strcpy(nse->name, name); |
| 105 | ns_top = nse; |
| 106 | } |
| 107 | |
| 108 | |
| 109 | /* ---------- |
no test coverage detected