Seberg, it is very unpleasant to be in a 'discussion' where one person talks and listens and the other only talks. 

I asked you this question repeatedly: 

"What is the semantic meaning of selecting from nothing or according to nothing?".

This question needs an answer. 

I have asked it 3 times and you have ignored it 3 times!

Now, you are attempting to ignore it permanently. The *meaning* of a function is *essential* to its implementation. 

Diving by zero is semantically meaningless according to the meaning of the word 'divide'. Casually extrapolating divide to avoid error messages being returned is *wrong*.
 
Selecting (from nothing at all) according to (nothing at all) is semantically meaningless according to the established meaning of the word 'to select'.  Extrapolating select to avoid errors being returned is *wrong*. 

If your case has merit, argue it. Explain the meaning of the concept 'to make a selection when you are given no basis on which to select and/or nothing to select from'

The present behaviour of the old code is to invent a spurious data output (values, dimensions) when empty data sets are provided. This does not correspond to the concept of 'selection' in any language I have ever known and consequently is likely to lead to silent generation of buggy data. 

It seems far more sensible to follow the pattern of 'division by zero' and say 'You asked me to select according to what you gave me - but you didn't give me the things I need to make a selection', i.e. an error message.