From 0f2750488d106df1d88011410a15ecf2b6f76280 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 | 97 +++++++++++++++++++++++++++++++++++++ stubs/DBAL/Connection4.stub | 97 +++++++++++++++++++++++++++++++++++++ 2 files changed, 194 insertions(+) diff --git a/stubs/DBAL/Connection.stub b/stubs/DBAL/Connection.stub index 8cda0657..5011618d 100644 --- a/stubs/DBAL/Connection.stub +++ b/stubs/DBAL/Connection.stub @@ -119,4 +119,101 @@ class Connection * @throws Exception */ public function insert($table, array $data, array $types = []); + + /** + * @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 19983d79..de89ab16 100644 --- a/stubs/DBAL/Connection4.stub +++ b/stubs/DBAL/Connection4.stub @@ -123,4 +123,101 @@ class Connection * @throws Exception */ public function insert(string $table, array $data, array $types = []): int|string; + + /** + * @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 = []); + }