Skip to content

Commit 1b4ae99

Browse files
ENGCOM-3281: Issue #14571 - Wrong column type when creating temporary tables for flat catalog #18818
- Merge Pull Request #18818 from jasonevans1/magento2:14571_wrong_column_type - Merged commits: 1. c58ac50
2 parents 5498231 + c58ac50 commit 1b4ae99

File tree

1 file changed

+23
-6
lines changed

1 file changed

+23
-6
lines changed

app/code/Magento/Catalog/Model/Indexer/Product/Flat/TableBuilder.php

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

88
use Magento\Catalog\Model\Indexer\Product\Flat\Table\BuilderInterfaceFactory;
99

10+
/**
11+
* Class TableBuilder
12+
*/
1013
class TableBuilder
1114
{
1215
/**
@@ -137,13 +140,23 @@ protected function _createTemporaryTable($tableName, array $columns, $valueField
137140
);
138141
$flatColumns = $this->_productIndexerHelper->getFlatColumns();
139142

140-
$temporaryTableBuilder->addColumn('entity_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER);
143+
$temporaryTableBuilder->addColumn(
144+
'entity_id',
145+
\Magento\Framework\DB\Ddl\Table::TYPE_INTEGER,
146+
null,
147+
['unsigned'=>true]
148+
);
141149

142150
$temporaryTableBuilder->addColumn('type_id', \Magento\Framework\DB\Ddl\Table::TYPE_TEXT);
143151

144152
$temporaryTableBuilder->addColumn('attribute_set_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER);
145153

146-
$valueTemporaryTableBuilder->addColumn('entity_id', \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER);
154+
$valueTemporaryTableBuilder->addColumn(
155+
'entity_id',
156+
\Magento\Framework\DB\Ddl\Table::TYPE_INTEGER,
157+
null,
158+
['unsigned'=>true]
159+
);
147160

148161
/** @var $attribute \Magento\Catalog\Model\ResourceModel\Eav\Attribute */
149162
foreach ($columns as $columnName => $attribute) {
@@ -198,9 +211,10 @@ protected function _getTemporaryTableName($tableName)
198211
* Fill temporary entity table
199212
*
200213
* @param string $tableName
201-
* @param array $columns
202-
* @param array $changedIds
214+
* @param array $columns
215+
* @param array $changedIds
203216
* @return void
217+
* @throws \Exception
204218
*/
205219
protected function _fillTemporaryEntityTable($tableName, array $columns, array $changedIds = [])
206220
{
@@ -244,11 +258,12 @@ protected function _addPrimaryKeyToTable($tableName, $columnName = 'entity_id')
244258
* Fill temporary table by data from products EAV attributes by type
245259
*
246260
* @param string $tableName
247-
* @param array $tableColumns
248-
* @param array $changedIds
261+
* @param array $tableColumns
262+
* @param array $changedIds
249263
* @param string $valueFieldSuffix
250264
* @param int $storeId
251265
* @return void
266+
* @throws \Exception
252267
*/
253268
protected function _fillTemporaryTable(
254269
$tableName,
@@ -345,6 +360,8 @@ protected function _fillTemporaryTable(
345360
}
346361

347362
/**
363+
* Get Metadata Pool
364+
*
348365
* @return \Magento\Framework\EntityManager\MetadataPool
349366
* @deprecated 101.1.0
350367
*/

0 commit comments

Comments
 (0)