If I have an expression (a or b)a where a=TRUE and b=FALSE, why is b
evaluated?  Any true operand before an or operator means the entire
expression is true .

 

---------------------------- EXAMPLE

create or replace function pinsusers() returns trigger as

$$

declare msg varchar;

begin

            --THROWS EXCEPTION when ((TG_OP = 'INSERT') is TRUE "record old
is not assigned yet"

            msg = ((TG_OP = 'INSERT') or (new.password<>old.password));

            raise exception '%',msg;

            return new;

end

$$ language plpgsql;

------------------------------------------------------

 

TY :-)

Reply via email to