*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/executor/execMain.c,v 1.44 1998/02/26 04:31:09 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/executor/execMain.c,v 1.45 1998/02/27 08:43:52 vadim Exp $
*
*-------------------------------------------------------------------------
*/
#include "catalog/heap.h"
#include "commands/trigger.h"
+void
+ExecCheckPerms(CmdType operation, int resultRelation, List *rangeTable,
+ Query *parseTree);
/* decls for local routines only used within this module */
-static void
-ExecCheckPerms(CmdType operation, int resultRelation, List *rangeTable,
- Query *parseTree);
static TupleDesc
InitPlan(CmdType operation, Query *parseTree,
Plan *plan, EState *estate);
BufferRefCountRestore(estate->es_refcount);
}
-/* ===============================================================
- * ===============================================================
- static routines follow
- * ===============================================================
- * ===============================================================
- */
-
-static void
+void
ExecCheckPerms(CmdType operation,
int resultRelation,
List *rangeTable,
}
}
+/* ===============================================================
+ * ===============================================================
+ static routines follow
+ * ===============================================================
+ * ===============================================================
+ */
+
/* ----------------------------------------------------------------
* InitPlan
*
* ----------------------------------------------------------------
*/
+extern void ExecCheckPerms(CmdType op, int resRel, List *rtable, Query *q);
bool
ExecInitSubPlan(SubPlan *node, EState *estate, Plan *parent)
{
EState *sp_estate = CreateExecutorState();
+ ExecCheckPerms (CMD_SELECT, 0, node->rtable, (Query*) NULL);
+
sp_estate->es_range_table = node->rtable;
sp_estate->es_param_list_info = estate->es_param_list_info;
sp_estate->es_param_exec_vals = estate->es_param_exec_vals;