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