Tom Lane wrote:
What I think we'd need to have a complete solution is convert(text, name) returns bytea -- convert from DB encoding to arbitrary encoding convert(bytea, name, name) returns bytea -- convert between any two encodings convert(bytea, name) returns text -- convert from arbitrary encoding to DB encoding The second and third would need to do a verify step before converting, of course.
Here's a patch that implements the above. It actually does the verify step for all three cases - if that bothers people I can remove it at the cost of a little code complexity.
It also fixes the "convert ... using ..." case in a similar way (makes it return a bytea).
On reflection I think we also need to provide length(bytea, name) as has been suggested, so we can check the length in the foreign encoding of a bytea we have converted this way. That shouldn't be too difficult to add.
cheers andrew ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster