diff --git a/contrib/ltree/expected/ltree.out b/contrib/ltree/expected/ltree.out index fb8efaf7783..642e26cab28 100644 --- a/contrib/ltree/expected/ltree.out +++ b/contrib/ltree/expected/ltree.out @@ -107,6 +107,66 @@ select ''::ltree || 'Top.Child1.Child2'::ltree; Top.Child1.Child2 (1 row) +select lca('{la.2.3,1.2.3.4.5.6,}') is null; + ?column? +---------- + t +(1 row) + +select lca('{la.2.3,1.2.3.4.5.6}') is null; + ?column? +---------- + f +(1 row) + +select lca('{1.la.2.3,1.2.3.4.5.6}'); + lca +----- + 1 +(1 row) + +select lca('{1.2.3,1.2.3.4.5.6}'); + lca +----- + 1.2 +(1 row) + +select lca('1.la.2.3','1.2.3.4.5.6'); + lca +----- + 1 +(1 row) + +select lca('1.2.3','1.2.3.4.5.6'); + lca +----- + 1.2 +(1 row) + +select lca('1.2.2.3','1.2.3.4.5.6'); + lca +----- + 1.2 +(1 row) + +select lca('1.2.2.3','1.2.3.4.5.6',''); + lca +----- + +(1 row) + +select lca('1.2.2.3','1.2.3.4.5.6','2'); + lca +----- + +(1 row) + +select lca('1.2.2.3','1.2.3.4.5.6','1'); + lca +----- + +(1 row) + select '1'::lquery; lquery -------- diff --git a/contrib/ltree/sql/ltree.sql b/contrib/ltree/sql/ltree.sql index 4a4cf28c714..8da7e2841be 100644 --- a/contrib/ltree/sql/ltree.sql +++ b/contrib/ltree/sql/ltree.sql @@ -23,6 +23,18 @@ select 'Top_0'::ltree || 'Top.Child1.Child2'::ltree; select 'Top.Child1.Child2'::ltree || ''::ltree; select ''::ltree || 'Top.Child1.Child2'::ltree; +select lca('{la.2.3,1.2.3.4.5.6,}') is null; +select lca('{la.2.3,1.2.3.4.5.6}') is null; +select lca('{1.la.2.3,1.2.3.4.5.6}'); +select lca('{1.2.3,1.2.3.4.5.6}'); +select lca('1.la.2.3','1.2.3.4.5.6'); +select lca('1.2.3','1.2.3.4.5.6'); +select lca('1.2.2.3','1.2.3.4.5.6'); +select lca('1.2.2.3','1.2.3.4.5.6',''); +select lca('1.2.2.3','1.2.3.4.5.6','2'); +select lca('1.2.2.3','1.2.3.4.5.6','1'); + + select '1'::lquery; select '4|3|2'::lquery; select '1.2'::lquery;