Index: trunk/kernel/include/itemdb.php
===================================================================
diff -u -N -r1022 -r1072
--- trunk/kernel/include/itemdb.php (.../itemdb.php) (revision 1022)
+++ trunk/kernel/include/itemdb.php (.../itemdb.php) (revision 1072)
@@ -463,12 +463,17 @@
//echo "MAX SQL: $sql
";
$new_val = $rs->fields['max_value'] + 1;
- $sql = "SELECT count($field) AS count FROM ".$this->tablename." WHERE $field = $new_val";
- $rsc = $this->adodbConnection->Execute($sql);
- //echo "New Value:$new_val
";
- if ($rsc->fields['count'] > 0) {
- $new_val = $new_val + 0.000001;
- }
+ $sql = "SELECT count($field) AS count FROM ".$this->tablename." WHERE $field = $new_val";
+ $rsc = $this->adodbConnection->Execute($sql);
+
+ while ($rsc->fields['count'] != 0) {
+ $sql = "SELECT count($field) AS count FROM ".$this->tablename." WHERE $field = $new_val";
+ $rsc = $this->adodbConnection->Execute($sql);
+ //echo "New Value:$new_val
";
+ if ($rsc->fields['count'] > 0) {
+ $new_val = $new_val + 0.000001;
+ }
+ }
$sql = "Update ".$this->tablename." set $field=$new_val where ".$this->IdField()."=" . $this->UniqueId();
}