When writing some serverside code I ran into an oddity that I managed to boil down to this:
------------------------------------------------------- create or replace function fubar() returns varchar as ' declare l integer; begin l = 38; if l < 38 then return ''< 38''; elseif l >= 38 then return ''>= 38''; else return ''this is not possible''; end if; end;' language 'plpgsql'; -------------------------------------------------------
But I can't understand or solve it. The function always returns 'this is not possible'. Can someone tell me what I'm overlooking? Thanks!
Documentation says you should use "elsif" rather than "elseif". In your case everything between "return <38" and "else" is discarded as unreachable code. The same sense will have function below:
create or replace function fubar() returns varchar as ' declare l integer; begin l = 38; if l < 38 then return ''< 38''; bleblbebleblebe sfdsdf; nothing special; else return ''this is not possible''; end if; end;' language 'plpgsql'; select fubar();
Regards, Tomasz Myrta
---------------------------(end of broadcast)--------------------------- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly