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

SVN:trunk[2506]
This commit is contained in:
Denis Flaven
2012-12-05 09:45:53 +00:00
parent 0221a65f82
commit 0a0e7c01fd

View File

@@ -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)