From e1a767df263bc9fb63deace28d24d50701c0447e Mon Sep 17 00:00:00 2001 From: Dmitry Yemanov Date: Tue, 30 Jul 2024 18:30:47 +0300 Subject: [PATCH] Restrict the conversion to equivalence joins only --- src/jrd/RecordSourceNodes.cpp | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/jrd/RecordSourceNodes.cpp b/src/jrd/RecordSourceNodes.cpp index ea6780dad1..21ede05665 100644 --- a/src/jrd/RecordSourceNodes.cpp +++ b/src/jrd/RecordSourceNodes.cpp @@ -85,16 +85,19 @@ namespace if (const auto cmpNode = nodeAs(boolean)) { - SortedStreamList streams; - cmpNode->collectStreams(streams); - - for (const auto stream : streams) + if (cmpNode->blrOp == blr_eql || cmpNode->blrOp == blr_equiv) { - if (!rseStreams.exist(stream)) + SortedStreamList streams; + cmpNode->collectStreams(streams); + + for (const auto stream : streams) { - booleanStack.push(boolean); - *parentBoolean = nullptr; - return true; + if (!rseStreams.exist(stream)) + { + booleanStack.push(boolean); + *parentBoolean = nullptr; + return true; + } } } }