The following bug has been logged online:
Bug reference: 2847
Logged by: Sandip
Email address: sandip@singapore.com
PostgreSQL version: 8.1
Operating system: Windows XP
Description: Bug with IN statement
Details:
this is my function:
CREATE OR REPLACE FUNCTION sp_get_phase(character varying, character
varying, character varying)
RETURNS ret_dv_sp_get_phase AS
$BODY$
SELECT BOOK_NO, USER_ID, COMPANY_ID, PHASE, UPDATE_USER_ID,
UPDATE_DATE,
AddInfo1, AddInfo2
FROM T_PHASE
WHERE (USER_ID = $1) AND (COMPANY_ID = $2) AND BOOK_NO IN ($3)
$BODY$
LANGUAGE 'sql' VOLATILE;
When I run
select * from sp_get_phase ('sandip', 'oms', '4') returns 1
record.....this works fine....
select * from sp_get_phase ('sandip', 'oms', '1') returns 1 record.....this
also works fine... BUT
select * from sp_get_phase ('sandip', 'oms', '1,4') this return a Blank
record.
I tried to execute the SQL statement from the function
SELECT BOOK_NO, USER_ID, COMPANY_ID, PHASE, UPDATE_USER_ID,
UPDATE_DATE,
AddInfo1, AddInfo2
FROM T_PHASE
WHERE (USER_ID = 'testUser') AND (COMPANY_ID = 'testCompany') AND
BOOK_NO IN (1,4)
----- This Works fine... returns 2 records. What may be the problem?
Thanks in advance.
Regards,
Sandip.