@@ -150,6 +150,7 @@ impl<'a> StatusCreator<'a> {
150150
151151 let product_id = ProductInformation :: create_uuid ( org_id, product. product . clone ( ) ) ;
152152
153+ // Warn: id must be Set(), required for sorting
153154 let product_entity = product:: ActiveModel {
154155 id : Set ( product_id) ,
155156 name : Set ( product. product . clone ( ) ) ,
@@ -165,6 +166,7 @@ impl<'a> StatusCreator<'a> {
165166 cpe : product. cpe . clone ( ) ,
166167 } ;
167168
169+ // Warn: into_active_model() sets id with Set(), required for sorting
168170 let ( version_range_entity, product_version_range_entity) =
169171 range. clone ( ) . into_active_model ( ) ;
170172 version_ranges. push ( version_range_entity) ;
@@ -189,6 +191,7 @@ impl<'a> StatusCreator<'a> {
189191 product_version_range_id : range. uuid ( ) ,
190192 } ;
191193
194+ // Warn: into_active_model() sets id with Set(), required for sorting
192195 let base_product = product_status
193196 . into_active_model ( self . advisory_id , self . vulnerability_id . clone ( ) ) ;
194197
@@ -253,6 +256,7 @@ impl<'a> StatusCreator<'a> {
253256 cpes. create ( connection) . await ?;
254257
255258 for ps in & self . entries {
259+ // Warn: into_active_model() sets id with Set(), required for sorting
256260 let ( version_range, purl_status) = ps
257261 . clone ( )
258262 . into_active_model ( self . advisory_id , self . vulnerability_id . clone ( ) ) ;
@@ -263,6 +267,7 @@ impl<'a> StatusCreator<'a> {
263267 // Sort all collections by ID before batch inserting to ensure consistent lock acquisition
264268 // order across transactions. This prevents deadlocks from index page lock contention
265269 // when multiple concurrent transactions insert overlapping data.
270+ // Warn: as_ref() requires id fields to be Set() (never NotSet), guaranteed by constructors above.
266271 product_models. sort_by_key ( |model| * model. id . as_ref ( ) ) ;
267272 version_ranges. sort_by_key ( |model| * model. id . as_ref ( ) ) ;
268273 package_statuses. sort_by_key ( |model| * model. id . as_ref ( ) ) ;
0 commit comments