Database: Fix degenerate parenthesized joins
authorBrad Jorsch <bjorsch@wikimedia.org>
Wed, 29 Nov 2017 20:42:27 +0000 (15:42 -0500)
committerBrad Jorsch <bjorsch@wikimedia.org>
Wed, 29 Nov 2017 20:42:27 +0000 (15:42 -0500)
commit2b2f9e229d2772d680393c1e7d7e4a41dae5b114
treeac186b5f77d8a64e0fdb6d6a465f4292a9639c08
parent2c8fd216cd9a0cb9a2995c9d3e89986fb1fbf012
Database: Fix degenerate parenthesized joins

The SQL standard supports parenthesized joins like

    a JOIN (b JOIN c ON (...)) ON (...)

But it doesn't support parenthesizing a single table name, i.e. a
one-table "join", like

    a JOIN (b) ON (...)

Detect the degenerate single-table case and omit the parentheses.

Bug: T181674
Change-Id: I82cacd80465092aa67ff19bdcfd6682001bf12ab
includes/libs/rdbms/database/Database.php
tests/phpunit/includes/libs/rdbms/database/DatabaseTest.php