Skip to content

Commit 301b942

Browse files
committed
Update sql-ast-narrowing.php
1 parent c92190a commit 301b942

File tree

1 file changed

+60
-20
lines changed

1 file changed

+60
-20
lines changed

tests/sqlAst/data/sql-ast-narrowing.php

Lines changed: 60 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -504,64 +504,104 @@ public function strcase(PDO $pdo): void
504504
public function avg(PDO $pdo): void
505505
{
506506
$stmt = $pdo->query('SELECT avg(freigabe1u1) as avg from ada');
507-
assertType('PDOStatement<array{avg: numeric-string|null, 0: numeric-string|null}>', $stmt);
507+
foreach ($stmt as $row) {
508+
assertType("array{avg: numeric-string|null, 0: numeric-string|null}", $row);
509+
}
508510

509511
$stmt = $pdo->query('SELECT avg(eladaid) as avg from ak');
510-
assertType('PDOStatement<array{avg: numeric-string|null, 0: numeric-string|null}>', $stmt);
512+
foreach ($stmt as $row) {
513+
assertType("array{avg: numeric-string|null, 0: numeric-string|null}", $row);
514+
}
511515

512516
$stmt = $pdo->query('SELECT avg(coalesce(eladaid, 9999999999999999)) as avg from ak');
513-
assertType('PDOStatement<array{avg: numeric-string|null, 0: numeric-string|null}>', $stmt);
517+
foreach ($stmt as $row) {
518+
assertType("array{avg: numeric-string|null, 0: numeric-string|null}", $row);
519+
}
514520

515521
$stmt = $pdo->query('SELECT avg(email) as avg from ada');
516-
assertType('PDOStatement<array{avg: float|null, 0: float|null}>', $stmt);
522+
foreach ($stmt as $row) {
523+
assertType("array{avg: float|null, 0: float|null}", $row);
524+
}
517525

518526
// Test numeric-string input
519527
$stmt = $pdo->query('SELECT avg(concat("0")) as avg from ada');
520-
assertType('PDOStatement<array{avg: float|null, 0: float|null}>', $stmt);
528+
foreach ($stmt as $row) {
529+
assertType("array{avg: float|null, 0: float|null}", $row);
530+
}
521531

522532
// Test non-falsy-string input
523533
$stmt = $pdo->query('SELECT avg(concat("foo")) as avg from ada');
524-
assertType('PDOStatement<array{avg: float|null, 0: float|null}>', $stmt);
534+
foreach ($stmt as $row) {
535+
assertType("array{avg: float|null, 0: float|null}", $row);
536+
}
525537

526538
$stmt = $pdo->query('SELECT avg(ifnull(email, adaid)) as avg from ada');
527-
assertType('PDOStatement<array{avg: float|null, 0: float|null}>', $stmt);
539+
foreach ($stmt as $row) {
540+
assertType("array{avg: float|null, 0: float|null}", $row);
541+
}
528542

529543
$stmt = $pdo->query('SELECT avg(null) as avg from ada');
530-
assertType('PDOStatement<array{avg: null, 0: null}>', $stmt);
544+
foreach ($stmt as $row) {
545+
assertType("array{avg: null, 0: null}", $row);
546+
}
531547

532548
$stmt = $pdo->query('SELECT avg(c_tinyint) as avg from typemix GROUP BY c_int');
533-
assertType('PDOStatement<array{avg: numeric-string, 0: numeric-string}>', $stmt);
549+
foreach ($stmt as $row) {
550+
assertType("array{avg: numeric-string, 0: numeric-string}", $row);
551+
}
534552

535553
$stmt = $pdo->query('SELECT avg(c_nullable_tinyint) as avg from typemix GROUP BY c_int');
536-
assertType('PDOStatement<array{avg: numeric-string|null, 0: numeric-string|null}>', $stmt);
554+
foreach ($stmt as $row) {
555+
assertType("array{avg: numeric-string|null, 0: numeric-string|null}", $row);
556+
}
537557
}
538558

