
[dbo].[checkIfUpgradeRequired2]
CREATE PROCEDURE [dbo].[checkIfUpgradeRequired2]
(
@objectType varchar(30),
@objectName varchar(100),
@patch_timestamp nvarchar(30),
@patch_version nvarchar(10),
@errorCodeVal int OUTPUT
)
AS
BEGIN
SET NOCOUNT ON;
PRINT 'checkIfUpgradeRequired ' +
@objectType + ', ' +
@objectName + ', ' +
@patch_timestamp + ', ' +
@patch_version
declare @sit_timestamp nvarchar(30), @sit_version nvarchar(10)
if (CHARINDEX('.xml', @objectName) = 0)
set @objectName = @objectName + '.xml'
select @sit_timestamp = FileTimestamp, @sit_version = FileVersion
from mdb_schema_information
where lower(FileName)=lower(@objectName) and FileType=@objectType
if (@sit_timestamp is NOT NULL)
BEGIN
if (@sit_version < @patch_version or
(@sit_version = @patch_version and dbo.compare_timestamp(@sit_timestamp, @patch_timestamp) = 0))
begin
PRINT 'Upgrade ' + @objectName + ' is required. SIT version is older.';
set @errorCodeVal = 1
RETURN
end
else
begin
PRINT 'Upgrade ' + @objectName + ' is NOT required. SIT version is equal or newer.';
set @errorCodeVal = 0
RETURN
end
END
set @errorCodeVal = 1
PRINT @objectName + ' is NOT in SIT'
END
GO