From 027bab1dddd5d76c9c310862314ef86e2226e3a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20N=C3=A9grier?= Date: Mon, 3 Aug 2020 23:46:33 +0200 Subject: [PATCH 1/2] Subquery aliases in Oracle don't accept the AS keyword --- tests/Mouf/Database/MagicQueryTest.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/Mouf/Database/MagicQueryTest.php b/tests/Mouf/Database/MagicQueryTest.php index 8e41767..4fd9b3e 100644 --- a/tests/Mouf/Database/MagicQueryTest.php +++ b/tests/Mouf/Database/MagicQueryTest.php @@ -205,6 +205,9 @@ public function testStandardSelect() $sql = 'SELECT COUNT(*) FROM (SELECT DISTINCT states.country_id, states.code FROM states)'; $this->assertEquals($sql, self::simplifySql($magicQuery->build($sql))); + + $sql = 'SELECT COUNT(*) AS cnt FROM (SELECT id FROM country) subquery'; + $this->assertEquals($sql, self::simplifySql($magicQuery->build($sql))); } /** From 6afd03a524882d327f52fbff215c5d1f88d95fe5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20N=C3=A9grier?= Date: Mon, 3 Aug 2020 23:47:00 +0200 Subject: [PATCH 2/2] Fixing subquery aliases in Oracle --- src/SQLParser/Node/SubQuery.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SQLParser/Node/SubQuery.php b/src/SQLParser/Node/SubQuery.php index e0ddd2d..327637b 100644 --- a/src/SQLParser/Node/SubQuery.php +++ b/src/SQLParser/Node/SubQuery.php @@ -196,7 +196,7 @@ public function toSql(array $parameters, AbstractPlatform $platform, int $indent } $sql .= '('.$this->subQuery->toSql($parameters, $platform, $indent, $conditionsMode, $extrapolateParameters).')'; if ($this->alias) { - $sql .= ' AS '.$platform->quoteSingleIdentifier($this->alias); + $sql .= ' '.$platform->quoteSingleIdentifier($this->alias); } if ($this->refClause) { $sql .= ' ON ';