On Tue, 2007-09-11 at 14:48 -0400, Tom Lane wrote: > Jeff Davis <[EMAIL PROTECTED]> writes: > > On Mon, 2007-09-10 at 23:20 -0400, Tom Lane wrote: > >> It might work the way you are expecting if the database uses SQL_ASCII > >> encoding and C locale --- and I'd be fine with allowing convert() only > >> when the database encoding is SQL_ASCII. > > > I prefer this option. > > I think really the technically cleanest solution would be to make > convert() return bytea instead of text; then we'd not have to put > restrictions on what encoding or locale it's working inside of. > However, it's not clear to me whether there are valid usages that > that would foreclose. Tatsuo mentioned length() but bytea has that.
Once it's in bytea, you can make operators to achieve the old functionality. If I understood correctly, he was making a backwards compatibility argument, not a functionality argument. I can't think of a problem without a workaround, but maybe there are some. > 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. > I like it. Regards, Jeff Davis ---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives? http://archives.postgresql.org