N°3660 - Fix JOIN without condition on child joined table is ignored (remove unnecessary check)

This commit is contained in:
Eric
2021-02-03 09:07:59 +01:00
parent 765560d1f5
commit 7115a6ae7d

View File

@@ -296,13 +296,11 @@ class OQLClassTreeBuilder
$oQBContextExpressions->AddCondition($oClassRestriction);
} elseif (($oKeyAttDef instanceof AttributeExternalKey) && $sKeyClass != $oKeyAttDef->GetTargetClass()) {
$sClassAttCode = 'finalclass';
if (MetaModel::IsValidAttCode($sKeyClass, $sClassAttCode)) {
$oClassListExpr = ListExpression::FromScalars(MetaModel::EnumChildClasses($sKeyClass,
ENUM_CHILD_CLASSES_ALL));
$oClassExpr = new FieldExpression($sClassAttCode, $sKeyClassAlias);
$oClassRestriction = new BinaryExpression($oClassExpr, 'IN', $oClassListExpr);
$oQBContextExpressions->AddCondition($oClassRestriction);
}
$oClassListExpr = ListExpression::FromScalars(MetaModel::EnumChildClasses($sKeyClass,
ENUM_CHILD_CLASSES_ALL));
$oClassExpr = new FieldExpression($sClassAttCode, $sKeyClassAlias);
$oClassRestriction = new BinaryExpression($oClassExpr, 'IN', $oClassListExpr);
$oQBContextExpressions->AddCondition($oClassRestriction);
}
// Translate prior to recursing