Skip to content

Commit

Permalink
Added join expectations
Browse files Browse the repository at this point in the history
  • Loading branch information
staabm committed Feb 20, 2023
1 parent 03dad75 commit 1e0e3da
Showing 1 changed file with 30 additions and 0 deletions.
30 changes: 30 additions & 0 deletions tests/default/data/sql-ast-narrowing.php
Original file line number Diff line number Diff line change
Expand Up @@ -285,4 +285,34 @@ public function sum(PDO $pdo): void
$stmt = $pdo->query('SELECT sum(c_double) as sum from typemix');
assertType('PDOStatement<array{sum: float, 0: float}>', $stmt);
}

public function joinNullable(PDO $pdo): void
{
$stmt = $pdo->query('SELECT adaid, eladaid from ada join ak on (adaid = eladaid)');
assertType('PDOStatement<array{adaid: int<-32768, 32767>, 0: int<-32768, 32767>, eladaid: int<-2147483648, 2147483647>, 1: int<-2147483648, 2147483647>}>', $stmt);

$stmt = $pdo->query('SELECT adaid, eladaid from ada inner join ak on (adaid = eladaid)');
assertType('PDOStatement<array{adaid: int<-32768, 32767>, 0: int<-32768, 32767>, eladaid: int<-2147483648, 2147483647>, 1: int<-2147483648, 2147483647>}>', $stmt);

$stmt = $pdo->query('SELECT adaid, eladaid from ada left join ak on (adaid = eladaid)');
assertType('PDOStatement<array{adaid: int<-32768, 32767>, 0: int<-32768, 32767>, eladaid: int<-2147483648, 2147483647>|null, 1: int<-2147483648, 2147483647>|null}>', $stmt);

$stmt = $pdo->query('SELECT adaid, eladaid from ada left outer join ak on (adaid = eladaid)');
assertType('PDOStatement<array{adaid: int<-32768, 32767>, 0: int<-32768, 32767>, eladaid: int<-2147483648, 2147483647>|null, 1: int<-2147483648, 2147483647>|null}>', $stmt);
}

public function joinNonNullable(PDO $pdo): void
{
$stmt = $pdo->query('SELECT adaid, akid from ada join ak on (adaid = eladaid)');
assertType('PDOStatement<array{adaid: int<-32768, 32767>, 0: int<-32768, 32767>, akid: int<-2147483648, 2147483647>, 1: int<-2147483648, 2147483647>}>', $stmt);

$stmt = $pdo->query('SELECT adaid, akid from ada inner join ak on (adaid = eladaid)');
assertType('PDOStatement<array{adaid: int<-32768, 32767>, 0: int<-32768, 32767>, akid: int<-2147483648, 2147483647>, 1: int<-2147483648, 2147483647>}>', $stmt);

$stmt = $pdo->query('SELECT adaid, akid from ada left join ak on (adaid = eladaid)');
assertType('PDOStatement<array{adaid: int<-32768, 32767>, 0: int<-32768, 32767>, akid: int<-2147483648, 2147483647>|null, 1: int<-2147483648, 2147483647>|null}>', $stmt);

$stmt = $pdo->query('SELECT adaid, akid from ada left outer join ak on (adaid = eladaid)');
assertType('PDOStatement<array{adaid: int<-32768, 32767>, 0: int<-32768, 32767>, akid: int<-2147483648, 2147483647>|null, 1: int<-2147483648, 2147483647>|null}>', $stmt);
}
}

0 comments on commit 1e0e3da

Please sign in to comment.