Skip to content

Commit 566a48c

Browse files
[EngCom] Public Pull Requests - 2.2-develop
- merged latest code from mainline branch
2 parents a23afa6 + 17f9341 commit 566a48c

File tree

15 files changed

+182
-116
lines changed

15 files changed

+182
-116
lines changed

app/code/Magento/Catalog/Model/Indexer/Category/Product/AbstractAction.php

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
use Magento\Framework\DB\Select;
1717
use Magento\Framework\EntityManager\MetadataPool;
1818
use Magento\Store\Model\Store;
19-
use Magento\Catalog\Model\Indexer\Category\Product\TableResolver;
19+
use Magento\Catalog\Model\Indexer\Category\Product\TableMaintainer;
2020

2121
/**
2222
* Class AbstractAction
@@ -40,7 +40,6 @@ abstract class AbstractAction
4040

4141
/**
4242
* Catalog category index table name
43-
* @deprecated
4443
*/
4544
const MAIN_INDEX_TABLE = 'catalog_category_product_index';
4645

@@ -112,9 +111,9 @@ abstract class AbstractAction
112111
protected $metadataPool;
113112

114113
/**
115-
* @var TableResolver
114+
* @var TableMaintainer
116115
*/
117-
protected $tableResolver;
116+
protected $tableMaintainer;
118117

119118
/**
120119
* @var string
@@ -133,23 +132,23 @@ abstract class AbstractAction
133132
* @param \Magento\Catalog\Model\Config $config
134133
* @param QueryGenerator $queryGenerator
135134
* @param MetadataPool|null $metadataPool
136-
* @param TableResolver|null $tableResolver
135+
* @param TableMaintainer|null $tableMaintainer
137136
*/
138137
public function __construct(
139138
\Magento\Framework\App\ResourceConnection $resource,
140139
\Magento\Store\Model\StoreManagerInterface $storeManager,
141140
\Magento\Catalog\Model\Config $config,
142141
QueryGenerator $queryGenerator = null,
143142
MetadataPool $metadataPool = null,
144-
TableResolver $tableResolver = null
143+
TableMaintainer $tableMaintainer = null
145144
) {
146145
$this->resource = $resource;
147146
$this->connection = $resource->getConnection();
148147
$this->storeManager = $storeManager;
149148
$this->config = $config;
150149
$this->queryGenerator = $queryGenerator ?: ObjectManager::getInstance()->get(QueryGenerator::class);
151150
$this->metadataPool = $metadataPool ?: ObjectManager::getInstance()->get(MetadataPool::class);
152-
$this->tableResolver = $tableResolver ?: ObjectManager::getInstance()->get(TableResolver::class);
151+
$this->tableMaintainer = $tableMaintainer ?: ObjectManager::getInstance()->get(TableMaintainer::class);
153152
}
154153

