@@ -1219,7 +1219,28 @@ async function selectAttributeMappingsByPackageIds(db, packageIds) {
1219
1219
C1.NAME AS C1_NAME,
1220
1220
C2.CODE AS C2_CODE,
1221
1221
COALESCE(C2.MANUFACTURER_CODE, 0) AS C2_MANUFACTURER_CODE,
1222
- C2.NAME AS C2_NAME
1222
+ C2.NAME AS C2_NAME,
1223
+ ROW_NUMBER() OVER (
1224
+ PARTITION BY C1.CODE, COALESCE(C1.MANUFACTURER_CODE, 0), C2.CODE, COALESCE(C2.MANUFACTURER_CODE, 0)
1225
+ ORDER BY C1.CODE, COALESCE(C1.MANUFACTURER_CODE, 0), C2.CODE, COALESCE(C2.MANUFACTURER_CODE, 0)
1226
+ ) AS CLUSTER_MAPPING_INDEX,
1227
+ COUNT(*) OVER (
1228
+ PARTITION BY C1.CODE, COALESCE(C1.MANUFACTURER_CODE, 0), C2.CODE, COALESCE(C2.MANUFACTURER_CODE, 0)
1229
+ ) AS TOTAL_CLUSTER_MAPPED_ATTRIBUTES,
1230
+ CASE
1231
+ WHEN
1232
+ (
1233
+ RANK() OVER (
1234
+ ORDER BY C1.CODE, COALESCE(C1.MANUFACTURER_CODE, 0), C2.CODE, COALESCE(C2.MANUFACTURER_CODE, 0)
1235
+ )
1236
+ +
1237
+ COUNT(*) OVER (
1238
+ PARTITION BY C1.CODE, COALESCE(C1.MANUFACTURER_CODE, 0), C2.CODE, COALESCE(C2.MANUFACTURER_CODE, 0)
1239
+ )
1240
+ ) > COUNT(*) OVER ()
1241
+ THEN 1
1242
+ ELSE 0
1243
+ END AS IS_LAST_CLUSTER_PARTITION
1223
1244
FROM
1224
1245
ATTRIBUTE_MAPPING
1225
1246
INNER JOIN
@@ -1242,7 +1263,7 @@ async function selectAttributeMappingsByPackageIds(db, packageIds) {
1242
1263
A1.PACKAGE_REF IN (${ dbApi . toInClause ( packageIds ) } )
1243
1264
OR
1244
1265
A2.PACKAGE_REF IN (${ dbApi . toInClause ( packageIds ) } )
1245
-
1266
+ ORDER BY C1_CODE, C1_MANUFACTURER_CODE, C2_CODE, C2_MANUFACTURER_CODE, A1_CODE, A1_MANUFACTURER_CODE, A2_CODE, A2_MANUFACTURER_CODE
1246
1267
`
1247
1268
)
1248
1269
return rows . map ( dbMapping . map . attributeMapping )
0 commit comments