---------- CREATE TABLE public.test ( my_column varchar NOT NULL, CONSTRAINT my_primary PRIMARY KEY (my_column) ) WITHOUT OIDS; ----------- CREATE TABLE public.ref_test ( my_column varchar[] ) WITH OIDS; ----------- CREATE FUNCTION public."t-f_ref_test"() RETURNS trigger AS 'BEGIN FOR i IN 1..30 LOOP IF NEW."my_column"[i] not in (select "my_column" from public.test) THEN RAISE EXCEPTION \'error: my_column[] --> test.my_column \'; END IF; END LOOP; RETURN NEW; END;' LANGUAGE 'plpgsql' VOLATILE; ---------- CREATE TRIGGER t_ref_test BEFORE INSERT OR UPDATE ON public.ref_test FOR EACH ROW EXECUTE PROCEDURE public."t-f_ref_test"(); ---------- insert into test values (' here \"some_text\" '); ---------- insert into ref_test values (' {here \"some_text\"} ');
But here postgres answers: error: my_column[] --> test.my_column.
So I think this exception should not appear here and this is bug.
Instead I can only insert:
--
insert into ref_test values (' {here \\"some_text\\"} '); -- but this is not exactly that i want to have.
--
Without "" in row of public.test - all works fine, but its important for me to use "" in my templates (database public.test).
---------------------------(end of broadcast)--------------------------- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to majordomo@postgresql.org so that your message can get through to the mailing list cleanly