RE: Ltree pattern matching

Поиск
Список
Период
Сортировка
От Terry Gilbert
Тема RE: Ltree pattern matching
Дата
Msg-id MN2PR05MB69103A367F4C2E3D362F8480F1959@MN2PR05MB6910.namprd05.prod.outlook.com
обсуждение исходный текст
Ответ на Re: Ltree pattern matching  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-docs
So, when it says "* prefix matching matches each word separately" it means
foo_bar* will match a label with the first word beginning with foo and a second word beginning with bar?

Hmmm I'll think about it, maybe I can suggest helpful wording.
Thank you for clarifying!
Terry

-----Original Message-----
From: Tom Lane <tgl@sss.pgh.pa.us>
Sent: Friday, November 12, 2021 10:37 AM
To: Terry Gilbert <terry.gilbert@sas.com>
Cc: pgsql-docs@lists.postgresql.org
Subject: Re: Ltree pattern matching

EXTERNAL

PG Doc comments form <noreply@postgresql.org> writes:
> In v12 ltree doc (I've not checked other versions) "The behavior of %
> is a bit complicated. It tries to match words rather than the entire
> label. For example foo_bar% matches foo_bar_baz but not foo_barbaz. If
> combined with *, prefix matching applies to each word separately, for
> example foo_bar%* matches foo1_bar2_baz but not foo1_br2_baz.

> I believe foo1 is in error (if I understood the operators), it should
> be foo.

A quick test shows that the examples are correct as stated:

contrib_regression=# select 'foo_bar_baz'::ltree ~ 'foo_bar%'::lquery;  ?column?
----------
 t
(1 row)

contrib_regression=# select 'foo_barbaz'::ltree ~ 'foo_bar%'::lquery;  ?column?
----------
 f
(1 row)

contrib_regression=# select 'foo1_bar2_baz'::ltree ~ 'foo_bar%*'::lquery;  ?column?
----------
 t
(1 row)

contrib_regression=# select 'foo1_br2_baz'::ltree ~ 'foo_bar%*'::lquery;  ?column?
----------
 f
(1 row)

I'd be the first to admit that this paragraph doesn't seem to measure up to our usual standards of clarity, but I'm not
sureabout what would be better wording. 

                        regards, tom lane



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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Ltree pattern matching
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Why clear pg_wal when recovering?