-- -- content_type__create_type/7 -- create or replace function content_type__create_type( character varying, character varying, character varying, character varying, character varying, character varying, character varying ) returns int4 as $$ declare create_type__content_type alias for $1; create_type__supertype alias for $2; -- default 'content_revision' create_type__pretty_name alias for $3; create_type__pretty_plural alias for $4; create_type__table_name alias for $5; create_type__id_column alias for $6; -- default 'XXX' create_type__name_method alias for $7; -- default null v_temp_p boolean; v_supertype_table acs_object_types.table_name%TYPE; begin if (create_type__supertype <> 'content_revision') and (create_type__content_type <> 'content_revision') then select count(*) > 0 into v_temp_p from acs_object_type_supertype_map where object_type = create_type__supertype and ancestor_type = 'content_revision'; if not v_temp_p then raise EXCEPTION '-20000: supertype % must be a subtype of content_revision', create_type__supertype; end if; end if; select count(*) = 0 into v_temp_p from pg_class where relname = lower(create_type__table_name); PERFORM acs_object_type__create_type ( create_type__content_type, create_type__pretty_name, create_type__pretty_plural, create_type__supertype, create_type__table_name, create_type__id_column, null, 'f', null, create_type__name_method, v_temp_p, 'f' ); PERFORM content_type__refresh_view(create_type__content_type); return 0; end;$$ language plpgsql;