Breaking changes to SyncAdapterBuilder in CTP2 RRS feed

  • Question

  • I have noticed a breaking change in CTP1->CTP2 of the V2 framework that is causing a problem in the SyncAdapterBuilder. When we use a FilterClause on a SyncAdapterBuilder and then execute the ToSyncAdapter method, the result is different in CTP2 compared to CTP1. In CTP1 the filter is applied to the initial fetch of data whereas in CTP2 the whole database is fetched., a huge waste of bandwidth.

    This is what is produced in the SelectIncrementalInsertsCommand. Note the lack of the WHERE clause in @sync_initalized = 0 section. Is this a bug and if not why would you want to pull down the whole database on initalization? Is there a new property on the SyncAdapterBuilder to allow filtering the initial download of data?

    IF @sync_initialized = 0 SELECT [Bookings].[Ref], [Status] FROM [Bookings] ELSE  BEGIN SELECT [Bookings].[Ref], [Status] FROM [Bookings] JOIN CHANGETABLE(CHANGES [Bookings], @sync_last_received_anchor) CT ON CT.[Ref] = [Bookings].[Ref] WHERE (UserRef=@UserRef AND Status < 7) .......
    Brett Styles
    Tuesday, August 4, 2009 1:44 PM