static cost_val DistinctIfCost( sel_handle s_node ) /*************************************************/ { select_list *curr; select_list *next; int entries; entries = 1; for( curr = s_node->list, next = curr->next; next != NULL; next = next->next ) { if( ( curr->high + 1 != next->low ) || ( curr->label != next->label ) ) { ++entries; curr = next; } } return( IfCost( s_node, entries ) ); }
static signed_32 DistinctIfCost( select_node *s_node ) { /*************************************************************/ select_list *list; select_list *next; int entries; entries = 1; list = s_node->list; next = list->next; while( next != NULL ) { if( ( list->high + 1 != next->low ) || ( list->label != next->label ) ) { ++entries; list = next; } next = next->next; } return( IfCost( s_node, entries ) ); }