public RequestedLocalProperties filterByNodesConstantSet ( OptimizerNode node , int input ) { if ( this . ordering != null ) { final FieldList involvedIndexes = this . ordering . getInvolvedIndexes ( ) ; for ( int i = 0 ; i < involvedIndexes . size ( ) ; i ++ ) { if ( ! node . isFieldConstant ( input , involvedIndexes . get ( i ) ) ) { return null ; } } } else if ( this . groupedFields != null ) { // check, whether the local key grouping is preserved for ( Integer index : this . groupedFields ) { if ( ! node . isFieldConstant ( input , index ) ) { return null ; } } } return this ; }
Filters these properties by what can be preserved through a user function s constant fields set . Since interesting properties are filtered top - down anything that partially destroys the ordering makes the properties uninteresting .