@ -1007,8 +1007,8 @@ abstract class QueryBuilderTest extends DatabaseTestCase
$qb = $this->getQueryBuilder();
foreach ($this->columnTypes() as $item) {
list ($column, $builder, $expected) = $item;
$expectedColumnSchemaBuilder = isset($item[3]) ? $item[3] : $column;
[$column, $builder, $expected] = $item;
$expectedColumnSchemaBuilder = $item[3] ?? $column;
$this->assertEquals($expected, $qb->getColumnType($column));
$this->assertEquals($expected, $qb->getColumnType($builder));
@ -1024,8 +1024,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase
}
$columns = [];
$i = 0;
foreach ($this->columnTypes() as $item) {
list ($column, $builder, $expected) = $item;
foreach ($this->columnTypes() as [$column, $builder, $expected]) {
if (!(strncmp($column, Schema::TYPE_PK, 2) === 0 ||
strncmp($column, Schema::TYPE_UPK, 3) === 0 ||
strncmp($column, Schema::TYPE_BIGPK, 5) === 0 ||
@ -1206,7 +1205,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase
public function testBuildCondition($condition, $expected, $expectedParams)
{
$query = (new Query())->where($condition);
list($sql, $params) = $this->getQueryBuilder()->build($query);
[$sql, $params] = $this->getQueryBuilder()->build($query);
$this->assertEquals('SELECT *' . (empty($expected) ? '' : ' WHERE ' . $this->replaceQuotes($expected)), $sql);
$this->assertEquals($expectedParams, $params);
}
@ -1217,7 +1216,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase
public function testBuildFilterCondition($condition, $expected, $expectedParams)
{
$query = (new Query())->filterWhere($condition);
list($sql, $params) = $this->getQueryBuilder()->build($query);
[$sql, $params] = $this->getQueryBuilder()->build($query);
$this->assertEquals('SELECT *' . (empty($expected) ? '' : ' WHERE ' . $this->replaceQuotes($expected)), $sql);
$this->assertEquals($expectedParams, $params);
}
@ -1276,7 +1275,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase
->from('TotalExample t')
->where([$cond, $subQuery]);
list($actualQuerySql, $actualQueryParams) = $this->getQueryBuilder()->build($query);
[$actualQuerySql, $actualQueryParams] = $this->getQueryBuilder()->build($query);
$this->assertEquals($expectedQuerySql, $actualQuerySql);
$this->assertEquals($expectedQueryParams, $actualQueryParams);
}
@ -1301,7 +1300,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase
->where(['exists', $subQuery])
->andWhere('t.some_column = :some_value', [':some_value' => "asd"]);
list($actualQuerySql, $queryParams) = $this->getQueryBuilder()->build($query);
[$actualQuerySql, $queryParams] = $this->getQueryBuilder()->build($query);
$this->assertEquals($expectedQuerySql, $actualQuerySql);
$this->assertEquals($expectedQueryParams, $queryParams);
}
@ -1325,7 +1324,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase
->where(['exists', $subQuery])
->andWhere(['t.some_column' => "asd"]);
list($actualQuerySql, $queryParams) = $this->getQueryBuilder()->build($query);
[$actualQuerySql, $queryParams] = $this->getQueryBuilder()->build($query);
$this->assertEquals($expectedQuerySql, $actualQuerySql);
$this->assertEquals($expectedQueryParams, $queryParams);
}
@ -1353,7 +1352,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase
->where(['and', 'w > 0', 'x < 2 ' ] )
->union($secondQuery)
->union($thirdQuery, TRUE);
list($actualQuerySql, $queryParams) = $this->getQueryBuilder()->build($query);
[$actualQuerySql, $queryParams] = $this->getQueryBuilder()->build($query);
$this->assertEquals($expectedQuerySql, $actualQuerySql);
$this->assertEquals([], $queryParams);
}
@ -1368,7 +1367,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase
->select('*')
->from('accounts')
->addSelect(['operations_count' => $subquery]);
list ($sql, $params) = $this->getQueryBuilder()->build($query);
[$sql, $params] = $this->getQueryBuilder()->build($query);
$expected = $this->replaceQuotes('SELECT *, (SELECT COUNT(*) FROM [[operations]] WHERE account_id = accounts.id) AS [[operations_count]] FROM [[accounts]]');
$this->assertEquals($expected, $sql);
$this->assertEmpty($params);
@ -1386,7 +1385,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase
new Expression($this->replaceQuotes("case t.Status_Id when 1 then 'Acknowledge' when 2 then 'No Action' else 'Unknown Action' END as [[Next Action]]")),
])
->from('tablename');
list ($sql, $params) = $this->getQueryBuilder()->build($query);
[$sql, $params] = $this->getQueryBuilder()->build($query);
$expected = $this->replaceQuotes(
'SELECT [[t]].[[id]] AS [[ID]], [[gsm]].[[username]] AS [[GSM]], [[part]].[[Part]], [[t]].[[Part_Cost]] AS [[Part Cost]], st_x(location::geometry) as lon,'
. ' case t.Status_Id when 1 then \'Acknowledge\' when 2 then \'No Action\' else \'Unknown Action\' END as [[Next Action]] FROM [[tablename]]');
@ -1399,7 +1398,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase
$query = (new Query())
->select(new Expression("1 AS ab"))
->from('tablename');
list ($sql, $params) = $this->getQueryBuilder()->build($query);
[$sql, $params] = $this->getQueryBuilder()->build($query);
$expected = $this->replaceQuotes("SELECT 1 AS ab FROM [[tablename]]");
$this->assertEquals($expected, $sql);
$this->assertEmpty($params);
@ -1409,7 +1408,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase
->addSelect(new Expression("2 AS cd"))
->addSelect(['ef' => new Expression("3")])
->from('tablename');
list ($sql, $params) = $this->getQueryBuilder()->build($query);
[$sql, $params] = $this->getQueryBuilder()->build($query);
$expected = $this->replaceQuotes("SELECT 1 AS ab, 2 AS cd, 3 AS [[ef]] FROM [[tablename]]");
$this->assertEquals($expected, $sql);
$this->assertEmpty($params);
@ -1417,7 +1416,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase
$query = (new Query())
->select(new Expression("SUBSTR(name, 0, :len)", [':len' => 4]))
->from('tablename');
list ($sql, $params) = $this->getQueryBuilder()->build($query);
[$sql, $params] = $this->getQueryBuilder()->build($query);
$expected = $this->replaceQuotes("SELECT SUBSTR(name, 0, :len) FROM [[tablename]]");
$this->assertEquals($expected, $sql);
$this->assertEquals([':len' => 4], $params);
@ -1430,7 +1429,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase
public function testFromIndexHint()
{
$query = (new Query)->from([new Expression('{{%user}} USE INDEX (primary)')]);
list ($sql, $params) = $this->getQueryBuilder()->build($query);
[$sql, $params] = $this->getQueryBuilder()->build($query);
$expected = $this->replaceQuotes('SELECT * FROM {{%user}} USE INDEX (primary)');
$this->assertEquals($expected, $sql);
$this->assertEmpty($params);
@ -1438,7 +1437,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase
$query = (new Query)
->from([new Expression('{{user}} {{t}} FORCE INDEX (primary) IGNORE INDEX FOR ORDER BY (i1)')])
->leftJoin(['p' => 'profile'], 'user.id = profile.user_id USE INDEX (i2)');
list ($sql, $params) = $this->getQueryBuilder()->build($query);
[$sql, $params] = $this->getQueryBuilder()->build($query);
$expected = $this->replaceQuotes('SELECT * FROM {{user}} {{t}} FORCE INDEX (primary) IGNORE INDEX FOR ORDER BY (i1) LEFT JOIN [[profile]] [[p]] ON user.id = profile.user_id USE INDEX (i2)');
$this->assertEquals($expected, $sql);
$this->assertEmpty($params);
@ -1450,7 +1449,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase
$subquery = (new Query)->from('user')->where('account_id = accounts.id');
$query = (new Query)->from(['activeusers' => $subquery]);
// SELECT * FROM (SELECT * FROM [[user]] WHERE [[active]] = 1) [[activeusers]];
list ($sql, $params) = $this->getQueryBuilder()->build($query);
[$sql, $params] = $this->getQueryBuilder()->build($query);
$expected = $this->replaceQuotes('SELECT * FROM (SELECT * FROM [[user]] WHERE account_id = accounts.id) [[activeusers]]');
$this->assertEquals($expected, $sql);
$this->assertEmpty($params);
@ -1459,7 +1458,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase
$subquery = (new Query)->from('user')->where('account_id = :id', ['id' => 1]);
$query = (new Query)->from(['activeusers' => $subquery])->where('abc = :abc', ['abc' => 'abc']);
// SELECT * FROM (SELECT * FROM [[user]] WHERE [[active]] = 1) [[activeusers]];
list ($sql, $params) = $this->getQueryBuilder()->build($query);
[$sql, $params] = $this->getQueryBuilder()->build($query);
$expected = $this->replaceQuotes('SELECT * FROM (SELECT * FROM [[user]] WHERE account_id = :id) [[activeusers]] WHERE abc = :abc');
$this->assertEquals($expected, $sql);
$this->assertEquals([
@ -1471,7 +1470,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase
$subquery = "(SELECT * FROM user WHERE account_id = accounts.id)";
$query = (new Query)->from(['activeusers' => $subquery]);
// SELECT * FROM (SELECT * FROM [[user]] WHERE [[active]] = 1) [[activeusers]];
list ($sql, $params) = $this->getQueryBuilder()->build($query);
[$sql, $params] = $this->getQueryBuilder()->build($query);
$expected = $this->replaceQuotes('SELECT * FROM (SELECT * FROM user WHERE account_id = accounts.id) [[activeusers]]');
$this->assertEquals($expected, $sql);
$this->assertEmpty($params);
@ -1484,7 +1483,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase
->select('*')
->from('operations')
->orderBy('name ASC, date DESC');
list ($sql, $params) = $this->getQueryBuilder()->build($query);
[$sql, $params] = $this->getQueryBuilder()->build($query);
$expected = $this->replaceQuotes('SELECT * FROM [[operations]] ORDER BY [[name]], [[date]] DESC');
$this->assertEquals($expected, $sql);
$this->assertEmpty($params);
@ -1494,7 +1493,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase
->select('*')
->from('operations')
->orderBy(['name' => SORT_ASC, 'date' => SORT_DESC]);
list ($sql, $params) = $this->getQueryBuilder()->build($query);
[$sql, $params] = $this->getQueryBuilder()->build($query);
$expected = $this->replaceQuotes('SELECT * FROM [[operations]] ORDER BY [[name]], [[date]] DESC');
$this->assertEquals($expected, $sql);
$this->assertEmpty($params);
@ -1505,7 +1504,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase
->from('operations')
->where('account_id = accounts.id')
->orderBy(new Expression('SUBSTR(name, 3, 4) DESC, x ASC'));
list ($sql, $params) = $this->getQueryBuilder()->build($query);
[$sql, $params] = $this->getQueryBuilder()->build($query);
$expected = $this->replaceQuotes('SELECT * FROM [[operations]] WHERE account_id = accounts.id ORDER BY SUBSTR(name, 3, 4) DESC, x ASC');
$this->assertEquals($expected, $sql);
$this->assertEmpty($params);
@ -1515,7 +1514,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase
->select('*')
->from('operations')
->orderBy(new Expression('SUBSTR(name, 3, :to) DESC, x ASC', [':to' => 4]));
list ($sql, $params) = $this->getQueryBuilder()->build($query);
[$sql, $params] = $this->getQueryBuilder()->build($query);
$expected = $this->replaceQuotes('SELECT * FROM [[operations]] ORDER BY SUBSTR(name, 3, :to) DESC, x ASC');
$this->assertEquals($expected, $sql);
$this->assertEquals([':to' => 4], $params);
@ -1528,7 +1527,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase
->select('*')
->from('operations')
->groupBy('name, date');
list ($sql, $params) = $this->getQueryBuilder()->build($query);
[$sql, $params] = $this->getQueryBuilder()->build($query);
$expected = $this->replaceQuotes('SELECT * FROM [[operations]] GROUP BY [[name]], [[date]]');
$this->assertEquals($expected, $sql);
$this->assertEmpty($params);
@ -1538,7 +1537,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase
->select('*')
->from('operations')
->groupBy(['name', 'date']);
list ($sql, $params) = $this->getQueryBuilder()->build($query);
[$sql, $params] = $this->getQueryBuilder()->build($query);
$expected = $this->replaceQuotes('SELECT * FROM [[operations]] GROUP BY [[name]], [[date]]');
$this->assertEquals($expected, $sql);
$this->assertEmpty($params);
@ -1549,7 +1548,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase
->from('operations')
->where('account_id = accounts.id')
->groupBy(new Expression('SUBSTR(name, 0, 1), x'));
list ($sql, $params) = $this->getQueryBuilder()->build($query);
[$sql, $params] = $this->getQueryBuilder()->build($query);
$expected = $this->replaceQuotes('SELECT * FROM [[operations]] WHERE account_id = accounts.id GROUP BY SUBSTR(name, 0, 1), x');
$this->assertEquals($expected, $sql);
$this->assertEmpty($params);
@ -1559,7 +1558,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase
->select('*')
->from('operations')
->groupBy(new Expression('SUBSTR(name, 0, :to), x', [':to' => 4]));
list ($sql, $params) = $this->getQueryBuilder()->build($query);
[$sql, $params] = $this->getQueryBuilder()->build($query);
$expected = $this->replaceQuotes('SELECT * FROM [[operations]] GROUP BY SUBSTR(name, 0, :to), x');
$this->assertEquals($expected, $sql);
$this->assertEquals([':to' => 4], $params);
@ -1719,7 +1718,7 @@ abstract class QueryBuilderTest extends DatabaseTestCase
public function testBuildLikeCondition($condition, $expected, $expectedParams)
{
$query = (new Query())->where($condition);
list($sql, $params) = $this->getQueryBuilder()->build($query);
[$sql, $params] = $this->getQueryBuilder()->build($query);
$this->assertEquals('SELECT *' . (empty($expected) ? '' : ' WHERE ' . $this->replaceQuotes($expected)), $sql);
$this->assertEquals($expectedParams, $params);
}