Prechádzať zdrojové kódy

N890.6 Obsolescence: if the expression defining the flag is evaluated to null, then consider the object as being NOT obsoleted. The workaround implemented in the reference datamodel has been removed (no need to use COALESCE anymore).

git-svn-id: http://svn.code.sf.net/p/itop/code/trunk@4834 a333f486-631f-4898-b8df-5754b55c2be0
romainq 8 rokov pred
rodič
commit
9f6d33d764

+ 1 - 1
core/metamodel.class.php

@@ -333,7 +333,7 @@ abstract class MetaModel
 	{
 		self::_check_subclass($sClass);
 		$sOql = self::$m_aClassParams[$sClass]['obsolescence_expression'];
-		$oRet = Expression::FromOQL($sOql);
+		$oRet = Expression::FromOQL("COALESCE($sOql, 0)");
 		return $oRet;
 	}
 	final static public function GetNameSpec($sClass)

+ 7 - 7
datamodels/2.x/itop-config-mgmt/datamodel.itop-config-mgmt.xml

@@ -30,7 +30,7 @@
           </attributes>
         </reconciliation>
         <obsolescence>
-          <condition><![CDATA[COALESCE(status='inactive',0)]]></condition>
+          <condition><![CDATA[status = 'inactive']]></condition>
         </obsolescence>
       </properties>
       <fields>
@@ -137,7 +137,7 @@
           </attributes>
         </reconciliation>
         <obsolescence>
-          <condition><![CDATA[COALESCE(status='inactive',0)]]></condition>
+          <condition><![CDATA[status = 'inactive']]></condition>
         </obsolescence>
       </properties>
       <fields>
@@ -897,7 +897,7 @@
           </attributes>
         </reconciliation>
         <obsolescence>
-          <condition><![CDATA[COALESCE(status='obsolete',0)]]></condition>
+          <condition><![CDATA[status = 'obsolete']]></condition>
         </obsolescence>
       </properties>
       <fields>
@@ -1667,7 +1667,7 @@
           </attributes>
         </reconciliation>
         <obsolescence>
-          <condition><![CDATA[COALESCE(status='obsolete',0)]]></condition>
+          <condition><![CDATA[status = 'obsolete']]></condition>
         </obsolescence>
       </properties>
       <fields>
@@ -2943,7 +2943,7 @@
           </attributes>
         </reconciliation>
         <obsolescence>
-          <condition><![CDATA[COALESCE(status='inactive',0)]]></condition>
+          <condition><![CDATA[status='inactive']]></condition>
         </obsolescence>
       </properties>
       <fields>
@@ -3102,7 +3102,7 @@
           </attributes>
         </reconciliation>
         <obsolescence>
-          <condition><![CDATA[COALESCE(status='inactive',0)]]></condition>
+          <condition><![CDATA[status = 'inactive']]></condition>
         </obsolescence>
       </properties>
       <fields>
@@ -3228,7 +3228,7 @@
           </attributes>
         </reconciliation>
         <obsolescence>
-          <condition><![CDATA[COALESCE(status='inactive',0)]]></condition>
+          <condition><![CDATA[status = 'inactive']]></condition>
         </obsolescence>
       </properties>
       <fields>

+ 2 - 2
datamodels/2.x/itop-virtualization-mgmt/datamodel.itop-virtualization-mgmt.xml

@@ -26,7 +26,7 @@
           </attributes>
         </reconciliation>
         <obsolescence>
-          <condition><![CDATA[COALESCE(status='obsolete',0)]]></condition>
+          <condition><![CDATA[status = 'obsolete']]></condition>
         </obsolescence>
       </properties>
       <fields>
@@ -283,7 +283,7 @@
           </attributes>
         </reconciliation>
         <obsolescence>
-          <condition><![CDATA[COALESCE(status='obsolete' OR (server_id!=0 AND server_id_obsolescence_flag),0)]]></condition>
+          <condition><![CDATA[status = 'obsolete' OR (server_id != 0 AND server_id_obsolescence_flag)]]></condition>
         </obsolescence>
       </properties>
       <fields>