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