False differences on function with XML column
frederic boyer
Posts: 2
SQL Compare 7 shows me a difference on a function with XML column with a XML schema collection. In the detail pane (the one at the bottom with the SQL statement), everything is identical, no differences are highlighted. However the function is flagged as different. I synchronize and the difference is still present.
When I change the XML column to remove the XML schema collection, and synchronize again, the function become identical. It seems that SQL Compare find false difference on XML column with XML Schema collection.
I didn't find any workaround or solution and every time I synchronize my databases, those function are always flagged as different (even if they are identical)
By the way, it's a function calling an .net assembly
Here is my function:
CREATE FUNCTION [ProductionResponse].[GetPRValuesByEndPeriod] (@query [xml] (CONTENT [ProductionResponse].[PRQueryXml]), @calendarID [int], @nbrPeriod [int], @periodType [nvarchar] (50), @gregorianEndDate [datetime])
RETURNS TABLE (
[code] [nvarchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[name] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[date] [datetime] NULL,
[value] [float] NULL,
[valueUomCode] [nvarchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[TRStatus] [int] NULL,
[LOLO] [float] NULL,
[LO] [float] NULL,
[target] [float] NULL,
[HI] [float] NULL,
[HIHI] [float] NULL,
[isManualData] [bit] NULL,
[originalValue] [float] NULL,
[manualDataComment] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL)
WITH EXECUTE AS CALLER
EXTERNAL NAME [Keops.Mes.SqlServer.ProductionResponse].[UserDefinedFunctions].[GetPRValuesByEndPeriod]
GO
Regards,
When I change the XML column to remove the XML schema collection, and synchronize again, the function become identical. It seems that SQL Compare find false difference on XML column with XML Schema collection.
I didn't find any workaround or solution and every time I synchronize my databases, those function are always flagged as different (even if they are identical)
By the way, it's a function calling an .net assembly
Here is my function:
CREATE FUNCTION [ProductionResponse].[GetPRValuesByEndPeriod] (@query [xml] (CONTENT [ProductionResponse].[PRQueryXml]), @calendarID [int], @nbrPeriod [int], @periodType [nvarchar] (50), @gregorianEndDate [datetime])
RETURNS TABLE (
[code] [nvarchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[name] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[date] [datetime] NULL,
[value] [float] NULL,
[valueUomCode] [nvarchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[TRStatus] [int] NULL,
[LOLO] [float] NULL,
[LO] [float] NULL,
[target] [float] NULL,
[HI] [float] NULL,
[HIHI] [float] NULL,
[isManualData] [bit] NULL,
[originalValue] [float] NULL,
[manualDataComment] [nvarchar] (max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL)
WITH EXECUTE AS CALLER
EXTERNAL NAME [Keops.Mes.SqlServer.ProductionResponse].[UserDefinedFunctions].[GetPRValuesByEndPeriod]
GO
Regards,