Skip to content

Commit

Permalink
Passing the query object to drivers to prepare the sql
Browse files Browse the repository at this point in the history
  • Loading branch information
jrbasso committed Jan 20, 2014
1 parent d0cb098 commit 79ff83d
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 9 deletions.
3 changes: 0 additions & 3 deletions src/Database/Connection.php
Expand Up @@ -200,9 +200,6 @@ public function isConnected() {
* @return \Cake\Database\Statement
*/
public function prepare($sql) {
if ($sql instanceof Query) {
$sql = $sql->sql();
}
$statement = $this->_driver->prepare($sql);

if ($this->_logQueries) {
Expand Down
4 changes: 2 additions & 2 deletions src/Database/Driver.php
Expand Up @@ -92,10 +92,10 @@ public abstract function enabled();
/**
* Prepares a sql statement to be executed
*
* @param string $sql
* @param string|Cake\Database\Query $query
* @return Cake\Database\Statement
*/
public abstract function prepare($sql);
public abstract function prepare($query);

/**
* Starts a transaction
Expand Down
6 changes: 4 additions & 2 deletions src/Database/Driver/PDODriverTrait.php
Expand Up @@ -16,6 +16,7 @@
*/
namespace Cake\Database\Driver;

use Cake\Database\Query;
use Cake\Database\Statement\PDOStatement;
use PDO;

Expand Down Expand Up @@ -71,11 +72,12 @@ public function disconnect() {
/**
* Prepares a sql statement to be executed
*
* @param string $sql
* @param string|Cake\Database\Query $query
* @return Cake\Database\Statement
*/
public function prepare($sql) {
public function prepare($query) {
$this->connect();
$sql = $query instanceof Query ? $query->sql() : $query;
$statement = $this->_connection->prepare($sql);
return new PDOStatement($statement, $this);
}
Expand Down
6 changes: 4 additions & 2 deletions src/Database/Driver/Sqlite.php
Expand Up @@ -17,6 +17,7 @@
namespace Cake\Database\Driver;

use Cake\Database\Dialect\SqliteDialectTrait;
use Cake\Database\Query;
use Cake\Database\Statement\PDOStatement;
use Cake\Database\Statement\SqliteStatement;
use PDO;
Expand Down Expand Up @@ -84,11 +85,12 @@ public function enabled() {
/**
* Prepares a sql statement to be executed
*
* @param string $sql
* @param string|Cake\Database\Query $query
* @return Cake\Database\Statement
*/
public function prepare($sql) {
public function prepare($query) {
$this->connect();
$sql = $query instanceof Query ? $query->sql() : $query;
$statement = $this->_connection->prepare($sql);
return new SqliteStatement(new PDOStatement($statement, $this), $this);
}
Expand Down

0 comments on commit 79ff83d

Please sign in to comment.