fix(db)!: Table alias for DELETE and UPDATE no longer supported

Signed-off-by: Joas Schilling <coding@schilljs.com>
This commit is contained in:
Joas Schilling 2024-07-01 16:49:42 +02:00
parent 2d27a32870
commit d9e69e14f3
No known key found for this signature in database
GPG key ID: 74434EFE0D2E2205
2 changed files with 18 additions and 7 deletions

View file

@ -597,12 +597,16 @@ class QueryBuilder implements IQueryBuilder {
* @param string $alias The table alias used in the constructed query.
*
* @return $this This QueryBuilder instance.
* @since 30.0.0 Alias is no longer supported
*/
public function delete($delete = null, $alias = null) {
if ($alias !== null) {
$this->logger->debug('DELETE queries with alias are no longer supported and the provided alias is ignored', ['exception' => new \InvalidArgumentException('Table alias provided for DELETE query')]);
}
$this->type = self::DELETE;
$this->queryBuilder->delete(
$this->getTableName($delete),
$alias
);
return $this;
@ -623,12 +627,16 @@ class QueryBuilder implements IQueryBuilder {
* @param string $alias The table alias used in the constructed query.
*
* @return $this This QueryBuilder instance.
* @since 30.0.0 Alias is no longer supported
*/
public function update($update = null, $alias = null) {
if ($alias !== null) {
$this->logger->debug('UPDATE queries with alias are no longer supported and the provided alias is ignored', ['exception' => new \InvalidArgumentException('Table alias provided for UPDATE query')]);
}
$this->type = self::UPDATE;
$this->queryBuilder->update(
$this->getTableName($update),
$alias
);
return $this;

View file

@ -391,8 +391,8 @@ interface IQueryBuilder {
*
* <code>
* $qb = $conn->getQueryBuilder()
* ->delete('users', 'u')
* ->where('u.id = :user_id');
* ->delete('users')
* ->where('id = :user_id');
* ->setParameter(':user_id', 1);
* </code>
*
@ -401,6 +401,7 @@ interface IQueryBuilder {
*
* @return $this This QueryBuilder instance.
* @since 8.2.0
* @since 30.0.0 Alias is no longer supported
*
* @psalm-taint-sink sql $delete
*/
@ -412,9 +413,10 @@ interface IQueryBuilder {
*
* <code>
* $qb = $conn->getQueryBuilder()
* ->update('users', 'u')
* ->set('u.password', md5('password'))
* ->where('u.id = ?');
* ->update('users')
* ->set('email', ':email')
* ->where('id = :user_id');
* ->setParameter(':user_id', 1);
* </code>
*
* @param string $update The table whose rows are subject to the update.
@ -422,6 +424,7 @@ interface IQueryBuilder {
*
* @return $this This QueryBuilder instance.
* @since 8.2.0
* @since 30.0.0 Alias is no longer supported
*
* @psalm-taint-sink sql $update
*/