@@ -180,60 +180,61 @@ public function provideCases(): iterable
180
180
// Notes:
181
181
// - Any direct column fetch uses the type declared in entity, but when passed to a function, the driver decides the type
182
182
183
- $ testData = [ // mysql, sqlite, pdo_pgsql, pgsql, stringified, stringifiedOldPostgre
183
+ $ testData = [ // mysql, sqlite, pdo_pgsql, pgsql, stringified, stringifiedOldPostgre
184
184
// 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 ' ],
187
188
188
189
// 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 ' ],
196
197
197
198
// 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 ' ],
211
212
212
213
// 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 ' ],
231
232
232
233
// 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 ' ],
237
238
];
238
239
239
240
$ selects = array_keys ($ testData );
0 commit comments