Thread: fail to compare between bytea output in

fail to compare between bytea output in

From
"Peter Wang"
Date:
I have a function and am using cursor. All the columns I select in the cursor clause are BYTEA datatype.

I need to compare the after-fetch-value for two BYTEA columns which is temp2 and temp3 shown as below.
I don't think I can compare it because there is no record in temp table which I use for debug purpose.

Does anyone  know how to compare the after-fetched-value for two BYTEA datatype in pgsql's function?



CREATE OR REPLACE FUNCTION pa_revision(INT4, INT4)
RETURNS INTEGER AS '
DECLARE
i_ages ALIAS FOR $1;
i_devs ALIAS FOR $2;

cur1 CURSOR FOR
SELECT a.device_id, a.baseline_revision_id, b.revision_id, b.operational_device_id  <<--------- All BYTEA datatype
FROM cm_device a, cm_revision b
WHERE a.device_id = b.operational_device_id
AND current_date - b.creation_date > i_ages;

temp1 cm_device.device_id%TYPE;
temp2 cm_device.baseline_revision_id%TYPE;
temp3 cm_revision.revision_id%TYPE;
temp4 cm_revision.operational_device_id%TYPE;
temp5 INT4;
BEGIN
OPEN cur1;
LOOP
    FETCH cur1 INTO temp1, temp2, temp3, temp4;
    IF NOT FOUND
    THEN
        RETURN 1;
    END IF;

IF temp2 <> temp3 THEN   <<-------------------------------- How can I compare the value of BYTEA datatype ?
    SELECT count(*)
    INTO temp5
    FROM cm_revision
    WHERE operational_device_id = temp4;

 insert into temp values (temp5);
    .........
    END IF;
END IF;

END LOOP;
CLOSE cur1;
RETURN 0;
END;
' LANGUAGE 'plpgsql';