@@ -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		$ selectsarray_keys ($ testData
0 commit comments