Author: jfthomps
Date: Mon Aug 31 16:27:45 2015
New Revision: 1700272

URL: http://svn.apache.org/r1700272
Log:
VCL-904 - BIGINT UNSIGNED issue in isAvailable function

utils.php: modified isAvailable: changed definition of allocRAM in temporary 
table VMhostCheck to be int instead of mediumint unsigned; cast i.minram as 
SIGNED when selecting values from VMhostCheck

Modified:
    vcl/trunk/web/.ht-inc/utils.php

Modified: vcl/trunk/web/.ht-inc/utils.php
URL: 
http://svn.apache.org/viewvc/vcl/trunk/web/.ht-inc/utils.php?rev=1700272&r1=1700271&r2=1700272&view=diff
==============================================================================
--- vcl/trunk/web/.ht-inc/utils.php (original)
+++ vcl/trunk/web/.ht-inc/utils.php Mon Aug 31 16:27:45 2015
@@ -4368,7 +4368,7 @@ function isAvailable($images, $imageid,
 
                                $query = "CREATE TEMPORARY TABLE VMhostCheck ( "
                                       .    "RAM mediumint unsigned NOT NULL, "
-                                      .    "allocRAM mediumint unsigned NOT 
NULL, "
+                                      .    "allocRAM int NOT NULL, "
                                       .    "vmhostid smallint unsigned NOT 
NULL "
                                       . ") ENGINE=MEMORY";
                                doQuery($query, 101);
@@ -4393,7 +4393,7 @@ function isAvailable($images, $imageid,
                               . "LEFT JOIN computer c ON (v.vmhostid = 
c.vmhostid) "
                               . "LEFT JOIN image i ON (c.currentimageid = 
i.id) "
                               . "WHERE c.id IN ($inids) AND "
-                              .       "(v.allocRAM - i.minram + 
{$images[$imageid]['minram']}) < v.RAM "
+                              .       "(v.allocRAM - CAST(i.minram AS SIGNED) 
+ {$images[$imageid]['minram']}) < v.RAM "
                               . "ORDER BY c.RAM, "
                               .          "(c.procspeed * c.procnumber), "
                               .          "c.network";


Reply via email to