BUG #1329: Bug in IF-ELSEIF-ELSE construct

PostgreSQL Bugs List <pgsql-bugs@postgresql.org>

From: "PostgreSQL Bugs List" <pgsql-bugs@postgresql.org>
To: pgsql-bugs@postgresql.org
Date: 2004-11-26T11:14:29Z
Lists: pgsql-bugs
The following bug has been logged online:

Bug reference:      1329
Logged by:          Rico Wind

Email address:      rw@rico-wind.dk

PostgreSQL version: 8.0 Beta

Operating system:   Windows XP, SP2

Description:        Bug in IF-ELSEIF-ELSE construct

Details: 

Beta 1.
The following always returns 4:

IF from_date_param=period_begin AND until_date_param=period_end 
THEN
	return 1;
ELSEIF from_date_param=period_begin
THEN
	return 2;
ELSEIF until_date_param=period_end
THEN
	return 3;
ELSE
	return 4;
END IF;

Whereas the following returns the right answer(not 4 each time). They should 
be the same. 
IF from_date_param=period_begin AND until_date_param=period_end
THEN
	return 1;
ELSE
	IF from_date_param = period_begin
	THEN
		return 2;
	END IF;
	
	IF until_date_param=period_end
	THEN
		return 3;
	END IF;
END IF;
RETURN 4;