HeapTuple   tuple;
    Oid         funcoid;
    Oid         funcrettype;
+   Oid         fargtypes[1];   /* dummy */
    Oid         evtowner = GetUserId();
    ListCell   *lc;
    List       *tags = NULL;
                        stmt->trigname)));
 
    /* Find and validate the trigger function. */
-   funcoid = LookupFuncName(stmt->funcname, 0, NULL, false);
+   funcoid = LookupFuncName(stmt->funcname, 0, fargtypes, false);
    funcrettype = get_func_rettype(funcoid);
    if (funcrettype != EVTTRIGGEROID)
        ereport(ERROR,
 
 lookup_fdw_handler_func(DefElem *handler)
 {
    Oid         handlerOid;
+   Oid         funcargtypes[1];    /* dummy */
 
    if (handler == NULL || handler->arg == NULL)
        return InvalidOid;
 
    /* handlers have no arguments */
-   handlerOid = LookupFuncName((List *) handler->arg, 0, NULL, false);
+   handlerOid = LookupFuncName((List *) handler->arg, 0, funcargtypes, false);
 
    /* check that handler has correct return type */
    if (get_func_rettype(handlerOid) != FDW_HANDLEROID)
 
    FuncCandidateList raw_candidates;
    FuncCandidateList best_candidate;
 
+   /* Passing NULL for argtypes is no longer allowed */
+   Assert(argtypes);
+
    /* initialize output arguments to silence compiler warnings */
    *funcid = InvalidOid;
    *rettype = InvalidOid;
 {
    FuncCandidateList clist;
 
+   /* Passing NULL for argtypes is no longer allowed */
+   Assert(argtypes);
+
    clist = FuncnameGetCandidates(funcname, nargs, NIL, false, false, noError);
 
    while (clist)
 
    SysScanDesc tgscan;
    int         findx = 0;
    char       *tgname;
+   Oid         argtypes[1];    /* dummy */
    Datum       value;
    bool        isnull;
 
 
    appendStringInfo(&buf, "EXECUTE PROCEDURE %s(",
                     generate_function_name(trigrec->tgfoid, 0,
-                                           NIL, NULL,
+                                           NIL, argtypes,
                                            false, NULL, EXPR_KIND_NONE));
 
    if (trigrec->tgnargs > 0)