UFN_QUERYVIEWADDATTRIBUTEEXTENSIONPROCESS_ISNEEDED

Return

Return Type
bit

Definition

Copy


        CREATE function dbo.UFN_QUERYVIEWADDATTRIBUTEEXTENSIONPROCESS_ISNEEDED()
        returns bit
        with execute as caller
        as begin
            declare @LASTATTRIBUTEUPDATETIME datetime = (
                select top 1
                    DATECHANGED
                from dbo.ATTRIBUTECATEGORY
                where ISLISTBUILDERATTRIBUTE = 1
                or FLAGGEDFOREXTENSIONREMOVAL = 1
                order by DATECHANGED desc
            );

            -- No attributes for list builder consumption, nothing to do

            if @LASTATTRIBUTEUPDATETIME is null
                return 0;

            declare @LASTQUERYVIEWUPDATETIME datetime = (
                select top 1
                    DATECHANGED
                from dbo.QUERYVIEWCATALOG
                where ALLOWATTRIBUTEEXTENSION = 1
                order by DATECHANGED desc
            );

            -- No query view specs consuming attributes, nothing to do

            if @LASTQUERYVIEWUPDATETIME is null
                return 0;

            declare @LASTRUNTIME datetime = (
                select top 1
                    DATECHANGED
                from dbo.QUERYVIEWEXTENSIONCATALOG
                where ISATTRIBUTEEXTENSION = 1
                order by DATECHANGED asc
            );

            if @LASTRUNTIME is null or @LASTRUNTIME < @LASTATTRIBUTEUPDATETIME or @LASTRUNTIME < @LASTQUERYVIEWUPDATETIME
                return 1;

            return 0;
        end