pgsql: Fix lquery's behavior for consecutive '*' items.

Previous Topic Next Topic
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

pgsql: Fix lquery's behavior for consecutive '*' items.

Tom Lane-2
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




Modified Files
contrib/ltree/expected/ltree.out |  24 ++++++++
contrib/ltree/lquery_op.c        | 121 +++++++++++++++++++++++++++------------
contrib/ltree/ltree.h            |  19 +++---
contrib/ltree/sql/ltree.sql      |   5 +-
4 files changed, 123 insertions(+), 46 deletions(-)