Project

General

Profile

« Previous | Next » 

Revision 12595

schemas/util.sql: create_if_not_exists(): also support `CREATE FUNCTION` (by handling duplicate_function exceptions)

View differences:

trunk/schemas/util.sql
932 932
    LANGUAGE plpgsql STRICT
933 933
    AS $$
934 934
BEGIN
935
    PERFORM util.eval(sql);
935
	PERFORM util.eval(sql);
936 936
EXCEPTION
937
    WHEN duplicate_table  THEN NULL;
938
    WHEN duplicate_object THEN NULL; -- e.g. constraint
939
    WHEN duplicate_column THEN NULL;
940
    WHEN invalid_table_definition THEN
941
        IF SQLERRM LIKE 'multiple primary keys for table % are not allowed' THEN NULL;
942
        ELSE RAISE;
943
        END IF;
937
WHEN duplicate_table THEN NULL;
938
WHEN duplicate_object THEN NULL; -- e.g. constraint
939
WHEN duplicate_column THEN NULL;
940
WHEN duplicate_function THEN NULL;
941
WHEN invalid_table_definition THEN
942
	IF SQLERRM LIKE 'multiple primary keys for table % are not allowed' THEN NULL;
943
	ELSE RAISE;
944
	END IF;
944 945
END;
945 946
$$;
946 947

  

Also available in: Unified diff