Обсуждение: Example not producing shown output

Поиск
Список
Период
Сортировка

Example not producing shown output

От
PG Doc comments form
Дата:
The following documentation comment has been logged on the website:

Page: https://www.postgresql.org/docs/12/functions-textsearch.html
Description:

Page: https://www.postgresql.org/docs/12/functions-textsearch.html

Examples should have specified 'english'.

Instead:
   to_tsvector('fat cats ate rats') @@ to_tsquery('cat & rat')

which returns fale on my own blank installation of Postgre (Serbian locale
Windows OS) instead of true:
   to_tsvector('english', 'fat cats ate rats') @@ to_tsquery('cat & rat')

Re: Example not producing shown output

От
Daniel Gustafsson
Дата:
> On 25 Nov 2019, at 13:05, PG Doc comments form <noreply@postgresql.org> wrote:
>
> The following documentation comment has been logged on the website:
>
> Page: https://www.postgresql.org/docs/12/functions-textsearch.html
> Description:
>
> Page: https://www.postgresql.org/docs/12/functions-textsearch.html
>
> Examples should have specified 'english'.
>
> Instead:
>   to_tsvector('fat cats ate rats') @@ to_tsquery('cat & rat')
>
> which returns fale on my own blank installation of Postgre (Serbian locale
> Windows OS) instead of true:
>   to_tsvector('english', 'fat cats ate rats') @@ to_tsquery('cat & rat')


I agree with this complaint, mainly since other examples on the page do specify
english where required AFAICT, this makes it consistent.  The attached diff
adds the english configuration directive to @@ and @@@.

The examples on chapter 12.1 all have the same issue, but adding 'english' to
all of them in order to make them work out of the box everywhere doesn't seem
like an improvement to the docs so those are left as is.

cheers ./daniel



Вложения

Re: Example not producing shown output

От
Alvaro Herrera
Дата:
On 2019-Nov-25, Daniel Gustafsson wrote:

> > On 25 Nov 2019, at 13:05, PG Doc comments form <noreply@postgresql.org> wrote:

> > Examples should have specified 'english'.
> > 
> > Instead:
> >   to_tsvector('fat cats ate rats') @@ to_tsquery('cat & rat')
> > 
> > which returns fale on my own blank installation of Postgre (Serbian locale
> > Windows OS) instead of true:
> >   to_tsvector('english', 'fat cats ate rats') @@ to_tsquery('cat & rat')
> 
> I agree with this complaint, mainly since other examples on the page do specify
> english where required AFAICT, this makes it consistent.

Hmm.  I'm not sure that it's an improvement to make all the examples
alike; that means we would not provide examples of the simpler syntax.
And because other examples already show that it's possible to indicate
the language, I'm not sure it's strictly necessary to do so here.

Maybe this complaint could be addressed by indicating in a note that
some examples might not work identically if run under a different
locale.  Or perhaps we can add a second line in the example cell for the
@@ operator, to make it clear that both forms can be used.  Users can be
expected to apply some intuition from that point onwards.

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



Re: Example not producing shown output

От
Daniel Gustafsson
Дата:
> On 26 Nov 2019, at 19:28, Alvaro Herrera <alvherre@2ndquadrant.com> wrote:

> Or perhaps we can add a second line in the example cell for the
> @@ operator, to make it clear that both forms can be used.  Users can be
> expected to apply some intuition from that point onwards.

Wouldn't it be more intuitive to add such a second line under to_tsvector, or
expand the Description field to cover a brief discussion covering this? 

cheers ./daniel



Re: Example not producing shown output

От
Alvaro Herrera
Дата:
On 2019-Nov-27, Daniel Gustafsson wrote:

> > On 26 Nov 2019, at 19:28, Alvaro Herrera <alvherre@2ndquadrant.com> wrote:
> 
> > Or perhaps we can add a second line in the example cell for the
> > @@ operator, to make it clear that both forms can be used.  Users can be
> > expected to apply some intuition from that point onwards.
> 
> Wouldn't it be more intuitive to add such a second line under to_tsvector, or
> expand the Description field to cover a brief discussion covering this? 

I don't know.  The problem is that the line for to_tsvector is a lot
further down the page in table 9.42, and it contains a lot of other
stuff, so people trying their first examples based on table 9.41 would
not see it and will be as surprised as the OP was when it doesn't work
under their locale.

I think enlarging the description for the @@ entry is not out of the
question, but trying to explain too much about the locale there seems a
bit out of place.  This is why I suggested to add another Note box below
the table.

If I misunderstood what you meant, please be more specific.

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



Re: Example not producing shown output

От
Bruce Momjian
Дата:
On Thu, Nov 28, 2019 at 11:22:20AM -0300, Alvaro Herrera wrote:
> On 2019-Nov-27, Daniel Gustafsson wrote:
> 
> > > On 26 Nov 2019, at 19:28, Alvaro Herrera <alvherre@2ndquadrant.com> wrote:
> > 
> > > Or perhaps we can add a second line in the example cell for the
> > > @@ operator, to make it clear that both forms can be used.  Users can be
> > > expected to apply some intuition from that point onwards.
> > 
> > Wouldn't it be more intuitive to add such a second line under to_tsvector, or
> > expand the Description field to cover a brief discussion covering this? 
> 
> I don't know.  The problem is that the line for to_tsvector is a lot
> further down the page in table 9.42, and it contains a lot of other
> stuff, so people trying their first examples based on table 9.41 would
> not see it and will be as surprised as the OP was when it doesn't work
> under their locale.
> 
> I think enlarging the description for the @@ entry is not out of the
> question, but trying to explain too much about the locale there seems a
> bit out of place.  This is why I suggested to add another Note box below
> the table.
> 
> If I misunderstood what you meant, please be more specific.

Would adding more doc places where we set the session language to
English help here, rather than doing it in the function calls?

-- 
  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 +