Преглед изворни кода

Perf enhancements: don't build trace information if trace is not required.

git-svn-id: http://svn.code.sf.net/p/itop/code/trunk@2506 a333f486-631f-4898-b8df-5754b55c2be0
dflaven пре 12 година
родитељ
комит
a62fdc77d5
1 измењених фајлова са 27 додато и 21 уклоњено
  1. 27 21
      core/metamodel.class.php

+ 27 - 21
core/metamodel.class.php

@@ -2329,31 +2329,37 @@ abstract class MetaModel
 
 	protected static function AddQueryTraceSelect($oFilter, $aOrderBy, $aArgs, $aAttToLoad, $aExtendedDataSpec, $iLimitCount, $iLimitStart, $bGetCount, $sSql)
 	{
-		$aQueryData = array(
-			'type' => 'select',
-			'filter' => $oFilter,
-			'order_by' => $aOrderBy,
-			'args' => $aArgs,
-			'att_to_load' => $aAttToLoad,
-			'extended_data_spec' => $aExtendedDataSpec,
-			'limit_count' => $iLimitCount,
-			'limit_start' => $iLimitStart,
-			'is_count' => $bGetCount
-		);
-		$sOql = $oFilter->ToOQL(true, $aArgs);
-		self::AddQueryTrace($aQueryData, $sOql, $sSql);
+		if (self::$m_bTraceQueries)
+		{
+			$aQueryData = array(
+				'type' => 'select',
+				'filter' => $oFilter,
+				'order_by' => $aOrderBy,
+				'args' => $aArgs,
+				'att_to_load' => $aAttToLoad,
+				'extended_data_spec' => $aExtendedDataSpec,
+				'limit_count' => $iLimitCount,
+				'limit_start' => $iLimitStart,
+				'is_count' => $bGetCount
+			);
+			$sOql = $oFilter->ToOQL(true, $aArgs);
+			self::AddQueryTrace($aQueryData, $sOql, $sSql);
+		}
 	}
 	
 	protected static function AddQueryTraceGroupBy($oFilter, $aArgs, $aGroupByExpr, $sSql)
 	{
-		$aQueryData = array(
-			'type' => 'group_by',
-			'filter' => $oFilter,
-			'args' => $aArgs,
-			'group_by_expr' => $aGroupByExpr
-		);
-		$sOql = $oFilter->ToOQL(true, $aArgs);
-		self::AddQueryTrace($aQueryData, $sOql, $sSql);
+		if (self::$m_bTraceQueries)
+		{
+			$aQueryData = array(
+				'type' => 'group_by',
+				'filter' => $oFilter,
+				'args' => $aArgs,
+				'group_by_expr' => $aGroupByExpr
+			);
+			$sOql = $oFilter->ToOQL(true, $aArgs);
+			self::AddQueryTrace($aQueryData, $sOql, $sSql);
+		}
 	}
 
 	protected static function AddQueryTrace($aQueryData, $sOql, $sSql)