N°3660 - Fix JOIN without condition on child joined table is ignored (check done in optimizer)

This commit is contained in:
Eric
2021-02-03 15:58:54 +01:00
parent 2f0e7c6d29
commit e06996a2e4
4 changed files with 19 additions and 11 deletions

View File

@@ -294,13 +294,6 @@ class OQLClassTreeBuilder
$oClassExpr = new FieldExpression($sClassAttCode, $this->sClassAlias);
$oClassRestriction = new BinaryExpression($oClassExpr, 'IN', $oClassListExpr);
$oQBContextExpressions->AddCondition($oClassRestriction);
} elseif (($oKeyAttDef instanceof AttributeExternalKey) && $sKeyClass != $oKeyAttDef->GetTargetClass()) {
$sClassAttCode = 'finalclass';
$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