|
343 | 343 | }, |
344 | 344 | "annotations": [ |
345 | 345 | ], |
346 | | - "lastPublishTime": "2023-01-20T06:39:09Z" |
| 346 | + "lastPublishTime": "2023-01-24T04:46:20Z" |
347 | 347 | }, |
348 | 348 | "dependsOn": [ |
349 | 349 | "[concat(variables('factoryId'), '/datasets/DataverseToSQLDestination')]", |
|
1088 | 1088 | }, |
1089 | 1089 | "annotations": [ |
1090 | 1090 | ], |
1091 | | - "lastPublishTime": "2022-10-28T09:11:04Z" |
| 1091 | + "lastPublishTime": "2023-01-24T04:46:20Z" |
1092 | 1092 | }, |
1093 | 1093 | "dependsOn": [ |
1094 | 1094 | "[concat(variables('factoryId'), '/datasets/OptionsetMetadataSourceDataset')]", |
|
1321 | 1321 | }, |
1322 | 1322 | "annotations": [ |
1323 | 1323 | ], |
1324 | | - "lastPublishTime": "2022-10-24T08:17:40Z" |
| 1324 | + "lastPublishTime": "2023-01-24T04:46:20Z" |
1325 | 1325 | }, |
1326 | 1326 | "dependsOn": [ |
1327 | 1327 | "[concat(variables('factoryId'), '/datasets/modelJson')]", |
|
1481 | 1481 | }, |
1482 | 1482 | { |
1483 | 1483 | "name": "SelectDeleteLogColumns" |
| 1484 | + }, |
| 1485 | + { |
| 1486 | + "name": "FilterMaxVersion" |
1484 | 1487 | } |
1485 | 1488 | ], |
1486 | 1489 | "scriptLines": [ |
|
1503 | 1506 | " dateFormats: ['MM/dd/yyyy','yyyy-MM-dd'],", |
1504 | 1507 | " timestampFormats: ['MM/dd/yyyy hh:mm:ss a','yyyy-MM-dd\\'T\\'HH:mm:ss.SSS\\'Z\\'','yyyy-MM-dd\\'T\\'HH:mm:ss\\'Z\\'','MM/dd/yyyy HH:mm:ss','yyyy-MM-dd\\'T\\'HH:mm:ss']) ~> CDMEntity", |
1505 | 1508 | "source(output(", |
1506 | | - " maxversion as integer", |
| 1509 | + " maxversion as long", |
1507 | 1510 | " ),", |
1508 | 1511 | " allowSchemaDrift: true,", |
1509 | 1512 | " validateSchema: false,", |
1510 | 1513 | " format: 'query',", |
1511 | 1514 | " store: 'sqlserver',", |
1512 | | - " query: (\"select max(versionnumber) as maxversion from \" + $dbschema + \".\" + $prefix + $entity ),", |
| 1515 | + " query: (\"SELECT COALESCE(MAX(versionnumber),0) AS maxversion FROM \" + $dbschema + \".\" + $prefix + $entity ),", |
1513 | 1516 | " isolationLevel: 'READ_UNCOMMITTED') ~> getMaxVersion", |
1514 | 1517 | "CDMEntity derive(Id = toString(byName(\"Id\")),", |
1515 | 1518 | " versionnumber = toLong(byName(\"versionnumber\")),", |
1516 | 1519 | " IsDelete = toBoolean(byName(\"IsDelete\")),", |
1517 | 1520 | " SinkModifiedOn = toTimestamp(byName(\"SinkModifiedOn\"))) ~> IdentifyColumns", |
1518 | | - "FilterFolders alterRow(deleteIf(IsDelete==true()),", |
| 1521 | + "FilterMaxVersion alterRow(deleteIf(IsDelete==true()),", |
1519 | 1522 | " upsertIf(isNull(IsDelete)||IsDelete==false())) ~> AlterRow", |
1520 | 1523 | "IdentifyColumns window(over(Id),", |
1521 | 1524 | " desc(Id, false),", |
|
1528 | 1531 | " matchType:'exact',", |
1529 | 1532 | " ignoreSpaces: false,", |
1530 | 1533 | " broadcast: 'right')~> FilterFolders", |
1531 | | - "FilterFolders filter(IsDelete==true()) ~> FilterDeletedRows", |
| 1534 | + "FilterMaxVersion filter(IsDelete==true()) ~> FilterDeletedRows", |
1532 | 1535 | "FilterDeletedRows derive(EntityName = $entity) ~> AddEntityName", |
1533 | 1536 | "AddEntityName select(mapColumn(", |
1534 | 1537 | " EntityName,", |
|
1538 | 1541 | " ),", |
1539 | 1542 | " skipDuplicateMapInputs: false,", |
1540 | 1543 | " skipDuplicateMapOutputs: true) ~> SelectDeleteLogColumns", |
| 1544 | + "FilterFolders filter(versionnumber>toLong(maxversion)) ~> FilterMaxVersion", |
1541 | 1545 | "AlterRow sink(allowSchemaDrift: true,", |
1542 | 1546 | " validateSchema: false,", |
1543 | 1547 | " format: 'table',", |
|
0 commit comments