Re: Why doesn't this pgsql function compile? - Mailing list pgsql-sql

From Joe Conway
Subject Re: Why doesn't this pgsql function compile?
Date
Msg-id 005101c0f5ec$83f56b80$d7d310ac@jecw2k1
Whole thread Raw
In response to Why doesn't this pgsql function compile?  (Larry Rosenman <ler@lerctr.org>)
List pgsql-sql
> When this PLpgsql function gets called on the trigger
> it fails compilation on the last line.
>
> What am I doing wrong?
>
>

<snip>

>     IF TG_OP = ''INSERT''
>     THEN add_ip_route(host(network(NEW.netblock)),
>                       host(netmask(NEW.netblock)),
>                       get_router_ethernet(NEW.router),
>                       get_router_nexthop(NEW.router),
>                       get_router_nexthop_user(NEW.router),
>                       get_router_nexthop_password(NEW.router),
>                       get_router_nexthop_enpass(NEW,router));
>          return NEW;
>     END IF;

Don't you need a "PERFORM" between the "THEN" and "add_ip_route(. . ." above
(and similar places below)?

-- Joe

>    IF TG_OP = ''DELETE''
>    THEN del_ip_route(host(network(OLD.netblock)),
>                      host(netmask(OLD.netblock)),
>                      get_router_ethernet(OLD.router),
>                      get_router_nexthop(OLD.router),
>                      get_router_nexthop_user(OLD.router),
>                      get_router_nexthop_password(OLD.router),
>                      get_router_nexthop_enpass(OLD,router));
>         return OLD;
>    -- TG_OP must be UPDATE to get here....
>    IF OLD.router NOTNULL and get_router_nexthop(OLD.router) NOTNULL
>       AND NEW.router NOTNULL and OLD.router != NEW.router
>    THEN del_ip_route(host(network(OLD.netblock)),
>                      host(netmask(OLD.netblock)),
>                      get_router_ethernet(OLD.router),
>                      get_router_nexthop(OLD.router),
>                      get_router_nexthop_user(OLD.router),
>                      get_router_nexthop_password(OLD.router),
>                      get_router_nexthop_enpass(OLD,router));
>     END IF;
>     IF NEW.router NOTNULL and get_router_nexthop(NEW.router) NOTNULL
>     THEN add_ip_route(host(network(NEW.netblock)),
>                      host(netmask(NEW.netblock)),
>                      get_router_ethernet(NEW.router),
>                      get_router_nexthop(NEW.router),
>                      get_router_nexthop_user(NEW.router),
>                      get_router_nexthop_password(NEW.router),
>                      get_router_nexthop_enpass(NEW,router));
>     END IF;
>     return NEW;
>    END;'
> LANGUAGE 'plpgsql';





pgsql-sql by date:

Previous
From: Larry Rosenman
Date:
Subject: Re: Why doesn't this pgsql function compile?
Next
From: Larry Rosenman
Date:
Subject: Re: Why doesn't this pgsql function compile?