539559
public function minMax(PDO $pdo): void
540560
{
541561
$stmt = $pdo->query('SELECT min(freigabe1u1) as min from ada');
542-
assertType('PDOStatement<array{min: int<-32768, 32767>|null, 0: int<-32768, 32767>|null}>', $stmt);
562+
foreach ($stmt as $row) {
563+
assertType("array{min: int<-32768, 32767>|null, 0: int<-32768, 32767>|null}", $row);
564+
}
543565
$stmt = $pdo->query('SELECT max(freigabe1u1) as max from ada');
544-
assertType('PDOStatement<array{max: int<-32768, 32767>|null, 0: int<-32768, 32767>|null}>', $stmt);
566+
foreach ($stmt as $row) {
567+
assertType("array{max: int<-32768, 32767>|null, 0: int<-32768, 32767>|null}", $row);
568+
}
545569

546570
$stmt = $pdo->query('SELECT min(eladaid) as min from ak');
547-
assertType('PDOStatement<array{min: int<-2147483648, 2147483647>|null, 0: int<-2147483648, 2147483647>|null}>', $stmt);
571+
foreach ($stmt as $row) {
572+
assertType("array{min: int<-2147483648, 2147483647>|null, 0: int<-2147483648, 2147483647>|null}", $row);
573+
}
548574
$stmt = $pdo->query('SELECT max(eladaid) as max from ak');
549-
assertType('PDOStatement<array{max: int<-2147483648, 2147483647>|null, 0: int<-2147483648, 2147483647>|null}>', $stmt);
575+
foreach ($stmt as $row) {
576+
assertType("array{max: int<-2147483648, 2147483647>|null, 0: int<-2147483648, 2147483647>|null}", $row);
577+
}
550578

551579
$stmt = $pdo->query('SELECT min(email) as min from ada');
552-
assertType('PDOStatement<array{min: string|null, 0: string|null}>', $stmt);
580+
foreach ($stmt as $row) {
581+
assertType("array{min: string|null, 0: string|null}", $row);
582+
}
553583
$stmt = $pdo->query('SELECT max(email) as max from ada');
554-
assertType('PDOStatement<array{max: string|null, 0: string|null}>', $stmt);
584+
foreach ($stmt as $row) {
585+
assertType("array{max: string|null, 0: string|null}", $row);
586+
}
555587

556588
$stmt = $pdo->query('SELECT min(ifnull(email, adaid)) as min from ada');
557-
assertType('PDOStatement<array{min: string|null, 0: string|null}>', $stmt);
589+
foreach ($stmt as $row) {
590+
assertType("array{min: string|null, 0: string|null}", $row);
591+
}
558592
$stmt = $pdo->query('SELECT max(ifnull(email, adaid)) as max from ada');
559-
assertType('PDOStatement<array{max: string|null, 0: string|null}>', $stmt);
593+
foreach ($stmt as $row) {
594+
assertType("array{max: string|null, 0: string|null}", $row);
595+
}
560596

561597
$stmt = $pdo->query('SELECT min(null) as min from ada');
562-
assertType('PDOStatement<array{min: null, 0: null}>', $stmt);
598+
foreach ($stmt as $row) {
599+
assertType("array{min: null, 0: null}", $row);
600+
}
563601
$stmt = $pdo->query('SELECT max(null) as max from ada');
564-
assertType('PDOStatement<array{max: null, 0: null}>', $stmt);
602+
foreach ($stmt as $row) {
603+
assertType("array{max: null, 0: null}", $row);
604+
}
565605

566606
$stmt = $pdo->query('SELECT min(c_tinyint) as min from typemix GROUP BY c_int');
567607
assertType('PDOStatement<array{min: int<-128, 127>, 0: int<-128, 127>}>', $stmt);

0 commit comments

Comments
 (0)