14namespace Bitrix\Sale\Location\DB;
25 if(
$type ==
'varchar')
26 return 'varchar('.(intval($len) ? intval($len) :
'1').
')';
29 return 'char('.(intval($len) ? intval($len) :
'1').
')';
39 $dbHelper = $dbConnection->getSqlHelper();
44 $map[] = $dbHelper->forSql($fld);
47 return 'INSERT ' . ($dbConnection->getType() ===
'pgsql' ?
'' :
'IGNORE ') .
'INTO '.$dbHelper->forSql($tableName).
' ('.implode(
',',
$map).
') values ';
54 return $dbConnection->getType() ===
'pgsql' ?
' ON CONFLICT DO NOTHING' :
'';
74 if (!is_array($row) || empty($row) || !is_array(
$fields) || empty(
$fields) || !is_array(
$map) || empty(
$map))
84 foreach (
$fields as $fld => $none)
90 isset(
$map[$fld][
'data_type'])
91 &&
$map[$fld][
'data_type'] ==
'integer'
98 $sql[] =
"'" . $sqlHelper->forSql(
$val) .
"'";
102 return '(' . implode(
',', $sql) .
')';
153 public static function createIndex($tableName, $ixNamePostfix, $columns =
array(), $unique =
false)
155 if(!mb_strlen($tableName) || !mb_strlen($ixNamePostfix) || !is_array($columns) || empty($columns))
159 $dbHelper = $dbConnection->getSqlHelper();
161 $tableName = $dbHelper->forSql($tableName);
162 $ixNamePostfix = $dbHelper->forSql($ixNamePostfix);
163 $columns = static::escapeArray($columns);
165 $ixName = static::getIndexName($tableName, $ixNamePostfix, $columns);
167 if(mb_strlen($ixName) > 30)
170 if(!static::checkIndexNameExists($ixName, $tableName))
172 $dbConnection->query(
"CREATE ".($unique ?
"UNIQUE" :
"").
" INDEX ".$ixName.
" ON ".$tableName.
" (".implode(
', ', $columns).
")");
181 return 'IX_'.preg_replace(
'#^B_#',
'', mb_strtoupper($tableName)).
"_".mb_strtoupper($ixNamePostfix);
186 foreach($columns as &$col)
196 $tableName = $dbConnection->getSqlHelper()->forSql($tableName);
198 if($dbConnection->isTableExists($tableName))
211 $tableName = $dbConnection->getSqlHelper()->forSql($tableName);
213 if($dbConnection->isTableExists($tableName))
static getConnection($name="")
static prepareSql($row, $fields, $map)
static getSqlForDataType($type, $len=0)
static addAutoIncrement()
static escapeArray($columns)
static getBatchInsertHead($tableName, $fields=array())
static needSelectFieldsInOrderByWhenDistinct()
static incrementSequenceForTable($tableName)
static checkSequenceExistsForTable($tableName)
static getBatchInsertValues($row, $tableName, $fields, $map)
static restoreAutoIncrementRestrictions($tableName)
static createIndex($tableName, $ixNamePostfix, $columns=array(), $unique=false)
static getMaxTransferUnit()
static dropTable($tableName)
static truncateTable($tableName)
static getBatchInsertTail()
static getQuerySeparatorSql()
static dropAutoIncrementRestrictions($tableName)
static getBatchInsertSeparator()
static checkTableExists($tableName)
static getIndexName($tableName, $ixNamePostfix, $columns=array())
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)