Thread: Example not producing shown output
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')
> 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
Attachment
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
> 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
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
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 +