From eb55ec4a5f3f0c808aed1bc6468190ad5af33ab1 Mon Sep 17 00:00:00 2001 From: zYne Date: Wed, 7 Mar 2007 10:38:45 +0000 Subject: [PATCH] ported guid() from MDB2 --- lib/Doctrine/Expression.php | 9 +++++++++ lib/Doctrine/Expression/Mssql.php | 14 +++++++++++--- lib/Doctrine/Expression/Mysql.php | 9 +++++++++ lib/Doctrine/Expression/Oracle.php | 11 ++++++++++- 4 files changed, 39 insertions(+), 4 deletions(-) diff --git a/lib/Doctrine/Expression.php b/lib/Doctrine/Expression.php index 5899768c3..9983ff06b 100644 --- a/lib/Doctrine/Expression.php +++ b/lib/Doctrine/Expression.php @@ -652,4 +652,13 @@ class Doctrine_Expression extends Doctrine_Connection_Module $value2 = $this->getIdentifier($value2); return $expression . ' BETWEEN ' .$value1 . ' AND ' . $value2; } + /** + * Returns global unique identifier + * + * @return string to get global unique identifier + */ + public function guid() + { + throw new Doctrine_Expression_Exception('method not implemented'); + } } diff --git a/lib/Doctrine/Expression/Mssql.php b/lib/Doctrine/Expression/Mssql.php index ab0f8df6c..551388c7f 100644 --- a/lib/Doctrine/Expression/Mssql.php +++ b/lib/Doctrine/Expression/Mssql.php @@ -71,11 +71,19 @@ class Doctrine_Expression_Mssql extends Doctrine_Expression * @param string $arg2 * @param string $values... * @return string to concatenate two strings - * @access public - **/ - function concat($arg1, $arg2) + */ + public function concat($arg1, $arg2) { $args = func_get_args(); return '(' . implode(' + ', $args) . ')'; } + /** + * Returns global unique identifier + * + * @return string to get global unique identifier + */ + public function guid() + { + return 'NEWID()'; + } } diff --git a/lib/Doctrine/Expression/Mysql.php b/lib/Doctrine/Expression/Mysql.php index 985a37d0c..6e9628033 100644 --- a/lib/Doctrine/Expression/Mysql.php +++ b/lib/Doctrine/Expression/Mysql.php @@ -98,4 +98,13 @@ class Doctrine_Expression_Mysql extends Doctrine_Expression $match.= $this->patternEscapeString(); return $match; } + /** + * Returns global unique identifier + * + * @return string to get global unique identifier + */ + public function guid() + { + return 'UUID()'; + } } diff --git a/lib/Doctrine/Expression/Oracle.php b/lib/Doctrine/Expression/Oracle.php index 3f7b39d8d..fefa620a8 100644 --- a/lib/Doctrine/Expression/Oracle.php +++ b/lib/Doctrine/Expression/Oracle.php @@ -89,8 +89,17 @@ class Doctrine_Expression_Oracle extends Doctrine_Expression * * @return string an oracle SQL string that generates a float between 0 and 1 */ - function random() + public function random() { return 'dbms_random.value'; } + /** + * Returns global unique identifier + * + * @return string to get global unique identifier + */ + public function guid() + { + return 'SYS_GUID()'; + } }