*
* 1999 Jan Wieck
*
- * $Header: /cvsroot/pgsql/src/backend/utils/adt/ri_triggers.c,v 1.18 2000/11/16 22:30:31 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/adt/ri_triggers.c,v 1.19 2000/11/21 04:01:09 inoue Exp $
*
* ----------
*/
qplan = SPI_saveplan(qplan);
ri_HashPreparedPlan(&qkey, qplan);
}
- heap_close(pk_rel, NoLock);
/* ----------
* Execute the plan
elog(NOTICE, "SPI_connect() failed in RI_FKey_check()");
SetUserId(RelationGetForm(pk_rel)->relowner);
+ /* pk_rel is no longer neede OK ? */
+ heap_close(pk_rel, NoLock);
if (SPI_execp(qplan, check_values, check_nulls, 1) != SPI_OK_SELECT)
elog(ERROR, "SPI_execp() failed in RI_FKey_check()");
*/
break;
}
- heap_close(pk_rel, NoLock);
/* ----------
* Note:
*/
SetUserId(RelationGetForm(pk_rel)->relowner);
+ /* pk_rel is no longer needed OK ? */
+ heap_close(pk_rel, NoLock);
if (SPI_execp(qplan, check_values, check_nulls, 1) != SPI_OK_SELECT)
elog(ERROR, "SPI_execp() failed in RI_FKey_check()");
*/
break;
}
- heap_close(fk_rel, NoLock);
if (SPI_connect() != SPI_OK_CONNECT)
elog(NOTICE, "SPI_connect() failed in RI_FKey_setdefault_del()");
}
}
}
+ /* fk_rel is no longer needed OK ? */
+ heap_close(fk_rel, NoLock);
/* ----------
* We have a plan now. Build up the arguments for SPI_execp()
*/
break;
}
- heap_close(fk_rel, NoLock);
/* ----------
* No need to do anything if old and new keys are equal
}
}
}
+ /* fk_rel is no longer needed OK ? */
+ heap_close(fk_rel, NoLock);
/* ----------
* We have a plan now. Build up the arguments for SPI_execp()