@ -22,6 +22,7 @@ interface ITypedQueryBuilder extends IQueryBuilder {
/**
* @inheritDoc
* @return IResult< S >
* @since 34.0.0
*/
#[Override]
public function executeQuery(?IDBConnection $connection = null): IResult;
@ -29,6 +30,7 @@ interface ITypedQueryBuilder extends IQueryBuilder {
/**
* @inheritDoc
* @internal This method does not work with {@see self}. Use {@see self::selectColumns()} or {@see self::selectAlias()} instead.
* @since 34.0.0
*/
#[Override]
public function select(...$selects);
@ -46,6 +48,7 @@ interface ITypedQueryBuilder extends IQueryBuilder {
/**
* @inheritDoc
* @internal This method does not work with {@see self}. Use {@see self::selectColumnDistinct()} or {@see self::selectAlias()} instead.
* @since 34.0.0
*/
#[Override]
public function selectDistinct($select);
@ -63,6 +66,7 @@ interface ITypedQueryBuilder extends IQueryBuilder {
/**
* @inheritDoc
* @internal This method does not work with {@see self}. Use {@see self::selectColumns()} or {@see self::selectAlias()} instead.
* @since 34.0.0
*/
#[Override]
public function addSelect(...$select);
@ -75,6 +79,7 @@ interface ITypedQueryBuilder extends IQueryBuilder {
* @psalm-this-out self< S | NewS >
* @return $this
* @note Psalm has a bug that prevents inferring the correct type in chained calls: https://github.com/vimeo/psalm/issues/8803. Convert the chained calls to standalone calls or switch to PHPStan, which suffered the same bug in the past, but fixed it in 2.1.5: https://github.com/phpstan/phpstan/issues/8439
* @since 34.0.0
*/
#[Override]
public function selectAlias($select, $alias): self;
@ -83,6 +88,7 @@ interface ITypedQueryBuilder extends IQueryBuilder {
* @inheritDoc
* @return $this
* @psalm-suppress MissingParamType
* @since 34.0.0
*/
#[Override]
public function setParameter($key, $value, $type = null);
@ -90,6 +96,7 @@ interface ITypedQueryBuilder extends IQueryBuilder {
/**
* @inheritDoc
* @return $this
* @since 34.0.0
*/
#[Override]
public function setParameters(array $params, array $types = []);
@ -98,6 +105,7 @@ interface ITypedQueryBuilder extends IQueryBuilder {
* @inheritDoc
* @return $this
* @psalm-suppress MissingParamType
* @since 34.0.0
*/
#[Override]
public function setFirstResult($firstResult);
@ -106,6 +114,7 @@ interface ITypedQueryBuilder extends IQueryBuilder {
* @inheritDoc
* @return $this
* @psalm-suppress MissingParamType
* @since 34.0.0
*/
#[Override]
public function setMaxResults($maxResults);
@ -114,6 +123,7 @@ interface ITypedQueryBuilder extends IQueryBuilder {
* @inheritDoc
* @return $this
* @psalm-suppress MissingParamType
* @since 34.0.0
*/
#[Override]
public function delete($delete = null, $alias = null);
@ -122,6 +132,7 @@ interface ITypedQueryBuilder extends IQueryBuilder {
* @inheritDoc
* @return $this
* @psalm-suppress MissingParamType
* @since 34.0.0
*/
#[Override]
public function update($update = null, $alias = null);
@ -130,6 +141,7 @@ interface ITypedQueryBuilder extends IQueryBuilder {
* @inheritDoc
* @return $this
* @psalm-suppress MissingParamType
* @since 34.0.0
*/
#[Override]
public function insert($insert = null);
@ -138,6 +150,7 @@ interface ITypedQueryBuilder extends IQueryBuilder {
* @inheritDoc
* @return $this
* @psalm-suppress MissingParamType
* @since 34.0.0
*/
#[Override]
public function from($from, $alias = null);
@ -146,6 +159,7 @@ interface ITypedQueryBuilder extends IQueryBuilder {
* @inheritDoc
* @return $this
* @psalm-suppress MissingParamType
* @since 34.0.0
*/
#[Override]
public function join($fromAlias, $join, $alias, $condition = null);
@ -154,6 +168,7 @@ interface ITypedQueryBuilder extends IQueryBuilder {
* @inheritDoc
* @return $this
* @psalm-suppress MissingParamType
* @since 34.0.0
*/
#[Override]
public function innerJoin($fromAlias, $join, $alias, $condition = null);
@ -162,6 +177,7 @@ interface ITypedQueryBuilder extends IQueryBuilder {
* @inheritDoc
* @return $this
* @psalm-suppress MissingParamType
* @since 34.0.0
*/
#[Override]
public function leftJoin($fromAlias, $join, $alias, $condition = null);
@ -170,6 +186,7 @@ interface ITypedQueryBuilder extends IQueryBuilder {
* @inheritDoc
* @return $this
* @psalm-suppress MissingParamType
* @since 34.0.0
*/
#[Override]
public function rightJoin($fromAlias, $join, $alias, $condition = null);
@ -178,6 +195,7 @@ interface ITypedQueryBuilder extends IQueryBuilder {
* @inheritDoc
* @return $this
* @psalm-suppress MissingParamType
* @since 34.0.0
*/
#[Override]
public function set($key, $value);
@ -186,6 +204,7 @@ interface ITypedQueryBuilder extends IQueryBuilder {
* @inheritDoc
* @return $this
* @psalm-suppress MissingParamType
* @since 34.0.0
*/
#[Override]
public function where(...$predicates);
@ -194,6 +213,7 @@ interface ITypedQueryBuilder extends IQueryBuilder {
* @inheritDoc
* @return $this
* @psalm-suppress MissingParamType
* @since 34.0.0
*/
#[Override]
public function andWhere(...$where);
@ -202,6 +222,7 @@ interface ITypedQueryBuilder extends IQueryBuilder {
* @inheritDoc
* @return $this
* @psalm-suppress MissingParamType
* @since 34.0.0
*/
#[Override]
public function orWhere(...$where);
@ -210,6 +231,7 @@ interface ITypedQueryBuilder extends IQueryBuilder {
* @inheritDoc
* @return $this
* @psalm-suppress MissingParamType
* @since 34.0.0
*/
#[Override]
public function groupBy(...$groupBys);
@ -218,6 +240,7 @@ interface ITypedQueryBuilder extends IQueryBuilder {
* @inheritDoc
* @return $this
* @psalm-suppress MissingParamType
* @since 34.0.0
*/
#[Override]
public function addGroupBy(...$groupBy);
@ -226,6 +249,7 @@ interface ITypedQueryBuilder extends IQueryBuilder {
* @inheritDoc
* @return $this
* @psalm-suppress MissingParamType
* @since 34.0.0
*/
#[Override]
public function setValue($column, $value);
@ -233,6 +257,7 @@ interface ITypedQueryBuilder extends IQueryBuilder {
/**
* @inheritDoc
* @return $this
* @since 34.0.0
*/
#[Override]
public function values(array $values);
@ -241,6 +266,7 @@ interface ITypedQueryBuilder extends IQueryBuilder {
* @inheritDoc
* @return $this
* @psalm-suppress MissingParamType
* @since 34.0.0
*/
#[Override]
public function having(...$having);
@ -249,6 +275,7 @@ interface ITypedQueryBuilder extends IQueryBuilder {
* @inheritDoc
* @return $this
* @psalm-suppress MissingParamType
* @since 34.0.0
*/
#[Override]
public function andHaving(...$having);
@ -257,6 +284,7 @@ interface ITypedQueryBuilder extends IQueryBuilder {
* @inheritDoc
* @return $this
* @psalm-suppress MissingParamType
* @since 34.0.0
*/
#[Override]
public function orHaving(...$having);
@ -265,6 +293,7 @@ interface ITypedQueryBuilder extends IQueryBuilder {
* @inheritDoc
* @return $this
* @psalm-suppress MissingParamType
* @since 34.0.0
*/
#[Override]
public function orderBy($sort, $order = null);
@ -273,6 +302,7 @@ interface ITypedQueryBuilder extends IQueryBuilder {
* @inheritDoc
* @return $this
* @psalm-suppress MissingParamType
* @since 34.0.0
*/
#[Override]
public function addOrderBy($sort, $order = null);
@ -281,6 +311,7 @@ interface ITypedQueryBuilder extends IQueryBuilder {
* @inheritDoc
* @return $this
* @psalm-suppress MissingParamType
* @since 34.0.0
*/
#[Override]
public function resetQueryParts($queryPartNames = null);
@ -289,6 +320,7 @@ interface ITypedQueryBuilder extends IQueryBuilder {
* @inheritDoc
* @return $this
* @psalm-suppress MissingParamType
* @since 34.0.0
*/
#[Override]
public function resetQueryPart($queryPartName);
@ -296,6 +328,7 @@ interface ITypedQueryBuilder extends IQueryBuilder {
/**
* @inheritDoc
* @return $this
* @since 34.0.0
*/
#[Override]
public function hintShardKey(string $column, mixed $value, bool $overwrite = false): self;
@ -303,6 +336,7 @@ interface ITypedQueryBuilder extends IQueryBuilder {
/**
* @inheritDoc
* @return $this
* @since 34.0.0
*/
#[Override]
public function runAcrossAllShards(): self;
@ -310,6 +344,7 @@ interface ITypedQueryBuilder extends IQueryBuilder {
/**
* @inheritDoc
* @return $this
* @since 34.0.0
*/
#[Override]
public function forUpdate(ConflictResolutionMode $conflictResolutionMode = ConflictResolutionMode::Ordinary): self;