1
0
mirror of https://github.com/dg/dibi.git synced 2025-08-12 00:54:11 +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

@@ -33,37 +33,8 @@ if (interface_exists('Nette\\IDebugPanel')) {
interface IDebugPanel {} interface IDebugPanel {}
} }
if (!defined('NETTE')) {
/**#@+ @package exceptions */
class NotImplementedException extends LogicException {}
class NotSupportedException extends LogicException {}
class MemberAccessException extends LogicException {}
class InvalidStateException extends RuntimeException {}
class IOException extends RuntimeException {}
class FileNotFoundException extends IOException {}
/**#@-*/
}
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);
}
}
// dibi libraries
require_once dirname(__FILE__) . '/libs/interfaces.php'; require_once dirname(__FILE__) . '/libs/interfaces.php';
require_once dirname(__FILE__) . '/libs/DibiDateTime.php'; require_once dirname(__FILE__) . '/libs/DibiDateTime.php';
require_once dirname(__FILE__) . '/libs/DibiObject.php'; require_once dirname(__FILE__) . '/libs/DibiObject.php';
@@ -107,41 +78,35 @@ class DibiVariable extends DibiDateTime
*/ */
class dibi class dibi
{ {
/**#@+ /** column type */
* dibi data type const TEXT = 's', // as 'string'
*/ BINARY = 'bin',
const TEXT = 's'; // as 'string' BOOL = 'b',
const BINARY = 'bin'; INTEGER = 'i',
const BOOL = 'b'; FLOAT = 'f',
const INTEGER = 'i'; DATE = 'd',
const FLOAT = 'f'; DATETIME = 't',
const DATE = 'd'; TIME = 't';
const DATETIME = 't';
const TIME = 't';
const IDENTIFIER = 'n'; const IDENTIFIER = 'n';
/**#@-*/
/**#@+ /** @deprecated */
* @deprecated column types const FIELD_TEXT = dibi::TEXT,
*/ FIELD_BINARY = dibi::BINARY,
const FIELD_TEXT = dibi::TEXT; FIELD_BOOL = dibi::BOOL,
const FIELD_BINARY = dibi::BINARY; FIELD_INTEGER = dibi::INTEGER,
const FIELD_BOOL = dibi::BOOL; FIELD_FLOAT = dibi::FLOAT,
const FIELD_INTEGER = dibi::INTEGER; FIELD_DATE = dibi::DATE,
const FIELD_FLOAT = dibi::FLOAT; FIELD_DATETIME = dibi::DATETIME,
const FIELD_DATE = dibi::DATE; FIELD_TIME = dibi::TIME;
const FIELD_DATETIME = dibi::DATETIME;
const FIELD_TIME = dibi::TIME;
/**#@-*/
/**#@+ /** version */
* dibi version const VERSION = '1.5-rc1',
*/ REVISION = '$WCREV$ released on $WCDATE$';
const VERSION = '1.5-rc1';
const REVISION = '$WCREV$ released on $WCDATE$';
/**#@-*/
const ASC = 'ASC', DESC = 'DESC'; /** sorting order */
const ASC = 'ASC',
DESC = 'DESC';
/** @var DibiConnection[] Connection registry storage for DibiConnection objects */ /** @var DibiConnection[] Connection registry storage for DibiConnection objects */
private static $registry = array(); private static $registry = array();

View File

@@ -8,7 +8,7 @@
* For the full copyright and license information, please view * For the full copyright and license information, please view
* the file license.txt that was distributed with this source code. * 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 * For the full copyright and license information, please view
* the file license.txt that was distributed with this source code. * 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. * dibi common exception.
* *
@@ -160,3 +171,27 @@ class DibiDriverException extends DibiException
} }
} }
/**
* 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. * Lazy cached storage.
* *
* @author David Grudl * @author David Grudl
@@ -51,6 +51,12 @@ abstract class DibiHashMapBase
/**
* Lazy cached storage.
*
* @author David Grudl
* @internal
*/
final class DibiHashMap extends DibiHashMapBase 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. * Provides an interface between a dataset and data-aware components.
* @package dibi
*/ */
interface IDataSource extends Countable, IteratorAggregate interface IDataSource extends Countable, IteratorAggregate
{ {
@@ -27,7 +26,6 @@ interface IDataSource extends Countable, IteratorAggregate
/** /**
* Object that is able to generate SQL. * Object that is able to generate SQL.
* @package dibi
*/ */
interface IDibiVariable interface IDibiVariable
{ {
@@ -40,24 +38,22 @@ interface IDibiVariable
/** /**
* Defines method that must profiler implement. * Defines method that must profiler implement.
* @package dibi
*/ */
interface IDibiProfiler interface IDibiProfiler
{ {
/**#@+ event type */ /** event type */
const CONNECT = 1; const CONNECT = 1,
const SELECT = 4; SELECT = 4,
const INSERT = 8; INSERT = 8,
const DELETE = 16; DELETE = 16,
const UPDATE = 32; UPDATE = 32,
const QUERY = 60; // SELECT | INSERT | DELETE | UPDATE QUERY = 60, // SELECT | INSERT | DELETE | UPDATE
const BEGIN = 64; BEGIN = 64,
const COMMIT = 128; COMMIT = 128,
const ROLLBACK = 256; ROLLBACK = 256,
const TRANSACTION = 448; // BEGIN | COMMIT | ROLLBACK TRANSACTION = 448, // BEGIN | COMMIT | ROLLBACK
const EXCEPTION = 512; EXCEPTION = 512,
const ALL = 1023; ALL = 1023;
/**#@-*/
/** /**
* Before event notification. * Before event notification.
@@ -91,8 +87,6 @@ interface IDibiProfiler
/** /**
* dibi driver interface. * dibi driver interface.
*
* @author David Grudl
*/ */
interface IDibiDriver interface IDibiDriver
{ {
@@ -202,8 +196,6 @@ interface IDibiDriver
/** /**
* dibi result set driver interface. * dibi result set driver interface.
*
* @author David Grudl
*/ */
interface IDibiResultDriver interface IDibiResultDriver
{ {