Skip to content

Commit

Permalink
MSI-2733: Improve performance of re-indexation after SourceItem saved.
Browse files Browse the repository at this point in the history
Fix static tests.
  • Loading branch information
nmalevanec committed Dec 2, 2019
1 parent 0f9578a commit 85d5e0a
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions InventoryIndexer/Indexer/SourceItem/GetSourceItemIds.php
Original file line number Diff line number Diff line change
Expand Up @@ -30,14 +30,16 @@ public function __construct(ResourceConnection $resourceConnection)
}

/**
* Retrieve source items ids.
*
* @param SourceItemInterface[] $sourceItems
* @return array
*/
public function execute(array $sourceItems): array
{
$connection = $this->resourceConnection->getConnection();
$skusBySourceCode = [];
$sourceItemIds = [];
$sourceItemIds = [[]];
foreach ($sourceItems as $sourceItem) {
$skusBySourceCode[$sourceItem->getSourceCode()][] = $sourceItem->getSku();
}
Expand All @@ -47,8 +49,9 @@ public function execute(array $sourceItems): array
$this->resourceConnection->getTableName(SourceItemResourceModel::TABLE_NAME_SOURCE_ITEM),
[SourceItemResourceModel::ID_FIELD_NAME]
)->where('sku IN (?)', $skus)->where('source_code = ?', $sourceCode);
$sourceItemIds = array_merge($sourceItemIds, $connection->fetchCol($select));
$sourceItemIds[] = $connection->fetchCol($select);
}
$sourceItemIds = array_merge(...$sourceItemIds);

return $sourceItemIds;
}
Expand Down

0 comments on commit 85d5e0a

Please sign in to comment.