diff -Nuar a/vendor/magento/module-catalog/Model/Indexer/Category/Product/AbstractAction.php b/vendor/magento/module-catalog/Model/Indexer/Category/Product/AbstractAction.php index 38f606b8abe..020c19578f7 100644 --- a/vendor/magento/module-catalog/Model/Indexer/Category/Product/AbstractAction.php +++ b/vendor/magento/module-catalog/Model/Indexer/Category/Product/AbstractAction.php @@ -430,7 +430,7 @@ abstract class AbstractAction $field, $select, $range, - \Magento\Framework\DB\Query\BatchIteratorInterface::NON_UNIQUE_FIELD_ITERATOR + \Magento\Framework\DB\Query\BatchIteratorInterface::UNIQUE_FIELD_ITERATOR ); $queries = []; diff -Nuar a/vendor/magento/module-catalog-inventory/Model/Indexer/Stock/Action/Full.php b/vendor/magento/module-catalog-inventory/Model/Indexer/Stock/Action/Full.php index 43a5aabee97..f85f3f35762 100644 --- a/vendor/magento/module-catalog-inventory/Model/Indexer/Stock/Action/Full.php +++ b/vendor/magento/module-catalog-inventory/Model/Indexer/Stock/Action/Full.php @@ -149,13 +149,21 @@ class Full extends AbstractAction $select = $connection->select(); $select->distinct(true); - $select->from(['e' => $entityMetadata->getEntityTable()], $entityMetadata->getIdentifierField()); + $select->from( + [ + 'e' => $entityMetadata->getEntityTable() + ], + $entityMetadata->getIdentifierField() + )->where( + 'type_id = ?', + $indexer->getTypeId() + ); $batchQueries = $this->batchQueryGenerator->generate( $entityMetadata->getIdentifierField(), $select, $batchRowCount, - BatchIteratorInterface::NON_UNIQUE_FIELD_ITERATOR + BatchIteratorInterface::UNIQUE_FIELD_ITERATOR ); foreach ($batchQueries as $query) {