mirror of
https://github.com/postgres/postgres.git
synced 2025-07-27 12:41:57 +03:00
Fix lquery's behavior for consecutive '*' items.
Something like "*{2}.*{3}" should presumably mean the same as "*{5}", but it didn't. Improve that. Get rid of an undocumented and remarkably ugly (though not, as far as I can tell, actually unsafe) static variable in favor of passing more arguments to checkCond(). Reverse-engineer some commentary. This function, like all of ltree, is still far short of what I would consider the minimum acceptable level of internal documentation, but at least now it has more than zero comments. Although this certainly seems like a bug fix, people might not thank us for changing query behavior in stable branches, so no back-patch. Nikita Glukhov, with cosmetic improvements by me Discussion: https://postgr.es/m/CAP_rww=waX2Oo6q+MbMSiZ9ktdj6eaJj0cQzNu=Ry2cCDij5fw@mail.gmail.com
This commit is contained in:
@ -179,7 +179,10 @@ SELECT 'a.b.c.d.e'::ltree ~ 'a.!b.*{1}.!c.*';
|
||||
SELECT 'a.b.c.d.e'::ltree ~ '!b.*{1}.!c.*';
|
||||
SELECT 'a.b.c.d.e'::ltree ~ '*.!b.*{1}.!c.*';
|
||||
SELECT 'a.b.c.d.e'::ltree ~ '*.!b.*.!c.*';
|
||||
|
||||
SELECT 'a.b.c.d.e'::ltree ~ 'a.*{2}.*{2}';
|
||||
SELECT 'a.b.c.d.e'::ltree ~ 'a.*{1}.*{2}.e';
|
||||
SELECT 'a.b.c.d.e'::ltree ~ 'a.*{1}.*{4}';
|
||||
SELECT 'a.b.c.d.e'::ltree ~ 'a.*{5}.*';
|
||||
|
||||
SELECT 'QWER_TY'::ltree ~ 'q%@*';
|
||||
SELECT 'QWER_TY'::ltree ~ 'Q_t%@*';
|
||||
|
Reference in New Issue
Block a user