@@ -41,20 +41,36 @@ public function clearValues();
41
41
public function setPreserveTypes (bool $ preserveTypes = true );
42
42
43
43
/**
44
- * @param null|callable(array<string, mixed>): array<string, mixed>|callable(array<string, mixed>): void|callable(array<string, mixed>): DBIgnoreRow $callback
45
- * @return array<int, array<string, mixed>>
44
+ * Fetches all rows using PDO::FETCH_NUM
45
+ *
46
+ * @template K of int
47
+ * @template V
48
+ * @param null|callable(array<string, null|scalar>): (void|DBIgnoreRow|array<K, V>) $callback
49
+ * @return ($callback is null ? array<int, array<int, null|scalar>> : array<int, array<K, V>>)
50
+ */
51
+ public function fetchIndexedRows ($ callback = null ): array ;
52
+
53
+ /**
54
+ * @template K
55
+ * @template V
56
+ * @param null|callable(array<string, null|scalar>): (void|DBIgnoreRow|array<K, V>) $callback
57
+ * @return ($callback is null ? array<int, array<string, null|scalar>> : array<int, array<K, V>>)
46
58
*/
47
59
public function fetchRows ($ callback = null ): array ;
48
60
49
61
/**
50
- * @param null|callable(array<string, mixed>): (array<mixed, mixed>|null|void) $callback
51
- * @return Generator<int, array<string, mixed>>
62
+ * @template K
63
+ * @template V
64
+ * @param null|callable(array<string, null|scalar>): (void|DBIgnoreRow|array<K, V>) $callback
65
+ * @return ($callback is null ? Generator<int, array<string, mixed>> : Generator<int, array<K, V>>)
52
66
*/
53
67
public function fetchRowsLazy ($ callback = null );
54
68
55
69
/**
56
- * @param null|callable(array<string, mixed>): array<string, mixed>|callable(array<string, mixed>): void|callable(array<string, mixed>): DBIgnoreRow $callback
57
- * @return array<string, mixed>
70
+ * @template K
71
+ * @template V
72
+ * @param null|callable(array<string, mixed>): (array<K, V>|void|DBIgnoreRow) $callback
73
+ * @return ($callback is null ? array<string, null|scalar> : array<K, V>)
58
74
*/
59
75
public function fetchRow ($ callback = null ): array ;
60
76
@@ -63,7 +79,7 @@ public function fetchRow($callback = null): array;
63
79
* @template U
64
80
* @param class-string<T> $className
65
81
* @param null|callable(T): U $callback
66
- * @return T[]|U[]
82
+ * @return ($callback is null ? array<int, T> : array<int, U>)
67
83
*/
68
84
public function fetchObjects (string $ className = 'stdClass ' , $ callback = null ): array ;
69
85
@@ -72,7 +88,7 @@ public function fetchObjects(string $className = 'stdClass', $callback = null):
72
88
* @template U
73
89
* @param class-string<T> $className
74
90
* @param null|callable(T): U $callback
75
- * @return Generator<int, T|U>
91
+ * @return ($callback is null ? Generator<int, T> : Generator<int, U>)
76
92
*/
77
93
public function fetchObjectsLazy ($ className = null , $ callback = null );
78
94
@@ -81,7 +97,7 @@ public function fetchObjectsLazy($className = null, $callback = null);
81
97
* @template U
82
98
* @param class-string<T> $className
83
99
* @param null|callable(T): U $callback
84
- * @return T|U
100
+ * @return ($callback is null ? T : U)
85
101
*/
86
102
public function fetchObject ($ className = null , $ callback = null );
87
103
@@ -99,8 +115,8 @@ public function fetchGroups(array $fields): array;
99
115
100
116
/**
101
117
* @template T
102
- * @param null|callable(null|bool|int|float|string ): T $fn
103
- * @return array<int, T|string>
118
+ * @param null|callable(null|scalar ): T $fn
119
+ * @return ($fn is null ? array<int, null|scalar> : array<int, T>)
104
120
*/
105
121
public function fetchArray (?callable $ fn = null ): array ;
106
122
@@ -109,7 +125,7 @@ public function fetchArray(?callable $fn = null): array;
109
125
* @template TCastFn
110
126
* @param TDefault $default
111
127
* @param null|callable(null|bool|string|int|float): TCastFn $fn
112
- * @return null|bool|string|int|float| TDefault| TCastFn
128
+ * @return ($fn is null ? null|scalar| TDefault : TCastFn)
113
129
*/
114
130
public function fetchValue ($ default = null , ?callable $ fn = null );
115
131
0 commit comments