2013-06-21 00:32:08 +02:00
|
|
|
<?php
|
|
|
|
|
2016-06-15 06:03:16 +02:00
|
|
|
namespace SilverStripe\ORM\Connect;
|
|
|
|
|
|
|
|
use Exception;
|
|
|
|
|
2013-06-21 00:32:08 +02:00
|
|
|
/**
|
|
|
|
* Error class for database exceptions
|
2014-08-15 08:53:05 +02:00
|
|
|
*
|
2013-06-21 00:32:08 +02:00
|
|
|
* @package framework
|
2016-06-15 06:03:16 +02:00
|
|
|
* @subpackage orm
|
2013-06-21 00:32:08 +02:00
|
|
|
*/
|
|
|
|
class SS_DatabaseException extends Exception {
|
2014-08-15 08:53:05 +02:00
|
|
|
|
2013-06-21 00:32:08 +02:00
|
|
|
/**
|
|
|
|
* The SQL that generated this error
|
|
|
|
*
|
|
|
|
* @var string
|
|
|
|
*/
|
|
|
|
protected $sql = null;
|
2014-08-15 08:53:05 +02:00
|
|
|
|
2013-06-21 00:32:08 +02:00
|
|
|
/**
|
|
|
|
* The parameters given for this query, if any
|
2014-08-15 08:53:05 +02:00
|
|
|
*
|
2013-06-21 00:32:08 +02:00
|
|
|
* @var array
|
|
|
|
*/
|
|
|
|
protected $parameters = array();
|
2014-08-15 08:53:05 +02:00
|
|
|
|
2013-06-21 00:32:08 +02:00
|
|
|
/**
|
|
|
|
* Returns the SQL that generated this error
|
2014-08-15 08:53:05 +02:00
|
|
|
*
|
2013-06-21 00:32:08 +02:00
|
|
|
* @return string
|
|
|
|
*/
|
|
|
|
public function getSQL() {
|
|
|
|
return $this->sql;
|
|
|
|
}
|
2014-08-15 08:53:05 +02:00
|
|
|
|
2013-06-21 00:32:08 +02:00
|
|
|
/**
|
|
|
|
* The parameters given for this query, if any
|
2014-08-15 08:53:05 +02:00
|
|
|
*
|
2013-06-21 00:32:08 +02:00
|
|
|
* @return array
|
|
|
|
*/
|
|
|
|
public function getParameters() {
|
|
|
|
return $this->parameters;
|
|
|
|
}
|
2014-08-15 08:53:05 +02:00
|
|
|
|
2013-06-21 00:32:08 +02:00
|
|
|
/**
|
|
|
|
* Constructs the database exception
|
2014-08-15 08:53:05 +02:00
|
|
|
*
|
2013-06-21 00:32:08 +02:00
|
|
|
* @param string $message The Exception message to throw.
|
|
|
|
* @param integer $code The Exception code.
|
|
|
|
* @param Exception $previous The previous exception used for the exception chaining.
|
|
|
|
* @param string $sql The SQL executed for this query
|
|
|
|
* @param array $parameters The parameters given for this query, if any
|
|
|
|
*/
|
|
|
|
function __construct($message = '', $code = 0, $previous = null, $sql = null, $parameters = array()) {
|
|
|
|
parent::__construct($message, $code, $previous);
|
|
|
|
$this->sql = $sql;
|
|
|
|
$this->parameters = $parameters;
|
|
|
|
}
|
|
|
|
}
|