All pastes #42255 Raw Edit

Stuff

public php v1 · immutable
#42255 ·published 2006-02-20 19:02 UTC
rendered paste body
Index: modules/core/classes/GalleryStorage/MySqlStorage.class===================================================================RCS file: /cvsroot/gallery/gallery2/modules/core/classes/GalleryStorage/MySqlStorage.class,vretrieving revision 1.3diff -u -w -r1.3 MySqlStorage.class--- modules/core/classes/GalleryStorage/MySqlStorage.class	10 Feb 2006 17:02:00 -0000	1.3+++ modules/core/classes/GalleryStorage/MySqlStorage.class	20 Feb 2006 19:00:21 -0000@@ -175,6 +175,10 @@ 	    $sql .= ') VALUES ' . $rowList; 	    break; +	case 'AVG':+	    $sql = sprintf('AVG(%s)', $args[0]);+	    break;+ 	default: 	    return array(GalleryCoreApi::error(ERROR_UNIMPLEMENTED, __FILE__, __LINE__, 					      $functionName . ' ' . implode(' ', $args)), null);Index: modules/core/classes/GalleryStorage/Db2Storage.class===================================================================RCS file: /cvsroot/gallery/gallery2/modules/core/classes/GalleryStorage/Db2Storage.class,vretrieving revision 1.11diff -u -w -r1.11 Db2Storage.class--- modules/core/classes/GalleryStorage/Db2Storage.class	17 Feb 2006 23:47:08 -0000	1.11+++ modules/core/classes/GalleryStorage/Db2Storage.class	20 Feb 2006 19:00:21 -0000@@ -311,6 +311,14 @@ 	    $sql .= ') VALUES ' . $rowList; 	    break; +	case 'AVG':+	    /*+	     * DB2's AVG's return value is of the same type as the input value. To get the same+	     * behavior that we expect from MySQL and PostgreSQL, cast the input to double+	     */+	    $sql = sprintf('AVG(double(%s))', $args[0]);+	    break;+ 	default: 	    return array(GalleryCoreApi::error(ERROR_UNIMPLEMENTED, __FILE__, __LINE__, 					      $functionName . ' ' . implode(' ', $args)), null);Index: modules/core/classes/GalleryStorage/OracleStorage.class===================================================================RCS file: /cvsroot/gallery/gallery2/modules/core/classes/GalleryStorage/OracleStorage.class,vretrieving revision 1.5diff -u -w -r1.5 OracleStorage.class--- modules/core/classes/GalleryStorage/OracleStorage.class	10 Feb 2006 17:02:00 -0000	1.5+++ modules/core/classes/GalleryStorage/OracleStorage.class	20 Feb 2006 19:00:21 -0000@@ -147,6 +147,10 @@ 	    $sql .= ') ' . $rowList; 	    break; +	case 'AVG':+	    $sql = sprintf('AVG(%s)', $args[0]);+	    break;+ 	default: 	    return array(GalleryCoreApi::error(ERROR_UNIMPLEMENTED, __FILE__, __LINE__, 					      $functionName . ' ' . implode(' ', $args)), null);Index: modules/core/classes/GalleryStorage/PostgreSqlStorage.class===================================================================RCS file: /cvsroot/gallery/gallery2/modules/core/classes/GalleryStorage/PostgreSqlStorage.class,vretrieving revision 1.8diff -u -w -r1.8 PostgreSqlStorage.class--- modules/core/classes/GalleryStorage/PostgreSqlStorage.class	10 Feb 2006 17:02:00 -0000	1.8+++ modules/core/classes/GalleryStorage/PostgreSqlStorage.class	20 Feb 2006 19:00:21 -0000@@ -228,6 +228,10 @@ 	    $sql .= ') ' . $rowList; 	    break; +	case 'AVG':+	    $sql = sprintf('AVG(%s)', $args[0]);+	    break;+ 	default: 	    return array(GalleryCoreApi::error(ERROR_UNIMPLEMENTED, __FILE__, __LINE__, 					      $functionName . ' ' . implode(' ', $args)), null);Index: modules/rating/classes/RatingHelper.class===================================================================RCS file: /cvsroot/gallery/gallery2/modules/rating/classes/RatingHelper.class,vretrieving revision 1.5diff -u -w -r1.5 RatingHelper.class--- modules/rating/classes/RatingHelper.class	3 Feb 2006 21:48:03 -0000	1.5+++ modules/rating/classes/RatingHelper.class	20 Feb 2006 19:00:21 -0000@@ -219,9 +219,13 @@ 	}  	/* Compute average and update cache table */+	list ($ret, $avg) = $storage->getFunctionSql('AVG', array('[RatingMap::rating]'));+	if ($ret) {+	    return array($ret->wrap(__FILE__, __LINE__), null);+	} 	$query = ' 	    SELECT-	    AVG([RatingMap::rating]),+	    ' . $avg . ', 	    COUNT([RatingMap::rating]) 		FROM 		[RatingMap]