From 85d5e0a442a57b244d178bc439e7e964ee4f6f77 Mon Sep 17 00:00:00 2001 From: nmalevanec Date: Mon, 2 Dec 2019 11:32:53 +0200 Subject: [PATCH] MSI-2733: Improve performance of re-indexation after SourceItem saved. Fix static tests. --- InventoryIndexer/Indexer/SourceItem/GetSourceItemIds.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/InventoryIndexer/Indexer/SourceItem/GetSourceItemIds.php b/InventoryIndexer/Indexer/SourceItem/GetSourceItemIds.php index 00701200ddcb..858128029783 100644 --- a/InventoryIndexer/Indexer/SourceItem/GetSourceItemIds.php +++ b/InventoryIndexer/Indexer/SourceItem/GetSourceItemIds.php @@ -30,6 +30,8 @@ public function __construct(ResourceConnection $resourceConnection) } /** + * Retrieve source items ids. + * * @param SourceItemInterface[] $sourceItems * @return array */ @@ -37,7 +39,7 @@ public function execute(array $sourceItems): array { $connection = $this->resourceConnection->getConnection(); $skusBySourceCode = []; - $sourceItemIds = []; + $sourceItemIds = [[]]; foreach ($sourceItems as $sourceItem) { $skusBySourceCode[$sourceItem->getSourceCode()][] = $sourceItem->getSku(); } @@ -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; }