@@ -628,15 +628,13 @@ setSelectivityClass(ExtractedNode *node, CheckEntryHandler checkHandler,
628628{
629629int i ;
630630bool first ;
631- bool skip ;
632631ExtractedNode * child ;
633632
634633switch (node -> type )
635634{
636635case eAnd :
637636case eOr :
638637first = true;
639- skip = false;
640638node -> forceIndex = false;
641639for (i = 0 ;i < node -> args .count ;i ++ )
642640{
@@ -649,10 +647,7 @@ setSelectivityClass(ExtractedNode *node, CheckEntryHandler checkHandler,
649647{
650648if (child -> hint == jsqNoIndex ||
651649!checkHandler (child ,extra ))
652- {
653- skip = true;
654650continue ;
655- }
656651}
657652
658653setSelectivityClass (child ,checkHandler ,extra );
@@ -673,11 +668,13 @@ setSelectivityClass(ExtractedNode *node, CheckEntryHandler checkHandler,
673668}
674669first = false;
675670}
676- return ;
671+ break ;
677672case eScalar :
678673node -> sClass = getScalarSelectivityClass (node );
679674node -> forceIndex = node -> hint == jsqForceIndex ;
680- return ;
675+ break ;
676+ default :
677+ elog (ERROR ,"Wrong node type" );
681678}
682679}
683680
@@ -724,6 +721,8 @@ execRecursive(ExtractedNode *node, bool *check)
724721return false;
725722case eScalar :
726723return check [node -> bounds .entryNum ];
724+ default :
725+ elog (ERROR ,"Wrong node type" );
727726}
728727}
729728
@@ -762,6 +761,8 @@ execRecursiveTristate(ExtractedNode *node, GinTernaryValue *check)
762761return res ;
763762case eScalar :
764763return check [node -> bounds .entryNum ];
764+ default :
765+ elog (ERROR ,"Wrong node type" );
765766}
766767}
767768