- Fixed a bug occuring when a field was already escaped

This commit is contained in:
Dave M. 2021-04-23 03:03:01 +00:00
parent 1469d167c4
commit 4df9ececba
3 changed files with 5 additions and 6 deletions

View File

@ -193,7 +193,7 @@ class MsSQL implements AdapterInterface {
case static::IDENTIFIER_DATABASE:
case static::IDENTIFIER_TABLE:
case static::IDENTIFIER_FIELD:
return "[" . str_replace(["[", "]"], [ "[[", "]]" ], $segment) . "]";
return "[" . trim(str_replace(["[", "]"], [ "[[", "]]" ], $segment), '[]') . "]";
case static::IDENTIFIER_VALUE:
return "'$segment'";

View File

@ -130,7 +130,7 @@ class MySQL implements AdapterInterface {
case static::IDENTIFIER_DATABASE:
case static::IDENTIFIER_TABLE:
case static::IDENTIFIER_FIELD:
return "`" . str_replace("`", "``", $segment) . "`";
return "`" . trim(str_replace("`", "``", $segment), '`') . "`";
case static::IDENTIFIER_VALUE:
return "\"$segment\"";

View File

@ -79,12 +79,12 @@ class Repository
return Ulmus::runSelectQuery($this->queryBuilder, $this->adapter)->fetchColumn(0);
}
public function deleteOne()
protected function deleteOne()
{
return $this->limit(1)->deleteSqlQuery()->runQuery();
}
public function deleteAll()
protected function deleteAll()
{
return $this->deleteSqlQuery()->runQuery();
}
@ -161,7 +161,6 @@ class Repository
$entity->entityFillFromDataset($dataset);
return $update ? (bool) $update->rowCount() : false;
}
}
@ -726,7 +725,7 @@ class Repository
public function escapeFieldList(array $fieldList) : array
{
foreach($fieldList as & $list) {
foreach($fieldList as &$list) {
$list['name'] = $this->escapeField($list['name']);
$fieldTag = array_filter($list['tags'] ?? [], fn($item) => $item['object'] instanceof Field)[0]['object'] ?? null;