Re: Ambiguous usage of 'any' in explanation

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: Ambiguous usage of 'any' in explanation
Дата
Msg-id 20181011210934.GG7807@momjian.us
обсуждение исходный текст
Ответ на Ambiguous usage of 'any' in explanation  (PG Doc comments form <noreply@postgresql.org>)
Ответы Re: Ambiguous usage of 'any' in explanation  ("David G. Johnston" <david.g.johnston@gmail.com>)
Список pgsql-docs
On Sat, Sep 15, 2018 at 11:53:47AM +0000, PG Doc comments form wrote:
> The following documentation comment has been logged on the website:
> 
> Page: https://www.postgresql.org/docs/10/static/functions-subquery.html
> Description:
> 
> Hi.
> 
> The [DOC](https://www.postgresql.org/docs/10/static/functions-subquery.html)
> says:
>  
>     The result is NULL if the comparison does not return false for any
> subquery row
> 
> does *any* mean here: some or all?
> 
> For example in
> [MySQL](https://dev.mysql.com/doc/refman/8.0/en/any-in-some-subqueries.html)
> I have found this explanation:
> 
> >Use of the word SOME is rare, but this example shows why it might be
> useful. To most people, the English phrase “a is not equal to any b” means
> “there is no b which is equal to a,” but that is not what is meant by the
> SQL syntax. The syntax means “there is some b to which a is not equal.”
> Using <> SOME instead helps ensure that everyone understands the true
> meaning of the query.

I am kind of confused by this report.  You mention SOME in the text
above, which is a synonym for ANY, but the text you quote:

>     The result is NULL if the comparison does not return false for any
> subquery row

is from ALL:

    The result of <token>ALL</token> is <quote>true</quote> if
    the comparison returns true for all subquery rows (including
    the case where the subquery returns no rows).  The result is
    <quote>false</quote> if the comparison returns false for any
    subquery row.  The result is NULL if the comparison does not
    return false for any subquery row, and it returns NULL for at
    least one row.

I see the last line is just trying to negate the line above it, but the
mix of "not" and "any" is confusing.  I can reword this last line to be:

    The result is NULL if no comparison with a subquery row returns
    false, and it returns NULL for at least one row.

I can make similar adjustments in other places, and have attached a doc
patch.  Does that help?

-- 
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

+ As you are, so once was I.  As I am, so you will be. +
+                      Ancient Roman grave inscription +

Вложения

В списке pgsql-docs по дате отправления:

Предыдущее
От: "David G. Johnston"
Дата:
Сообщение: Re: please inform data_directory
Следующее
От: "David G. Johnston"
Дата:
Сообщение: Re: Ambiguous usage of 'any' in explanation