N°1472 Portal: OQL optimization in ManageBrick when several UNIONs are used.

SVN:2.4[5813]
This commit is contained in:
Guillaume Lajarige
2018-05-23 15:03:33 +00:00
parent 880faf2021
commit a6f6d536e0

View File

@@ -209,7 +209,7 @@ class ManageBrickController extends BrickController
$sGroupingTab = key($aGroupingTabsValues);
if ($aGroupingTabsValues[$sGroupingTab]['condition'] !== null)
{
$oQuery = $oQuery->Intersect($aGroupingTabsValues[$sGroupingTab]['condition']);
$oQuery = $aGroupingTabsValues[$sGroupingTab]['condition']->DeepClone();
}
}
else
@@ -221,7 +221,7 @@ class ManageBrickController extends BrickController
{
if ($aGroupingTabsValues[$sGroupingTab]['condition'] !== null)
{
$oQuery = $oQuery->Intersect($aGroupingTabsValues[$sGroupingTab]['condition']);
$oQuery = $aGroupingTabsValues[$sGroupingTab]['condition']->DeepClone();
}
}
@@ -293,8 +293,7 @@ class ManageBrickController extends BrickController
$oAreaQuery = DBSearch::CloneWithAlias($oQuery, $sParentAlias);
if ($aGroupingAreasValue['condition'] !== null)
{
//$oAreaQuery->AddConditionExpression($aGroupingAreasValue['condition']);
$oAreaQuery = $oAreaQuery->Intersect($aGroupingAreasValue['condition']);
$oAreaQuery = $aGroupingAreasValue['condition']->DeepClone();
}
// Restricting query to allowed scope on each classes