@@ -1219,7 +1219,28 @@ async function selectAttributeMappingsByPackageIds(db, packageIds) {
12191219 C1.NAME AS C1_NAME,
12201220 C2.CODE AS C2_CODE,
12211221 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
12231244 FROM
12241245 ATTRIBUTE_MAPPING
12251246 INNER JOIN
@@ -1242,7 +1263,7 @@ async function selectAttributeMappingsByPackageIds(db, packageIds) {
12421263 A1.PACKAGE_REF IN (${ dbApi . toInClause ( packageIds ) } )
12431264 OR
12441265 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
12461267 `
12471268 )
12481269 return rows . map ( dbMapping . map . attributeMapping )
0 commit comments