code: 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;
  	}
docs: 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.
  
  @param node The optimizer node that potentially modifies the properties.
  @param input The input of the node which is relevant.
  
  @return True, if the resulting properties are non trivial.