1
0
mirror of https://github.com/dg/dibi.git synced 2025-08-19 20:33:37 +02:00
This commit is contained in:
David Grudl
2011-02-16 19:27:38 +01:00
parent e37af6f99d
commit 1103714b9f
5 changed files with 83 additions and 86 deletions

View File

@@ -8,7 +8,7 @@
* For the full copyright and license information, please view
* the file license.txt that was distributed with this source code.
*
* @package dibi
* @package dibi\reflection
*/

View File

@@ -8,11 +8,22 @@
* For the full copyright and license information, please view
* the file license.txt that was distributed with this source code.
*
* @package dibi
* @package dibi\exceptions
*/
if (!defined('NETTE')) {
class NotImplementedException extends LogicException {}
class NotSupportedException extends LogicException {}
class MemberAccessException extends LogicException {}
class InvalidStateException extends RuntimeException {}
class IOException extends RuntimeException {}
class FileNotFoundException extends IOException {}
}
/**
* dibi common exception.
*
@@ -159,4 +170,28 @@ class DibiDriverException extends DibiException
self::$errorMsg = $message;
}
}
}
/**
* PCRE exception.
*
* @author David Grudl
*/
class DibiPcreException extends Exception {
public function __construct($message = '%msg.')
{
static $messages = array(
PREG_INTERNAL_ERROR => 'Internal error',
PREG_BACKTRACK_LIMIT_ERROR => 'Backtrack limit was exhausted',
PREG_RECURSION_LIMIT_ERROR => 'Recursion limit was exhausted',
PREG_BAD_UTF8_ERROR => 'Malformed UTF-8 data',
5 => 'Offset didn\'t correspond to the begin of a valid UTF-8 code point', // PREG_BAD_UTF8_OFFSET_ERROR
);
$code = preg_last_error();
parent::__construct(str_replace('%msg', isset($messages[$code]) ? $messages[$code] : 'Unknown error', $message), $code);
}
}

View File

@@ -13,7 +13,7 @@
/**#@+
/**
* Lazy cached storage.
*
* @author David Grudl
@@ -51,6 +51,12 @@ abstract class DibiHashMapBase
/**
* Lazy cached storage.
*
* @author David Grudl
* @internal
*/
final class DibiHashMap extends DibiHashMapBase
{
@@ -75,4 +81,3 @@ final class DibiHashMap extends DibiHashMapBase
}
}
/**#@-*/

View File

@@ -15,7 +15,6 @@
/**
* Provides an interface between a dataset and data-aware components.
* @package dibi
*/
interface IDataSource extends Countable, IteratorAggregate
{
@@ -27,7 +26,6 @@ interface IDataSource extends Countable, IteratorAggregate
/**
* Object that is able to generate SQL.
* @package dibi
*/
interface IDibiVariable
{
@@ -40,24 +38,22 @@ interface IDibiVariable
/**
* Defines method that must profiler implement.
* @package dibi
*/
interface IDibiProfiler
{
/**#@+ event type */
const CONNECT = 1;
const SELECT = 4;
const INSERT = 8;
const DELETE = 16;
const UPDATE = 32;
const QUERY = 60; // SELECT | INSERT | DELETE | UPDATE
const BEGIN = 64;
const COMMIT = 128;
const ROLLBACK = 256;
const TRANSACTION = 448; // BEGIN | COMMIT | ROLLBACK
const EXCEPTION = 512;
const ALL = 1023;
/**#@-*/
/** event type */
const CONNECT = 1,
SELECT = 4,
INSERT = 8,
DELETE = 16,
UPDATE = 32,
QUERY = 60, // SELECT | INSERT | DELETE | UPDATE
BEGIN = 64,
COMMIT = 128,
ROLLBACK = 256,
TRANSACTION = 448, // BEGIN | COMMIT | ROLLBACK
EXCEPTION = 512,
ALL = 1023;
/**
* Before event notification.
@@ -91,8 +87,6 @@ interface IDibiProfiler
/**
* dibi driver interface.
*
* @author David Grudl
*/
interface IDibiDriver
{
@@ -202,8 +196,6 @@ interface IDibiDriver
/**
* dibi result set driver interface.
*
* @author David Grudl
*/
interface IDibiResultDriver
{