diff --git a/src/ast2ram/utility/SipsMetric.cpp b/src/ast2ram/utility/SipsMetric.cpp index 905cf538f5d..b579cb8cc9a 100644 --- a/src/ast2ram/utility/SipsMetric.cpp +++ b/src/ast2ram/utility/SipsMetric.cpp @@ -157,10 +157,14 @@ std::vector SelingerProfileSipsMetric::getReordering( cc << constantsStringMap; std::string constants = cc.str(); - if (isRecursive) { - return prof->getRecursiveJoinSize(rel, attributes, constants, iteration); - } else { - return prof->getNonRecursiveJoinSize(rel, attributes, constants); + try { + if (isRecursive) { + return prof->getRecursiveJoinSize(rel, attributes, constants, iteration); + } else { + return prof->getNonRecursiveJoinSize(rel, attributes, constants); + } + } catch (...) { + fatal("Error: profile used for auto-scheduling doesn't match the provided program."); } };