From: Hannu Krosing on 2 Jan 2010 17:21 It is possible to get an invalid byte sequence into a text field via pl, in this case pl/perl : ---8<------8<------8<------8<------8<------8<--- CREATE TABLE utf_test ( id serial PRIMARY KEY, data character varying ); CREATE OR REPLACE FUNCTION invalid_utf_seq() RETURNS character varying AS $BODY$ return "\xd0"; $BODY$ LANGUAGE 'plperlu' VOLATILE STRICT; insert into utf_test(data) values(invalid_utf_seq()); ---8<------8<------8<------8<------8<------8<--- This results in a table, which has invalid utf sequence in it and consequently does not pass dump/load What would be the best place to fix this ? Should there be checks in all text types ? (probably too expensive) Or should pl/perl check it's return values for compliance with server_encoding ? Or should postgresql itself check that pl-s return what they promise to return ? -- Hannu Krosing http://www.2ndQuadrant.com PostgreSQL Scalability and Availability Services, Consulting and Training -- Sent via pgsql-hackers mailing list (pgsql-hackers(a)postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
|
Pages: 1 Prev: [HACKERS] psql tab completion for DO blocks Next: invalid UTF-8 via pl/perl |