From 71b1cb5709781ba360faeb6cef4244ee9b9eb9bf Mon Sep 17 00:00:00 2001 From: Vincent Langlet Date: Mon, 3 Nov 2025 12:46:22 +0100 Subject: [PATCH] Declare Connection::fetch methods as impure --- stubs/DBAL/Connection.stub | 96 +++++++++++++++++++++++++++++++++++++ stubs/DBAL/Connection4.stub | 96 +++++++++++++++++++++++++++++++++++++ 2 files changed, 192 insertions(+) diff --git a/stubs/DBAL/Connection.stub b/stubs/DBAL/Connection.stub index 15c8e6e1..87925c24 100644 --- a/stubs/DBAL/Connection.stub +++ b/stubs/DBAL/Connection.stub @@ -74,4 +74,100 @@ class Connection */ public function transactional(Closure $func); + /** + * @param list|array $params + * @param array|array $types + * + * @return array|false + * + * @throws Exception + * + * @phpstan-impure + */ + public function fetchAssociative(string $query, array $params = [], array $types = []); + + /** + * @param list|array $params + * @param array|array $types + * + * @return list|false + * + * @throws Exception + * + * @phpstan-impure + */ + public function fetchNumeric(string $query, array $params = [], array $types = []); + + /** + * @param list|array $params + * @param array|array $types + * + * @return mixed + * + * @throws Exception + * + * @phpstan-impure + */ + public function fetchOne(string $query, array $params = [], array $types = []); + + /** + * @param list|array $params + * @param array|array $types + * + * @return list> + * + * @throws Exception + * + * @phpstan-impure + */ + public function fetchAllNumeric(string $query, array $params = [], array $types = []); + + /** + * @param list|array $params + * @param array|array $types + * + * @return list> + * + * @throws Exception + * + * @phpstan-impure + */ + public function fetchAllAssociative(string $query, array $params = [], array $types = []); + + /** + * @param list|array $params + * @param array|array $types + * + * @return array + * + * @throws Exception + * + * @phpstan-impure + */ + public function fetchAllKeyValue(string $query, array $params = [], array $types = []); + + /** + * @param list|array $params + * @param array|array $types + * + * @return array> + * + * @throws Exception + * + * @phpstan-impure + */ + public function fetchAllAssociativeIndexed(string $query, array $params = [], array $types = []); + + /** + * @param list|array $params + * @param array|array $types + * + * @return list + * + * @throws Exception + * + * @phpstan-impure + */ + public function fetchFirstColumn(string $query, array $params = [], array $types = []); + } diff --git a/stubs/DBAL/Connection4.stub b/stubs/DBAL/Connection4.stub index 77b13d78..9c215bb9 100644 --- a/stubs/DBAL/Connection4.stub +++ b/stubs/DBAL/Connection4.stub @@ -78,4 +78,100 @@ class Connection */ public function transactional(Closure $func); + /** + * @param list|array $params + * @param WrapperParameterTypeArray $types + * + * @return array|false + * + * @throws Exception + * + * @phpstan-impure + */ + public function fetchAssociative(string $query, array $params = [], array $types = []); + + /** + * @param list|array $params + * @param WrapperParameterTypeArray $types + * + * @return list|false + * + * @throws Exception + * + * @phpstan-impure + */ + public function fetchNumeric(string $query, array $params = [], array $types = []); + + /** + * @param list|array $params + * @param WrapperParameterTypeArray $types + * + * @return mixed + * + * @throws Exception + * + * @phpstan-impure + */ + public function fetchOne(string $query, array $params = [], array $types = []); + + /** + * @param list|array $params + * @param WrapperParameterTypeArray $types + * + * @return list> + * + * @throws Exception + * + * @phpstan-impure + */ + public function fetchAllNumeric(string $query, array $params = [], array $types = []); + + /** + * @param list|array $params + * @param WrapperParameterTypeArray $types + * + * @return list> + * + * @throws Exception + * + * @phpstan-impure + */ + public function fetchAllAssociative(string $query, array $params = [], array $types = []); + + /** + * @param list|array $params + * @param WrapperParameterTypeArray $types + * + * @return array + * + * @throws Exception + * + * @phpstan-impure + */ + public function fetchAllKeyValue(string $query, array $params = [], array $types = []); + + /** + * @param list|array $params + * @param WrapperParameterTypeArray $types + * + * @return array> + * + * @throws Exception + * + * @phpstan-impure + */ + public function fetchAllAssociativeIndexed(string $query, array $params = [], array $types = []); + + /** + * @param list|array $params + * @param WrapperParameterTypeArray $types + * + * @return list + * + * @throws Exception + * + * @phpstan-impure + */ + public function fetchFirstColumn(string $query, array $params = [], array $types = []); + }