feat(export): add target-presence segment with existing.zip and missing.zip#143
Merged
Merged
Conversation
…ng.zip Extend schema-tracking export with a fourth parallel segment that classifies every tracked change (I/U/D + primary key) against the sync target database. Jobs now produce response/existing.zip and response/missing.zip alongside the existing updated/inserted/deleted segment ZIPs. result.json and job status APIs expose existingZipSasUri and missingZipSasUri (nullable for older results). - Add TargetPresence export segment, queue constants, and ProcessExportJobQueues handlers (process, done, error) wired like the three source-based segments - Track TargetPresenceDone on export job table entities and list/status models - Dispatch target-presence work from the main export job fan-out - Finalize jobs only when all four segments complete; require both new ZIP blobs before writing result.json with SAS URIs - Add GetChangeTrackingExportChangeOperationAndPrimaryKeysSelectStatement for CHANGETABLE rows with changeOperation and pk_c0..pk_cN aliases - Implement ProcessTargetPresenceSegmentAsync: stream changes from source, batch (200) PKs into #ExportPkBatch on target via SqlBulkCopy, run paired INNER JOIN / LEFT OUTER JOIN queries for existing vs missing rows, stream compact camelCase JSON into paired ZIP archives - Add SchemaTrackingExportTargetPresenceZipWriter for existing.json / missing.json array entries inside each ZIP - Document target-presence outputs and SAS fields in README
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Extend schema-tracking export with a fourth parallel segment that classifies every tracked change (I/U/D + primary key) against the sync target database. Jobs now produce response/existing.zip and response/missing.zip alongside the existing updated/inserted/deleted segment ZIPs. result.json and job status APIs expose existingZipSasUri and missingZipSasUri (nullable for older results).