Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
AdapterInterface.php
Go to the documentation of this file.
1 <?php
7 
9 
17 {
18  const INDEX_TYPE_PRIMARY = 'primary';
19 
20  const INDEX_TYPE_UNIQUE = 'unique';
21 
22  const INDEX_TYPE_INDEX = 'index';
23 
24  const INDEX_TYPE_FULLTEXT = 'fulltext';
25 
26  const FK_ACTION_CASCADE = 'CASCADE';
27 
28  const FK_ACTION_SET_NULL = 'SET NULL';
29 
30  const FK_ACTION_NO_ACTION = 'NO ACTION';
31 
32  const FK_ACTION_RESTRICT = 'RESTRICT';
33 
34  const FK_ACTION_SET_DEFAULT = 'SET DEFAULT';
35 
37 
38  const INSERT_IGNORE = 2;
39 
41  const REPLACE = 4;
42 
43  const ISO_DATE_FORMAT = 'yyyy-MM-dd';
44 
45  const ISO_DATETIME_FORMAT = 'yyyy-MM-dd HH-mm-ss';
46 
47  const INTERVAL_SECOND = 'SECOND';
48 
49  const INTERVAL_MINUTE = 'MINUTES';
50 
51  const INTERVAL_HOUR = 'HOURS';
52 
53  const INTERVAL_DAY = 'DAYS';
54 
55  const INTERVAL_MONTH = 'MONTHS';
56 
57  const INTERVAL_YEAR = 'YEARS';
58 
62  const ERROR_DDL_MESSAGE = 'DDL statements are not allowed in transactions';
63 
67  const ERROR_ROLLBACK_INCOMPLETE_MESSAGE = 'Rolled back transaction has not been completed correctly.';
68 
72  const ERROR_ASYMMETRIC_ROLLBACK_MESSAGE = 'Asymmetric transaction rollback.';
73 
77  const ERROR_ASYMMETRIC_COMMIT_MESSAGE = 'Asymmetric transaction commit.';
78 
84  public function beginTransaction();
85 
91  public function commit();
92 
98  public function rollBack();
99 
107  public function newTable($tableName = null, $schemaName = null);
108 
116  public function createTable(Table $table);
117 
125  public function dropTable($tableName, $schemaName = null);
126 
134  public function createTemporaryTable(Table $table);
135 
144  public function createTemporaryTableLike($temporaryTableName, $originTableName, $ifNotExists = false);
145 
153  public function dropTemporaryTable($tableName, $schemaName = null);
154 
163  public function renameTablesBatch(array $tablePairs);
164 
172  public function truncateTable($tableName, $schemaName = null);
173 
181  public function isTableExists($tableName, $schemaName = null);
182 
190  public function showTableStatus($tableName, $schemaName = null);
191 
220  public function describeTable($tableName, $schemaName = null);
221 
229  public function createTableByDdl($tableName, $newTableName);
230 
241  public function modifyColumnByDdl($tableName, $columnName, $definition, $flushData = false, $schemaName = null);
242 
251  public function renameTable($oldTableName, $newTableName, $schemaName = null);
252 
265  public function addColumn($tableName, $columnName, $definition, $schemaName = null);
266 
280  public function changeColumn(
281  $tableName,
282  $oldColumnName,
283  $newColumnName,
284  $definition,
285  $flushData = false,
286  $schemaName = null
287  );
288 
299  public function modifyColumn($tableName, $columnName, $definition, $flushData = false, $schemaName = null);
300 
309  public function dropColumn($tableName, $columnName, $schemaName = null);
310 
319  public function tableColumnExists($tableName, $columnName, $schemaName = null);
320 
331  public function addIndex($tableName, $indexName, $fields, $indexType = self::INDEX_TYPE_INDEX, $schemaName = null);
332 
341  public function dropIndex($tableName, $keyName, $schemaName = null);
342 
365  public function getIndexList($tableName, $schemaName = null);
366 
385  public function addForeignKey(
386  $fkName,
387  $tableName,
388  $columnName,
389  $refTableName,
390  $refColumnName,
391  $onDelete = self::FK_ACTION_CASCADE,
392  $purge = false,
393  $schemaName = null,
394  $refSchemaName = null
395  );
396 
405  public function dropForeignKey($tableName, $fkName, $schemaName = null);
406 
430  public function getForeignKeys($tableName, $schemaName = null);
431 
437  public function select();
438 
447  public function insertOnDuplicate($table, array $data, array $fields = []);
448 
456  public function insertMultiple($table, array $data);
457 
475  public function insertArray($table, array $columns, array $data);
476 
484  public function insert($table, array $bind);
485 
494  public function insertForce($table, array $bind);
495 
511  public function update($table, array $bind, $where = '');
512 
520  public function delete($table, $where = '');
521 
530  public function query($sql, $bind = []);
531 
541  public function fetchAll($sql, $bind = [], $fetchMode = null);
542 
552  public function fetchRow($sql, $bind = [], $fetchMode = null);
553 
567  public function fetchAssoc($sql, $bind = []);
568 
578  public function fetchCol($sql, $bind = []);
579 
590  public function fetchPairs($sql, $bind = []);
591 
599  public function fetchOne($sql, $bind = []);
600 
611  public function quote($value, $type = null);
612 
632  public function quoteInto($text, $value, $type = null, $count = null);
633 
656  public function quoteIdentifier($ident, $auto = false);
657 
666  public function quoteColumnAs($ident, $alias, $auto = false);
667 
676  public function quoteTableAs($ident, $alias = null, $auto = false);
677 
685  public function formatDate($date, $includeTime = true);
686 
692  public function startSetup();
693 
699  public function endSetup();
700 
707  public function setCacheAdapter(\Magento\Framework\Cache\FrontendInterface $cacheAdapter);
708 
714  public function allowDdlCache();
715 
721  public function disallowDdlCache();
722 
731  public function resetDdlCache($tableName = null, $schemaName = null);
732 
741  public function saveDdlCache($tableCacheKey, $ddlType, $data);
742 
751  public function loadDdlCache($tableCacheKey, $ddlType);
752 
784  public function prepareSqlCondition($fieldName, $condition);
785 
794  public function prepareColumnValue(array $column, $value);
795 
804  public function getCheckSql($condition, $true, $false);
805 
813  public function getIfNullSql($expression, $value = 0);
814 
823  public function getConcatSql(array $data, $separator = null);
824 
832  public function getLengthSql($string);
833 
842  public function getLeastSql(array $data);
843 
852  public function getGreatestSql(array $data);
853 
864  public function getDateAddSql($date, $interval, $unit);
865 
876  public function getDateSubSql($date, $interval, $unit);
877 
894  public function getDateFormatSql($date, $format);
895 
902  public function getDatePartSql($date);
903 
912  public function getSubstringSql($stringExpression, $pos, $len = null);
913 
920  public function getStandardDeviationSql($expressionField);
921 
931  public function getDateExtractSql($date, $unit);
932 
940  public function getTableName($tableName);
941 
950  public function getTriggerName($tableName, $time, $event);
951 
961  public function getIndexName($tableName, $fields, $indexType = '');
962 
973  public function getForeignKeyName($priTableName, $priColumnName, $refTableName, $refColumnName);
974 
982  public function disableTableKeys($tableName, $schemaName = null);
983 
991  public function enableTableKeys($tableName, $schemaName = null);
992 
1002  public function insertFromSelect(\Magento\Framework\DB\Select $select, $table, array $fields = [], $mode = false);
1003 
1013  public function selectsByRange($rangeField, \Magento\Framework\DB\Select $select, $stepCount = 100);
1014 
1022  public function updateFromSelect(\Magento\Framework\DB\Select $select, $table);
1023 
1031  public function deleteFromSelect(\Magento\Framework\DB\Select $select, $table);
1032 
1040  public function getTablesChecksum($tableNames, $schemaName = null);
1041 
1047  public function supportStraightJoin();
1048 
1057  public function orderRand(\Magento\Framework\DB\Select $select, $field = null);
1058 
1065  public function forUpdate($sql);
1066 
1074  public function getPrimaryKeyName($tableName, $schemaName = null);
1075 
1083  public function decodeVarbinary($value);
1084 
1090  public function getTransactionLevel();
1091 
1098  public function createTrigger(\Magento\Framework\DB\Ddl\Trigger $trigger);
1099 
1107  public function dropTrigger($triggerName, $schemaName = null);
1108 
1115  public function getTables($likeCondition = null);
1116 
1126  public function getCaseSql($valueName, $casesResults, $defaultValue = null);
1127 
1136  public function getAutoIncrementField($tableName, $schemaName = null);
1137 }
disableTableKeys($tableName, $schemaName=null)
insertFromSelect(\Magento\Framework\DB\Select $select, $table, array $fields=[], $mode=false)
deleteFromSelect(\Magento\Framework\DB\Select $select, $table)
updateFromSelect(\Magento\Framework\DB\Select $select, $table)
$tableName
Definition: trigger.php:13
dropTable($tableName, $schemaName=null)
getTablesChecksum($tableNames, $schemaName=null)
getForeignKeyName($priTableName, $priColumnName, $refTableName, $refColumnName)
isTableExists($tableName, $schemaName=null)
describeTable($tableName, $schemaName=null)
newTable($tableName=null, $schemaName=null)
addIndex($tableName, $indexName, $fields, $indexType=self::INDEX_TYPE_INDEX, $schemaName=null)
addColumn($tableName, $columnName, $definition, $schemaName=null)
orderRand(\Magento\Framework\DB\Select $select, $field=null)
$count
Definition: recent.phtml:13
modifyColumnByDdl($tableName, $columnName, $definition, $flushData=false, $schemaName=null)
$fields
Definition: details.phtml:14
dropTemporaryTable($tableName, $schemaName=null)
endifif( $block->getLastPageNum()>1)( 'Page') ?></strong >< ul class $text
Definition: pager.phtml:43
getCheckSql($condition, $true, $false)
createTableByDdl($tableName, $newTableName)
dropIndex($tableName, $keyName, $schemaName=null)
setCacheAdapter(\Magento\Framework\Cache\FrontendInterface $cacheAdapter)
saveDdlCache($tableCacheKey, $ddlType, $data)
quoteTableAs($ident, $alias=null, $auto=false)
resetDdlCache($tableName=null, $schemaName=null)
$columns
Definition: default.phtml:15
$type
Definition: item.phtml:13
getSubstringSql($stringExpression, $pos, $len=null)
getConcatSql(array $data, $separator=null)
$value
Definition: gender.phtml:16
$format
Definition: list.phtml:12
getCaseSql($valueName, $casesResults, $defaultValue=null)
getForeignKeys($tableName, $schemaName=null)
modifyColumn($tableName, $columnName, $definition, $flushData=false, $schemaName=null)
dropForeignKey($tableName, $fkName, $schemaName=null)
selectsByRange($rangeField, \Magento\Framework\DB\Select $select, $stepCount=100)
quoteColumnAs($ident, $alias, $auto=false)
enableTableKeys($tableName, $schemaName=null)
$pos
Definition: list.phtml:42
getIndexList($tableName, $schemaName=null)
if($exist=($block->getProductCollection() && $block->getProductCollection() ->getSize())) $mode
Definition: grid.phtml:15
insertArray($table, array $columns, array $data)
showTableStatus($tableName, $schemaName=null)
fetchRow($sql, $bind=[], $fetchMode=null)
getPrimaryKeyName($tableName, $schemaName=null)
dropColumn($tableName, $columnName, $schemaName=null)
$trigger
Definition: trigger.php:27
getAutoIncrementField($tableName, $schemaName=null)
createTemporaryTableLike($temporaryTableName, $originTableName, $ifNotExists=false)
tableColumnExists($tableName, $columnName, $schemaName=null)
changeColumn( $tableName, $oldColumnName, $newColumnName, $definition, $flushData=false, $schemaName=null)
dropTrigger($triggerName, $schemaName=null)
quoteInto($text, $value, $type=null, $count=null)
renameTable($oldTableName, $newTableName, $schemaName=null)
getTriggerName($tableName, $time, $event)
if(!trim($html)) $alias
Definition: details.phtml:20
getIndexName($tableName, $fields, $indexType='')
$table
Definition: trigger.php:14
createTrigger(\Magento\Framework\DB\Ddl\Trigger $trigger)
update($table, array $bind, $where='')
fetchAll($sql, $bind=[], $fetchMode=null)
insertOnDuplicate($table, array $data, array $fields=[])
truncateTable($tableName, $schemaName=null)
addForeignKey( $fkName, $tableName, $columnName, $refTableName, $refColumnName, $onDelete=self::FK_ACTION_CASCADE, $purge=false, $schemaName=null, $refSchemaName=null)