From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | terry(dot)gilbert(at)sas(dot)com |
Cc: | pgsql-docs(at)lists(dot)postgresql(dot)org |
Subject: | Re: Ltree pattern matching |
Date: | 2021-11-12 15:37:04 |
Message-ID: | 1696142.1636731424@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-docs |
PG Doc comments form <noreply(at)postgresql(dot)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 sure about what would be
better wording.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Mikael Sterner | 2021-11-12 15:55:48 | Why clear pg_wal when recovering? |
Previous Message | Daniel Gustafsson | 2021-11-12 14:20:32 | Re: Example of json_array_elements |