Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
TemporaryTableStrategy.php
Go to the documentation of this file.
1 <?php
8 
13 {
17  const TEMP_SUFFIX = '_temp';
18 
22  private $strategy;
23 
29  private $resource;
30 
36  public function __construct(
37  \Magento\Framework\Indexer\Table\StrategyInterface $strategy,
38  \Magento\Framework\App\ResourceConnection $resource
39  ) {
40  $this->strategy = $strategy;
41  $this->resource = $resource;
42  }
43 
47  public function getUseIdxTable()
48  {
49  return $this->strategy->getUseIdxTable();
50  }
51 
55  public function setUseIdxTable($value = false)
56  {
57  return $this->strategy->setUseIdxTable($value);
58  }
59 
63  public function getTableName($tablePrefix)
64  {
65  return $this->resource->getTableName($this->prepareTableName($tablePrefix));
66  }
67 
73  public function prepareTableName($tablePrefix)
74  {
75  if ($this->getUseIdxTable()) {
76  return $tablePrefix . self::IDX_SUFFIX;
77  }
78 
79  // Create temporary table
80  $this->resource->getConnection('indexer')->createTemporaryTableLike(
81  $this->resource->getTableName($tablePrefix . self::TEMP_SUFFIX),
82  $this->resource->getTableName($tablePrefix . self::TMP_SUFFIX),
83  true
84  );
85  return $tablePrefix . self::TEMP_SUFFIX;
86  }
87 }
$resource
Definition: bulk.php:12
__construct(\Magento\Framework\Indexer\Table\StrategyInterface $strategy, \Magento\Framework\App\ResourceConnection $resource)
$value
Definition: gender.phtml:16