{
PyObject *volatile plntup;
PyObject *volatile plkeys;
- PyObject *volatile platt;
PyObject *volatile plval;
- PyObject *volatile plstr;
HeapTuple rtup;
int natts,
i,
plerrcontext.previous = error_context_stack;
error_context_stack = &plerrcontext;
- plntup = plkeys = platt = plval = plstr = NULL;
+ plntup = plkeys = plval = NULL;
modattrs = NULL;
modvalues = NULL;
modnulls = NULL;
if ((plntup = PyDict_GetItemString(pltd, "new")) == NULL)
ereport(ERROR,
(errmsg("TD[\"new\"] deleted, cannot modify row")));
+ Py_INCREF(plntup);
if (!PyDict_Check(plntup))
ereport(ERROR,
(errmsg("TD[\"new\"] is not a dictionary")));
- Py_INCREF(plntup);
plkeys = PyDict_Keys(plntup);
natts = PyList_Size(plkeys);
for (i = 0; i < natts; i++)
{
+ PyObject *platt;
char *plattstr;
platt = PyList_GetItem(plkeys, i);
Py_XDECREF(plntup);
Py_XDECREF(plkeys);
Py_XDECREF(plval);
- Py_XDECREF(plstr);
if (modnulls)
pfree(modnulls);