[SQL] BYTEA output presentation

2004-07-16 Thread Peter Wang

I output the BYTEA datatype for a table in our database.
The BYTEA data look like "/031/024/001/003?/022/". 
How can I use some PostgreSQL function to remove "/" when I use select statement ?
What type of format is the BYTEA datatype? Can I output it to hexadecimal or octal 
format ? If you can, how ? 
Or do you know any third party tool or script which can output the hexadecimal or 
octal format for PostgreSQL's BYTEA datatype ? 
Your help is appreciated. Thank you. 



Peter Wang,

---(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


[SQL] fail to compare between bytea output in plpgsql

2004-07-20 Thread Peter Wang

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';


---(end of broadcast)---
TIP 9: the planner will ignore your desire to choose an index scan if your
  joining column's datatypes do not match