diff --git a/Tests/AbstractDatabaseDriverTestCase.php b/Tests/AbstractDatabaseDriverTestCase.php index 17425452f..0d9e7baf5 100644 --- a/Tests/AbstractDatabaseDriverTestCase.php +++ b/Tests/AbstractDatabaseDriverTestCase.php @@ -193,7 +193,7 @@ public function testGetNumRows() $this->loadExampleData(); static::$connection->setQuery( - static::$connection->getQuery(true) + static::$connection->createQuery() ->select('*') ->from('#__dbtest') ->where(static::$connection->quoteName('description') . ' = ' . static::$connection->quote('test row one')) @@ -209,7 +209,7 @@ public function testGetNumRows() */ public function testGetQueryCachedQuery() { - $query = static::$connection->getQuery(true) + $query = static::$connection->createQuery() ->select('*') ->from('#__dbtest'); @@ -226,7 +226,7 @@ public function testGetIterator() $this->loadExampleData(); static::$connection->setQuery( - static::$connection->getQuery(true) + static::$connection->createQuery() ->select('*') ->from('#__dbtest') ); @@ -327,6 +327,27 @@ public function testIsMinimumVersion() ); } + /** + * @testdox The first row of a result set can be loaded as an associative array, using old getQuery(true) syntax + */ + public function testLoadAssocWithOldGetQueryTrueSyntax() + { + $this->loadExampleData(); + + $result = static::$connection->setQuery( + static::$connection->getQuery(true) + ->select('title') + ->from('#__dbtest') + )->loadAssoc(); + + $this->assertEquals( + [ + 'title' => 'Testing1', + ], + $result + ); + } + /** * @testdox The first row of a result set can be loaded as an associative array */ @@ -335,7 +356,7 @@ public function testLoadAssoc() $this->loadExampleData(); $result = static::$connection->setQuery( - static::$connection->getQuery(true) + static::$connection->createQuery() ->select('title') ->from('#__dbtest') )->loadAssoc(); @@ -356,7 +377,7 @@ public function testLoadAssocList() $this->loadExampleData(); $result = static::$connection->setQuery( - static::$connection->getQuery(true) + static::$connection->createQuery() ->select('title') ->from('#__dbtest') )->loadAssocList(); @@ -380,7 +401,7 @@ public function testLoadColumn() $this->loadExampleData(); $result = static::$connection->setQuery( - static::$connection->getQuery(true) + static::$connection->createQuery() ->select('title') ->from('#__dbtest') )->loadColumn(); @@ -404,7 +425,7 @@ public function testLoadObject() $this->loadExampleData(); $result = static::$connection->setQuery( - static::$connection->getQuery(true) + static::$connection->createQuery() ->select('*') ->from('#__dbtest') )->loadObject(); @@ -428,7 +449,7 @@ public function testLoadObjectList() $this->loadExampleData(); $result = static::$connection->setQuery( - static::$connection->getQuery(true) + static::$connection->createQuery() ->select('*') ->from('#__dbtest') )->loadObjectList(); @@ -475,7 +496,7 @@ public function testLoadResult() $this->loadExampleData(); $result = static::$connection->setQuery( - static::$connection->getQuery(true) + static::$connection->createQuery() ->select('*') ->from('#__dbtest') )->loadResult(); @@ -491,7 +512,7 @@ public function testLoadRow() $this->loadExampleData(); $result = static::$connection->setQuery( - static::$connection->getQuery(true) + static::$connection->createQuery() ->select('*') ->from('#__dbtest') )->loadRow(); @@ -515,7 +536,7 @@ public function testLoadRowList() $this->loadExampleData(); $result = static::$connection->setQuery( - static::$connection->getQuery(true) + static::$connection->createQuery() ->select('*') ->from('#__dbtest') )->loadRowList(); @@ -668,7 +689,7 @@ public function testGetAndSetQueryMonitor() */ public function testSetQueryWithQueryObjectWithoutOffsetOrLimit() { - $query = static::$connection->getQuery(true) + $query = static::$connection->createQuery() ->select('*') ->from('#__dbtest'); @@ -690,7 +711,7 @@ public function testSetQueryWithQueryObjectWithoutOffsetOrLimit() */ public function testSetQueryWithQueryObjectWithOffsetAndLimit() { - $query = static::$connection->getQuery(true) + $query = static::$connection->createQuery() ->select('*') ->from('#__dbtest'); @@ -726,7 +747,7 @@ public function testSetQueryWithQueryObjectWithOffsetAndLimit() */ public function testSetQueryWithQueryObjectWithOffsetAndLimitOnQuery() { - $query = static::$connection->getQuery(true) + $query = static::$connection->createQuery() ->select('*') ->from('#__dbtest') ->setLimit(10, 3); @@ -821,7 +842,7 @@ public function testUpdateObject() // Fetch row to validate update $row = static::$connection->setQuery( - static::$connection->getQuery(true) + static::$connection->createQuery() ->select('*') ->from('#__dbtest') ->where('id = :id') @@ -838,9 +859,9 @@ public function testQuerySetWithUnionAll() { $this->loadExampleData(); - $query = static::$connection->getQuery(true); - $union1 = static::$connection->getQuery(true); - $union2 = static::$connection->getQuery(true); + $query = static::$connection->createQuery(); + $union1 = static::$connection->createQuery(); + $union2 = static::$connection->createQuery(); $union1->select('id, title') ->from('#__dbtest') @@ -876,8 +897,8 @@ public function testSelectToQuerySetWithUnionAll() { $this->loadExampleData(); - $query = static::$connection->getQuery(true); - $union = static::$connection->getQuery(true); + $query = static::$connection->createQuery(); + $union = static::$connection->createQuery(); $query->select('id, title') ->from('#__dbtest') @@ -912,7 +933,7 @@ public function testRepeatedSelectStatement() $this->loadExampleData(); $results = []; - $query = static::$connection->getQuery(true); + $query = static::$connection->createQuery(); $query->select('id, title') ->from('#__dbtest') ->where('id = :id') @@ -948,7 +969,7 @@ public function testMonitorWithReusableQuery() static::$connection->setMonitor(new DebugMonitor); $title = 'test'; - $query = static::$connection->getQuery(true) + $query = static::$connection->createQuery() ->select('id') ->from('#__dbtest') ->where('title = :title') @@ -991,7 +1012,7 @@ public function testMonitorWithRepeatedStatement() { static::$connection->setMonitor(new DebugMonitor); - $query = static::$connection->getQuery(true) + $query = static::$connection->createQuery() ->select('id') ->from('#__dbtest') ->where('id = :id') diff --git a/Tests/Mysql/MysqlDriverTest.php b/Tests/Mysql/MysqlDriverTest.php index 80859d146..c5b927a4b 100644 --- a/Tests/Mysql/MysqlDriverTest.php +++ b/Tests/Mysql/MysqlDriverTest.php @@ -360,7 +360,7 @@ public function testTransactionCommit() // Insert row static::$connection->setQuery( - static::$connection->getQuery(true) + static::$connection->createQuery() ->insert('#__dbtest') ->columns(['id', 'title', 'start_date', 'description']) ->values(':id, :title, :start_date, :description') @@ -376,7 +376,7 @@ public function testTransactionCommit() $this->assertSame(1, static::$connection->getAffectedRows()); $row = static::$connection->setQuery( - static::$connection->getQuery(true) + static::$connection->createQuery() ->select('*') ->from('#__dbtest') ->where('id = :id') @@ -419,7 +419,7 @@ public function testTransactionRollback(?string $toSavepoint, int $tupleCount) $description = 'testRollbackSp'; static::$connection->setQuery( - static::$connection->getQuery(true) + static::$connection->createQuery() ->insert('#__dbtest') ->columns(['id', 'title', 'start_date', 'description']) ->values(':id, :title, :start_date, :description') @@ -440,7 +440,7 @@ public function testTransactionRollback(?string $toSavepoint, int $tupleCount) $startDate = '2019-10-27'; static::$connection->setQuery( - static::$connection->getQuery(true) + static::$connection->createQuery() ->insert('#__dbtest') ->columns(['id', 'title', 'start_date', 'description']) ->values(':id, :title, :start_date, :description') @@ -465,7 +465,7 @@ public function testTransactionRollback(?string $toSavepoint, int $tupleCount) * - 1 if a savepoint exists */ $transactionRows = static::$connection->setQuery( - static::$connection->getQuery(true) + static::$connection->createQuery() ->select('*') ->from('#__dbtest') ->where('description = :description') @@ -556,7 +556,7 @@ public function testGetQueryNewInstance() { $this->assertInstanceOf( MysqlQuery::class, - static::$connection->getQuery(true) + static::$connection->createQuery() ); } @@ -568,7 +568,7 @@ public function testQuoteAndDecodeBinary() $this->loadExampleData(); // Add binary data with null byte - $query = static::$connection->getQuery(true) + $query = static::$connection->createQuery() ->update('#__dbtest') ->set('data = ' . static::$connection->quoteBinary("\x00\x01\x02\xff")) ->where('id = 3'); @@ -576,19 +576,19 @@ public function testQuoteAndDecodeBinary() static::$connection->setQuery($query)->execute(); // Add binary data with invalid UTF-8 - $query = static::$connection->getQuery(true) + $query = static::$connection->createQuery() ->update('#__dbtest') ->set('data = ' . static::$connection->quoteBinary("\x01\x01\x02\xff")) ->where('id = 4'); static::$connection->setQuery($query)->execute(); - $selectRow3 = static::$connection->getQuery(true) + $selectRow3 = static::$connection->createQuery() ->select('id') ->from('#__dbtest') ->where('data = ' . static::$connection->quoteBinary("\x00\x01\x02\xff")); - $selectRow4 = static::$connection->getQuery(true) + $selectRow4 = static::$connection->createQuery() ->select('id') ->from('#__dbtest') ->where('data = ' . static::$connection->quoteBinary("\x01\x01\x02\xff")); @@ -599,7 +599,7 @@ public function testQuoteAndDecodeBinary() $result = static::$connection->setQuery($selectRow4)->loadResult(); $this->assertEquals(4, $result); - $selectRows = static::$connection->getQuery(true) + $selectRows = static::$connection->createQuery() ->select('data') ->from('#__dbtest') ->order('id'); diff --git a/Tests/Mysqli/MysqliDriverTest.php b/Tests/Mysqli/MysqliDriverTest.php index 5dc03eb40..b56185e09 100644 --- a/Tests/Mysqli/MysqliDriverTest.php +++ b/Tests/Mysqli/MysqliDriverTest.php @@ -368,7 +368,7 @@ public function testTransactionCommit() // Insert row static::$connection->setQuery( - static::$connection->getQuery(true) + static::$connection->createQuery() ->insert('#__dbtest') ->columns(['id', 'title', 'start_date', 'description']) ->values(':id, :title, :start_date, :description') @@ -384,7 +384,7 @@ public function testTransactionCommit() $this->assertSame(1, static::$connection->getAffectedRows()); $row = static::$connection->setQuery( - static::$connection->getQuery(true) + static::$connection->createQuery() ->select('*') ->from('#__dbtest') ->where('id = :id') @@ -427,7 +427,7 @@ public function testTransactionRollback(?string $toSavepoint, int $tupleCount) $description = 'testRollbackSp'; static::$connection->setQuery( - static::$connection->getQuery(true) + static::$connection->createQuery() ->insert('#__dbtest') ->columns(['id', 'title', 'start_date', 'description']) ->values(':id, :title, :start_date, :description') @@ -448,7 +448,7 @@ public function testTransactionRollback(?string $toSavepoint, int $tupleCount) $startDate = '2019-10-27'; static::$connection->setQuery( - static::$connection->getQuery(true) + static::$connection->createQuery() ->insert('#__dbtest') ->columns(['id', 'title', 'start_date', 'description']) ->values(':id, :title, :start_date, :description') @@ -473,7 +473,7 @@ public function testTransactionRollback(?string $toSavepoint, int $tupleCount) * - 1 if a savepoint exists */ $transactionRows = static::$connection->setQuery( - static::$connection->getQuery(true) + static::$connection->createQuery() ->select('*') ->from('#__dbtest') ->where('description = :description') @@ -564,7 +564,7 @@ public function testGetQueryNewInstance() { $this->assertInstanceOf( MysqliQuery::class, - static::$connection->getQuery(true) + static::$connection->createQuery() ); } @@ -576,7 +576,7 @@ public function testQuoteAndDecodeBinary() $this->loadExampleData(); // Add binary data with null byte - $query = static::$connection->getQuery(true) + $query = static::$connection->createQuery() ->update('#__dbtest') ->set('data = ' . static::$connection->quoteBinary("\x00\x01\x02\xff")) ->where('id = 3'); @@ -584,19 +584,19 @@ public function testQuoteAndDecodeBinary() static::$connection->setQuery($query)->execute(); // Add binary data with invalid UTF-8 - $query = static::$connection->getQuery(true) + $query = static::$connection->createQuery() ->update('#__dbtest') ->set('data = ' . static::$connection->quoteBinary("\x01\x01\x02\xff")) ->where('id = 4'); static::$connection->setQuery($query)->execute(); - $selectRow3 = static::$connection->getQuery(true) + $selectRow3 = static::$connection->createQuery() ->select('id') ->from('#__dbtest') ->where('data = ' . static::$connection->quoteBinary("\x00\x01\x02\xff")); - $selectRow4 = static::$connection->getQuery(true) + $selectRow4 = static::$connection->createQuery() ->select('id') ->from('#__dbtest') ->where('data = ' . static::$connection->quoteBinary("\x01\x01\x02\xff")); @@ -607,7 +607,7 @@ public function testQuoteAndDecodeBinary() $result = static::$connection->setQuery($selectRow4)->loadResult(); $this->assertEquals(4, $result); - $selectRows = static::$connection->getQuery(true) + $selectRows = static::$connection->createQuery() ->select('data') ->from('#__dbtest') ->order('id'); diff --git a/Tests/Pgsql/PgsqlDriverTest.php b/Tests/Pgsql/PgsqlDriverTest.php index 82efe87b7..0bc36050c 100644 --- a/Tests/Pgsql/PgsqlDriverTest.php +++ b/Tests/Pgsql/PgsqlDriverTest.php @@ -232,14 +232,14 @@ public function testRenameTable() ); // Check index change - $subquery = static::$connection->getQuery(true) + $subquery = static::$connection->createQuery() ->select('indexrelid') ->from('pg_index') ->from('pg_class') ->where('pg_class.relname = ' . static::$connection->quote($newTableName)) ->where('pg_class.oid = pg_index.indrelid'); - $query = static::$connection->getQuery(true) + $query = static::$connection->createQuery() ->select('relname') ->from('pg_class') ->where('oid IN (' . (string) $subquery . ')'); @@ -255,13 +255,13 @@ public function testRenameTable() ); // Check sequence change - $subquery = static::$connection->getQuery(true) + $subquery = static::$connection->createQuery() ->select('oid') ->from('pg_namespace') ->where('nspname NOT LIKE ' . static::$connection->quote('pg_%')) ->where('nspname != ' . static::$connection->quote('information_schema')); - $query = static::$connection->getQuery(true) + $query = static::$connection->createQuery() ->select('relname') ->from('pg_class') ->where('relkind = ' . static::$connection->quote('S')) @@ -427,7 +427,7 @@ public function testTransactionCommit() // Insert row static::$connection->setQuery( - static::$connection->getQuery(true) + static::$connection->createQuery() ->insert('#__dbtest') ->columns(['id', 'title', 'start_date', 'description']) ->values(':id, :title, :start_date, :description') @@ -443,7 +443,7 @@ public function testTransactionCommit() $this->assertSame(1, static::$connection->getAffectedRows()); $row = static::$connection->setQuery( - static::$connection->getQuery(true) + static::$connection->createQuery() ->select('*') ->from('#__dbtest') ->where('id = :id') @@ -486,7 +486,7 @@ public function testTransactionRollback(?string $toSavepoint, int $tupleCount) $description = 'testRollbackSp'; static::$connection->setQuery( - static::$connection->getQuery(true) + static::$connection->createQuery() ->insert('#__dbtest') ->columns(['id', 'title', 'start_date', 'description']) ->values(':id, :title, :start_date, :description') @@ -507,7 +507,7 @@ public function testTransactionRollback(?string $toSavepoint, int $tupleCount) $startDate = '2019-10-27'; static::$connection->setQuery( - static::$connection->getQuery(true) + static::$connection->createQuery() ->insert('#__dbtest') ->columns(['id', 'title', 'start_date', 'description']) ->values(':id, :title, :start_date, :description') @@ -532,7 +532,7 @@ public function testTransactionRollback(?string $toSavepoint, int $tupleCount) * - 1 if a savepoint exists */ $transactionRows = static::$connection->setQuery( - static::$connection->getQuery(true) + static::$connection->createQuery() ->select('*') ->from('#__dbtest') ->where('description = :description') @@ -560,7 +560,7 @@ public function testQuoteAndDecodeBinary() $this->loadExampleData(); // Add binary data with null byte - $query = static::$connection->getQuery(true) + $query = static::$connection->createQuery() ->update('#__dbtest') ->set('data = ' . static::$connection->quoteBinary("\x00\x01\x02\xff")) ->where('id = 3'); @@ -568,19 +568,19 @@ public function testQuoteAndDecodeBinary() static::$connection->setQuery($query)->execute(); // Add binary data with invalid UTF-8 - $query = static::$connection->getQuery(true) + $query = static::$connection->createQuery() ->update('#__dbtest') ->set('data = ' . static::$connection->quoteBinary("\x01\x01\x02\xff")) ->where('id = 4'); static::$connection->setQuery($query)->execute(); - $selectRow3 = static::$connection->getQuery(true) + $selectRow3 = static::$connection->createQuery() ->select('id') ->from('#__dbtest') ->where('data = ' . static::$connection->quoteBinary("\x00\x01\x02\xff")); - $selectRow4 = static::$connection->getQuery(true) + $selectRow4 = static::$connection->createQuery() ->select('id') ->from('#__dbtest') ->where('data = ' . static::$connection->quoteBinary("\x01\x01\x02\xff")); @@ -591,7 +591,7 @@ public function testQuoteAndDecodeBinary() $result = static::$connection->setQuery($selectRow4)->loadResult(); $this->assertEquals(4, $result); - $selectRows = static::$connection->getQuery(true) + $selectRows = static::$connection->createQuery() ->select('data') ->from('#__dbtest') ->order('id'); @@ -717,7 +717,7 @@ public function testGetQueryNewInstance() { $this->assertInstanceOf( PgsqlQuery::class, - static::$connection->getQuery(true) + static::$connection->createQuery() ); } } diff --git a/Tests/Sqlite/SqliteDriverTest.php b/Tests/Sqlite/SqliteDriverTest.php index 1818e5951..b64eb2665 100644 --- a/Tests/Sqlite/SqliteDriverTest.php +++ b/Tests/Sqlite/SqliteDriverTest.php @@ -239,7 +239,7 @@ public function testGetNumRows() $this->loadExampleData(); static::$connection->setQuery( - static::$connection->getQuery(true) + static::$connection->createQuery() ->select('*') ->from('#__dbtest') ->where(static::$connection->quoteName('description') . ' = ' . static::$connection->quote('test row one')) @@ -389,7 +389,7 @@ public function testTransactionCommit() // Insert row static::$connection->setQuery( - static::$connection->getQuery(true) + static::$connection->createQuery() ->insert('#__dbtest') ->columns(['id', 'title', 'start_date', 'description']) ->values(':id, :title, :start_date, :description') @@ -405,7 +405,7 @@ public function testTransactionCommit() $this->assertSame(1, static::$connection->getAffectedRows()); $row = static::$connection->setQuery( - static::$connection->getQuery(true) + static::$connection->createQuery() ->select('*') ->from('#__dbtest') ->where('id = :id') @@ -448,7 +448,7 @@ public function testTransactionRollback(?string $toSavepoint, int $tupleCount) $description = 'testRollbackSp'; static::$connection->setQuery( - static::$connection->getQuery(true) + static::$connection->createQuery() ->insert('#__dbtest') ->columns(['id', 'title', 'start_date', 'description']) ->values(':id, :title, :start_date, :description') @@ -469,7 +469,7 @@ public function testTransactionRollback(?string $toSavepoint, int $tupleCount) $startDate = '2019-10-27'; static::$connection->setQuery( - static::$connection->getQuery(true) + static::$connection->createQuery() ->insert('#__dbtest') ->columns(['id', 'title', 'start_date', 'description']) ->values(':id, :title, :start_date, :description') @@ -494,7 +494,7 @@ public function testTransactionRollback(?string $toSavepoint, int $tupleCount) * - 1 if a savepoint exists */ $transactionRows = static::$connection->setQuery( - static::$connection->getQuery(true) + static::$connection->createQuery() ->select('*') ->from('#__dbtest') ->where('description = :description') @@ -575,7 +575,7 @@ public function testGetQueryNewInstance() { $this->assertInstanceOf( SqliteQuery::class, - static::$connection->getQuery(true) + static::$connection->createQuery() ); } @@ -587,7 +587,7 @@ public function testQuoteAndDecodeBinary() $this->loadExampleData(); // Add binary data with null byte - $query = static::$connection->getQuery(true) + $query = static::$connection->createQuery() ->update('#__dbtest') ->set('data = ' . static::$connection->quoteBinary("\x00\x01\x02\xff")) ->where('id = 3'); @@ -595,19 +595,19 @@ public function testQuoteAndDecodeBinary() static::$connection->setQuery($query)->execute(); // Add binary data with invalid UTF-8 - $query = static::$connection->getQuery(true) + $query = static::$connection->createQuery() ->update('#__dbtest') ->set('data = ' . static::$connection->quoteBinary("\x01\x01\x02\xff")) ->where('id = 4'); static::$connection->setQuery($query)->execute(); - $selectRow3 = static::$connection->getQuery(true) + $selectRow3 = static::$connection->createQuery() ->select('id') ->from('#__dbtest') ->where('data = ' . static::$connection->quoteBinary("\x00\x01\x02\xff")); - $selectRow4 = static::$connection->getQuery(true) + $selectRow4 = static::$connection->createQuery() ->select('id') ->from('#__dbtest') ->where('data = ' . static::$connection->quoteBinary("\x01\x01\x02\xff")); @@ -618,7 +618,7 @@ public function testQuoteAndDecodeBinary() $result = static::$connection->setQuery($selectRow4)->loadResult(); $this->assertEquals(4, $result); - $selectRows = static::$connection->getQuery(true) + $selectRows = static::$connection->createQuery() ->select('data') ->from('#__dbtest') ->order('id'); diff --git a/Tests/Sqlsrv/SqlsrvDriverTest.php b/Tests/Sqlsrv/SqlsrvDriverTest.php index d1cad39d4..55dad5519 100644 --- a/Tests/Sqlsrv/SqlsrvDriverTest.php +++ b/Tests/Sqlsrv/SqlsrvDriverTest.php @@ -233,7 +233,7 @@ public function testLoadObject() $this->loadExampleData(); $result = static::$connection->setQuery( - static::$connection->getQuery(true) + static::$connection->createQuery() ->select('*') ->from('#__dbtest') )->loadObject(); @@ -259,7 +259,7 @@ public function testLoadObjectList() $this->loadExampleData(); $result = static::$connection->setQuery( - static::$connection->getQuery(true) + static::$connection->createQuery() ->select('*') ->from('#__dbtest') )->loadObjectList(); @@ -308,7 +308,7 @@ public function testLoadRow() $this->loadExampleData(); $result = static::$connection->setQuery( - static::$connection->getQuery(true) + static::$connection->createQuery() ->select('*') ->from('#__dbtest') )->loadRow(); @@ -334,7 +334,7 @@ public function testLoadRowList() $this->loadExampleData(); $result = static::$connection->setQuery( - static::$connection->getQuery(true) + static::$connection->createQuery() ->select('*') ->from('#__dbtest') )->loadRowList(); @@ -382,8 +382,8 @@ public function testSelectToQuerySetWithUnionAll() { $this->loadExampleData(); - $query = static::$connection->getQuery(true); - $union = static::$connection->getQuery(true); + $query = static::$connection->createQuery(); + $union = static::$connection->createQuery(); $query = $query->select('id, title') ->from('#__dbtest') @@ -567,7 +567,7 @@ public function testGetQueryNewInstance() { $this->assertInstanceOf( SqlsrvQuery::class, - static::$connection->getQuery(true) + static::$connection->createQuery() ); } } diff --git a/src/DatabaseDriver.php b/src/DatabaseDriver.php index ba17a5891..7f3fc3326 100644 --- a/src/DatabaseDriver.php +++ b/src/DatabaseDriver.php @@ -577,6 +577,18 @@ public function createDatabase($options, $utf = true) return $this->execute(); } + /** + * Create a new DatabaseQuery object. + * + * @return QueryInterface + * + * @since 2.2 + */ + public function createQuery(): QueryInterface + { + return $this->factory->getQuery($this->name, $this); + } + /** * Disconnects the database. * @@ -1036,6 +1048,7 @@ public function getImporter() * Get the current query object or a new DatabaseQuery object. * * @param boolean $new False to return the current query object, True to return a new DatabaseQuery object. + * The $new parameter is deprecated in 2.2 and will be removed in 4.0, use createQuery() instead. * * @return DatabaseQuery * @@ -1045,7 +1058,14 @@ public function getQuery($new = false) { if ($new) { - return $this->factory->getQuery($this->name, $this); + trigger_deprecation( + 'joomla/database', + '2.2.0', + 'The parameter $new is deprecated and will be removed in 4.0, use %s::createQuery() instead.', + self::class + ); + + return $this->createQuery(); } return $this->sql; @@ -1148,7 +1168,7 @@ public function insertObject($table, &$object, $key = null) } // Create the base insert statement. - $query = $this->getQuery(true) + $query = $this->createQuery() ->insert($this->quoteName($table)) ->columns($fields) ->values(implode(',', $values)); @@ -1858,7 +1878,7 @@ public function setQuery($query, $offset = 0, $limit = 0) if (\is_string($query)) { // Allows taking advantage of bound variables in a direct query: - $query = $this->getQuery(true)->setQuery($query); + $query = $this->createQuery()->setQuery($query); } elseif (!($query instanceof QueryInterface)) { diff --git a/src/Mysql/MysqlDriver.php b/src/Mysql/MysqlDriver.php index 681fd3665..73a1d0c41 100644 --- a/src/Mysql/MysqlDriver.php +++ b/src/Mysql/MysqlDriver.php @@ -687,7 +687,7 @@ public function insertObject($table, &$object, $key = null) } // Create the base insert statement. - $query = $this->getQuery(true) + $query = $this->createQuery() ->insert($this->quoteName($table)) ->columns($fields) ->values(implode(',', $values)); diff --git a/src/Mysqli/MysqliDriver.php b/src/Mysqli/MysqliDriver.php index 61cf808c5..c3e75770b 100644 --- a/src/Mysqli/MysqliDriver.php +++ b/src/Mysqli/MysqliDriver.php @@ -808,7 +808,7 @@ public function insertObject($table, &$object, $key = null) } // Create the base insert statement. - $query = $this->getQuery(true) + $query = $this->createQuery() ->insert($this->quoteName($table)) ->columns($fields) ->values(implode(',', $values)); diff --git a/src/Pgsql/PgsqlDriver.php b/src/Pgsql/PgsqlDriver.php index b9767b7b9..dde17155c 100644 --- a/src/Pgsql/PgsqlDriver.php +++ b/src/Pgsql/PgsqlDriver.php @@ -149,7 +149,7 @@ public function getConnectionEncryption(): string return ''; } - $query = $this->getQuery(true) + $query = $this->createQuery() ->select($this->quoteName(['version', 'cipher'])) ->from($this->quoteName('pg_stat_ssl')) ->where($this->quoteName('pid') . ' = pg_backend_pid()'); @@ -366,7 +366,7 @@ public function getNamesKey($table, $indKey) foreach ($tabInd as $numCol) { - $query = $this->getQuery(true) + $query = $this->createQuery() ->select('attname') ->from('pg_attribute') ->join('LEFT', 'pg_class ON pg_class.relname=' . $this->quote($tableSub)) @@ -388,7 +388,7 @@ public function getNamesKey($table, $indKey) */ public function getTableList() { - $query = $this->getQuery(true) + $query = $this->createQuery() ->select('table_name') ->from('information_schema.tables') ->where('table_type = ' . $this->quote('BASE TABLE')) @@ -428,7 +428,7 @@ public function getTableSequences($table) ]; // Get the details columns information. - $query = $this->getQuery(true) + $query = $this->createQuery() ->select($this->quoteName($name, $as)) ->from('pg_class AS s') ->leftJoin("pg_depend d ON d.objid = s.oid AND d.classid = 'pg_class'::regclass AND d.refclassid = 'pg_class'::regclass") @@ -459,7 +459,7 @@ public function getSequenceLastValue($sequence) { $this->connect(); - $query = $this->getQuery(true) + $query = $this->createQuery() ->select($this->quoteName('last_value')) ->from($sequence); @@ -482,7 +482,7 @@ public function getSequenceIsCalled($sequence) { $this->connect(); - $query = $this->getQuery(true) + $query = $this->createQuery() ->select($this->quoteName('is_called')) ->from($sequence); @@ -540,14 +540,14 @@ public function renameTable($oldTable, $newTable, $backup = null, $prefix = null } // Rename indexes - $subQuery = $this->getQuery(true) + $subQuery = $this->createQuery() ->select('indexrelid') ->from('pg_index, pg_class') ->where('pg_class.relname = ' . $this->quote($oldTable)) ->where('pg_class.oid = pg_index.indrelid'); $this->setQuery( - $this->getQuery(true) + $this->createQuery() ->select('relname') ->from('pg_class') ->where('oid IN (' . (string) $subQuery . ')') @@ -562,14 +562,14 @@ public function renameTable($oldTable, $newTable, $backup = null, $prefix = null } // Rename sequences - $subQuery = $this->getQuery(true) + $subQuery = $this->createQuery() ->select('oid') ->from('pg_namespace') ->where('nspname NOT LIKE ' . $this->quote('pg_%')) ->where('nspname != ' . $this->quote('information_schema')); $this->setQuery( - $this->getQuery(true) + $this->createQuery() ->select('relname') ->from('pg_class') ->where('relkind = ' . $this->quote('S')) @@ -790,7 +790,7 @@ public function insertObject($table, &$object, $key = null) } // Create the base insert statement. - $query = $this->getQuery(true); + $query = $this->createQuery(); $query->insert($this->quoteName($table)) ->columns($fields) @@ -833,7 +833,7 @@ public static function isSupported() */ public function showTables() { - $query = $this->getQuery(true) + $query = $this->createQuery() ->select('table_name') ->from('information_schema.tables') ->where('table_type=' . $this->quote('BASE TABLE')) diff --git a/src/Sqlite/SqliteDriver.php b/src/Sqlite/SqliteDriver.php index 5183b9755..628269ad2 100644 --- a/src/Sqlite/SqliteDriver.php +++ b/src/Sqlite/SqliteDriver.php @@ -336,7 +336,7 @@ public function getTableList() $type = 'table'; - $query = $this->getQuery(true) + $query = $this->createQuery() ->select('name') ->from('sqlite_master') ->where('type = :type')