155154
/**
@@ -222,8 +221,8 @@ protected function getMainTmpTable()
222221
protected function getIndexTable($storeId)
223222
{
224223
return $this->useTempTable
225-
? $this->tableResolver->getMainReplicaTable($storeId)
226-
: $this->tableResolver->getMainTable($storeId);
224+
? $this->tableMaintainer->getMainReplicaTable($storeId)
225+
: $this->tableMaintainer->getMainTable($storeId);
227226
}
228227

229228
/**

app/code/Magento/Catalog/Model/Indexer/Category/Product/Action/Full.php

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ public function __construct(
102102
private function createTables()
103103
{
104104
foreach ($this->storeManager->getStores() as $store) {
105-
$this->tableResolver->createTablesForStore($store->getId());
105+
$this->tableMaintainer->createTablesForStore($store->getId());
106106
}
107107
}
108108

@@ -112,7 +112,7 @@ private function createTables()
112112
private function clearReplicaTables()
113113
{
114114
foreach ($this->storeManager->getStores() as $store) {
115-
$this->connection->truncateTable($this->tableResolver->getMainReplicaTable($store->getId()));
115+
$this->connection->truncateTable($this->tableMaintainer->getMainReplicaTable($store->getId()));
116116
}
117117
}
118118

@@ -123,7 +123,7 @@ private function switchTables()
123123
{
124124
$tablesToSwitch = [];
125125
foreach ($this->storeManager->getStores() as $store) {
126-
$tablesToSwitch[] = $this->tableResolver->getMainTable($store->getId());
126+
$tablesToSwitch[] = $this->tableMaintainer->getMainTable($store->getId());
127127
}
128128
$this->activeTableSwitcher->switchTable($this->connection, $tablesToSwitch);
129129
}
@@ -182,11 +182,11 @@ private function reindexStore($store)
182182
*/
183183
private function publishData($store)
184184
{
185-
$select = $this->connection->select()->from($this->tableResolver->getMainTmpTable($store->getId()));
185+
$select = $this->connection->select()->from($this->tableMaintainer->getMainTmpTable($store->getId()));
186186
$columns = array_keys(
187-
$this->connection->describeTable($this->tableResolver->getMainReplicaTable($store->getId()))
187+
$this->connection->describeTable($this->tableMaintainer->getMainReplicaTable($store->getId()))
188188
);
189-
$tableName = $this->tableResolver->getMainReplicaTable($store->getId());
189+
$tableName = $this->tableMaintainer->getMainReplicaTable($store->getId());
190190

191191
$this->connection->query(
192192
$this->connection->insertFromSelect(
@@ -240,8 +240,12 @@ protected function reindexNonAnchorCategories(\Magento\Store\Model\Store $store)
240240
*/
241241
private function reindexCategoriesBySelect(\Magento\Framework\DB\Select $basicSelect, $whereCondition, $store)
242242
{
243+
$this->tableMaintainer->createMainTmpTable($store->getId());
244+
243245
$entityMetadata = $this->metadataPool->getMetadata(\Magento\Catalog\Api\Data\ProductInterface::class);
244-
$columns = array_keys($this->connection->describeTable($this->tableResolver->getMainTmpTable($store->getId())));
246+
$columns = array_keys(
247+
$this->connection->describeTable($this->tableMaintainer->getMainTmpTable($store->getId()))
248+
);
245249
$this->batchSizeManagement->ensureBatchSize($this->connection, $this->batchRowsCount);
246250
$batches = $this->batchProvider->getBatches(
247251
$this->connection,
@@ -250,7 +254,7 @@ private function reindexCategoriesBySelect(\Magento\Framework\DB\Select $basicSe
250254
$this->batchRowsCount
251255
);
252256
foreach ($batches as $batch) {
253-
$this->connection->delete($this->tableResolver->getMainTmpTable($store->getId()));
257+
$this->connection->delete($this->tableMaintainer->getMainTmpTable($store->getId()));
254258
$resultSelect = clone $basicSelect;
255259
$select = $this->connection->select();
256260
$select->distinct(true);
@@ -260,7 +264,7 @@ private function reindexCategoriesBySelect(\Magento\Framework\DB\Select $basicSe
260264
$this->connection->query(
261265
$this->connection->insertFromSelect(
262266
$resultSelect,
263-
$this->tableResolver->getMainTmpTable($store->getId()),
267+
$this->tableMaintainer->getMainTmpTable($store->getId()),
264268
$columns,
265269
\Magento\Framework\DB\Adapter\AdapterInterface::INSERT_ON_DUPLICATE
266270
)

app/code/Magento/Catalog/Model/Indexer/Category/Product/Plugin/StoreGroup.php

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
use Magento\Framework\Model\AbstractModel;
1111
use Magento\Catalog\Model\Indexer\Category\Product;
1212
use Magento\Framework\App\ObjectManager;
13-
use Magento\Catalog\Model\Indexer\Category\Product\TableResolver;
13+
use Magento\Catalog\Model\Indexer\Category\Product\TableMaintainer;
1414

1515
class StoreGroup
1616
{
@@ -25,20 +25,20 @@ class StoreGroup
2525
protected $indexerRegistry;
2626

2727
/**
28-
* @var TableResolver
28+
* @var TableMaintainer
2929
*/
30-
protected $tableResolver;
30+
protected $tableMaintainer;
3131

3232
/**
3333
* @param IndexerRegistry $indexerRegistry
34-
* @param TableResolver $tableResolver
34+
* @param TableMaintainer $tableMaintainer
3535
*/
3636
public function __construct(
3737
IndexerRegistry $indexerRegistry,
38-
TableResolver $tableResolver = null
38+
TableMaintainer $tableMaintainer
3939
) {
4040
$this->indexerRegistry = $indexerRegistry;
41-
$this->tableResolver = $tableResolver ?: ObjectManager::getInstance()->get(TableResolver::class);
41+
$this->tableMaintainer = $tableMaintainer;
4242
}
4343

4444
/**
@@ -98,7 +98,7 @@ protected function validate(AbstractModel $group)
9898
public function afterDelete(AbstractDb $subject, AbstractDb $objectResource, AbstractModel $storeGroup)
9999
{
100100
foreach ($storeGroup->getStores() as $store) {
101-
$this->tableResolver->dropTablesForStore($store->getId());
101+
$this->tableMaintainer->dropTablesForStore($store->getId());
102102
}
103103
return $objectResource;
104104
}

app/code/Magento/Catalog/Model/Indexer/Category/Product/Plugin/StoreView.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ protected function validate(\Magento\Framework\Model\AbstractModel $store)
3333
public function afterSave(AbstractDb $subject, AbstractDb $objectResource, AbstractModel $store = null)
3434
{
3535
if ($store->isObjectNew()) {
36-
$this->tableResolver->createTablesForStore($store->getId());
36+
$this->tableMaintainer->createTablesForStore($store->getId());
3737
}
3838

3939
return parent::afterSave($subject, $objectResource);
@@ -51,7 +51,7 @@ public function afterSave(AbstractDb $subject, AbstractDb $objectResource, Abstr
5151
*/
5252
public function afterDelete(AbstractDb $subject, AbstractDb $objectResource, AbstractModel $store)
5353
{
54-
$this->tableResolver->dropTablesForStore($store->getId());
54+
$this->tableMaintainer->dropTablesForStore($store->getId());
5555
return $objectResource;
5656
}
5757
}

app/code/Magento/Catalog/Model/Indexer/Category/Product/Plugin/Website.php

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,23 +7,22 @@
77

88
use Magento\Framework\Model\ResourceModel\Db\AbstractDb;
99
use Magento\Framework\Model\AbstractModel;
10-
use Magento\Framework\App\ObjectManager;
11-
use Magento\Catalog\Model\Indexer\Category\Product\TableResolver;
10+
use Magento\Catalog\Model\Indexer\Category\Product\TableMaintainer;
1211

1312
class Website
1413
{
1514
/**
16-
* @var TableResolver
15+
* @var TableMaintainer
1716
*/
18-
private $tableResolver;
17+
private $tableMaintainer;
1918

2019
/**
21-
* @param TableResolver $tableResolver
20+
* @param TableMaintainer $tableMaintainer
2221
*/
2322
public function __construct(
24-
TableResolver $tableResolver = null
23+
TableMaintainer $tableMaintainer
2524
) {
26-
$this->tableResolver = $tableResolver ?: ObjectManager::getInstance()->get(TableResolver::class);
25+
$this->tableMaintainer = $tableMaintainer;
2726
}
2827

2928
/**
@@ -39,7 +38,7 @@ public function __construct(
3938
public function afterDelete(AbstractDb $subject, AbstractDb $objectResource, AbstractModel $website)
4039
{
4140
foreach ($website->getStoreIds() as $storeId) {
42-
$this->tableResolver->dropTablesForStore($storeId);
41+
$this->tableMaintainer->dropTablesForStore($storeId);
4342
}
4443
return $objectResource;
4544
}

0 commit comments

Comments
 (0)