@@ -180,60 +180,61 @@ public function provideCases(): iterable
180180 // Notes:
181181 // - Any direct column fetch uses the type declared in entity, but when passed to a function, the driver decides the type
182182
183- $ testData = [ // mysql, sqlite, pdo_pgsql, pgsql, stringified, stringifiedOldPostgre
183+ $ testData = [ // mysql, sqlite, pdo_pgsql, pgsql, stringified, stringifiedOldPostgre
184184 // bool-ish
185- 't.col_bool ' => ['bool ' , 'bool ' , 'bool ' , 'bool ' , 'bool ' , 'bool ' ],
186- 'COALESCE(t.col_bool, TRUE) ' => ['int ' , 'int ' , 'bool ' , 'bool ' , 'string ' , 'bool ' ],
185+ '(TRUE) ' => ['int ' , 'int ' , 'bool ' , 'bool ' , 'string ' , 'bool ' ],
186+ 't.col_bool ' => ['bool ' , 'bool ' , 'bool ' , 'bool ' , 'bool ' , 'bool ' ],
187+ 'COALESCE(t.col_bool, TRUE) ' => ['int ' , 'int ' , 'bool ' , 'bool ' , 'string ' , 'bool ' ],
187188
188189 // float-ish
189- 't.col_float ' => ['float ' , 'float ' , 'float ' , 'float ' , 'float ' , 'float ' ],
190- 'AVG(t.col_float) ' => ['float ' , 'float ' , 'string ' , 'float ' , 'string ' , 'string ' ],
191- 'SUM(t.col_float) ' => ['float ' , 'float ' , 'string ' , 'float ' , 'string ' , 'string ' ],
192- 'MIN(t.col_float) ' => ['float ' , 'float ' , 'string ' , 'float ' , 'string ' , 'string ' ],
193- 'MAX(t.col_float) ' => ['float ' , 'float ' , 'string ' , 'float ' , 'string ' , 'string ' ],
194- 'SQRT(t.col_float) ' => ['float ' , 'float ' , 'string ' , 'float ' , 'string ' , 'string ' ],
195- 'ABS(t.col_float) ' => ['float ' , 'float ' , 'string ' , 'float ' , 'string ' , 'string ' ],
190+ 't.col_float ' => ['float ' , 'float ' , 'float ' , 'float ' , 'float ' , 'float ' ],
191+ 'AVG(t.col_float) ' => ['float ' , 'float ' , 'string ' , 'float ' , 'string ' , 'string ' ],
192+ 'SUM(t.col_float) ' => ['float ' , 'float ' , 'string ' , 'float ' , 'string ' , 'string ' ],
193+ 'MIN(t.col_float) ' => ['float ' , 'float ' , 'string ' , 'float ' , 'string ' , 'string ' ],
194+ 'MAX(t.col_float) ' => ['float ' , 'float ' , 'string ' , 'float ' , 'string ' , 'string ' ],
195+ 'SQRT(t.col_float) ' => ['float ' , 'float ' , 'string ' , 'float ' , 'string ' , 'string ' ],
196+ 'ABS(t.col_float) ' => ['float ' , 'float ' , 'string ' , 'float ' , 'string ' , 'string ' ],
196197
197198 // decimal-ish
198- 't.col_decimal ' => ['string ' , 'string ' , 'string ' , 'string ' , 'string ' , 'string ' ],
199- '0.1 ' => ['string ' , 'float ' , 'string ' , 'string ' , 'string ' , 'string ' ],
200- '0.125e0 ' => ['float ' , 'float ' , 'string ' , 'string ' , 'string ' , 'string ' ],
201- 'AVG(t.col_decimal) ' => ['string ' , 'float ' , 'string ' , 'string ' , 'string ' , 'string ' ],
202- 'AVG(t.col_int) ' => ['string ' , 'float ' , 'string ' , 'string ' , 'string ' , 'string ' ],
203- 'AVG(t.col_bigint) ' => ['string ' , 'float ' , 'string ' , 'string ' , 'string ' , 'string ' ],
204- 'SUM(t.col_decimal) ' => ['string ' , 'float ' , 'string ' , 'string ' , 'string ' , 'string ' ],
205- 'MIN(t.col_decimal) ' => ['string ' , 'float ' , 'string ' , 'string ' , 'string ' , 'string ' ],
206- 'MAX(t.col_decimal) ' => ['string ' , 'float ' , 'string ' , 'string ' , 'string ' , 'string ' ],
207- 'SQRT(t.col_decimal) ' => ['float ' , 'float ' , 'string ' , 'string ' , 'string ' , 'string ' ],
208- 'SQRT(t.col_int) ' => ['float ' , 'float ' , 'string ' , 'float ' , 'string ' , 'string ' ],
209- 'SQRT(t.col_bigint) ' => ['float ' , null , 'string ' , 'float ' , null , null ], // sqlite3 returns float, but pdo_sqlite returns NULL
210- 'ABS(t.col_decimal) ' => ['string ' , 'float ' , 'string ' , 'string ' , 'string ' , 'string ' ],
199+ 't.col_decimal ' => ['string ' , 'string ' , 'string ' , 'string ' , 'string ' , 'string ' ],
200+ '0.1 ' => ['string ' , 'float ' , 'string ' , 'string ' , 'string ' , 'string ' ],
201+ '0.125e0 ' => ['float ' , 'float ' , 'string ' , 'string ' , 'string ' , 'string ' ],
202+ 'AVG(t.col_decimal) ' => ['string ' , 'float ' , 'string ' , 'string ' , 'string ' , 'string ' ],
203+ 'AVG(t.col_int) ' => ['string ' , 'float ' , 'string ' , 'string ' , 'string ' , 'string ' ],
204+ 'AVG(t.col_bigint) ' => ['string ' , 'float ' , 'string ' , 'string ' , 'string ' , 'string ' ],
205+ 'SUM(t.col_decimal) ' => ['string ' , 'float ' , 'string ' , 'string ' , 'string ' , 'string ' ],
206+ 'MIN(t.col_decimal) ' => ['string ' , 'float ' , 'string ' , 'string ' , 'string ' , 'string ' ],
207+ 'MAX(t.col_decimal) ' => ['string ' , 'float ' , 'string ' , 'string ' , 'string ' , 'string ' ],
208+ 'SQRT(t.col_decimal) ' => ['float ' , 'float ' , 'string ' , 'string ' , 'string ' , 'string ' ],
209+ 'SQRT(t.col_int) ' => ['float ' , 'float ' , 'string ' , 'float ' , 'string ' , 'string ' ],
210+ 'SQRT(t.col_bigint) ' => ['float ' , null , 'string ' , 'float ' , null , null ], // sqlite3 returns float, but pdo_sqlite returns NULL
211+ 'ABS(t.col_decimal) ' => ['string ' , 'float ' , 'string ' , 'string ' , 'string ' , 'string ' ],
211212
212213 // int-ish
213- '1 ' => ['int ' , 'int ' , 'int ' , 'int ' , 'string ' , 'string ' ],
214- '2147483648 ' => ['int ' , 'int ' , 'int ' , 'int ' , 'string ' , 'string ' ],
215- 't.col_int ' => ['int ' , 'int ' , 'int ' , 'int ' , 'int ' , 'int ' ],
216- 't.col_bigint ' => ['string ' , 'string ' , 'string ' , 'string ' , 'string ' , 'string ' ],
217- 'SUM(t.col_int) ' => ['string ' , 'int ' , 'int ' , 'int ' , 'string ' , 'string ' ],
218- 'SUM(t.col_bigint) ' => ['string ' , 'int ' , 'string ' , 'string ' , 'string ' , 'string ' ],
219- "LENGTH('') " => ['int ' , 'int ' , 'int ' , 'int ' , 'int ' , 'int ' ],
220- 'COUNT(t) ' => ['int ' , 'int ' , 'int ' , 'int ' , 'int ' , 'int ' ],
221- 'COUNT(1) ' => ['int ' , 'int ' , 'int ' , 'int ' , 'int ' , 'int ' ],
222- 'COUNT(t.col_int) ' => ['int ' , 'int ' , 'int ' , 'int ' , 'int ' , 'int ' ],
223- 'MIN(t.col_int) ' => ['int ' , 'int ' , 'int ' , 'int ' , 'string ' , 'string ' ],
224- 'MIN(t.col_bigint) ' => ['int ' , 'int ' , 'int ' , 'int ' , 'string ' , 'string ' ],
225- 'MAX(t.col_int) ' => ['int ' , 'int ' , 'int ' , 'int ' , 'string ' , 'string ' ],
226- 'MAX(t.col_bigint) ' => ['int ' , 'int ' , 'int ' , 'int ' , 'string ' , 'string ' ],
227- 'MOD(t.col_int, 2) ' => ['int ' , 'int ' , 'int ' , 'int ' , 'string ' , 'string ' ],
228- 'MOD(t.col_bigint, 2) ' => ['int ' , 'int ' , 'int ' , 'int ' , 'string ' , 'string ' ],
229- 'ABS(t.col_int) ' => ['int ' , 'int ' , 'int ' , 'int ' , 'string ' , 'string ' ],
230- 'ABS(t.col_bigint) ' => ['int ' , 'int ' , 'int ' , 'int ' , 'string ' , 'string ' ],
214+ '1 ' => ['int ' , 'int ' , 'int ' , 'int ' , 'string ' , 'string ' ],
215+ '2147483648 ' => ['int ' , 'int ' , 'int ' , 'int ' , 'string ' , 'string ' ],
216+ 't.col_int ' => ['int ' , 'int ' , 'int ' , 'int ' , 'int ' , 'int ' ],
217+ 't.col_bigint ' => ['string ' , 'string ' , 'string ' , 'string ' , 'string ' , 'string ' ],
218+ 'SUM(t.col_int) ' => ['string ' , 'int ' , 'int ' , 'int ' , 'string ' , 'string ' ],
219+ 'SUM(t.col_bigint) ' => ['string ' , 'int ' , 'string ' , 'string ' , 'string ' , 'string ' ],
220+ "LENGTH('') " => ['int ' , 'int ' , 'int ' , 'int ' , 'int ' , 'int ' ],
221+ 'COUNT(t) ' => ['int ' , 'int ' , 'int ' , 'int ' , 'int ' , 'int ' ],
222+ 'COUNT(1) ' => ['int ' , 'int ' , 'int ' , 'int ' , 'int ' , 'int ' ],
223+ 'COUNT(t.col_int) ' => ['int ' , 'int ' , 'int ' , 'int ' , 'int ' , 'int ' ],
224+ 'MIN(t.col_int) ' => ['int ' , 'int ' , 'int ' , 'int ' , 'string ' , 'string ' ],
225+ 'MIN(t.col_bigint) ' => ['int ' , 'int ' , 'int ' , 'int ' , 'string ' , 'string ' ],
226+ 'MAX(t.col_int) ' => ['int ' , 'int ' , 'int ' , 'int ' , 'string ' , 'string ' ],
227+ 'MAX(t.col_bigint) ' => ['int ' , 'int ' , 'int ' , 'int ' , 'string ' , 'string ' ],
228+ 'MOD(t.col_int, 2) ' => ['int ' , 'int ' , 'int ' , 'int ' , 'string ' , 'string ' ],
229+ 'MOD(t.col_bigint, 2) ' => ['int ' , 'int ' , 'int ' , 'int ' , 'string ' , 'string ' ],
230+ 'ABS(t.col_int) ' => ['int ' , 'int ' , 'int ' , 'int ' , 'string ' , 'string ' ],
231+ 'ABS(t.col_bigint) ' => ['int ' , 'int ' , 'int ' , 'int ' , 'string ' , 'string ' ],
231232
232233 // string
233- 't.col_string ' => ['string ' , 'string ' , 'string ' , 'string ' , 'string ' , 'string ' ],
234- 'LOWER(t.col_string) ' => ['string ' , 'string ' , 'string ' , 'string ' , 'string ' , 'string ' ],
235- 'UPPER(t.col_string) ' => ['string ' , 'string ' , 'string ' , 'string ' , 'string ' , 'string ' ],
236- 'TRIM(t.col_string) ' => ['string ' , 'string ' , 'string ' , 'string ' , 'string ' , 'string ' ],
234+ 't.col_string ' => ['string ' , 'string ' , 'string ' , 'string ' , 'string ' , 'string ' ],
235+ 'LOWER(t.col_string) ' => ['string ' , 'string ' , 'string ' , 'string ' , 'string ' , 'string ' ],
236+ 'UPPER(t.col_string) ' => ['string ' , 'string ' , 'string ' , 'string ' , 'string ' , 'string ' ],
237+ 'TRIM(t.col_string) ' => ['string ' , 'string ' , 'string ' , 'string ' , 'string ' , 'string ' ],
237238 ];
238239
239240 $ selects = array_keys ($ testData );
0 commit comments