postgresql/contrib/ltree/expected/ltree.out

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

8130 lines
154 KiB
Plaintext
Raw Normal View History

CREATE EXTENSION ltree;
-- max length for a label
\set maxlbl 1000
-- Check whether any of our opclasses fail amvalidate
SELECT amname, opcname
FROM pg_opclass opc LEFT JOIN pg_am am ON am.oid = opcmethod
WHERE opc.oid >= 16384 AND NOT amvalidate(opc.oid);
amname | opcname
--------+---------
(0 rows)
SELECT ''::ltree;
ltree
-------
(1 row)
SELECT '1'::ltree;
ltree
-------
1
(1 row)
SELECT '1.2'::ltree;
ltree
-------
1.2
(1 row)
SELECT '1.2.-3'::ltree;
ltree
--------
1.2.-3
(1 row)
SELECT '1.2._3'::ltree;
ltree
--------
1.2._3
(1 row)
-- empty labels not allowed
SELECT '.2.3'::ltree;
ERROR: ltree syntax error at character 1
LINE 1: SELECT '.2.3'::ltree;
^
SELECT '1..3'::ltree;
ERROR: ltree syntax error at character 3
LINE 1: SELECT '1..3'::ltree;
^
SELECT '1.2.'::ltree;
ERROR: ltree syntax error
LINE 1: SELECT '1.2.'::ltree;
^
DETAIL: Unexpected end of input.
SELECT repeat('x', :maxlbl)::ltree;
repeat
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
(1 row)
SELECT repeat('x', :maxlbl + 1)::ltree;
ERROR: label string is too long
DETAIL: Label length is 1001, must be at most 1000, at character 1002.
SELECT ltree2text('1.2.3.34.sdf');
ltree2text
--------------
1.2.3.34.sdf
(1 row)
SELECT text2ltree('1.2.3.34.sdf');
text2ltree
--------------
1.2.3.34.sdf
(1 row)
SELECT subltree('Top.Child1.Child2',1,2);
subltree
----------
Child1
(1 row)
SELECT subpath('Top.Child1.Child2',1,2);
subpath
---------------
Child1.Child2
(1 row)
SELECT subpath('Top.Child1.Child2',-1,1);
subpath
---------
Child2
(1 row)
SELECT subpath('Top.Child1.Child2',0,-2);
subpath
---------
Top
(1 row)
SELECT subpath('Top.Child1.Child2',0,-1);
subpath
------------
Top.Child1
(1 row)
SELECT subpath('Top.Child1.Child2',0,0);
subpath
---------
(1 row)
SELECT subpath('Top.Child1.Child2',1,0);
subpath
---------
(1 row)
SELECT subpath('Top.Child1.Child2',0);
subpath
-------------------
Top.Child1.Child2
(1 row)
SELECT subpath('Top.Child1.Child2',1);
subpath
---------------
Child1.Child2
(1 row)
SELECT index('1.2.3.4.5.6','1.2');
index
-------
0
(1 row)
SELECT index('a.1.2.3.4.5.6','1.2');
index
-------
1
(1 row)
SELECT index('a.1.2.3.4.5.6','1.2.3');
index
-------
1
(1 row)
SELECT index('a.1.2.3.4.5.6','1.2.3.j');
index
-------
-1
(1 row)
SELECT index('a.1.2.3.4.5.6','1.2.3.j.4.5.5.5.5.5.5');
index
-------
-1
(1 row)
SELECT index('a.1.2.3.4.5.6','1.2.3');
index
-------
1
(1 row)
SELECT index('a.1.2.3.4.5.6','6');
index
-------
6
(1 row)
SELECT index('a.1.2.3.4.5.6','6.1');
index
-------
-1
(1 row)
SELECT index('a.1.2.3.4.5.6','5.6');
index
-------
5
(1 row)
SELECT index('0.1.2.3.5.4.5.6','5.6');
index
-------
6
(1 row)
SELECT index('0.1.2.3.5.4.5.6.8.5.6.8','5.6',3);
index
-------
6
(1 row)
SELECT index('0.1.2.3.5.4.5.6.8.5.6.8','5.6',6);
index
-------
6
(1 row)
SELECT index('0.1.2.3.5.4.5.6.8.5.6.8','5.6',7);
index
-------
9
(1 row)
SELECT index('0.1.2.3.5.4.5.6.8.5.6.8','5.6',-7);
index
-------
6
(1 row)
SELECT index('0.1.2.3.5.4.5.6.8.5.6.8','5.6',-4);
index
-------
9
(1 row)
SELECT index('0.1.2.3.5.4.5.6.8.5.6.8','5.6',-3);
index
-------
9
(1 row)
SELECT index('0.1.2.3.5.4.5.6.8.5.6.8','5.6',-2);
index
-------
-1
(1 row)
SELECT index('0.1.2.3.5.4.5.6.8.5.6.8','5.6',-20000);
index
-------
6
(1 row)
SELECT 'Top.Child1.Child2'::ltree || 'Child3'::text;
?column?
--------------------------
Top.Child1.Child2.Child3
(1 row)
SELECT 'Top.Child1.Child2'::ltree || 'Child3'::ltree;
?column?
--------------------------
Top.Child1.Child2.Child3
(1 row)
SELECT 'Top_0'::ltree || 'Top.Child1.Child2'::ltree;
?column?
-------------------------
Top_0.Top.Child1.Child2
(1 row)
SELECT 'Top.Child1.Child2'::ltree || ''::ltree;
?column?
-------------------
Top.Child1.Child2
(1 row)
SELECT ''::ltree || 'Top.Child1.Child2'::ltree;
?column?
-------------------
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.2.3}');
lca
-----
1.2
(1 row)
SELECT lca('{1}'), lca('{1}') IS NULL;
lca | ?column?
-----+----------
| f
(1 row)
SELECT lca('{}') IS NULL;
?column?
----------
t
(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
--------
1
(1 row)
SELECT '4|3|2'::lquery;
lquery
--------
4|3|2
(1 row)
SELECT '1.2'::lquery;
lquery
--------
1.2
(1 row)
SELECT '1.4|3|2'::lquery;
lquery
---------
1.4|3|2
(1 row)
SELECT '1.0'::lquery;
lquery
--------
1.0
(1 row)
SELECT '4|3|2.0'::lquery;
lquery
---------
4|3|2.0
(1 row)
SELECT '1.2.0'::lquery;
lquery
--------
1.2.0
(1 row)
SELECT '1.4|3|2.0'::lquery;
lquery
-----------
1.4|3|2.0
(1 row)
SELECT '1.*'::lquery;
lquery
--------
1.*
(1 row)
SELECT '4|3|2.*'::lquery;
lquery
---------
4|3|2.*
(1 row)
SELECT '1.2.*'::lquery;
lquery
--------
1.2.*
(1 row)
SELECT '1.4|3|2.*'::lquery;
lquery
-----------
1.4|3|2.*
(1 row)
SELECT '*.1.*'::lquery;
lquery
--------
*.1.*
(1 row)
SELECT '*.4|3|2.*'::lquery;
lquery
-----------
*.4|3|2.*
(1 row)
SELECT '*.1.2.*'::lquery;
lquery
---------
*.1.2.*
(1 row)
SELECT '*.1.4|3|2.*'::lquery;
lquery
-------------
*.1.4|3|2.*
(1 row)
SELECT '1.*.4|3|2'::lquery;
lquery
-----------
1.*.4|3|2
(1 row)
SELECT '1.*.4|3|2.0'::lquery;
lquery
-------------
1.*.4|3|2.0
(1 row)
SELECT '1.*.4|3|2.*{1,4}'::lquery;
lquery
------------------
1.*.4|3|2.*{1,4}
(1 row)
SELECT '1.*.4|3|2.*{,4}'::lquery;
lquery
-----------------
1.*.4|3|2.*{,4}
(1 row)
SELECT '1.*.4|3|2.*{1,}'::lquery;
lquery
-----------------
1.*.4|3|2.*{1,}
(1 row)
SELECT '1.*.4|3|2.*{1}'::lquery;
lquery
----------------
1.*.4|3|2.*{1}
(1 row)
Fix lquery's NOT handling, and add ability to quantify non-'*' items. The existing implementation of the ltree ~ lquery match operator is sufficiently complex and undocumented that it's hard to tell exactly what it does. But one thing it clearly gets wrong is the combination of NOT symbols (!) and '*' symbols. A pattern such as '*.!foo.*' should, by any ordinary understanding of regular expression behavior, match any ltree that has at least one label that's not "foo". As best we can tell by experimentation, what it's actually matching is any ltree in which *no* label is "foo". That's surprising, and not at all what the documentation says. Now, that's arguably a useful behavior, so if we rewrite to fix the bug we should provide some other way to get it. To do so, add the ability to attach lquery quantifiers to non-'*' items as well as '*'s. Then the pattern '!foo{,}' expresses "any ltree in which no label is foo". For backwards compatibility, the default quantifier for non-'*' items has to be "{1}", although the default for '*' items is '{,}'. I wouldn't have done it like that in a green field, but it's not totally horrible. Armed with that, rewrite checkCond() from scratch. Treating '*' and non-'*' items alike makes it simpler, not more complicated, so that the function actually gets a lot shorter than it was. Filip Rembiałkowski, Tom Lane, Nikita Glukhov, per a very ancient bug report from M. Palm Discussion: https://postgr.es/m/CAP_rww=waX2Oo6q+MbMSiZ9ktdj6eaJj0cQzNu=Ry2cCDij5fw@mail.gmail.com
2020-03-31 17:14:30 +02:00
SELECT 'foo.bar{,}.!a*|b{1,}.c{,44}.d{3,4}'::lquery;
lquery
------------------------------------
foo.bar{,}.!a*|b{1,}.c{,44}.d{3,4}
(1 row)
SELECT 'foo*@@*'::lquery;
lquery
--------
foo@*
(1 row)
SELECT 'qwerty%@*.tu'::lquery;
lquery
--------------
qwerty%@*.tu
(1 row)
-- empty labels not allowed
SELECT '.2.3'::lquery;
ERROR: lquery syntax error at character 1
LINE 1: SELECT '.2.3'::lquery;
^
SELECT '1..3'::lquery;
ERROR: lquery syntax error at character 3
LINE 1: SELECT '1..3'::lquery;
^
SELECT '1.2.'::lquery;
ERROR: lquery syntax error
LINE 1: SELECT '1.2.'::lquery;
^
DETAIL: Unexpected end of input.
SELECT '@.2.3'::lquery;
ERROR: lquery syntax error at character 1
LINE 1: SELECT '@.2.3'::lquery;
^
SELECT '1.@.3'::lquery;
ERROR: lquery syntax error at character 3
LINE 1: SELECT '1.@.3'::lquery;
^
SELECT '1.2.@'::lquery;
ERROR: lquery syntax error at character 5
LINE 1: SELECT '1.2.@'::lquery;
^
SELECT '!.2.3'::lquery;
ERROR: lquery syntax error at character 2
LINE 1: SELECT '!.2.3'::lquery;
^
DETAIL: Empty labels are not allowed.
SELECT '1.!.3'::lquery;
ERROR: lquery syntax error at character 4
LINE 1: SELECT '1.!.3'::lquery;
^
DETAIL: Empty labels are not allowed.
SELECT '1.2.!'::lquery;
ERROR: lquery syntax error at character 6
LINE 1: SELECT '1.2.!'::lquery;
^
DETAIL: Empty labels are not allowed.
SELECT '1.2.3|@.4'::lquery;
ERROR: lquery syntax error at character 7
LINE 1: SELECT '1.2.3|@.4'::lquery;
^
SELECT (repeat('x', :maxlbl) || '*@@*')::lquery;
lquery
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx@*
(1 row)
SELECT (repeat('x', :maxlbl + 1) || '*@@*')::lquery;
ERROR: label string is too long
DETAIL: Label length is 1001, must be at most 1000, at character 1002.
SELECT ('!' || repeat('x', :maxlbl))::lquery;
lquery
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
!xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
(1 row)
SELECT ('!' || repeat('x', :maxlbl + 1))::lquery;
ERROR: label string is too long
DETAIL: Label length is 1001, must be at most 1000, at character 1003.
SELECT nlevel('1.2.3.4');
nlevel
--------
4
(1 row)
SELECT nlevel(('1' || repeat('.1', 65534))::ltree);
nlevel
--------
65535
(1 row)
SELECT nlevel(('1' || repeat('.1', 65535))::ltree);
ERROR: number of ltree labels (65536) exceeds the maximum allowed (65535)
SELECT nlevel(('1' || repeat('.1', 65534))::ltree || '1');
ERROR: number of ltree levels (65536) exceeds the maximum allowed (65535)
SELECT ('1' || repeat('.1', 65534))::lquery IS NULL;
?column?
----------
f
(1 row)
SELECT ('1' || repeat('.1', 65535))::lquery IS NULL;
ERROR: number of lquery items (65536) exceeds the maximum allowed (65535)
SELECT '*{65535}'::lquery;
lquery
----------
*{65535}
(1 row)
SELECT '*{65536}'::lquery;
ERROR: lquery syntax error
LINE 1: SELECT '*{65536}'::lquery;
^
DETAIL: Low limit (65536) exceeds the maximum allowed (65535), at character 3.
SELECT '*{,65534}'::lquery;
lquery
-----------
*{,65534}
(1 row)
SELECT '*{,65535}'::lquery;
lquery
--------
*
(1 row)
SELECT '*{,65536}'::lquery;
ERROR: lquery syntax error
LINE 1: SELECT '*{,65536}'::lquery;
^
DETAIL: High limit (65536) exceeds the maximum allowed (65535), at character 4.
SELECT '*{4,3}'::lquery;
ERROR: lquery syntax error
LINE 1: SELECT '*{4,3}'::lquery;
^
DETAIL: Low limit (4) is greater than high limit (3), at character 5.
SELECT '1.2'::ltree < '2.2'::ltree;
?column?
----------
t
(1 row)
SELECT '1.2'::ltree <= '2.2'::ltree;
?column?
----------
t
(1 row)
SELECT '2.2'::ltree = '2.2'::ltree;
?column?
----------
t
(1 row)
SELECT '3.2'::ltree >= '2.2'::ltree;
?column?
----------
t
(1 row)
SELECT '3.2'::ltree > '2.2'::ltree;
?column?
----------
t
(1 row)
SELECT '1.2.3'::ltree @> '1.2.3.4'::ltree;
?column?
----------
t
(1 row)
SELECT '1.2.3.4'::ltree @> '1.2.3.4'::ltree;
?column?
----------
t
(1 row)
SELECT '1.2.3.4.5'::ltree @> '1.2.3.4'::ltree;
?column?
----------
f
(1 row)
SELECT '1.3.3'::ltree @> '1.2.3.4'::ltree;
?column?
----------
f
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ 'a.b.c.d.e';
?column?
----------
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ 'A.b.c.d.e';
?column?
----------
f
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ 'A@.b.c.d.e';
?column?
----------
t
(1 row)
SELECT 'aa.b.c.d.e'::ltree ~ 'A@.b.c.d.e';
?column?
----------
f
(1 row)
SELECT 'aa.b.c.d.e'::ltree ~ 'A*.b.c.d.e';
?column?
----------
f
(1 row)
SELECT 'aa.b.c.d.e'::ltree ~ 'A*@.b.c.d.e';
?column?
----------
t
(1 row)
SELECT 'aa.b.c.d.e'::ltree ~ 'A*@|g.b.c.d.e';
?column?
----------
t
(1 row)
SELECT 'g.b.c.d.e'::ltree ~ 'A*@|g.b.c.d.e';
?column?
----------
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ 'a.b.c.d.e';
?column?
----------
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ 'a.*.e';
?column?
----------
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ 'a.*{3}.e';
?column?
----------
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ 'a.*{2}.e';
?column?
----------
f
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ 'a.*{4}.e';
?column?
----------
f
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ 'a.*{,4}.e';
?column?
----------
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ 'a.*{2,}.e';
?column?
----------
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ 'a.*{2,4}.e';
?column?
----------
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ 'a.*{2,3}.e';
?column?
----------
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ 'a.*{2,3}';
?column?
----------
f
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ 'a.*{2,4}';
?column?
----------
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ 'a.*{2,5}';
?column?
----------
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '*{2,3}.e';
?column?
----------
f
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '*{2,4}.e';
?column?
----------
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '*{2,5}.e';
?column?
----------
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '*.e';
?column?
----------
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '*.e.*';
?column?
----------
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '*.d.*';
?column?
----------
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '*.a.*.d.*';
?column?
----------
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '*.!d.*';
?column?
----------
Fix lquery's NOT handling, and add ability to quantify non-'*' items. The existing implementation of the ltree ~ lquery match operator is sufficiently complex and undocumented that it's hard to tell exactly what it does. But one thing it clearly gets wrong is the combination of NOT symbols (!) and '*' symbols. A pattern such as '*.!foo.*' should, by any ordinary understanding of regular expression behavior, match any ltree that has at least one label that's not "foo". As best we can tell by experimentation, what it's actually matching is any ltree in which *no* label is "foo". That's surprising, and not at all what the documentation says. Now, that's arguably a useful behavior, so if we rewrite to fix the bug we should provide some other way to get it. To do so, add the ability to attach lquery quantifiers to non-'*' items as well as '*'s. Then the pattern '!foo{,}' expresses "any ltree in which no label is foo". For backwards compatibility, the default quantifier for non-'*' items has to be "{1}", although the default for '*' items is '{,}'. I wouldn't have done it like that in a green field, but it's not totally horrible. Armed with that, rewrite checkCond() from scratch. Treating '*' and non-'*' items alike makes it simpler, not more complicated, so that the function actually gets a lot shorter than it was. Filip Rembiałkowski, Tom Lane, Nikita Glukhov, per a very ancient bug report from M. Palm Discussion: https://postgr.es/m/CAP_rww=waX2Oo6q+MbMSiZ9ktdj6eaJj0cQzNu=Ry2cCDij5fw@mail.gmail.com
2020-03-31 17:14:30 +02:00
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '*.!d';
?column?
----------
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '!d.*';
?column?
----------
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '!a.*';
?column?
----------
f
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '*.!e';
?column?
----------
f
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '*.!e.*';
?column?
----------
Fix lquery's NOT handling, and add ability to quantify non-'*' items. The existing implementation of the ltree ~ lquery match operator is sufficiently complex and undocumented that it's hard to tell exactly what it does. But one thing it clearly gets wrong is the combination of NOT symbols (!) and '*' symbols. A pattern such as '*.!foo.*' should, by any ordinary understanding of regular expression behavior, match any ltree that has at least one label that's not "foo". As best we can tell by experimentation, what it's actually matching is any ltree in which *no* label is "foo". That's surprising, and not at all what the documentation says. Now, that's arguably a useful behavior, so if we rewrite to fix the bug we should provide some other way to get it. To do so, add the ability to attach lquery quantifiers to non-'*' items as well as '*'s. Then the pattern '!foo{,}' expresses "any ltree in which no label is foo". For backwards compatibility, the default quantifier for non-'*' items has to be "{1}", although the default for '*' items is '{,}'. I wouldn't have done it like that in a green field, but it's not totally horrible. Armed with that, rewrite checkCond() from scratch. Treating '*' and non-'*' items alike makes it simpler, not more complicated, so that the function actually gets a lot shorter than it was. Filip Rembiałkowski, Tom Lane, Nikita Glukhov, per a very ancient bug report from M. Palm Discussion: https://postgr.es/m/CAP_rww=waX2Oo6q+MbMSiZ9ktdj6eaJj0cQzNu=Ry2cCDij5fw@mail.gmail.com
2020-03-31 17:14:30 +02:00
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ 'a.*.!e';
?column?
----------
f
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ 'a.*.!d';
?column?
----------
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ 'a.*.!d.*';
?column?
----------
Fix lquery's NOT handling, and add ability to quantify non-'*' items. The existing implementation of the ltree ~ lquery match operator is sufficiently complex and undocumented that it's hard to tell exactly what it does. But one thing it clearly gets wrong is the combination of NOT symbols (!) and '*' symbols. A pattern such as '*.!foo.*' should, by any ordinary understanding of regular expression behavior, match any ltree that has at least one label that's not "foo". As best we can tell by experimentation, what it's actually matching is any ltree in which *no* label is "foo". That's surprising, and not at all what the documentation says. Now, that's arguably a useful behavior, so if we rewrite to fix the bug we should provide some other way to get it. To do so, add the ability to attach lquery quantifiers to non-'*' items as well as '*'s. Then the pattern '!foo{,}' expresses "any ltree in which no label is foo". For backwards compatibility, the default quantifier for non-'*' items has to be "{1}", although the default for '*' items is '{,}'. I wouldn't have done it like that in a green field, but it's not totally horrible. Armed with that, rewrite checkCond() from scratch. Treating '*' and non-'*' items alike makes it simpler, not more complicated, so that the function actually gets a lot shorter than it was. Filip Rembiałkowski, Tom Lane, Nikita Glukhov, per a very ancient bug report from M. Palm Discussion: https://postgr.es/m/CAP_rww=waX2Oo6q+MbMSiZ9ktdj6eaJj0cQzNu=Ry2cCDij5fw@mail.gmail.com
2020-03-31 17:14:30 +02:00
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ 'a.*.!f.*';
?column?
----------
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '*.a.*.!f.*';
?column?
----------
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '*.a.*.!d.*';
?column?
----------
Fix lquery's NOT handling, and add ability to quantify non-'*' items. The existing implementation of the ltree ~ lquery match operator is sufficiently complex and undocumented that it's hard to tell exactly what it does. But one thing it clearly gets wrong is the combination of NOT symbols (!) and '*' symbols. A pattern such as '*.!foo.*' should, by any ordinary understanding of regular expression behavior, match any ltree that has at least one label that's not "foo". As best we can tell by experimentation, what it's actually matching is any ltree in which *no* label is "foo". That's surprising, and not at all what the documentation says. Now, that's arguably a useful behavior, so if we rewrite to fix the bug we should provide some other way to get it. To do so, add the ability to attach lquery quantifiers to non-'*' items as well as '*'s. Then the pattern '!foo{,}' expresses "any ltree in which no label is foo". For backwards compatibility, the default quantifier for non-'*' items has to be "{1}", although the default for '*' items is '{,}'. I wouldn't have done it like that in a green field, but it's not totally horrible. Armed with that, rewrite checkCond() from scratch. Treating '*' and non-'*' items alike makes it simpler, not more complicated, so that the function actually gets a lot shorter than it was. Filip Rembiałkowski, Tom Lane, Nikita Glukhov, per a very ancient bug report from M. Palm Discussion: https://postgr.es/m/CAP_rww=waX2Oo6q+MbMSiZ9ktdj6eaJj0cQzNu=Ry2cCDij5fw@mail.gmail.com
2020-03-31 17:14:30 +02:00
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '*.a.!d.*';
?column?
----------
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '*.a.!d';
?column?
----------
f
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ 'a.!d.*';
?column?
----------
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '*.a.*.!d.*';
?column?
----------
Fix lquery's NOT handling, and add ability to quantify non-'*' items. The existing implementation of the ltree ~ lquery match operator is sufficiently complex and undocumented that it's hard to tell exactly what it does. But one thing it clearly gets wrong is the combination of NOT symbols (!) and '*' symbols. A pattern such as '*.!foo.*' should, by any ordinary understanding of regular expression behavior, match any ltree that has at least one label that's not "foo". As best we can tell by experimentation, what it's actually matching is any ltree in which *no* label is "foo". That's surprising, and not at all what the documentation says. Now, that's arguably a useful behavior, so if we rewrite to fix the bug we should provide some other way to get it. To do so, add the ability to attach lquery quantifiers to non-'*' items as well as '*'s. Then the pattern '!foo{,}' expresses "any ltree in which no label is foo". For backwards compatibility, the default quantifier for non-'*' items has to be "{1}", although the default for '*' items is '{,}'. I wouldn't have done it like that in a green field, but it's not totally horrible. Armed with that, rewrite checkCond() from scratch. Treating '*' and non-'*' items alike makes it simpler, not more complicated, so that the function actually gets a lot shorter than it was. Filip Rembiałkowski, Tom Lane, Nikita Glukhov, per a very ancient bug report from M. Palm Discussion: https://postgr.es/m/CAP_rww=waX2Oo6q+MbMSiZ9ktdj6eaJj0cQzNu=Ry2cCDij5fw@mail.gmail.com
2020-03-31 17:14:30 +02:00
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '*.!b.*';
?column?
----------
Fix lquery's NOT handling, and add ability to quantify non-'*' items. The existing implementation of the ltree ~ lquery match operator is sufficiently complex and undocumented that it's hard to tell exactly what it does. But one thing it clearly gets wrong is the combination of NOT symbols (!) and '*' symbols. A pattern such as '*.!foo.*' should, by any ordinary understanding of regular expression behavior, match any ltree that has at least one label that's not "foo". As best we can tell by experimentation, what it's actually matching is any ltree in which *no* label is "foo". That's surprising, and not at all what the documentation says. Now, that's arguably a useful behavior, so if we rewrite to fix the bug we should provide some other way to get it. To do so, add the ability to attach lquery quantifiers to non-'*' items as well as '*'s. Then the pattern '!foo{,}' expresses "any ltree in which no label is foo". For backwards compatibility, the default quantifier for non-'*' items has to be "{1}", although the default for '*' items is '{,}'. I wouldn't have done it like that in a green field, but it's not totally horrible. Armed with that, rewrite checkCond() from scratch. Treating '*' and non-'*' items alike makes it simpler, not more complicated, so that the function actually gets a lot shorter than it was. Filip Rembiałkowski, Tom Lane, Nikita Glukhov, per a very ancient bug report from M. Palm Discussion: https://postgr.es/m/CAP_rww=waX2Oo6q+MbMSiZ9ktdj6eaJj0cQzNu=Ry2cCDij5fw@mail.gmail.com
2020-03-31 17:14:30 +02:00
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '*.!b.c.*';
?column?
----------
f
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '*.!b.*.c.*';
?column?
----------
Fix lquery's NOT handling, and add ability to quantify non-'*' items. The existing implementation of the ltree ~ lquery match operator is sufficiently complex and undocumented that it's hard to tell exactly what it does. But one thing it clearly gets wrong is the combination of NOT symbols (!) and '*' symbols. A pattern such as '*.!foo.*' should, by any ordinary understanding of regular expression behavior, match any ltree that has at least one label that's not "foo". As best we can tell by experimentation, what it's actually matching is any ltree in which *no* label is "foo". That's surprising, and not at all what the documentation says. Now, that's arguably a useful behavior, so if we rewrite to fix the bug we should provide some other way to get it. To do so, add the ability to attach lquery quantifiers to non-'*' items as well as '*'s. Then the pattern '!foo{,}' expresses "any ltree in which no label is foo". For backwards compatibility, the default quantifier for non-'*' items has to be "{1}", although the default for '*' items is '{,}'. I wouldn't have done it like that in a green field, but it's not totally horrible. Armed with that, rewrite checkCond() from scratch. Treating '*' and non-'*' items alike makes it simpler, not more complicated, so that the function actually gets a lot shorter than it was. Filip Rembiałkowski, Tom Lane, Nikita Glukhov, per a very ancient bug report from M. Palm Discussion: https://postgr.es/m/CAP_rww=waX2Oo6q+MbMSiZ9ktdj6eaJj0cQzNu=Ry2cCDij5fw@mail.gmail.com
2020-03-31 17:14:30 +02:00
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '!b.*.c.*';
?column?
----------
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '!b.b.*';
?column?
----------
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '!b.*.e';
?column?
----------
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '!b.!c.*.e';
?column?
----------
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '!b.*.!c.*.e';
?column?
----------
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '*{2}.!b.*.!c.*.e';
?column?
----------
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '*{1}.!b.*.!c.*.e';
?column?
----------
f
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '*{1}.!b.*{1}.!c.*.e';
?column?
----------
Fix lquery's NOT handling, and add ability to quantify non-'*' items. The existing implementation of the ltree ~ lquery match operator is sufficiently complex and undocumented that it's hard to tell exactly what it does. But one thing it clearly gets wrong is the combination of NOT symbols (!) and '*' symbols. A pattern such as '*.!foo.*' should, by any ordinary understanding of regular expression behavior, match any ltree that has at least one label that's not "foo". As best we can tell by experimentation, what it's actually matching is any ltree in which *no* label is "foo". That's surprising, and not at all what the documentation says. Now, that's arguably a useful behavior, so if we rewrite to fix the bug we should provide some other way to get it. To do so, add the ability to attach lquery quantifiers to non-'*' items as well as '*'s. Then the pattern '!foo{,}' expresses "any ltree in which no label is foo". For backwards compatibility, the default quantifier for non-'*' items has to be "{1}", although the default for '*' items is '{,}'. I wouldn't have done it like that in a green field, but it's not totally horrible. Armed with that, rewrite checkCond() from scratch. Treating '*' and non-'*' items alike makes it simpler, not more complicated, so that the function actually gets a lot shorter than it was. Filip Rembiałkowski, Tom Lane, Nikita Glukhov, per a very ancient bug report from M. Palm Discussion: https://postgr.es/m/CAP_rww=waX2Oo6q+MbMSiZ9ktdj6eaJj0cQzNu=Ry2cCDij5fw@mail.gmail.com
2020-03-31 17:14:30 +02:00
f
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ 'a.!b.*{1}.!c.*.e';
?column?
----------
Fix lquery's NOT handling, and add ability to quantify non-'*' items. The existing implementation of the ltree ~ lquery match operator is sufficiently complex and undocumented that it's hard to tell exactly what it does. But one thing it clearly gets wrong is the combination of NOT symbols (!) and '*' symbols. A pattern such as '*.!foo.*' should, by any ordinary understanding of regular expression behavior, match any ltree that has at least one label that's not "foo". As best we can tell by experimentation, what it's actually matching is any ltree in which *no* label is "foo". That's surprising, and not at all what the documentation says. Now, that's arguably a useful behavior, so if we rewrite to fix the bug we should provide some other way to get it. To do so, add the ability to attach lquery quantifiers to non-'*' items as well as '*'s. Then the pattern '!foo{,}' expresses "any ltree in which no label is foo". For backwards compatibility, the default quantifier for non-'*' items has to be "{1}", although the default for '*' items is '{,}'. I wouldn't have done it like that in a green field, but it's not totally horrible. Armed with that, rewrite checkCond() from scratch. Treating '*' and non-'*' items alike makes it simpler, not more complicated, so that the function actually gets a lot shorter than it was. Filip Rembiałkowski, Tom Lane, Nikita Glukhov, per a very ancient bug report from M. Palm Discussion: https://postgr.es/m/CAP_rww=waX2Oo6q+MbMSiZ9ktdj6eaJj0cQzNu=Ry2cCDij5fw@mail.gmail.com
2020-03-31 17:14:30 +02:00
f
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '!b.*{1}.!c.*.e';
?column?
----------
Fix lquery's NOT handling, and add ability to quantify non-'*' items. The existing implementation of the ltree ~ lquery match operator is sufficiently complex and undocumented that it's hard to tell exactly what it does. But one thing it clearly gets wrong is the combination of NOT symbols (!) and '*' symbols. A pattern such as '*.!foo.*' should, by any ordinary understanding of regular expression behavior, match any ltree that has at least one label that's not "foo". As best we can tell by experimentation, what it's actually matching is any ltree in which *no* label is "foo". That's surprising, and not at all what the documentation says. Now, that's arguably a useful behavior, so if we rewrite to fix the bug we should provide some other way to get it. To do so, add the ability to attach lquery quantifiers to non-'*' items as well as '*'s. Then the pattern '!foo{,}' expresses "any ltree in which no label is foo". For backwards compatibility, the default quantifier for non-'*' items has to be "{1}", although the default for '*' items is '{,}'. I wouldn't have done it like that in a green field, but it's not totally horrible. Armed with that, rewrite checkCond() from scratch. Treating '*' and non-'*' items alike makes it simpler, not more complicated, so that the function actually gets a lot shorter than it was. Filip Rembiałkowski, Tom Lane, Nikita Glukhov, per a very ancient bug report from M. Palm Discussion: https://postgr.es/m/CAP_rww=waX2Oo6q+MbMSiZ9ktdj6eaJj0cQzNu=Ry2cCDij5fw@mail.gmail.com
2020-03-31 17:14:30 +02:00
f
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '*.!b.*{1}.!c.*.e';
?column?
----------
Fix lquery's NOT handling, and add ability to quantify non-'*' items. The existing implementation of the ltree ~ lquery match operator is sufficiently complex and undocumented that it's hard to tell exactly what it does. But one thing it clearly gets wrong is the combination of NOT symbols (!) and '*' symbols. A pattern such as '*.!foo.*' should, by any ordinary understanding of regular expression behavior, match any ltree that has at least one label that's not "foo". As best we can tell by experimentation, what it's actually matching is any ltree in which *no* label is "foo". That's surprising, and not at all what the documentation says. Now, that's arguably a useful behavior, so if we rewrite to fix the bug we should provide some other way to get it. To do so, add the ability to attach lquery quantifiers to non-'*' items as well as '*'s. Then the pattern '!foo{,}' expresses "any ltree in which no label is foo". For backwards compatibility, the default quantifier for non-'*' items has to be "{1}", although the default for '*' items is '{,}'. I wouldn't have done it like that in a green field, but it's not totally horrible. Armed with that, rewrite checkCond() from scratch. Treating '*' and non-'*' items alike makes it simpler, not more complicated, so that the function actually gets a lot shorter than it was. Filip Rembiałkowski, Tom Lane, Nikita Glukhov, per a very ancient bug report from M. Palm Discussion: https://postgr.es/m/CAP_rww=waX2Oo6q+MbMSiZ9ktdj6eaJj0cQzNu=Ry2cCDij5fw@mail.gmail.com
2020-03-31 17:14:30 +02:00
f
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '*.!b.*.!c.*.e';
?column?
----------
Fix lquery's NOT handling, and add ability to quantify non-'*' items. The existing implementation of the ltree ~ lquery match operator is sufficiently complex and undocumented that it's hard to tell exactly what it does. But one thing it clearly gets wrong is the combination of NOT symbols (!) and '*' symbols. A pattern such as '*.!foo.*' should, by any ordinary understanding of regular expression behavior, match any ltree that has at least one label that's not "foo". As best we can tell by experimentation, what it's actually matching is any ltree in which *no* label is "foo". That's surprising, and not at all what the documentation says. Now, that's arguably a useful behavior, so if we rewrite to fix the bug we should provide some other way to get it. To do so, add the ability to attach lquery quantifiers to non-'*' items as well as '*'s. Then the pattern '!foo{,}' expresses "any ltree in which no label is foo". For backwards compatibility, the default quantifier for non-'*' items has to be "{1}", although the default for '*' items is '{,}'. I wouldn't have done it like that in a green field, but it's not totally horrible. Armed with that, rewrite checkCond() from scratch. Treating '*' and non-'*' items alike makes it simpler, not more complicated, so that the function actually gets a lot shorter than it was. Filip Rembiałkowski, Tom Lane, Nikita Glukhov, per a very ancient bug report from M. Palm Discussion: https://postgr.es/m/CAP_rww=waX2Oo6q+MbMSiZ9ktdj6eaJj0cQzNu=Ry2cCDij5fw@mail.gmail.com
2020-03-31 17:14:30 +02:00
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '!b.!c.*';
?column?
----------
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '!b.*.!c.*';
?column?
----------
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '*{2}.!b.*.!c.*';
?column?
----------
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '*{1}.!b.*.!c.*';
?column?
----------
f
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '*{1}.!b.*{1}.!c.*';
?column?
----------
Fix lquery's NOT handling, and add ability to quantify non-'*' items. The existing implementation of the ltree ~ lquery match operator is sufficiently complex and undocumented that it's hard to tell exactly what it does. But one thing it clearly gets wrong is the combination of NOT symbols (!) and '*' symbols. A pattern such as '*.!foo.*' should, by any ordinary understanding of regular expression behavior, match any ltree that has at least one label that's not "foo". As best we can tell by experimentation, what it's actually matching is any ltree in which *no* label is "foo". That's surprising, and not at all what the documentation says. Now, that's arguably a useful behavior, so if we rewrite to fix the bug we should provide some other way to get it. To do so, add the ability to attach lquery quantifiers to non-'*' items as well as '*'s. Then the pattern '!foo{,}' expresses "any ltree in which no label is foo". For backwards compatibility, the default quantifier for non-'*' items has to be "{1}", although the default for '*' items is '{,}'. I wouldn't have done it like that in a green field, but it's not totally horrible. Armed with that, rewrite checkCond() from scratch. Treating '*' and non-'*' items alike makes it simpler, not more complicated, so that the function actually gets a lot shorter than it was. Filip Rembiałkowski, Tom Lane, Nikita Glukhov, per a very ancient bug report from M. Palm Discussion: https://postgr.es/m/CAP_rww=waX2Oo6q+MbMSiZ9ktdj6eaJj0cQzNu=Ry2cCDij5fw@mail.gmail.com
2020-03-31 17:14:30 +02:00
f
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ 'a.!b.*{1}.!c.*';
?column?
----------
Fix lquery's NOT handling, and add ability to quantify non-'*' items. The existing implementation of the ltree ~ lquery match operator is sufficiently complex and undocumented that it's hard to tell exactly what it does. But one thing it clearly gets wrong is the combination of NOT symbols (!) and '*' symbols. A pattern such as '*.!foo.*' should, by any ordinary understanding of regular expression behavior, match any ltree that has at least one label that's not "foo". As best we can tell by experimentation, what it's actually matching is any ltree in which *no* label is "foo". That's surprising, and not at all what the documentation says. Now, that's arguably a useful behavior, so if we rewrite to fix the bug we should provide some other way to get it. To do so, add the ability to attach lquery quantifiers to non-'*' items as well as '*'s. Then the pattern '!foo{,}' expresses "any ltree in which no label is foo". For backwards compatibility, the default quantifier for non-'*' items has to be "{1}", although the default for '*' items is '{,}'. I wouldn't have done it like that in a green field, but it's not totally horrible. Armed with that, rewrite checkCond() from scratch. Treating '*' and non-'*' items alike makes it simpler, not more complicated, so that the function actually gets a lot shorter than it was. Filip Rembiałkowski, Tom Lane, Nikita Glukhov, per a very ancient bug report from M. Palm Discussion: https://postgr.es/m/CAP_rww=waX2Oo6q+MbMSiZ9ktdj6eaJj0cQzNu=Ry2cCDij5fw@mail.gmail.com
2020-03-31 17:14:30 +02:00
f
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '!b.*{1}.!c.*';
?column?
----------
Fix lquery's NOT handling, and add ability to quantify non-'*' items. The existing implementation of the ltree ~ lquery match operator is sufficiently complex and undocumented that it's hard to tell exactly what it does. But one thing it clearly gets wrong is the combination of NOT symbols (!) and '*' symbols. A pattern such as '*.!foo.*' should, by any ordinary understanding of regular expression behavior, match any ltree that has at least one label that's not "foo". As best we can tell by experimentation, what it's actually matching is any ltree in which *no* label is "foo". That's surprising, and not at all what the documentation says. Now, that's arguably a useful behavior, so if we rewrite to fix the bug we should provide some other way to get it. To do so, add the ability to attach lquery quantifiers to non-'*' items as well as '*'s. Then the pattern '!foo{,}' expresses "any ltree in which no label is foo". For backwards compatibility, the default quantifier for non-'*' items has to be "{1}", although the default for '*' items is '{,}'. I wouldn't have done it like that in a green field, but it's not totally horrible. Armed with that, rewrite checkCond() from scratch. Treating '*' and non-'*' items alike makes it simpler, not more complicated, so that the function actually gets a lot shorter than it was. Filip Rembiałkowski, Tom Lane, Nikita Glukhov, per a very ancient bug report from M. Palm Discussion: https://postgr.es/m/CAP_rww=waX2Oo6q+MbMSiZ9ktdj6eaJj0cQzNu=Ry2cCDij5fw@mail.gmail.com
2020-03-31 17:14:30 +02:00
f
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '*.!b.*{1}.!c.*';
?column?
----------
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '*.!b.*.!c.*';
?column?
----------
Fix lquery's NOT handling, and add ability to quantify non-'*' items. The existing implementation of the ltree ~ lquery match operator is sufficiently complex and undocumented that it's hard to tell exactly what it does. But one thing it clearly gets wrong is the combination of NOT symbols (!) and '*' symbols. A pattern such as '*.!foo.*' should, by any ordinary understanding of regular expression behavior, match any ltree that has at least one label that's not "foo". As best we can tell by experimentation, what it's actually matching is any ltree in which *no* label is "foo". That's surprising, and not at all what the documentation says. Now, that's arguably a useful behavior, so if we rewrite to fix the bug we should provide some other way to get it. To do so, add the ability to attach lquery quantifiers to non-'*' items as well as '*'s. Then the pattern '!foo{,}' expresses "any ltree in which no label is foo". For backwards compatibility, the default quantifier for non-'*' items has to be "{1}", although the default for '*' items is '{,}'. I wouldn't have done it like that in a green field, but it's not totally horrible. Armed with that, rewrite checkCond() from scratch. Treating '*' and non-'*' items alike makes it simpler, not more complicated, so that the function actually gets a lot shorter than it was. Filip Rembiałkowski, Tom Lane, Nikita Glukhov, per a very ancient bug report from M. Palm Discussion: https://postgr.es/m/CAP_rww=waX2Oo6q+MbMSiZ9ktdj6eaJj0cQzNu=Ry2cCDij5fw@mail.gmail.com
2020-03-31 17:14:30 +02:00
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ 'a.*{2}.*{2}';
?column?
----------
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ 'a.*{1}.*{2}.e';
?column?
----------
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ 'a.*{1}.*{4}';
?column?
----------
f
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ 'a.*{5}.*';
?column?
----------
f
(1 row)
Fix lquery's NOT handling, and add ability to quantify non-'*' items. The existing implementation of the ltree ~ lquery match operator is sufficiently complex and undocumented that it's hard to tell exactly what it does. But one thing it clearly gets wrong is the combination of NOT symbols (!) and '*' symbols. A pattern such as '*.!foo.*' should, by any ordinary understanding of regular expression behavior, match any ltree that has at least one label that's not "foo". As best we can tell by experimentation, what it's actually matching is any ltree in which *no* label is "foo". That's surprising, and not at all what the documentation says. Now, that's arguably a useful behavior, so if we rewrite to fix the bug we should provide some other way to get it. To do so, add the ability to attach lquery quantifiers to non-'*' items as well as '*'s. Then the pattern '!foo{,}' expresses "any ltree in which no label is foo". For backwards compatibility, the default quantifier for non-'*' items has to be "{1}", although the default for '*' items is '{,}'. I wouldn't have done it like that in a green field, but it's not totally horrible. Armed with that, rewrite checkCond() from scratch. Treating '*' and non-'*' items alike makes it simpler, not more complicated, so that the function actually gets a lot shorter than it was. Filip Rembiałkowski, Tom Lane, Nikita Glukhov, per a very ancient bug report from M. Palm Discussion: https://postgr.es/m/CAP_rww=waX2Oo6q+MbMSiZ9ktdj6eaJj0cQzNu=Ry2cCDij5fw@mail.gmail.com
2020-03-31 17:14:30 +02:00
SELECT '5.0.1.0'::ltree ~ '5.!0.!0.0';
?column?
----------
f
(1 row)
SELECT 'a.b'::ltree ~ '!a.!a';
?column?
----------
f
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ 'a{,}';
?column?
----------
f
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ 'a{1,}.*';
?column?
----------
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ 'a{,}.!a{,}';
?column?
----------
t
(1 row)
SELECT 'a.b.c.d.a'::ltree ~ 'a{,}.!a{,}';
?column?
----------
f
(1 row)
SELECT 'a.b.c.d.a'::ltree ~ 'a{,2}.!a{1,}';
?column?
----------
f
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ 'a{,2}.!a{1,}';
?column?
----------
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '!x{,}';
?column?
----------
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '!c{,}';
?column?
----------
f
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '!c{0,3}.!a{2,}';
?column?
----------
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ~ '!c{0,3}.!d{2,}.*';
?column?
----------
t
(1 row)
SELECT 'QWER_TY'::ltree ~ 'q%@*';
?column?
----------
t
(1 row)
SELECT 'QWER_TY'::ltree ~ 'q%@*%@*';
?column?
----------
t
(1 row)
SELECT 'QWER_TY'::ltree ~ 'Q_t%@*';
?column?
----------
t
(1 row)
SELECT 'QWER_GY'::ltree ~ 'q_t%@*';
?column?
----------
f
(1 row)
--ltxtquery
SELECT '!tree & aWdf@*'::ltxtquery;
ltxtquery
----------------
!tree & aWdf@*
(1 row)
SELECT 'tree & aw_qw%*'::ltxtquery;
ltxtquery
----------------
tree & aw_qw%*
(1 row)
SELECT 'tree & aw-qw%*'::ltxtquery;
ltxtquery
----------------
tree & aw-qw%*
(1 row)
SELECT 'ltree.awdfg'::ltree @ '!tree & aWdf@*'::ltxtquery;
?column?
----------
t
(1 row)
SELECT 'tree.awdfg'::ltree @ '!tree & aWdf@*'::ltxtquery;
?column?
----------
f
(1 row)
SELECT 'tree.awdfg'::ltree @ '!tree | aWdf@*'::ltxtquery;
?column?
----------
t
(1 row)
SELECT 'tree.awdfg'::ltree @ 'tree | aWdf@*'::ltxtquery;
?column?
----------
t
(1 row)
SELECT 'tree.awdfg'::ltree @ 'tree & aWdf@*'::ltxtquery;
?column?
----------
t
(1 row)
SELECT 'tree.awdfg'::ltree @ 'tree & aWdf@'::ltxtquery;
?column?
----------
f
(1 row)
SELECT 'tree.awdfg'::ltree @ 'tree & aWdf*'::ltxtquery;
?column?
----------
f
(1 row)
SELECT 'tree.awdfg'::ltree @ 'tree & aWdf'::ltxtquery;
?column?
----------
f
(1 row)
SELECT 'tree.awdfg'::ltree @ 'tree & awdf*'::ltxtquery;
?column?
----------
t
(1 row)
SELECT 'tree.awdfg'::ltree @ 'tree & aWdfg@'::ltxtquery;
?column?
----------
t
(1 row)
SELECT 'tree.awdfg_qwerty'::ltree @ 'tree & aw_qw%*'::ltxtquery;
?column?
----------
t
(1 row)
SELECT 'tree.awdfg_qwerty'::ltree @ 'tree & aw_rw%*'::ltxtquery;
?column?
----------
f
(1 row)
--arrays
SELECT '{1.2.3}'::ltree[] @> '1.2.3.4';
?column?
----------
t
(1 row)
SELECT '{1.2.3.4}'::ltree[] @> '1.2.3.4';
?column?
----------
t
(1 row)
SELECT '{1.2.3.4.5}'::ltree[] @> '1.2.3.4';
?column?
----------
f
(1 row)
SELECT '{1.3.3}'::ltree[] @> '1.2.3.4';
?column?
----------
f
(1 row)
SELECT '{5.67.8, 1.2.3}'::ltree[] @> '1.2.3.4';
?column?
----------
t
(1 row)
SELECT '{5.67.8, 1.2.3.4}'::ltree[] @> '1.2.3.4';
?column?
----------
t
(1 row)
SELECT '{5.67.8, 1.2.3.4.5}'::ltree[] @> '1.2.3.4';
?column?
----------
f
(1 row)
SELECT '{5.67.8, 1.3.3}'::ltree[] @> '1.2.3.4';
?column?
----------
f
(1 row)
SELECT '{1.2.3, 7.12.asd}'::ltree[] @> '1.2.3.4';
?column?
----------
t
(1 row)
SELECT '{1.2.3.4, 7.12.asd}'::ltree[] @> '1.2.3.4';
?column?
----------
t
(1 row)
SELECT '{1.2.3.4.5, 7.12.asd}'::ltree[] @> '1.2.3.4';
?column?
----------
f
(1 row)
SELECT '{1.3.3, 7.12.asd}'::ltree[] @> '1.2.3.4';
?column?
----------
f
(1 row)
SELECT '{ltree.asd, tree.awdfg}'::ltree[] @ 'tree & aWdfg@'::ltxtquery;
?column?
----------
t
(1 row)
SELECT '{j.k.l.m, g.b.c.d.e}'::ltree[] ~ 'A*@|g.b.c.d.e';
?column?
----------
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ? '{A.b.c.d.e}';
?column?
----------
f
(1 row)
SELECT 'a.b.c.d.e'::ltree ? '{a.b.c.d.e}';
?column?
----------
t
(1 row)
SELECT 'a.b.c.d.e'::ltree ? '{A.b.c.d.e, a.*}';
?column?
----------
t
(1 row)
SELECT '{a.b.c.d.e,B.df}'::ltree[] ? '{A.b.c.d.e}';
?column?
----------
f
(1 row)
SELECT '{a.b.c.d.e,B.df}'::ltree[] ? '{A.b.c.d.e,*.df}';
?column?
----------
t
(1 row)
--extractors
SELECT ('{3456,1.2.3.34}'::ltree[] ?@> '1.2.3.4') is null;
?column?
----------
t
(1 row)
SELECT '{3456,1.2.3}'::ltree[] ?@> '1.2.3.4';
?column?
----------
1.2.3
(1 row)
SELECT '{3456,1.2.3.4}'::ltree[] ?<@ '1.2.3';
?column?
----------
1.2.3.4
(1 row)
SELECT ('{3456,1.2.3.4}'::ltree[] ?<@ '1.2.5') is null;
?column?
----------
t
(1 row)
SELECT '{ltree.asd, tree.awdfg}'::ltree[] ?@ 'tree & aWdfg@'::ltxtquery;
?column?
------------
tree.awdfg
(1 row)
SELECT '{j.k.l.m, g.b.c.d.e}'::ltree[] ?~ 'A*@|g.b.c.d.e';
?column?
-----------
g.b.c.d.e
(1 row)
CREATE TABLE ltreetest (t ltree);
\copy ltreetest FROM 'data/ltree.data'
SELECT * FROM ltreetest WHERE t < '12.3' order by t asc;
t
----------------------------------
1
1.1
1.1.1
1.1.1.1
1.1.1.2
1.1.1.2.1
1.1.2
1.1.2.1
1.1.3
1.1.7.32.11.22
1.10.21
1.10.23.25.5.11
1.10.4.18.22.23.24
1.10.5.22.13
1.11.10.19.6.1.26.17.2.22
1.12.25.26.22.8.15.23
1.13.16.27.11.16.30.2.9.18.4
1.14.3.7.3.17.2.29
1.15.17.6.28.25.24.31.27.9
1.16.8.18.14.16.21.25.6
1.18.29.30.22.14.3.20.15.21.20
1.19.22.11.14.7.32.23.19.14
1.20.18.25.3.24.25.10.9
1.20.22.26.2.6.11
1.21.28.4.23
1.22.19.24.8.11
1.22.29.5.16
1.25.7.9.26.17.31.20.13
1.26
1.26.15.23.5.31.29.11.19.28.1
1.27.22.23.2.26.32.17.7.9
1.28.19.8.25.6.20.27.29.27
1.28.3.22
1.29.18.1.21.12.13.27.32.15
1.3.15.11.11.25.24.21.19
1.30.18.31.12.25.4.19.28.12.15
1.30.31.31.20.16.7
1.31.3
1.4.14.32.14
1.8
1.9.18.10.1.26.22.16.17
10.11.25.2.24.18.18.21.6.26.21
10.12.23.22.23.22.20.17.17.9
10.12.9.6.6.26.14.8.23.1.25
10.13.12.8.4.8.11.30
10.13.22.1.8.30.9.24.1.2.1
10.15.16.3
10.16.18.9.27.2.29.32.24.13
10.16.19.7.15
10.18.12.27.24.30.32.7.11.5.13
10.2.17.26.16.7.19.6.23.3
10.20
10.22.1
10.22.30.16.2.21.17.13
10.26.27.23.4.31.11.25.29
10.26.30.15.1
10.27.7.24.26.11.31.20.29
10.28.22.29.13.19.6.7.6.14
10.28.7.16.31
10.29
10.29.26.4.27.17.11
10.3
10.3.19
10.31
10.31.25.31.24.16.17
10.32.14
10.5.23.5.32.9.18.5.30
10.5.5.15.29.2
10.7.9
10.8.20.11.12.23.22
11.1
11.1.3.28.30.21.24.14
11.10
11.10.22.18
11.11.11.4.23.21.25
11.11.9.30.15.29.15.18
11.12.6.21
11.14.21.24.10.7.29.23.24.28
11.15.11.19.29.10
11.16.16.28.14
11.17.10
11.17.17.24.11.23.17.17.18.10.22
11.18.4.8.3.13.14.28.18.31
11.19.23.3.6.11
11.2.27.3
11.21.13.9.19
11.21.16.27.16
11.22.28.8.12.23.25.15.21.28
11.29
11.3.15.28.22.8.14
11.30
11.30.20.15.18.32.1.18.25.26.8
11.32.18.31
11.6.11.29.4.5.24.6.26.12
11.7.31.15.22
11.8.18
12.1.1
12.1.28.22.25
12.10
12.10.11.9.10.31.4.16.31
12.11.17.1.2
12.11.20.20.29
12.13.16.17.29.27.16.14.9.19.9
12.13.5.31
12.14.20.8.28.4
12.15.10.17.18.13
12.16.13
12.16.2.4.15
12.17.10.7.17.16
12.18
12.2.4.28.21.30.24
12.21.15.27.24.15.8.24.24.26
12.21.20.20
12.22.20.4.12
12.23.3.19.29.15.12.6
12.24.29.32.32.29.2
12.25.32.2.27.3.3.16
12.27.23.32.1.1.9.29.13
12.27.30.12.24.2.20
12.28.12.24.28.15.5.12.30.13.21
12.29.17.2.20.29.1.11.19.8.12
12.29.26.18.4.21.28.8.13.3
(123 rows)
SELECT * FROM ltreetest WHERE t <= '12.3' order by t asc;
t
----------------------------------
1
1.1
1.1.1
1.1.1.1
1.1.1.2
1.1.1.2.1
1.1.2
1.1.2.1
1.1.3
1.1.7.32.11.22
1.10.21
1.10.23.25.5.11
1.10.4.18.22.23.24
1.10.5.22.13
1.11.10.19.6.1.26.17.2.22
1.12.25.26.22.8.15.23
1.13.16.27.11.16.30.2.9.18.4
1.14.3.7.3.17.2.29
1.15.17.6.28.25.24.31.27.9
1.16.8.18.14.16.21.25.6
1.18.29.30.22.14.3.20.15.21.20
1.19.22.11.14.7.32.23.19.14
1.20.18.25.3.24.25.10.9
1.20.22.26.2.6.11
1.21.28.4.23
1.22.19.24.8.11
1.22.29.5.16
1.25.7.9.26.17.31.20.13
1.26
1.26.15.23.5.31.29.11.19.28.1
1.27.22.23.2.26.32.17.7.9
1.28.19.8.25.6.20.27.29.27
1.28.3.22
1.29.18.1.21.12.13.27.32.15
1.3.15.11.11.25.24.21.19
1.30.18.31.12.25.4.19.28.12.15
1.30.31.31.20.16.7
1.31.3
1.4.14.32.14
1.8
1.9.18.10.1.26.22.16.17
10.11.25.2.24.18.18.21.6.26.21
10.12.23.22.23.22.20.17.17.9
10.12.9.6.6.26.14.8.23.1.25
10.13.12.8.4.8.11.30
10.13.22.1.8.30.9.24.1.2.1
10.15.16.3
10.16.18.9.27.2.29.32.24.13
10.16.19.7.15
10.18.12.27.24.30.32.7.11.5.13
10.2.17.26.16.7.19.6.23.3
10.20
10.22.1
10.22.30.16.2.21.17.13
10.26.27.23.4.31.11.25.29
10.26.30.15.1
10.27.7.24.26.11.31.20.29
10.28.22.29.13.19.6.7.6.14
10.28.7.16.31
10.29
10.29.26.4.27.17.11
10.3
10.3.19
10.31
10.31.25.31.24.16.17
10.32.14
10.5.23.5.32.9.18.5.30
10.5.5.15.29.2
10.7.9
10.8.20.11.12.23.22
11.1
11.1.3.28.30.21.24.14
11.10
11.10.22.18
11.11.11.4.23.21.25
11.11.9.30.15.29.15.18
11.12.6.21
11.14.21.24.10.7.29.23.24.28
11.15.11.19.29.10
11.16.16.28.14
11.17.10
11.17.17.24.11.23.17.17.18.10.22
11.18.4.8.3.13.14.28.18.31
11.19.23.3.6.11
11.2.27.3
11.21.13.9.19
11.21.16.27.16
11.22.28.8.12.23.25.15.21.28
11.29
11.3.15.28.22.8.14
11.30
11.30.20.15.18.32.1.18.25.26.8
11.32.18.31
11.6.11.29.4.5.24.6.26.12
11.7.31.15.22
11.8.18
12.1.1
12.1.28.22.25
12.10
12.10.11.9.10.31.4.16.31
12.11.17.1.2
12.11.20.20.29
12.13.16.17.29.27.16.14.9.19.9
12.13.5.31
12.14.20.8.28.4
12.15.10.17.18.13
12.16.13
12.16.2.4.15
12.17.10.7.17.16
12.18
12.2.4.28.21.30.24
12.21.15.27.24.15.8.24.24.26
12.21.20.20
12.22.20.4.12
12.23.3.19.29.15.12.6
12.24.29.32.32.29.2
12.25.32.2.27.3.3.16
12.27.23.32.1.1.9.29.13
12.27.30.12.24.2.20
12.28.12.24.28.15.5.12.30.13.21
12.29.17.2.20.29.1.11.19.8.12
12.29.26.18.4.21.28.8.13.3
12.3
(124 rows)
SELECT * FROM ltreetest WHERE t = '12.3' order by t asc;
t
------
12.3
(1 row)
SELECT * FROM ltreetest WHERE t >= '12.3' order by t asc;
t
----------------------------------
12.3
12.4.10.17.4.10.23.3
12.4.12.13.25.30.30.8.9.12
12.4.24.6.1.13.5.20
12.4.26.23.25.5.15.7.16
12.6.14.23.19.21.9.12
12.7.16.8.21.22.2.16.18
12.7.28.26.14.21.18.31.5.15.11
13.1.6.17.28.9.15.30.1.27.14
13.12
13.14.13.10.28.26.9.18.27.21
13.16.1.27.18.18.19.6.14.4
13.16.4.28
13.17.7
13.19.2.6.23.19.9.7.21.8.16
13.24
13.25.10.25.8.16
13.26.17.3.2.19
13.28.12.6
13.28.14.2.8.18
13.28.9.3
13.3.20
13.3.8
13.30.24
13.32.15.32.26.14.32
13.7
13.8.15.3.7.31.5.10.15.30
13.8.20.9.21
13.8.23.13.11.18.24.21.11.24.10
13.9.9.27.31.11.25.9.27.22.13
14.1.11
14.1.15.25.27.23.25.26.28.10
14.10.11.30.5.7.6.24.9.30.26
14.11.25
14.12.31
14.13.9.13.11.5.5.2.2.32.12
14.14.25
14.15.31.29
14.16.6.29.26.13.14.16.25.26.8
14.17.7.30.8.25.26.4
14.19.20.13.27.2.2
14.19.26.15.22.23
14.19.30.6.4.10.10.10.22.25.11
14.2.14.11.12
14.21.22
14.21.5.28.3.32.24.14.25.31
14.21.6.5.26.9.32.16.25
14.23.31.5.5.15.17.12.17.7.3
14.24
14.26.25.4.12.26.8
14.27.29.23.4.1.17.32.6.25.22
14.29
14.3.17.1.14.15.21.4.26
14.30.13.5.26.9.22.23.14.10
14.30.2.21.15.16.13
14.30.23.3
14.4.19.27.28.24.19
14.4.23.4.23.22.11.6.26.5
14.5.13.19.25.12.32.9.13.16.12
14.6.10.29.25.26.20.24.24
14.8.15.30.7.29.27.31.4
14.9.15.21.21.31.1.29
15.1.6.31.30.13.32.9.10
15.1.8
15.10.30.1.4.12.8.20
15.11.26.1.30.6.23.5
15.17
15.17.2.32.7
15.21.22
15.21.23.30.9.25
15.23.26.20.27.7
15.25.31.11.4.22.16.7.11
15.26.24.31.16.15.17.22.8.30.3
15.28.24
15.28.30.19.31.6.2.2.31
15.29.25
15.29.32.16.29.12.20.32.13.20
15.3.31.9.27.14.9.8.14.6.32
15.30.17.5.32.28.2.18.27
15.31.11.27.19.19.20.5.5
15.4.15
15.5.1.31.28.10.8
15.6.19.3
15.7.3.14.23.19.26
15.7.5.12.7.9.3.28.26
15.8.10
15.8.3.15.27.14.29.28.6.5.25
15.9.11.20.22.15.11.13
15.9.8.20.27
16.13.19.11.18.13.17.17
16.13.2.19.14.29.31.30.23.15.12
16.13.26.18.9.29.11.17.1.24.26
16.14.3.17.17.26.12.19.19.30
16.16.28.24.11
16.18.23.6.31
16.19.17.30.30.5.17.24.27
16.2.14.3.26.11
16.20.29.26
16.21.13.1.4
16.23.30.12.31.31.19.14
16.24.3.30.15.22.31.2
16.24.7.25
16.27.8.17.14.17.21.29.14
16.28
16.29.6.23.13.28.31.6.19.26.15
16.30.10.7.29.4.9.21.22.13.26
16.31.12.27.25.9.32.29
16.5
16.5.10.2.18.8.15.12.32.25.10
16.5.12.5.15.12.24.25.3
16.5.14.21.32.17.23.3.4.26
16.5.23.17
16.5.6.12
16.8.29.7.21.2.3
16.9.14.28.6.21.31.31.26
16.9.29
16.9.32.14.3.7.8.7.21.22
17.1.12.20
17.10.17.22.20.25.14.13
17.11.17.4.8.26.26.20.6
17.13.14.29.27.27.13.12.15
17.13.19.31.12.18.10.15.14
17.13.8
17.14.7.3.2.18.20.23.18.5
17.17.14.28.6.30
17.19.1.22.11.7.22.1.14.28.11
17.22.12.10.30.11
17.24.15.27.3.32.4.22.20.6.24
17.24.30.6.32
17.25.10.13.21.5.7.22.2
17.25.2.13.10.27.13.1
17.25.26.23.32
17.26.18
17.27
17.29.21.10.18.8.16.26.18.21.26
17.29.31.8.24.10.18.27.17
17.3
17.5.3.15.17.13.5
17.7.26.30.18.23.4
17.8
17.8.31.32
17.9.32.31.21.31.23.17.10.32.9
18.13.6.12.26.26.26.29.18.20.1
18.13.9.3.18.15.2
18.15.14
18.17.6.16.6.10
18.18.19.16.14.16.21.10.25
18.18.5.11.7.4.25
18.19.11.20.13.13.11
18.19.12.20.18.17.15.32.18.5
18.21
18.24.21.17.11.26.28.22.21.18.10
18.27.11.27.9.16.7.6.22.26.27
18.29.13.24.18.3.12.18.12.12
18.29.5.1.10.21.2
18.30.11.17
18.30.18.31
18.31.26.18.6.15.18.11
18.31.32.28.1.4.24.24.12.25
18.31.32.29.22.1.31.11.28
18.4
18.4.14.29.3
18.5.6.31.5.15.15
18.6.2.2.24
18.6.26.2.13.9.6.11.10.11.16
18.7.10.27.17.24
18.7.3.17.13.5.31.6.31.25.29
18.9.21.2.31.8.32
18.9.26.7
19.10.26.19.5.21.30.23
19.10.4.30.32.4.12
19.10.8.10.4.19
19.11.10.18.14.13.7.7
19.11.29.13.15.27.12.15.14.12
19.12.20.24.32.13.11.23.26
19.12.26.24.29.3
19.12.30.2.21
19.15.26.19
19.16.26.2
19.16.31.31.29.12
19.17.12.15
19.17.13.12.32.16.3
19.19.25.22.11.6.15.3.2.19
19.2.26.21.16.11.2.2
19.2.9.29.6
19.20.25.7.27.28.27.17.9.3.1
19.22.21.13.27.13.15
19.22.29.32.1.21.26.24.23.17
19.26.24.27.6.24.16.27.32.29
19.26.32.13.1.12.30.26.22.25
19.3.12.12
19.3.23.4.4.21.23
19.30.18.11.32.14
19.30.27.26.21.7.18
19.31.14.25.5.8.21.11.13.20
19.5.20.3.4.2.3
19.6.13.14.22.13.9.29
19.6.24.32.30.13.6.25.8.28
19.7
19.7.29.31.3.20.7.21.25.27.29
19.9.32.23.13.24.1
2.1.12.19.29.28.3.31.28.28.10
2.1.3.30.24.17.9
2.10.10.4.20.1.12.13
2.10.28.1.17.19.32.28
2.11.32.25.23
2.12.14.28.16.21
2.12.30.22.12
2.13.9.23.21.2
2.13.9.28
2.14.10.4.17.17.8.4.27.20
2.14.12.13
2.15.14.20.30.26
2.15.18.21.5.21.4.7.30
2.16.3.7.22.18.29.20
2.19.4.1.15.7.8.9.17.29
2.2.18.18.3.3.18.8.10.8
2.22.19
2.24.4.5.24.32
2.24.5.3.4.10.27.26.17.28.16
2.27.15.14
2.28.5.17.6.32
2.30.26.10.14.31.18.2
2.31.25
2.32.10.13.12
2.32.8.28.24.20.9.24.25.8.9
2.4.25.32.16.22.26.13.17.18
2.6.15.26.23.26.24
2.8.13.12.17.23.16.7.11.23
2.9
20.1.24.3.30.31
20.13
20.14.11.2.10.14
20.15
20.17.14.7
20.17.18.21.1
20.18.24.14.12.13.9
20.20.32.29.24.5.5.26.22.32
20.20.7
20.22.10
20.23.29.5.7.30.13.14.22
20.23.7.11.11.31.18.16.3
20.24.14.15.4.21.12.27.4.12
20.25.22.19.22
20.28.22.7.10.28.27.22.14.16
20.29.18.16.2.21.23.11
20.3.1.8.8.30.20
20.30.17
20.30.28.15.17
20.30.9.9.14.12.29
20.31.13.12.19.2.26.16.16.22.28
20.32.5.1.3.20.3.30.27
20.32.9
20.4.1.16.31.3
20.4.27.31.1
20.5.4.9.31.14.26.6
20.6.26.3.30
20.6.3.26.7.29.28.4
20.8.19.14.16.7
20.9.29.32.13.7.23
21.1.4.9.9.31.24.21.3.29
21.10.20.9.3.16.9.10.20
21.14
21.14.13
21.14.22.29
21.14.25.20.13.31.14.20
21.15.18.18.30.3.20
21.15.31.24.29.24.26.12.20
21.17.18.32.7.8
21.17.27.23.15
21.17.31.10.31.13.9.26.6.14
21.18
21.18.2.1
21.18.30.19.24.24
21.20.24.25.6.26.23
21.20.28.19.27.9
21.21.10.27
21.22.31.24.27
21.23.13
21.23.17.8.23.11.8.1
21.28.17.22.10.27.4.20.2.32
21.28.24.23.3.11.7.12.22.32
21.30.19.6.28.1.32.2.14.14
21.31.31.25.5.30.26
21.32.13.21
21.32.13.22.3.13.31.23.14.12.9
21.4.11.18
21.4.22.20.24.28.6
21.5.11.18
21.5.17.19.15.25.18.21.24.9
21.6.22.28.12.23.11.22
21.7.23.9.16.5.18.14
21.7.7.11
21.8.9
21.9.27.22.32
21.9.32.1.27
22.10.12.23.9
22.10.16.8
22.10.18
22.10.27.19.29.20.29.3.12.14.25
22.11
22.12.22.28
22.13.22.21.25.17.8
22.13.22.8.30.32.10.24
22.15
22.16
22.16.25.18.25.7.24.29.14.8
22.17.24.14.21.15.12.18.17.25.11
22.17.30
22.17.4.2.22.17
22.17.7.30.13.24
22.17.9.11.25.15.3.9
22.18.20.23.15.9.12
22.19.20.5.2.20
22.19.21.11.6.8.29.24
22.19.5.22.20.31.23.24.14.24.4
22.20.30
22.21.32.15.8.29.5.12.10.29
22.22.10.30.5.15.25.21.19.11
22.22.27.6.27.15.5.18.21.28.9
22.23.18.18.9.8.23.7.23.23.16
22.23.22.30
22.23.25.28.5.27.9.9.24.31.10
22.24.22.25.15.23.13
22.25.4.28.9.20.12.13
22.26.1.28.9.9.31
22.26.32
22.28.20.6.32.32
22.29.18.32.13.12.22.31.17.22
22.29.29.11
22.3.6
22.30
22.30.31.24.23.22.5.20.28.1
22.31.2.32.32.11.26.23.19
22.31.21.13.13.26.11.5.19
22.32.6.6.3.8.24.6.25.29
22.8.20.1.10.28.6.27
22.9.15.19.12
23.1.23.18.12.29
23.10.13.32.14.20.16.11.14
23.10.5.26.12.4.20.4
23.12.1.5.32.25.8.24.1.25
23.12.11.11.15.16.22.31.32.5.8
23.12.19.25.16.23.22.6.29.4
23.12.32.22.19.1.22.4
23.14.12.30.18.4.16.18.7.7
23.14.30.27.28.26.26.23.8.32
23.17.22.1.23.4.29.32.4.1
23.17.25.4.1.16.29.10
23.17.28.31.28
23.17.32.15.23.16.25
23.19.17.31.29.13.1.12.5.25
23.2.22.7.32.3.27.6
23.20.12.16.15.2
23.20.24
23.20.8
23.22.10.1.14.24
23.22.23.14.31.32
23.23
23.24.11.31.10.31.18.28.13.18.6
23.24.16.32.13.29
23.25.23.11.7.23
23.27.27.16
23.27.6.26.22
23.28.1
23.28.20.25.30.24.15
23.28.3.30.15.31.32.3.21.9.19
23.3.20.24
23.3.32.21.5.14.10.17.1
23.31.27.16.8.30.20.27
23.32.5.25.19.9.15.17.15.11
23.5.5.17
23.5.7.12.11.23.10
23.6.27
23.8.13.22.21
24.1.10.20.28.18.6.27.20.30.26
24.1.29.32.14.15.32.6.15.22
24.10.10.31.4.29.9
24.10.8.25.16
24.11.5
24.12
24.13.1.8
24.15.15.17.22
24.16.27.10.9
24.17.24
24.17.31.20.12.9.19.29.18
24.18.16
24.2.26.24.14.15.31.23.17.26
24.2.6.7.16.7.28
24.20.23
24.21.14.25.11.3.20.6.6.16
24.23.24.4.15.25.17
24.23.29.8.24.11.21.10.28.14.27
24.24
24.25.7.27.30.8.26.17
24.27.14
24.27.18.32.14.9.11.28.9
24.28.13.26.8.8.31
24.28.32.21
24.3.23.25
24.31
24.31.2.13.5.23.18.16
24.31.8
24.32.17.23.24.19.23.9.20.18
24.32.27
24.9
24.9.15.1.14.29.6.4
24.9.27.16.20.21
24.9.8.12.29
25.10
25.10.29.3.6.21.3.31.13
25.10.4.28.3.31.19
25.11.24
25.14.5.32.25
25.15.11
25.16.9.6
25.17.18.17.27
25.17.18.30
25.17.2.20.20.3.29.21.3.12
25.17.9.16.17.31.23.29.24
25.18.8.3.23.23.5.9.6
25.19.27.2.9.20
25.2.11.20.8.6.22
25.2.3.15.11.19.5.28.25.14
25.21.8.17
25.22.2.25.6
25.24.2.32.14.18.16
25.24.29
25.28.3
25.28.30.24
25.29
25.3
25.30.1.4.24.11
25.31
25.32.24.24.28.15.16.10
25.4.32
25.4.4.1.13.32.26.20.20.3
25.5.30.7.16.12.21.12.11.16
25.6
25.6.12.16.1
25.7.3.21.31.12.28
25.9
25.9.1.5.9.11.25.4.11.27.32
25.9.10
26.11
26.12.27.2
26.13.4.7.13.11.3
26.14
26.14.5.32.10
26.16.12
26.16.12.3.27.9.28
26.17.9.13.4.25.32.2.24.9
26.18
26.18.32.20
26.19.3.14.8.28.31.10
26.24
26.24.9.12.11.15.31.2
26.25.10.10.13
26.25.24
26.26.22.21.14.11.29.19.14.24
26.28.14
26.31.11.23.3
26.31.16.18.22.13.32.23.9.20
26.31.6.8.29.8.24
26.31.7
26.32.21.31.27.12
26.32.8.12.30.19.24.8.6.1.10
26.5.29.7.28
26.7.22.3.18.21.11
26.7.5.8.11.9.22.1.6
26.8.28
26.9.17.1.18.19.1.11.18.29.3
26.9.20.12.22.22.32
27.1.11.3.25.9.6.6
27.11.14.17.24
27.11.15.9.24.31.18.4.1.30.20
27.12.4.2.29.22.15
27.15.15.15
27.16
27.17.15.7.28.20
27.17.17.19.24.9.14.20
27.17.3.18.2.13.18
27.18
27.18.10.4.22
27.19.20.1.31.29.5.22.26.3
27.2.10.4.25.14.2.15.4
27.21.27.5.13.30.17
27.21.28.24.7.2.24.23.8
27.22.11.13.21.25.5.1.27.21.27
27.23.2.32.11.21
27.23.20.30.7
27.24.11.31.21.6.29.17.24.18
27.25
27.26.29
27.27
27.27.25.10.31.10.21.22.21.16.12
27.27.30.11.15.24.9.7.4.30
27.29.1.5.30.6.22.16.23.2.28
27.3
27.3.3.11.21.4.25
27.30.12.11.20.15.11.13
27.31.2.16.29.6
27.32.26.21.31.17.32.32
27.4
27.4.15.14.19.6.12
27.4.17.17.32.8.16.15.17.13
27.5.15.1.15.16.21
27.5.22
27.6.13.24.21.27.28.22.3.7.4
28.1.3
28.11.11.30.20.11.32
28.11.27.21.14.16
28.14.24.26.6.15.16.32.25.13.8
28.14.32.29.2.3.4
28.15.18.27
28.15.25.7.13.6.19.2
28.17.26.9
28.18.6.22.13.8.25
28.2.27.1.20
28.20.8.9.9.28.30.29
28.23.2.30.3.8.1.15.15.14.13
28.25.10.25.19.15
28.25.11.22
28.25.29.4.13.5.6
28.26.25.7
28.26.26.6.31
28.26.4.22.13.20.32.27.15
28.27.24.14
28.28
28.30.24.16.17.28.2.13.10
28.31.10.28.22.26.16.15
28.4
28.5.12.9.2.27.11.11.2
28.5.13
28.6
28.6.11.6.15.22.12.6
28.6.8.22.25
28.8.21.15.16.28.4.16.26.8
28.9.3.16.17.21.23.30
29.1
29.1.2.14.14
29.1.7.26.25.11.22
29.10.12.17.12.16
29.10.17.11.28.12.18.5.19.15.21
29.11.20.22.27
29.14.12.9.17.5.32
29.14.31.25.7.32.23
29.15.29.8.31.26.1
29.20.1.11.21.16.1.2.14.28
29.23.1.21.31.8
29.23.15.25.1.6.6.10
29.25.29.16.32.11.15.25.5.22.3
29.25.30.15.21.3.25.26.26
29.26.25.14.24.18.2.13.23.29
29.27
29.27.13.29.10.2
29.27.13.9.28.29.19.13.29.31.27
29.27.5.22.26
29.27.7.7.3.11.14.26.21.11
29.28.9.15.8.27.31
29.29.17.31
29.29.18
29.3.15.17.12.29
29.3.17.17.18.32
29.30.21.8.16.23.32
29.30.7.31.22
29.32.13.4.1.16.20
29.5.18.27.3.21.18.6.14
29.5.32.20.11.7.13.24.17
29.6.12.31.20.23.32.20
29.9.25.27.15.16.32.26.6.32
3.1.13.22.24.14.12.31.3.4
3.1.14.8.9.16.30.22.20
3.10
3.10.27.4.5.6.19.12.28.12
3.10.4.5.28.11
3.11.18.21.5.20.30
3.11.32.11.22.3.7.17.8.13.23
3.13
3.14.1.14.17.28.29.16
3.14.11.15.21.32.2.15.13
3.14.30.5.32.22.29
3.15.2.23.22.2.16.14
3.18
3.18.18
3.18.8.22.7.28.32.31.3
3.19.11.6.5
3.20.16.13.29.20
3.20.19.10.17.27.3.6.22.23
3.21.16.24.23.12.16.32.3
3.21.6.13.12.18.25
3.22.18.1.5.14.9.6.14
3.25
3.26
3.26.32
3.27.18.8.4.21.6.32.30.7.5
3.29.19.2.24
3.29.32.26.8.10.25
3.3
3.32.2.29.3.32.28.11.29.30
3.4.22.19
3.5
3.6.24.21.20.32.3.4.26.5
3.9.11.23.32.26.24.28
3.9.25.26.7
30.12.28.2
30.12.6.30
30.12.9.25.24.6.7.24.29
30.15
30.16.14.9.5.4.10.7.31
30.16.3.21.10
30.17.2.25
30.17.25.3.31.11.3.4.1.10
30.17.4.5.13.6
30.18.30.16.29
30.2.17.8.14
30.20.3.2.5.15.8.7.17
30.22.29.21.19.14.3.2.6
30.23.10.1.10.7.22.28.18.11.17
30.23.2.13.14.15.29.19.4.12.24
30.24
30.24.23.25.32.18.22.12.29.9.22
30.24.32.15.14.10.11
30.25
30.25.17.17.10.29
30.25.24.22
30.25.8.24.6.29.31
30.27.8.6.11.19
30.3.16.26.7.27.26.9.27.21.18
30.30.17.5.30.21.19.5.22.22.14
30.31.13.9
30.32
30.4.30.11.13.23.14.24.11
30.5
30.6.4
30.8.18.5.20.6.15
30.8.9.14.25.30
30.9.24
31.13
31.13.9.1.5.12
31.17
31.17.2.30.11
31.18
31.18.25.1.14.29.25.5.22.30
31.18.27.15.20.29.29
31.18.32.11.7.25.20.5
31.21.14.20.1.22.2.5.3.27.12
31.21.22.14.8.21
31.24.26.18
31.28.32.4.31.4.7
31.29.18.26.1.26.17
31.29.4.29.24.30.30.32.10.23
31.30.12.20
31.30.23.7.7.24.32.10.11.1.31
31.32.12.26.31.32.14.23.28
31.4.7
31.5.6.4.8.29.3
31.7.14.2
31.9.3.5
32.1.21.1.16.29.21
32.1.23.20.14.12.23.5.32.15
32.1.24.29.22.5.9.24.18.3.13
32.1.31
32.15.20.28.5.1.23.4
32.16
32.17.8.24.2.14.5.4.22
32.19.20.24.23.31.8.32.16.29
32.2.11
32.24.11.8.12.23.22.19.11.17.18
32.24.29.6
32.25.16
32.25.3.6
32.27.13.6.7
32.27.18.7.3.4.2
32.28.1.32.28.10
32.29.24.31.25.6.9
32.3.12.2
32.3.23.7.2
32.3.5.9.17.15
32.30.18.17.1.14.12.18
32.31.11.22.1
32.31.26.19.13.29.4.25
32.4.19
32.6.13.8.32
32.6.15.26.14.15.3.19
32.6.3.2.12.5.28.1.25
32.6.31.31
32.6.8
32.6.9.26.16.4.4.29.7.11
32.8.29.18.31
32.8.5
4.1.24.24.28.24.18
4.10.28
4.11.19.17.2.22.20.18.13.32.15
4.11.22.4.19.24.4.28.6.8.22
4.13
4.13.22.11.9.13.27.15.7
4.14
4.14.10.19.16
4.14.16.14.1.8.1.22.17.10
4.14.17.12.20.17.1.22.3
4.14.32
4.15.20.23.12.16.2.16.17
4.16.22.19.24.21
4.16.7.25.21.7
4.18.29.9.16.10
4.19.16.15.5.2.25.8.28.14.2
4.2.16.13.16.11.19.10.10.25
4.2.2.32.24.25.31.3
4.2.6.20.7.8
4.21.28.5.16.29.5.21
4.21.9.1.2.14.8.17.13.26
4.22
4.22.17.10.19.9.8.19.28.3.9
4.22.7.19.25
4.25.12.10.15.9.18.9
4.26.2.2
4.26.23.6.19.31.10.4.22
4.26.5.26.21.28.17.24.25.23
4.27.32.18
4.3.20.27.9.1.18.30.12.5.19
4.3.6.27.22.23.10
4.30.8.20.19.9.30.24.11
4.31
4.5.9.4.15.19.8.26.17.26.3
4.7.1
4.9
5.1.5.31
5.10
5.10.2.11.21.9.19
5.10.3.9.23.30.23
5.12.2.20.1.24.25
5.13.23.19.28.26.27.6.1.22
5.13.23.4.9
5.14.27.15.11.17.3.10.27.25
5.14.29.2.23.16.20.22
5.15.10.3.23.13.32.23
5.15.16
5.18.9.25.31.21.22
5.19.1.26.20.6.20
5.2.32.19.13.29.12.13.31.29
5.20
5.21.27.13.14.11.2.16.20
5.23.31.18.24.32
5.24.24.9.32.26.31
5.24.25.15.27.30.20
5.24.4.31.3.16.25.17.13.26.11
5.27.16.3.30
5.27.21.1.29.29.28
5.27.28.26.14.15.6.20.1.31.13
5.27.32.21.5.1.11.14
5.3.17.29
5.3.29.9.22
5.31.8.1.5.13.21.28.29.19.2
5.4.8.25.12.27.2.29.28.3
5.5.12.31.23.13.17.22.20
5.8
5.8.17.30.15.8.19.29.30.11.6
5.9.19.6
6.1.8.6.30.29.30
6.10.25.12
6.11.11.5.16.8.14.12.9
6.11.31.23.12.8.30.14.27
6.13.31.5.7.26
6.14
6.17.10.10.7.9.27.8.29
6.17.26.25.27.11.10.9
6.18.1.4.18.23
6.19.29.11.2.32.21.15.32.9
6.19.3
6.19.6.4.9.11.32.17.17.3.15
6.2.32
6.20
6.20.14
6.21.30.7
6.22.12
6.25.17.32
6.26
6.26.29.10.21.28.20.19
6.27.26.1.20.24.6
6.27.29.14.8.12.26.3.21.4.1
6.29.32.13.30.3.16
6.29.6.13.14.24.10.4.14.28
6.5.27.19.13.26.1.18.9
6.6.22.8
6.7.25.16.13.21.7.20.25.12.4
6.7.7
6.8.7.20.2
6.9.1.10.10.22.6
6.9.29.17.4.32
7.10.17.21.11.29.17.25.19.4.29
7.11
7.12
7.12.1.10.6.17.29.24.24.4
7.12.23
7.13
7.13.15
7.14.22.29.30.14.25.1.9.26.25
7.16.20.17
7.19.10.12.31.1.27.13.19
7.19.12.3.21.19.18.5.2.14.10
7.19.6.17.15.26.21.9
7.21.8
7.23.1.24.29.13.31.19.23.17.7
7.23.15.32.28.27.2.2.26
7.26.18
7.27.20
7.30.19.25.23.15.14.29
7.30.5.10.10.5.30.14.9.18
7.31
7.31.2.28.15.11.17.18.19.23.6
7.31.4.20.17
7.32.10.3.30.12.14
7.5.28.8.17.26.31.10.15
7.7
7.7.22.24.17.32.17.25.28
7.7.25.22.22.26
8.1.29.18.22
8.10
8.11.20
8.12.4
8.13.1
8.13.14.11.11.29.22.4.4.10
8.13.6.12.18.7
8.13.9.31.20.20.24.7.23.31.28
8.14.19.18
8.16
8.16.1.16.28.6.3.22.6.23
8.16.20.24.20.6.10.21
8.16.30.29.19.22.28.24.2
8.16.6
8.17.25.26.15.25
8.17.9.15.21.28.1.7.1.3.6
8.2
8.2.18.23.5.16.17.1
8.21.17.3.6.3.18
8.21.8.23.4.18
8.22.32.17.16.28.31.23.22.9
8.24.11.13.25.19
8.25.20.3.15.24.7.4.24.5.30
8.26.29.13.7.25.31.28.3.32
8.27.3.4.12.26.16
8.29.6.3
8.3.18.13.30.20.27.26.17.28
8.3.3.25.25.15.7.13.21.18
8.31.22.27
8.32.30.1
8.5.24.9.29.32.31.30.13.9.7
8.5.30.29.9.31
8.6.6.5.8.8.12
8.9.21.16.29
8.9.22
8.9.25.25.26.30.31.31.2.32.7
9.10.19.18.15.11.22.32.32.14.9
9.10.32
9.14.27.31.26.21.25.3.20
9.16.2.16.22.24.17.31.14.21.17
9.17.13.31.7
9.18.23
9.18.30.11.29.32.7.19.2
9.19.7.13.13.25
9.2.10.4
9.2.4.27.26
9.21.14.19
9.21.20.29.1
9.21.28.8.12.15.3.13.10.11
9.22.10.15.5.15
9.23.21.22.5.29.15.21
9.26.1.16
9.28.10.26.14.26.15.14
9.28.24
9.28.30.1.6.25.17.9
9.3.3
9.3.31.18.12.3.9.29.10
9.30
9.31.23.19.5.10.16.4.30.24.5
9.31.4.14.31.10.17.5.2
9.5
9.5.9.3.23.9.25.14.1.29.28
9.6.9.21.6.11.29.13.29.20.32
9.7.31.11.8.23
9.8.23.2.20.16
9.9.13.9.14.27
(883 rows)
SELECT * FROM ltreetest WHERE t > '12.3' order by t asc;
t
----------------------------------
12.4.10.17.4.10.23.3
12.4.12.13.25.30.30.8.9.12
12.4.24.6.1.13.5.20
12.4.26.23.25.5.15.7.16
12.6.14.23.19.21.9.12
12.7.16.8.21.22.2.16.18
12.7.28.26.14.21.18.31.5.15.11
13.1.6.17.28.9.15.30.1.27.14
13.12
13.14.13.10.28.26.9.18.27.21
13.16.1.27.18.18.19.6.14.4
13.16.4.28
13.17.7
13.19.2.6.23.19.9.7.21.8.16
13.24
13.25.10.25.8.16
13.26.17.3.2.19
13.28.12.6
13.28.14.2.8.18
13.28.9.3
13.3.20
13.3.8
13.30.24
13.32.15.32.26.14.32
13.7
13.8.15.3.7.31.5.10.15.30
13.8.20.9.21
13.8.23.13.11.18.24.21.11.24.10
13.9.9.27.31.11.25.9.27.22.13
14.1.11
14.1.15.25.27.23.25.26.28.10
14.10.11.30.5.7.6.24.9.30.26
14.11.25
14.12.31
14.13.9.13.11.5.5.2.2.32.12
14.14.25
14.15.31.29
14.16.6.29.26.13.14.16.25.26.8
14.17.7.30.8.25.26.4
14.19.20.13.27.2.2
14.19.26.15.22.23
14.19.30.6.4.10.10.10.22.25.11
14.2.14.11.12
14.21.22
14.21.5.28.3.32.24.14.25.31
14.21.6.5.26.9.32.16.25
14.23.31.5.5.15.17.12.17.7.3
14.24
14.26.25.4.12.26.8
14.27.29.23.4.1.17.32.6.25.22
14.29
14.3.17.1.14.15.21.4.26
14.30.13.5.26.9.22.23.14.10
14.30.2.21.15.16.13
14.30.23.3
14.4.19.27.28.24.19
14.4.23.4.23.22.11.6.26.5
14.5.13.19.25.12.32.9.13.16.12
14.6.10.29.25.26.20.24.24
14.8.15.30.7.29.27.31.4
14.9.15.21.21.31.1.29
15.1.6.31.30.13.32.9.10
15.1.8
15.10.30.1.4.12.8.20
15.11.26.1.30.6.23.5
15.17
15.17.2.32.7
15.21.22
15.21.23.30.9.25
15.23.26.20.27.7
15.25.31.11.4.22.16.7.11
15.26.24.31.16.15.17.22.8.30.3
15.28.24
15.28.30.19.31.6.2.2.31
15.29.25
15.29.32.16.29.12.20.32.13.20
15.3.31.9.27.14.9.8.14.6.32
15.30.17.5.32.28.2.18.27
15.31.11.27.19.19.20.5.5
15.4.15
15.5.1.31.28.10.8
15.6.19.3
15.7.3.14.23.19.26
15.7.5.12.7.9.3.28.26
15.8.10
15.8.3.15.27.14.29.28.6.5.25
15.9.11.20.22.15.11.13
15.9.8.20.27
16.13.19.11.18.13.17.17
16.13.2.19.14.29.31.30.23.15.12
16.13.26.18.9.29.11.17.1.24.26
16.14.3.17.17.26.12.19.19.30
16.16.28.24.11
16.18.23.6.31
16.19.17.30.30.5.17.24.27
16.2.14.3.26.11
16.20.29.26
16.21.13.1.4
16.23.30.12.31.31.19.14
16.24.3.30.15.22.31.2
16.24.7.25
16.27.8.17.14.17.21.29.14
16.28
16.29.6.23.13.28.31.6.19.26.15
16.30.10.7.29.4.9.21.22.13.26
16.31.12.27.25.9.32.29
16.5
16.5.10.2.18.8.15.12.32.25.10
16.5.12.5.15.12.24.25.3
16.5.14.21.32.17.23.3.4.26
16.5.23.17
16.5.6.12
16.8.29.7.21.2.3
16.9.14.28.6.21.31.31.26
16.9.29
16.9.32.14.3.7.8.7.21.22
17.1.12.20
17.10.17.22.20.25.14.13
17.11.17.4.8.26.26.20.6
17.13.14.29.27.27.13.12.15
17.13.19.31.12.18.10.15.14
17.13.8
17.14.7.3.2.18.20.23.18.5
17.17.14.28.6.30
17.19.1.22.11.7.22.1.14.28.11
17.22.12.10.30.11
17.24.15.27.3.32.4.22.20.6.24
17.24.30.6.32
17.25.10.13.21.5.7.22.2
17.25.2.13.10.27.13.1
17.25.26.23.32
17.26.18
17.27
17.29.21.10.18.8.16.26.18.21.26
17.29.31.8.24.10.18.27.17
17.3
17.5.3.15.17.13.5
17.7.26.30.18.23.4
17.8
17.8.31.32
17.9.32.31.21.31.23.17.10.32.9
18.13.6.12.26.26.26.29.18.20.1
18.13.9.3.18.15.2
18.15.14
18.17.6.16.6.10
18.18.19.16.14.16.21.10.25
18.18.5.11.7.4.25
18.19.11.20.13.13.11
18.19.12.20.18.17.15.32.18.5
18.21
18.24.21.17.11.26.28.22.21.18.10
18.27.11.27.9.16.7.6.22.26.27
18.29.13.24.18.3.12.18.12.12
18.29.5.1.10.21.2
18.30.11.17
18.30.18.31
18.31.26.18.6.15.18.11
18.31.32.28.1.4.24.24.12.25
18.31.32.29.22.1.31.11.28
18.4
18.4.14.29.3
18.5.6.31.5.15.15
18.6.2.2.24
18.6.26.2.13.9.6.11.10.11.16
18.7.10.27.17.24
18.7.3.17.13.5.31.6.31.25.29
18.9.21.2.31.8.32
18.9.26.7
19.10.26.19.5.21.30.23
19.10.4.30.32.4.12
19.10.8.10.4.19
19.11.10.18.14.13.7.7
19.11.29.13.15.27.12.15.14.12
19.12.20.24.32.13.11.23.26
19.12.26.24.29.3
19.12.30.2.21
19.15.26.19
19.16.26.2
19.16.31.31.29.12
19.17.12.15
19.17.13.12.32.16.3
19.19.25.22.11.6.15.3.2.19
19.2.26.21.16.11.2.2
19.2.9.29.6
19.20.25.7.27.28.27.17.9.3.1
19.22.21.13.27.13.15
19.22.29.32.1.21.26.24.23.17
19.26.24.27.6.24.16.27.32.29
19.26.32.13.1.12.30.26.22.25
19.3.12.12
19.3.23.4.4.21.23
19.30.18.11.32.14
19.30.27.26.21.7.18
19.31.14.25.5.8.21.11.13.20
19.5.20.3.4.2.3
19.6.13.14.22.13.9.29
19.6.24.32.30.13.6.25.8.28
19.7
19.7.29.31.3.20.7.21.25.27.29
19.9.32.23.13.24.1
2.1.12.19.29.28.3.31.28.28.10
2.1.3.30.24.17.9
2.10.10.4.20.1.12.13
2.10.28.1.17.19.32.28
2.11.32.25.23
2.12.14.28.16.21
2.12.30.22.12
2.13.9.23.21.2
2.13.9.28
2.14.10.4.17.17.8.4.27.20
2.14.12.13
2.15.14.20.30.26
2.15.18.21.5.21.4.7.30
2.16.3.7.22.18.29.20
2.19.4.1.15.7.8.9.17.29
2.2.18.18.3.3.18.8.10.8
2.22.19
2.24.4.5.24.32
2.24.5.3.4.10.27.26.17.28.16
2.27.15.14
2.28.5.17.6.32
2.30.26.10.14.31.18.2
2.31.25
2.32.10.13.12
2.32.8.28.24.20.9.24.25.8.9
2.4.25.32.16.22.26.13.17.18
2.6.15.26.23.26.24
2.8.13.12.17.23.16.7.11.23
2.9
20.1.24.3.30.31
20.13
20.14.11.2.10.14
20.15
20.17.14.7
20.17.18.21.1
20.18.24.14.12.13.9
20.20.32.29.24.5.5.26.22.32
20.20.7
20.22.10
20.23.29.5.7.30.13.14.22
20.23.7.11.11.31.18.16.3
20.24.14.15.4.21.12.27.4.12
20.25.22.19.22
20.28.22.7.10.28.27.22.14.16
20.29.18.16.2.21.23.11
20.3.1.8.8.30.20
20.30.17
20.30.28.15.17
20.30.9.9.14.12.29
20.31.13.12.19.2.26.16.16.22.28
20.32.5.1.3.20.3.30.27
20.32.9
20.4.1.16.31.3
20.4.27.31.1
20.5.4.9.31.14.26.6
20.6.26.3.30
20.6.3.26.7.29.28.4
20.8.19.14.16.7
20.9.29.32.13.7.23
21.1.4.9.9.31.24.21.3.29
21.10.20.9.3.16.9.10.20
21.14
21.14.13
21.14.22.29
21.14.25.20.13.31.14.20
21.15.18.18.30.3.20
21.15.31.24.29.24.26.12.20
21.17.18.32.7.8
21.17.27.23.15
21.17.31.10.31.13.9.26.6.14
21.18
21.18.2.1
21.18.30.19.24.24
21.20.24.25.6.26.23
21.20.28.19.27.9
21.21.10.27
21.22.31.24.27
21.23.13
21.23.17.8.23.11.8.1
21.28.17.22.10.27.4.20.2.32
21.28.24.23.3.11.7.12.22.32
21.30.19.6.28.1.32.2.14.14
21.31.31.25.5.30.26
21.32.13.21
21.32.13.22.3.13.31.23.14.12.9
21.4.11.18
21.4.22.20.24.28.6
21.5.11.18
21.5.17.19.15.25.18.21.24.9
21.6.22.28.12.23.11.22
21.7.23.9.16.5.18.14
21.7.7.11
21.8.9
21.9.27.22.32
21.9.32.1.27
22.10.12.23.9
22.10.16.8
22.10.18
22.10.27.19.29.20.29.3.12.14.25
22.11
22.12.22.28
22.13.22.21.25.17.8
22.13.22.8.30.32.10.24
22.15
22.16
22.16.25.18.25.7.24.29.14.8
22.17.24.14.21.15.12.18.17.25.11
22.17.30
22.17.4.2.22.17
22.17.7.30.13.24
22.17.9.11.25.15.3.9
22.18.20.23.15.9.12
22.19.20.5.2.20
22.19.21.11.6.8.29.24
22.19.5.22.20.31.23.24.14.24.4
22.20.30
22.21.32.15.8.29.5.12.10.29
22.22.10.30.5.15.25.21.19.11
22.22.27.6.27.15.5.18.21.28.9
22.23.18.18.9.8.23.7.23.23.16
22.23.22.30
22.23.25.28.5.27.9.9.24.31.10
22.24.22.25.15.23.13
22.25.4.28.9.20.12.13
22.26.1.28.9.9.31
22.26.32
22.28.20.6.32.32
22.29.18.32.13.12.22.31.17.22
22.29.29.11
22.3.6
22.30
22.30.31.24.23.22.5.20.28.1
22.31.2.32.32.11.26.23.19
22.31.21.13.13.26.11.5.19
22.32.6.6.3.8.24.6.25.29
22.8.20.1.10.28.6.27
22.9.15.19.12
23.1.23.18.12.29
23.10.13.32.14.20.16.11.14
23.10.5.26.12.4.20.4
23.12.1.5.32.25.8.24.1.25
23.12.11.11.15.16.22.31.32.5.8
23.12.19.25.16.23.22.6.29.4
23.12.32.22.19.1.22.4
23.14.12.30.18.4.16.18.7.7
23.14.30.27.28.26.26.23.8.32
23.17.22.1.23.4.29.32.4.1
23.17.25.4.1.16.29.10
23.17.28.31.28
23.17.32.15.23.16.25
23.19.17.31.29.13.1.12.5.25
23.2.22.7.32.3.27.6
23.20.12.16.15.2
23.20.24
23.20.8
23.22.10.1.14.24
23.22.23.14.31.32
23.23
23.24.11.31.10.31.18.28.13.18.6
23.24.16.32.13.29
23.25.23.11.7.23
23.27.27.16
23.27.6.26.22
23.28.1
23.28.20.25.30.24.15
23.28.3.30.15.31.32.3.21.9.19
23.3.20.24
23.3.32.21.5.14.10.17.1
23.31.27.16.8.30.20.27
23.32.5.25.19.9.15.17.15.11
23.5.5.17
23.5.7.12.11.23.10
23.6.27
23.8.13.22.21
24.1.10.20.28.18.6.27.20.30.26
24.1.29.32.14.15.32.6.15.22
24.10.10.31.4.29.9
24.10.8.25.16
24.11.5
24.12
24.13.1.8
24.15.15.17.22
24.16.27.10.9
24.17.24
24.17.31.20.12.9.19.29.18
24.18.16
24.2.26.24.14.15.31.23.17.26
24.2.6.7.16.7.28
24.20.23
24.21.14.25.11.3.20.6.6.16
24.23.24.4.15.25.17
24.23.29.8.24.11.21.10.28.14.27
24.24
24.25.7.27.30.8.26.17
24.27.14
24.27.18.32.14.9.11.28.9
24.28.13.26.8.8.31
24.28.32.21
24.3.23.25
24.31
24.31.2.13.5.23.18.16
24.31.8
24.32.17.23.24.19.23.9.20.18
24.32.27
24.9
24.9.15.1.14.29.6.4
24.9.27.16.20.21
24.9.8.12.29
25.10
25.10.29.3.6.21.3.31.13
25.10.4.28.3.31.19
25.11.24
25.14.5.32.25
25.15.11
25.16.9.6
25.17.18.17.27
25.17.18.30
25.17.2.20.20.3.29.21.3.12
25.17.9.16.17.31.23.29.24
25.18.8.3.23.23.5.9.6
25.19.27.2.9.20
25.2.11.20.8.6.22
25.2.3.15.11.19.5.28.25.14
25.21.8.17
25.22.2.25.6
25.24.2.32.14.18.16
25.24.29
25.28.3
25.28.30.24
25.29
25.3
25.30.1.4.24.11
25.31
25.32.24.24.28.15.16.10
25.4.32
25.4.4.1.13.32.26.20.20.3
25.5.30.7.16.12.21.12.11.16
25.6
25.6.12.16.1
25.7.3.21.31.12.28
25.9
25.9.1.5.9.11.25.4.11.27.32
25.9.10
26.11
26.12.27.2
26.13.4.7.13.11.3
26.14
26.14.5.32.10
26.16.12
26.16.12.3.27.9.28
26.17.9.13.4.25.32.2.24.9
26.18
26.18.32.20
26.19.3.14.8.28.31.10
26.24
26.24.9.12.11.15.31.2
26.25.10.10.13
26.25.24
26.26.22.21.14.11.29.19.14.24
26.28.14
26.31.11.23.3
26.31.16.18.22.13.32.23.9.20
26.31.6.8.29.8.24
26.31.7
26.32.21.31.27.12
26.32.8.12.30.19.24.8.6.1.10
26.5.29.7.28
26.7.22.3.18.21.11
26.7.5.8.11.9.22.1.6
26.8.28
26.9.17.1.18.19.1.11.18.29.3
26.9.20.12.22.22.32
27.1.11.3.25.9.6.6
27.11.14.17.24
27.11.15.9.24.31.18.4.1.30.20
27.12.4.2.29.22.15
27.15.15.15
27.16
27.17.15.7.28.20
27.17.17.19.24.9.14.20
27.17.3.18.2.13.18
27.18
27.18.10.4.22
27.19.20.1.31.29.5.22.26.3
27.2.10.4.25.14.2.15.4
27.21.27.5.13.30.17
27.21.28.24.7.2.24.23.8
27.22.11.13.21.25.5.1.27.21.27
27.23.2.32.11.21
27.23.20.30.7
27.24.11.31.21.6.29.17.24.18
27.25
27.26.29
27.27
27.27.25.10.31.10.21.22.21.16.12
27.27.30.11.15.24.9.7.4.30
27.29.1.5.30.6.22.16.23.2.28
27.3
27.3.3.11.21.4.25
27.30.12.11.20.15.11.13
27.31.2.16.29.6
27.32.26.21.31.17.32.32
27.4
27.4.15.14.19.6.12
27.4.17.17.32.8.16.15.17.13
27.5.15.1.15.16.21
27.5.22
27.6.13.24.21.27.28.22.3.7.4
28.1.3
28.11.11.30.20.11.32
28.11.27.21.14.16
28.14.24.26.6.15.16.32.25.13.8
28.14.32.29.2.3.4
28.15.18.27
28.15.25.7.13.6.19.2
28.17.26.9
28.18.6.22.13.8.25
28.2.27.1.20
28.20.8.9.9.28.30.29
28.23.2.30.3.8.1.15.15.14.13
28.25.10.25.19.15
28.25.11.22
28.25.29.4.13.5.6
28.26.25.7
28.26.26.6.31
28.26.4.22.13.20.32.27.15
28.27.24.14
28.28
28.30.24.16.17.28.2.13.10
28.31.10.28.22.26.16.15
28.4
28.5.12.9.2.27.11.11.2
28.5.13
28.6
28.6.11.6.15.22.12.6
28.6.8.22.25
28.8.21.15.16.28.4.16.26.8
28.9.3.16.17.21.23.30
29.1
29.1.2.14.14
29.1.7.26.25.11.22
29.10.12.17.12.16
29.10.17.11.28.12.18.5.19.15.21
29.11.20.22.27
29.14.12.9.17.5.32
29.14.31.25.7.32.23
29.15.29.8.31.26.1
29.20.1.11.21.16.1.2.14.28
29.23.1.21.31.8
29.23.15.25.1.6.6.10
29.25.29.16.32.11.15.25.5.22.3
29.25.30.15.21.3.25.26.26
29.26.25.14.24.18.2.13.23.29
29.27
29.27.13.29.10.2
29.27.13.9.28.29.19.13.29.31.27
29.27.5.22.26
29.27.7.7.3.11.14.26.21.11
29.28.9.15.8.27.31
29.29.17.31
29.29.18
29.3.15.17.12.29
29.3.17.17.18.32
29.30.21.8.16.23.32
29.30.7.31.22
29.32.13.4.1.16.20
29.5.18.27.3.21.18.6.14
29.5.32.20.11.7.13.24.17
29.6.12.31.20.23.32.20
29.9.25.27.15.16.32.26.6.32
3.1.13.22.24.14.12.31.3.4
3.1.14.8.9.16.30.22.20
3.10
3.10.27.4.5.6.19.12.28.12
3.10.4.5.28.11
3.11.18.21.5.20.30
3.11.32.11.22.3.7.17.8.13.23
3.13
3.14.1.14.17.28.29.16
3.14.11.15.21.32.2.15.13
3.14.30.5.32.22.29
3.15.2.23.22.2.16.14
3.18
3.18.18
3.18.8.22.7.28.32.31.3
3.19.11.6.5
3.20.16.13.29.20
3.20.19.10.17.27.3.6.22.23
3.21.16.24.23.12.16.32.3
3.21.6.13.12.18.25
3.22.18.1.5.14.9.6.14
3.25
3.26
3.26.32
3.27.18.8.4.21.6.32.30.7.5
3.29.19.2.24
3.29.32.26.8.10.25
3.3
3.32.2.29.3.32.28.11.29.30
3.4.22.19
3.5
3.6.24.21.20.32.3.4.26.5
3.9.11.23.32.26.24.28
3.9.25.26.7
30.12.28.2
30.12.6.30
30.12.9.25.24.6.7.24.29
30.15
30.16.14.9.5.4.10.7.31
30.16.3.21.10
30.17.2.25
30.17.25.3.31.11.3.4.1.10
30.17.4.5.13.6
30.18.30.16.29
30.2.17.8.14
30.20.3.2.5.15.8.7.17
30.22.29.21.19.14.3.2.6
30.23.10.1.10.7.22.28.18.11.17
30.23.2.13.14.15.29.19.4.12.24
30.24
30.24.23.25.32.18.22.12.29.9.22
30.24.32.15.14.10.11
30.25
30.25.17.17.10.29
30.25.24.22
30.25.8.24.6.29.31
30.27.8.6.11.19
30.3.16.26.7.27.26.9.27.21.18
30.30.17.5.30.21.19.5.22.22.14
30.31.13.9
30.32
30.4.30.11.13.23.14.24.11
30.5
30.6.4
30.8.18.5.20.6.15
30.8.9.14.25.30
30.9.24
31.13
31.13.9.1.5.12
31.17
31.17.2.30.11
31.18
31.18.25.1.14.29.25.5.22.30
31.18.27.15.20.29.29
31.18.32.11.7.25.20.5
31.21.14.20.1.22.2.5.3.27.12
31.21.22.14.8.21
31.24.26.18
31.28.32.4.31.4.7
31.29.18.26.1.26.17
31.29.4.29.24.30.30.32.10.23
31.30.12.20
31.30.23.7.7.24.32.10.11.1.31
31.32.12.26.31.32.14.23.28
31.4.7
31.5.6.4.8.29.3
31.7.14.2
31.9.3.5
32.1.21.1.16.29.21
32.1.23.20.14.12.23.5.32.15
32.1.24.29.22.5.9.24.18.3.13
32.1.31
32.15.20.28.5.1.23.4
32.16
32.17.8.24.2.14.5.4.22
32.19.20.24.23.31.8.32.16.29
32.2.11
32.24.11.8.12.23.22.19.11.17.18
32.24.29.6
32.25.16
32.25.3.6
32.27.13.6.7
32.27.18.7.3.4.2
32.28.1.32.28.10
32.29.24.31.25.6.9
32.3.12.2
32.3.23.7.2
32.3.5.9.17.15
32.30.18.17.1.14.12.18
32.31.11.22.1
32.31.26.19.13.29.4.25
32.4.19
32.6.13.8.32
32.6.15.26.14.15.3.19
32.6.3.2.12.5.28.1.25
32.6.31.31
32.6.8
32.6.9.26.16.4.4.29.7.11
32.8.29.18.31
32.8.5
4.1.24.24.28.24.18
4.10.28
4.11.19.17.2.22.20.18.13.32.15
4.11.22.4.19.24.4.28.6.8.22
4.13
4.13.22.11.9.13.27.15.7
4.14
4.14.10.19.16
4.14.16.14.1.8.1.22.17.10
4.14.17.12.20.17.1.22.3
4.14.32
4.15.20.23.12.16.2.16.17
4.16.22.19.24.21
4.16.7.25.21.7
4.18.29.9.16.10
4.19.16.15.5.2.25.8.28.14.2
4.2.16.13.16.11.19.10.10.25
4.2.2.32.24.25.31.3
4.2.6.20.7.8
4.21.28.5.16.29.5.21
4.21.9.1.2.14.8.17.13.26
4.22
4.22.17.10.19.9.8.19.28.3.9
4.22.7.19.25
4.25.12.10.15.9.18.9
4.26.2.2
4.26.23.6.19.31.10.4.22
4.26.5.26.21.28.17.24.25.23
4.27.32.18
4.3.20.27.9.1.18.30.12.5.19
4.3.6.27.22.23.10
4.30.8.20.19.9.30.24.11
4.31
4.5.9.4.15.19.8.26.17.26.3
4.7.1
4.9
5.1.5.31
5.10
5.10.2.11.21.9.19
5.10.3.9.23.30.23
5.12.2.20.1.24.25
5.13.23.19.28.26.27.6.1.22
5.13.23.4.9
5.14.27.15.11.17.3.10.27.25
5.14.29.2.23.16.20.22
5.15.10.3.23.13.32.23
5.15.16
5.18.9.25.31.21.22
5.19.1.26.20.6.20
5.2.32.19.13.29.12.13.31.29
5.20
5.21.27.13.14.11.2.16.20
5.23.31.18.24.32
5.24.24.9.32.26.31
5.24.25.15.27.30.20
5.24.4.31.3.16.25.17.13.26.11
5.27.16.3.30
5.27.21.1.29.29.28
5.27.28.26.14.15.6.20.1.31.13
5.27.32.21.5.1.11.14
5.3.17.29
5.3.29.9.22
5.31.8.1.5.13.21.28.29.19.2
5.4.8.25.12.27.2.29.28.3
5.5.12.31.23.13.17.22.20
5.8
5.8.17.30.15.8.19.29.30.11.6
5.9.19.6
6.1.8.6.30.29.30
6.10.25.12
6.11.11.5.16.8.14.12.9
6.11.31.23.12.8.30.14.27
6.13.31.5.7.26
6.14
6.17.10.10.7.9.27.8.29
6.17.26.25.27.11.10.9
6.18.1.4.18.23
6.19.29.11.2.32.21.15.32.9
6.19.3
6.19.6.4.9.11.32.17.17.3.15
6.2.32
6.20
6.20.14
6.21.30.7
6.22.12
6.25.17.32
6.26
6.26.29.10.21.28.20.19
6.27.26.1.20.24.6
6.27.29.14.8.12.26.3.21.4.1
6.29.32.13.30.3.16
6.29.6.13.14.24.10.4.14.28
6.5.27.19.13.26.1.18.9
6.6.22.8
6.7.25.16.13.21.7.20.25.12.4
6.7.7
6.8.7.20.2
6.9.1.10.10.22.6
6.9.29.17.4.32
7.10.17.21.11.29.17.25.19.4.29
7.11
7.12
7.12.1.10.6.17.29.24.24.4
7.12.23
7.13
7.13.15
7.14.22.29.30.14.25.1.9.26.25
7.16.20.17
7.19.10.12.31.1.27.13.19
7.19.12.3.21.19.18.5.2.14.10
7.19.6.17.15.26.21.9
7.21.8
7.23.1.24.29.13.31.19.23.17.7
7.23.15.32.28.27.2.2.26
7.26.18
7.27.20
7.30.19.25.23.15.14.29
7.30.5.10.10.5.30.14.9.18
7.31
7.31.2.28.15.11.17.18.19.23.6
7.31.4.20.17
7.32.10.3.30.12.14
7.5.28.8.17.26.31.10.15
7.7
7.7.22.24.17.32.17.25.28
7.7.25.22.22.26
8.1.29.18.22
8.10
8.11.20
8.12.4
8.13.1
8.13.14.11.11.29.22.4.4.10
8.13.6.12.18.7
8.13.9.31.20.20.24.7.23.31.28
8.14.19.18
8.16
8.16.1.16.28.6.3.22.6.23
8.16.20.24.20.6.10.21
8.16.30.29.19.22.28.24.2
8.16.6
8.17.25.26.15.25
8.17.9.15.21.28.1.7.1.3.6
8.2
8.2.18.23.5.16.17.1
8.21.17.3.6.3.18
8.21.8.23.4.18
8.22.32.17.16.28.31.23.22.9
8.24.11.13.25.19
8.25.20.3.15.24.7.4.24.5.30
8.26.29.13.7.25.31.28.3.32
8.27.3.4.12.26.16
8.29.6.3
8.3.18.13.30.20.27.26.17.28
8.3.3.25.25.15.7.13.21.18
8.31.22.27
8.32.30.1
8.5.24.9.29.32.31.30.13.9.7
8.5.30.29.9.31
8.6.6.5.8.8.12
8.9.21.16.29
8.9.22
8.9.25.25.26.30.31.31.2.32.7
9.10.19.18.15.11.22.32.32.14.9
9.10.32
9.14.27.31.26.21.25.3.20
9.16.2.16.22.24.17.31.14.21.17
9.17.13.31.7
9.18.23
9.18.30.11.29.32.7.19.2
9.19.7.13.13.25
9.2.10.4
9.2.4.27.26
9.21.14.19
9.21.20.29.1
9.21.28.8.12.15.3.13.10.11
9.22.10.15.5.15
9.23.21.22.5.29.15.21
9.26.1.16
9.28.10.26.14.26.15.14
9.28.24
9.28.30.1.6.25.17.9
9.3.3
9.3.31.18.12.3.9.29.10
9.30
9.31.23.19.5.10.16.4.30.24.5
9.31.4.14.31.10.17.5.2
9.5
9.5.9.3.23.9.25.14.1.29.28
9.6.9.21.6.11.29.13.29.20.32
9.7.31.11.8.23
9.8.23.2.20.16
9.9.13.9.14.27
(882 rows)
SELECT * FROM ltreetest WHERE t @> '1.1.1' order by t asc;
t
-------
1
1.1
1.1.1
(4 rows)
SELECT * FROM ltreetest WHERE t <@ '1.1.1' order by t asc;
t
-----------
1.1.1
1.1.1.1
1.1.1.2
1.1.1.2.1
(4 rows)
SELECT * FROM ltreetest WHERE t @ '23 & 1' order by t asc;
t
--------------------------------
1.10.23.25.5.11
1.10.4.18.22.23.24
1.12.25.26.22.8.15.23
1.19.22.11.14.7.32.23.19.14
1.21.28.4.23
1.26.15.23.5.31.29.11.19.28.1
1.27.22.23.2.26.32.17.7.9
10.12.9.6.6.26.14.8.23.1.25
12.27.23.32.1.1.9.29.13
14.1.15.25.27.23.25.26.28.10
14.27.29.23.4.1.17.32.6.25.22
15.11.26.1.30.6.23.5
19.22.29.32.1.21.26.24.23.17
19.9.32.23.13.24.1
21.23.17.8.23.11.8.1
22.30.31.24.23.22.5.20.28.1
23.1.23.18.12.29
23.12.1.5.32.25.8.24.1.25
23.12.32.22.19.1.22.4
23.17.22.1.23.4.29.32.4.1
23.17.25.4.1.16.29.10
23.19.17.31.29.13.1.12.5.25
23.22.10.1.14.24
23.28.1
23.3.32.21.5.14.10.17.1
27.29.1.5.30.6.22.16.23.2.28
28.23.2.30.3.8.1.15.15.14.13
29.23.1.21.31.8
29.23.15.25.1.6.6.10
30.23.10.1.10.7.22.28.18.11.17
31.30.23.7.7.24.32.10.11.1.31
32.1.23.20.14.12.23.5.32.15
32.15.20.28.5.1.23.4
5.13.23.19.28.26.27.6.1.22
6.18.1.4.18.23
7.23.1.24.29.13.31.19.23.17.7
8.16.1.16.28.6.3.22.6.23
8.2.18.23.5.16.17.1
9.5.9.3.23.9.25.14.1.29.28
(39 rows)
SELECT * FROM ltreetest WHERE t ~ '1.1.1.*' order by t asc;
t
-----------
1.1.1
1.1.1.1
1.1.1.2
1.1.1.2.1
(4 rows)
SELECT * FROM ltreetest WHERE t ~ '*.1' order by t asc;
t
--------------------------------
1
1.1
1.1.1
1.1.1.1
1.1.1.2.1
1.1.2.1
1.26.15.23.5.31.29.11.19.28.1
10.13.22.1.8.30.9.24.1.2.1
10.22.1
10.26.30.15.1
11.1
12.1.1
17.25.2.13.10.27.13.1
18.13.6.12.26.26.26.29.18.20.1
19.20.25.7.27.28.27.17.9.3.1
19.9.32.23.13.24.1
20.17.18.21.1
20.4.27.31.1
21.18.2.1
21.23.17.8.23.11.8.1
22.30.31.24.23.22.5.20.28.1
23.17.22.1.23.4.29.32.4.1
23.28.1
23.3.32.21.5.14.10.17.1
25.6.12.16.1
29.1
29.15.29.8.31.26.1
32.31.11.22.1
4.7.1
6.27.29.14.8.12.26.3.21.4.1
8.13.1
8.2.18.23.5.16.17.1
8.32.30.1
9.21.20.29.1
(34 rows)
SELECT * FROM ltreetest WHERE t ~ '23.*{1}.1' order by t asc;
t
---------
23.28.1
(1 row)
SELECT * FROM ltreetest WHERE t ~ '23.*.1' order by t asc;
t
---------------------------
23.17.22.1.23.4.29.32.4.1
23.28.1
23.3.32.21.5.14.10.17.1
(3 rows)
SELECT * FROM ltreetest WHERE t ~ '23.*.2' order by t asc;
t
------------------
23.20.12.16.15.2
(1 row)
SELECT * FROM ltreetest WHERE t ? '{23.*.1,23.*.2}' order by t asc;
t
---------------------------
23.17.22.1.23.4.29.32.4.1
23.20.12.16.15.2
23.28.1
23.3.32.21.5.14.10.17.1
(4 rows)
create unique index tstidx on ltreetest (t);
set enable_seqscan=off;
SELECT * FROM ltreetest WHERE t < '12.3' order by t asc;
t
----------------------------------
1
1.1
1.1.1
1.1.1.1
1.1.1.2
1.1.1.2.1
1.1.2
1.1.2.1
1.1.3
1.1.7.32.11.22
1.10.21
1.10.23.25.5.11
1.10.4.18.22.23.24
1.10.5.22.13
1.11.10.19.6.1.26.17.2.22
1.12.25.26.22.8.15.23
1.13.16.27.11.16.30.2.9.18.4
1.14.3.7.3.17.2.29
1.15.17.6.28.25.24.31.27.9
1.16.8.18.14.16.21.25.6
1.18.29.30.22.14.3.20.15.21.20
1.19.22.11.14.7.32.23.19.14
1.20.18.25.3.24.25.10.9
1.20.22.26.2.6.11
1.21.28.4.23
1.22.19.24.8.11
1.22.29.5.16
1.25.7.9.26.17.31.20.13
1.26
1.26.15.23.5.31.29.11.19.28.1
1.27.22.23.2.26.32.17.7.9
1.28.19.8.25.6.20.27.29.27
1.28.3.22
1.29.18.1.21.12.13.27.32.15
1.3.15.11.11.25.24.21.19
1.30.18.31.12.25.4.19.28.12.15
1.30.31.31.20.16.7
1.31.3
1.4.14.32.14
1.8
1.9.18.10.1.26.22.16.17
10.11.25.2.24.18.18.21.6.26.21
10.12.23.22.23.22.20.17.17.9
10.12.9.6.6.26.14.8.23.1.25
10.13.12.8.4.8.11.30
10.13.22.1.8.30.9.24.1.2.1
10.15.16.3
10.16.18.9.27.2.29.32.24.13
10.16.19.7.15
10.18.12.27.24.30.32.7.11.5.13
10.2.17.26.16.7.19.6.23.3
10.20
10.22.1
10.22.30.16.2.21.17.13
10.26.27.23.4.31.11.25.29
10.26.30.15.1
10.27.7.24.26.11.31.20.29
10.28.22.29.13.19.6.7.6.14
10.28.7.16.31
10.29
10.29.26.4.27.17.11
10.3
10.3.19
10.31
10.31.25.31.24.16.17
10.32.14
10.5.23.5.32.9.18.5.30
10.5.5.15.29.2
10.7.9
10.8.20.11.12.23.22
11.1
11.1.3.28.30.21.24.14
11.10
11.10.22.18
11.11.11.4.23.21.25
11.11.9.30.15.29.15.18
11.12.6.21
11.14.21.24.10.7.29.23.24.28
11.15.11.19.29.10
11.16.16.28.14
11.17.10
11.17.17.24.11.23.17.17.18.10.22
11.18.4.8.3.13.14.28.18.31
11.19.23.3.6.11
11.2.27.3
11.21.13.9.19
11.21.16.27.16
11.22.28.8.12.23.25.15.21.28
11.29
11.3.15.28.22.8.14
11.30
11.30.20.15.18.32.1.18.25.26.8
11.32.18.31
11.6.11.29.4.5.24.6.26.12
11.7.31.15.22
11.8.18
12.1.1
12.1.28.22.25
12.10
12.10.11.9.10.31.4.16.31
12.11.17.1.2
12.11.20.20.29
12.13.16.17.29.27.16.14.9.19.9
12.13.5.31
12.14.20.8.28.4
12.15.10.17.18.13
12.16.13
12.16.2.4.15
12.17.10.7.17.16
12.18
12.2.4.28.21.30.24
12.21.15.27.24.15.8.24.24.26
12.21.20.20
12.22.20.4.12
12.23.3.19.29.15.12.6
12.24.29.32.32.29.2
12.25.32.2.27.3.3.16
12.27.23.32.1.1.9.29.13
12.27.30.12.24.2.20
12.28.12.24.28.15.5.12.30.13.21
12.29.17.2.20.29.1.11.19.8.12
12.29.26.18.4.21.28.8.13.3
(123 rows)
SELECT * FROM ltreetest WHERE t <= '12.3' order by t asc;
t
----------------------------------
1
1.1
1.1.1
1.1.1.1
1.1.1.2
1.1.1.2.1
1.1.2
1.1.2.1
1.1.3
1.1.7.32.11.22
1.10.21
1.10.23.25.5.11
1.10.4.18.22.23.24
1.10.5.22.13
1.11.10.19.6.1.26.17.2.22
1.12.25.26.22.8.15.23
1.13.16.27.11.16.30.2.9.18.4
1.14.3.7.3.17.2.29
1.15.17.6.28.25.24.31.27.9
1.16.8.18.14.16.21.25.6
1.18.29.30.22.14.3.20.15.21.20
1.19.22.11.14.7.32.23.19.14
1.20.18.25.3.24.25.10.9
1.20.22.26.2.6.11
1.21.28.4.23
1.22.19.24.8.11
1.22.29.5.16
1.25.7.9.26.17.31.20.13
1.26
1.26.15.23.5.31.29.11.19.28.1
1.27.22.23.2.26.32.17.7.9
1.28.19.8.25.6.20.27.29.27
1.28.3.22
1.29.18.1.21.12.13.27.32.15
1.3.15.11.11.25.24.21.19
1.30.18.31.12.25.4.19.28.12.15
1.30.31.31.20.16.7
1.31.3
1.4.14.32.14
1.8
1.9.18.10.1.26.22.16.17
10.11.25.2.24.18.18.21.6.26.21
10.12.23.22.23.22.20.17.17.9
10.12.9.6.6.26.14.8.23.1.25
10.13.12.8.4.8.11.30
10.13.22.1.8.30.9.24.1.2.1
10.15.16.3
10.16.18.9.27.2.29.32.24.13
10.16.19.7.15
10.18.12.27.24.30.32.7.11.5.13
10.2.17.26.16.7.19.6.23.3
10.20
10.22.1
10.22.30.16.2.21.17.13
10.26.27.23.4.31.11.25.29
10.26.30.15.1
10.27.7.24.26.11.31.20.29
10.28.22.29.13.19.6.7.6.14
10.28.7.16.31
10.29
10.29.26.4.27.17.11
10.3
10.3.19
10.31
10.31.25.31.24.16.17
10.32.14
10.5.23.5.32.9.18.5.30
10.5.5.15.29.2
10.7.9
10.8.20.11.12.23.22
11.1
11.1.3.28.30.21.24.14
11.10
11.10.22.18
11.11.11.4.23.21.25
11.11.9.30.15.29.15.18
11.12.6.21
11.14.21.24.10.7.29.23.24.28
11.15.11.19.29.10
11.16.16.28.14
11.17.10
11.17.17.24.11.23.17.17.18.10.22
11.18.4.8.3.13.14.28.18.31
11.19.23.3.6.11
11.2.27.3
11.21.13.9.19
11.21.16.27.16
11.22.28.8.12.23.25.15.21.28
11.29
11.3.15.28.22.8.14
11.30
11.30.20.15.18.32.1.18.25.26.8
11.32.18.31
11.6.11.29.4.5.24.6.26.12
11.7.31.15.22
11.8.18
12.1.1
12.1.28.22.25
12.10
12.10.11.9.10.31.4.16.31
12.11.17.1.2
12.11.20.20.29
12.13.16.17.29.27.16.14.9.19.9
12.13.5.31
12.14.20.8.28.4
12.15.10.17.18.13
12.16.13
12.16.2.4.15
12.17.10.7.17.16
12.18
12.2.4.28.21.30.24
12.21.15.27.24.15.8.24.24.26
12.21.20.20
12.22.20.4.12
12.23.3.19.29.15.12.6
12.24.29.32.32.29.2
12.25.32.2.27.3.3.16
12.27.23.32.1.1.9.29.13
12.27.30.12.24.2.20
12.28.12.24.28.15.5.12.30.13.21
12.29.17.2.20.29.1.11.19.8.12
12.29.26.18.4.21.28.8.13.3
12.3
(124 rows)
SELECT * FROM ltreetest WHERE t = '12.3' order by t asc;
t
------
12.3
(1 row)
SELECT * FROM ltreetest WHERE t >= '12.3' order by t asc;
t
----------------------------------
12.3
12.4.10.17.4.10.23.3
12.4.12.13.25.30.30.8.9.12
12.4.24.6.1.13.5.20
12.4.26.23.25.5.15.7.16
12.6.14.23.19.21.9.12
12.7.16.8.21.22.2.16.18
12.7.28.26.14.21.18.31.5.15.11
13.1.6.17.28.9.15.30.1.27.14
13.12
13.14.13.10.28.26.9.18.27.21
13.16.1.27.18.18.19.6.14.4
13.16.4.28
13.17.7
13.19.2.6.23.19.9.7.21.8.16
13.24
13.25.10.25.8.16
13.26.17.3.2.19
13.28.12.6
13.28.14.2.8.18
13.28.9.3
13.3.20
13.3.8
13.30.24
13.32.15.32.26.14.32
13.7
13.8.15.3.7.31.5.10.15.30
13.8.20.9.21
13.8.23.13.11.18.24.21.11.24.10
13.9.9.27.31.11.25.9.27.22.13
14.1.11
14.1.15.25.27.23.25.26.28.10
14.10.11.30.5.7.6.24.9.30.26
14.11.25
14.12.31
14.13.9.13.11.5.5.2.2.32.12
14.14.25
14.15.31.29
14.16.6.29.26.13.14.16.25.26.8
14.17.7.30.8.25.26.4
14.19.20.13.27.2.2
14.19.26.15.22.23
14.19.30.6.4.10.10.10.22.25.11
14.2.14.11.12
14.21.22
14.21.5.28.3.32.24.14.25.31
14.21.6.5.26.9.32.16.25
14.23.31.5.5.15.17.12.17.7.3
14.24
14.26.25.4.12.26.8
14.27.29.23.4.1.17.32.6.25.22
14.29
14.3.17.1.14.15.21.4.26
14.30.13.5.26.9.22.23.14.10
14.30.2.21.15.16.13
14.30.23.3
14.4.19.27.28.24.19
14.4.23.4.23.22.11.6.26.5
14.5.13.19.25.12.32.9.13.16.12
14.6.10.29.25.26.20.24.24
14.8.15.30.7.29.27.31.4
14.9.15.21.21.31.1.29
15.1.6.31.30.13.32.9.10
15.1.8
15.10.30.1.4.12.8.20
15.11.26.1.30.6.23.5
15.17
15.17.2.32.7
15.21.22
15.21.23.30.9.25
15.23.26.20.27.7
15.25.31.11.4.22.16.7.11
15.26.24.31.16.15.17.22.8.30.3
15.28.24
15.28.30.19.31.6.2.2.31
15.29.25
15.29.32.16.29.12.20.32.13.20
15.3.31.9.27.14.9.8.14.6.32
15.30.17.5.32.28.2.18.27
15.31.11.27.19.19.20.5.5
15.4.15
15.5.1.31.28.10.8
15.6.19.3
15.7.3.14.23.19.26
15.7.5.12.7.9.3.28.26
15.8.10
15.8.3.15.27.14.29.28.6.5.25
15.9.11.20.22.15.11.13
15.9.8.20.27
16.13.19.11.18.13.17.17
16.13.2.19.14.29.31.30.23.15.12
16.13.26.18.9.29.11.17.1.24.26
16.14.3.17.17.26.12.19.19.30
16.16.28.24.11
16.18.23.6.31
16.19.17.30.30.5.17.24.27
16.2.14.3.26.11
16.20.29.26
16.21.13.1.4
16.23.30.12.31.31.19.14
16.24.3.30.15.22.31.2
16.24.7.25
16.27.8.17.14.17.21.29.14
16.28
16.29.6.23.13.28.31.6.19.26.15
16.30.10.7.29.4.9.21.22.13.26
16.31.12.27.25.9.32.29
16.5
16.5.10.2.18.8.15.12.32.25.10
16.5.12.5.15.12.24.25.3
16.5.14.21.32.17.23.3.4.26
16.5.23.17
16.5.6.12
16.8.29.7.21.2.3
16.9.14.28.6.21.31.31.26
16.9.29
16.9.32.14.3.7.8.7.21.22
17.1.12.20
17.10.17.22.20.25.14.13
17.11.17.4.8.26.26.20.6
17.13.14.29.27.27.13.12.15
17.13.19.31.12.18.10.15.14
17.13.8
17.14.7.3.2.18.20.23.18.5
17.17.14.28.6.30
17.19.1.22.11.7.22.1.14.28.11
17.22.12.10.30.11
17.24.15.27.3.32.4.22.20.6.24
17.24.30.6.32
17.25.10.13.21.5.7.22.2
17.25.2.13.10.27.13.1
17.25.26.23.32
17.26.18
17.27
17.29.21.10.18.8.16.26.18.21.26
17.29.31.8.24.10.18.27.17
17.3
17.5.3.15.17.13.5
17.7.26.30.18.23.4
17.8
17.8.31.32
17.9.32.31.21.31.23.17.10.32.9
18.13.6.12.26.26.26.29.18.20.1
18.13.9.3.18.15.2
18.15.14
18.17.6.16.6.10
18.18.19.16.14.16.21.10.25
18.18.5.11.7.4.25
18.19.11.20.13.13.11
18.19.12.20.18.17.15.32.18.5
18.21
18.24.21.17.11.26.28.22.21.18.10
18.27.11.27.9.16.7.6.22.26.27
18.29.13.24.18.3.12.18.12.12
18.29.5.1.10.21.2
18.30.11.17
18.30.18.31
18.31.26.18.6.15.18.11
18.31.32.28.1.4.24.24.12.25
18.31.32.29.22.1.31.11.28
18.4
18.4.14.29.3
18.5.6.31.5.15.15
18.6.2.2.24
18.6.26.2.13.9.6.11.10.11.16
18.7.10.27.17.24
18.7.3.17.13.5.31.6.31.25.29
18.9.21.2.31.8.32
18.9.26.7
19.10.26.19.5.21.30.23
19.10.4.30.32.4.12
19.10.8.10.4.19
19.11.10.18.14.13.7.7
19.11.29.13.15.27.12.15.14.12
19.12.20.24.32.13.11.23.26
19.12.26.24.29.3
19.12.30.2.21
19.15.26.19
19.16.26.2
19.16.31.31.29.12
19.17.12.15
19.17.13.12.32.16.3
19.19.25.22.11.6.15.3.2.19
19.2.26.21.16.11.2.2
19.2.9.29.6
19.20.25.7.27.28.27.17.9.3.1
19.22.21.13.27.13.15
19.22.29.32.1.21.26.24.23.17
19.26.24.27.6.24.16.27.32.29
19.26.32.13.1.12.30.26.22.25
19.3.12.12
19.3.23.4.4.21.23
19.30.18.11.32.14
19.30.27.26.21.7.18
19.31.14.25.5.8.21.11.13.20
19.5.20.3.4.2.3
19.6.13.14.22.13.9.29
19.6.24.32.30.13.6.25.8.28
19.7
19.7.29.31.3.20.7.21.25.27.29
19.9.32.23.13.24.1
2.1.12.19.29.28.3.31.28.28.10
2.1.3.30.24.17.9
2.10.10.4.20.1.12.13
2.10.28.1.17.19.32.28
2.11.32.25.23
2.12.14.28.16.21
2.12.30.22.12
2.13.9.23.21.2
2.13.9.28
2.14.10.4.17.17.8.4.27.20
2.14.12.13
2.15.14.20.30.26
2.15.18.21.5.21.4.7.30
2.16.3.7.22.18.29.20
2.19.4.1.15.7.8.9.17.29
2.2.18.18.3.3.18.8.10.8
2.22.19
2.24.4.5.24.32
2.24.5.3.4.10.27.26.17.28.16
2.27.15.14
2.28.5.17.6.32
2.30.26.10.14.31.18.2
2.31.25
2.32.10.13.12
2.32.8.28.24.20.9.24.25.8.9
2.4.25.32.16.22.26.13.17.18
2.6.15.26.23.26.24
2.8.13.12.17.23.16.7.11.23
2.9
20.1.24.3.30.31
20.13
20.14.11.2.10.14
20.15
20.17.14.7
20.17.18.21.1
20.18.24.14.12.13.9
20.20.32.29.24.5.5.26.22.32
20.20.7
20.22.10
20.23.29.5.7.30.13.14.22
20.23.7.11.11.31.18.16.3
20.24.14.15.4.21.12.27.4.12
20.25.22.19.22
20.28.22.7.10.28.27.22.14.16
20.29.18.16.2.21.23.11
20.3.1.8.8.30.20
20.30.17
20.30.28.15.17
20.30.9.9.14.12.29
20.31.13.12.19.2.26.16.16.22.28
20.32.5.1.3.20.3.30.27
20.32.9
20.4.1.16.31.3
20.4.27.31.1
20.5.4.9.31.14.26.6
20.6.26.3.30
20.6.3.26.7.29.28.4
20.8.19.14.16.7
20.9.29.32.13.7.23
21.1.4.9.9.31.24.21.3.29
21.10.20.9.3.16.9.10.20
21.14
21.14.13
21.14.22.29
21.14.25.20.13.31.14.20
21.15.18.18.30.3.20
21.15.31.24.29.24.26.12.20
21.17.18.32.7.8
21.17.27.23.15
21.17.31.10.31.13.9.26.6.14
21.18
21.18.2.1
21.18.30.19.24.24
21.20.24.25.6.26.23
21.20.28.19.27.9
21.21.10.27
21.22.31.24.27
21.23.13
21.23.17.8.23.11.8.1
21.28.17.22.10.27.4.20.2.32
21.28.24.23.3.11.7.12.22.32
21.30.19.6.28.1.32.2.14.14
21.31.31.25.5.30.26
21.32.13.21
21.32.13.22.3.13.31.23.14.12.9
21.4.11.18
21.4.22.20.24.28.6
21.5.11.18
21.5.17.19.15.25.18.21.24.9
21.6.22.28.12.23.11.22
21.7.23.9.16.5.18.14
21.7.7.11
21.8.9
21.9.27.22.32
21.9.32.1.27
22.10.12.23.9
22.10.16.8
22.10.18
22.10.27.19.29.20.29.3.12.14.25
22.11
22.12.22.28
22.13.22.21.25.17.8
22.13.22.8.30.32.10.24
22.15
22.16
22.16.25.18.25.7.24.29.14.8
22.17.24.14.21.15.12.18.17.25.11
22.17.30
22.17.4.2.22.17
22.17.7.30.13.24
22.17.9.11.25.15.3.9
22.18.20.23.15.9.12
22.19.20.5.2.20
22.19.21.11.6.8.29.24
22.19.5.22.20.31.23.24.14.24.4
22.20.30
22.21.32.15.8.29.5.12.10.29
22.22.10.30.5.15.25.21.19.11
22.22.27.6.27.15.5.18.21.28.9
22.23.18.18.9.8.23.7.23.23.16
22.23.22.30
22.23.25.28.5.27.9.9.24.31.10
22.24.22.25.15.23.13
22.25.4.28.9.20.12.13
22.26.1.28.9.9.31
22.26.32
22.28.20.6.32.32
22.29.18.32.13.12.22.31.17.22
22.29.29.11
22.3.6
22.30
22.30.31.24.23.22.5.20.28.1
22.31.2.32.32.11.26.23.19
22.31.21.13.13.26.11.5.19
22.32.6.6.3.8.24.6.25.29
22.8.20.1.10.28.6.27
22.9.15.19.12
23.1.23.18.12.29
23.10.13.32.14.20.16.11.14
23.10.5.26.12.4.20.4
23.12.1.5.32.25.8.24.1.25
23.12.11.11.15.16.22.31.32.5.8
23.12.19.25.16.23.22.6.29.4
23.12.32.22.19.1.22.4
23.14.12.30.18.4.16.18.7.7
23.14.30.27.28.26.26.23.8.32
23.17.22.1.23.4.29.32.4.1
23.17.25.4.1.16.29.10
23.17.28.31.28
23.17.32.15.23.16.25
23.19.17.31.29.13.1.12.5.25
23.2.22.7.32.3.27.6
23.20.12.16.15.2
23.20.24
23.20.8
23.22.10.1.14.24
23.22.23.14.31.32
23.23
23.24.11.31.10.31.18.28.13.18.6
23.24.16.32.13.29
23.25.23.11.7.23
23.27.27.16
23.27.6.26.22
23.28.1
23.28.20.25.30.24.15
23.28.3.30.15.31.32.3.21.9.19
23.3.20.24
23.3.32.21.5.14.10.17.1
23.31.27.16.8.30.20.27
23.32.5.25.19.9.15.17.15.11
23.5.5.17
23.5.7.12.11.23.10
23.6.27
23.8.13.22.21
24.1.10.20.28.18.6.27.20.30.26
24.1.29.32.14.15.32.6.15.22
24.10.10.31.4.29.9
24.10.8.25.16
24.11.5
24.12
24.13.1.8
24.15.15.17.22
24.16.27.10.9
24.17.24
24.17.31.20.12.9.19.29.18
24.18.16
24.2.26.24.14.15.31.23.17.26
24.2.6.7.16.7.28
24.20.23
24.21.14.25.11.3.20.6.6.16
24.23.24.4.15.25.17
24.23.29.8.24.11.21.10.28.14.27
24.24
24.25.7.27.30.8.26.17
24.27.14
24.27.18.32.14.9.11.28.9
24.28.13.26.8.8.31
24.28.32.21
24.3.23.25
24.31
24.31.2.13.5.23.18.16
24.31.8
24.32.17.23.24.19.23.9.20.18
24.32.27
24.9
24.9.15.1.14.29.6.4
24.9.27.16.20.21
24.9.8.12.29
25.10
25.10.29.3.6.21.3.31.13
25.10.4.28.3.31.19
25.11.24
25.14.5.32.25
25.15.11
25.16.9.6
25.17.18.17.27
25.17.18.30
25.17.2.20.20.3.29.21.3.12
25.17.9.16.17.31.23.29.24
25.18.8.3.23.23.5.9.6
25.19.27.2.9.20
25.2.11.20.8.6.22
25.2.3.15.11.19.5.28.25.14
25.21.8.17
25.22.2.25.6
25.24.2.32.14.18.16
25.24.29
25.28.3
25.28.30.24
25.29
25.3
25.30.1.4.24.11
25.31
25.32.24.24.28.15.16.10
25.4.32
25.4.4.1.13.32.26.20.20.3
25.5.30.7.16.12.21.12.11.16
25.6
25.6.12.16.1
25.7.3.21.31.12.28
25.9
25.9.1.5.9.11.25.4.11.27.32
25.9.10
26.11
26.12.27.2
26.13.4.7.13.11.3
26.14
26.14.5.32.10
26.16.12
26.16.12.3.27.9.28
26.17.9.13.4.25.32.2.24.9
26.18
26.18.32.20
26.19.3.14.8.28.31.10
26.24
26.24.9.12.11.15.31.2
26.25.10.10.13
26.25.24
26.26.22.21.14.11.29.19.14.24
26.28.14
26.31.11.23.3
26.31.16.18.22.13.32.23.9.20
26.31.6.8.29.8.24
26.31.7
26.32.21.31.27.12
26.32.8.12.30.19.24.8.6.1.10
26.5.29.7.28
26.7.22.3.18.21.11
26.7.5.8.11.9.22.1.6
26.8.28
26.9.17.1.18.19.1.11.18.29.3
26.9.20.12.22.22.32
27.1.11.3.25.9.6.6
27.11.14.17.24
27.11.15.9.24.31.18.4.1.30.20
27.12.4.2.29.22.15
27.15.15.15
27.16
27.17.15.7.28.20
27.17.17.19.24.9.14.20
27.17.3.18.2.13.18
27.18
27.18.10.4.22
27.19.20.1.31.29.5.22.26.3
27.2.10.4.25.14.2.15.4
27.21.27.5.13.30.17
27.21.28.24.7.2.24.23.8
27.22.11.13.21.25.5.1.27.21.27
27.23.2.32.11.21
27.23.20.30.7
27.24.11.31.21.6.29.17.24.18
27.25
27.26.29
27.27
27.27.25.10.31.10.21.22.21.16.12
27.27.30.11.15.24.9.7.4.30
27.29.1.5.30.6.22.16.23.2.28
27.3
27.3.3.11.21.4.25
27.30.12.11.20.15.11.13
27.31.2.16.29.6
27.32.26.21.31.17.32.32
27.4
27.4.15.14.19.6.12
27.4.17.17.32.8.16.15.17.13
27.5.15.1.15.16.21
27.5.22
27.6.13.24.21.27.28.22.3.7.4
28.1.3
28.11.11.30.20.11.32
28.11.27.21.14.16
28.14.24.26.6.15.16.32.25.13.8
28.14.32.29.2.3.4
28.15.18.27
28.15.25.7.13.6.19.2
28.17.26.9
28.18.6.22.13.8.25
28.2.27.1.20
28.20.8.9.9.28.30.29
28.23.2.30.3.8.1.15.15.14.13
28.25.10.25.19.15
28.25.11.22
28.25.29.4.13.5.6
28.26.25.7
28.26.26.6.31
28.26.4.22.13.20.32.27.15
28.27.24.14
28.28
28.30.24.16.17.28.2.13.10
28.31.10.28.22.26.16.15
28.4
28.5.12.9.2.27.11.11.2
28.5.13
28.6
28.6.11.6.15.22.12.6
28.6.8.22.25
28.8.21.15.16.28.4.16.26.8
28.9.3.16.17.21.23.30
29.1
29.1.2.14.14
29.1.7.26.25.11.22
29.10.12.17.12.16
29.10.17.11.28.12.18.5.19.15.21
29.11.20.22.27
29.14.12.9.17.5.32
29.14.31.25.7.32.23
29.15.29.8.31.26.1
29.20.1.11.21.16.1.2.14.28
29.23.1.21.31.8
29.23.15.25.1.6.6.10
29.25.29.16.32.11.15.25.5.22.3
29.25.30.15.21.3.25.26.26
29.26.25.14.24.18.2.13.23.29
29.27
29.27.13.29.10.2
29.27.13.9.28.29.19.13.29.31.27
29.27.5.22.26
29.27.7.7.3.11.14.26.21.11
29.28.9.15.8.27.31
29.29.17.31
29.29.18
29.3.15.17.12.29
29.3.17.17.18.32
29.30.21.8.16.23.32
29.30.7.31.22
29.32.13.4.1.16.20
29.5.18.27.3.21.18.6.14
29.5.32.20.11.7.13.24.17
29.6.12.31.20.23.32.20
29.9.25.27.15.16.32.26.6.32
3.1.13.22.24.14.12.31.3.4
3.1.14.8.9.16.30.22.20
3.10
3.10.27.4.5.6.19.12.28.12
3.10.4.5.28.11
3.11.18.21.5.20.30
3.11.32.11.22.3.7.17.8.13.23
3.13
3.14.1.14.17.28.29.16
3.14.11.15.21.32.2.15.13
3.14.30.5.32.22.29
3.15.2.23.22.2.16.14
3.18
3.18.18
3.18.8.22.7.28.32.31.3
3.19.11.6.5
3.20.16.13.29.20
3.20.19.10.17.27.3.6.22.23
3.21.16.24.23.12.16.32.3
3.21.6.13.12.18.25
3.22.18.1.5.14.9.6.14
3.25
3.26
3.26.32
3.27.18.8.4.21.6.32.30.7.5
3.29.19.2.24
3.29.32.26.8.10.25
3.3
3.32.2.29.3.32.28.11.29.30
3.4.22.19
3.5
3.6.24.21.20.32.3.4.26.5
3.9.11.23.32.26.24.28
3.9.25.26.7
30.12.28.2
30.12.6.30
30.12.9.25.24.6.7.24.29
30.15
30.16.14.9.5.4.10.7.31
30.16.3.21.10
30.17.2.25
30.17.25.3.31.11.3.4.1.10
30.17.4.5.13.6
30.18.30.16.29
30.2.17.8.14
30.20.3.2.5.15.8.7.17
30.22.29.21.19.14.3.2.6
30.23.10.1.10.7.22.28.18.11.17
30.23.2.13.14.15.29.19.4.12.24
30.24
30.24.23.25.32.18.22.12.29.9.22
30.24.32.15.14.10.11
30.25
30.25.17.17.10.29
30.25.24.22
30.25.8.24.6.29.31
30.27.8.6.11.19
30.3.16.26.7.27.26.9.27.21.18
30.30.17.5.30.21.19.5.22.22.14
30.31.13.9
30.32
30.4.30.11.13.23.14.24.11
30.5
30.6.4
30.8.18.5.20.6.15
30.8.9.14.25.30
30.9.24
31.13
31.13.9.1.5.12
31.17
31.17.2.30.11
31.18
31.18.25.1.14.29.25.5.22.30
31.18.27.15.20.29.29
31.18.32.11.7.25.20.5
31.21.14.20.1.22.2.5.3.27.12
31.21.22.14.8.21
31.24.26.18
31.28.32.4.31.4.7
31.29.18.26.1.26.17
31.29.4.29.24.30.30.32.10.23
31.30.12.20
31.30.23.7.7.24.32.10.11.1.31
31.32.12.26.31.32.14.23.28
31.4.7
31.5.6.4.8.29.3
31.7.14.2
31.9.3.5
32.1.21.1.16.29.21
32.1.23.20.14.12.23.5.32.15
32.1.24.29.22.5.9.24.18.3.13
32.1.31
32.15.20.28.5.1.23.4
32.16
32.17.8.24.2.14.5.4.22
32.19.20.24.23.31.8.32.16.29
32.2.11
32.24.11.8.12.23.22.19.11.17.18
32.24.29.6
32.25.16
32.25.3.6
32.27.13.6.7
32.27.18.7.3.4.2
32.28.1.32.28.10
32.29.24.31.25.6.9
32.3.12.2
32.3.23.7.2
32.3.5.9.17.15
32.30.18.17.1.14.12.18
32.31.11.22.1
32.31.26.19.13.29.4.25
32.4.19
32.6.13.8.32
32.6.15.26.14.15.3.19
32.6.3.2.12.5.28.1.25
32.6.31.31
32.6.8
32.6.9.26.16.4.4.29.7.11
32.8.29.18.31
32.8.5
4.1.24.24.28.24.18
4.10.28
4.11.19.17.2.22.20.18.13.32.15
4.11.22.4.19.24.4.28.6.8.22
4.13
4.13.22.11.9.13.27.15.7
4.14
4.14.10.19.16
4.14.16.14.1.8.1.22.17.10
4.14.17.12.20.17.1.22.3
4.14.32
4.15.20.23.12.16.2.16.17
4.16.22.19.24.21
4.16.7.25.21.7
4.18.29.9.16.10
4.19.16.15.5.2.25.8.28.14.2
4.2.16.13.16.11.19.10.10.25
4.2.2.32.24.25.31.3
4.2.6.20.7.8
4.21.28.5.16.29.5.21
4.21.9.1.2.14.8.17.13.26
4.22
4.22.17.10.19.9.8.19.28.3.9
4.22.7.19.25
4.25.12.10.15.9.18.9
4.26.2.2
4.26.23.6.19.31.10.4.22
4.26.5.26.21.28.17.24.25.23
4.27.32.18
4.3.20.27.9.1.18.30.12.5.19
4.3.6.27.22.23.10
4.30.8.20.19.9.30.24.11
4.31
4.5.9.4.15.19.8.26.17.26.3
4.7.1
4.9
5.1.5.31
5.10
5.10.2.11.21.9.19
5.10.3.9.23.30.23
5.12.2.20.1.24.25
5.13.23.19.28.26.27.6.1.22
5.13.23.4.9
5.14.27.15.11.17.3.10.27.25
5.14.29.2.23.16.20.22
5.15.10.3.23.13.32.23
5.15.16
5.18.9.25.31.21.22
5.19.1.26.20.6.20
5.2.32.19.13.29.12.13.31.29
5.20
5.21.27.13.14.11.2.16.20
5.23.31.18.24.32
5.24.24.9.32.26.31
5.24.25.15.27.30.20
5.24.4.31.3.16.25.17.13.26.11
5.27.16.3.30
5.27.21.1.29.29.28
5.27.28.26.14.15.6.20.1.31.13
5.27.32.21.5.1.11.14
5.3.17.29
5.3.29.9.22
5.31.8.1.5.13.21.28.29.19.2
5.4.8.25.12.27.2.29.28.3
5.5.12.31.23.13.17.22.20
5.8
5.8.17.30.15.8.19.29.30.11.6
5.9.19.6
6.1.8.6.30.29.30
6.10.25.12
6.11.11.5.16.8.14.12.9
6.11.31.23.12.8.30.14.27
6.13.31.5.7.26
6.14
6.17.10.10.7.9.27.8.29
6.17.26.25.27.11.10.9
6.18.1.4.18.23
6.19.29.11.2.32.21.15.32.9
6.19.3
6.19.6.4.9.11.32.17.17.3.15
6.2.32
6.20
6.20.14
6.21.30.7
6.22.12
6.25.17.32
6.26
6.26.29.10.21.28.20.19
6.27.26.1.20.24.6
6.27.29.14.8.12.26.3.21.4.1
6.29.32.13.30.3.16
6.29.6.13.14.24.10.4.14.28
6.5.27.19.13.26.1.18.9
6.6.22.8
6.7.25.16.13.21.7.20.25.12.4
6.7.7
6.8.7.20.2
6.9.1.10.10.22.6
6.9.29.17.4.32
7.10.17.21.11.29.17.25.19.4.29
7.11
7.12
7.12.1.10.6.17.29.24.24.4
7.12.23
7.13
7.13.15
7.14.22.29.30.14.25.1.9.26.25
7.16.20.17
7.19.10.12.31.1.27.13.19
7.19.12.3.21.19.18.5.2.14.10
7.19.6.17.15.26.21.9
7.21.8
7.23.1.24.29.13.31.19.23.17.7
7.23.15.32.28.27.2.2.26
7.26.18
7.27.20
7.30.19.25.23.15.14.29
7.30.5.10.10.5.30.14.9.18
7.31
7.31.2.28.15.11.17.18.19.23.6
7.31.4.20.17
7.32.10.3.30.12.14
7.5.28.8.17.26.31.10.15
7.7
7.7.22.24.17.32.17.25.28
7.7.25.22.22.26
8.1.29.18.22
8.10
8.11.20
8.12.4
8.13.1
8.13.14.11.11.29.22.4.4.10
8.13.6.12.18.7
8.13.9.31.20.20.24.7.23.31.28
8.14.19.18
8.16
8.16.1.16.28.6.3.22.6.23
8.16.20.24.20.6.10.21
8.16.30.29.19.22.28.24.2
8.16.6
8.17.25.26.15.25
8.17.9.15.21.28.1.7.1.3.6
8.2
8.2.18.23.5.16.17.1
8.21.17.3.6.3.18
8.21.8.23.4.18
8.22.32.17.16.28.31.23.22.9
8.24.11.13.25.19
8.25.20.3.15.24.7.4.24.5.30
8.26.29.13.7.25.31.28.3.32
8.27.3.4.12.26.16
8.29.6.3
8.3.18.13.30.20.27.26.17.28
8.3.3.25.25.15.7.13.21.18
8.31.22.27
8.32.30.1
8.5.24.9.29.32.31.30.13.9.7
8.5.30.29.9.31
8.6.6.5.8.8.12
8.9.21.16.29
8.9.22
8.9.25.25.26.30.31.31.2.32.7
9.10.19.18.15.11.22.32.32.14.9
9.10.32
9.14.27.31.26.21.25.3.20
9.16.2.16.22.24.17.31.14.21.17
9.17.13.31.7
9.18.23
9.18.30.11.29.32.7.19.2
9.19.7.13.13.25
9.2.10.4
9.2.4.27.26
9.21.14.19
9.21.20.29.1
9.21.28.8.12.15.3.13.10.11
9.22.10.15.5.15
9.23.21.22.5.29.15.21
9.26.1.16
9.28.10.26.14.26.15.14
9.28.24
9.28.30.1.6.25.17.9
9.3.3
9.3.31.18.12.3.9.29.10
9.30
9.31.23.19.5.10.16.4.30.24.5
9.31.4.14.31.10.17.5.2
9.5
9.5.9.3.23.9.25.14.1.29.28
9.6.9.21.6.11.29.13.29.20.32
9.7.31.11.8.23
9.8.23.2.20.16
9.9.13.9.14.27
(883 rows)
SELECT * FROM ltreetest WHERE t > '12.3' order by t asc;
t
----------------------------------
12.4.10.17.4.10.23.3
12.4.12.13.25.30.30.8.9.12
12.4.24.6.1.13.5.20
12.4.26.23.25.5.15.7.16
12.6.14.23.19.21.9.12
12.7.16.8.21.22.2.16.18
12.7.28.26.14.21.18.31.5.15.11
13.1.6.17.28.9.15.30.1.27.14
13.12
13.14.13.10.28.26.9.18.27.21
13.16.1.27.18.18.19.6.14.4
13.16.4.28
13.17.7
13.19.2.6.23.19.9.7.21.8.16
13.24
13.25.10.25.8.16
13.26.17.3.2.19
13.28.12.6
13.28.14.2.8.18
13.28.9.3
13.3.20
13.3.8
13.30.24
13.32.15.32.26.14.32
13.7
13.8.15.3.7.31.5.10.15.30
13.8.20.9.21
13.8.23.13.11.18.24.21.11.24.10
13.9.9.27.31.11.25.9.27.22.13
14.1.11
14.1.15.25.27.23.25.26.28.10
14.10.11.30.5.7.6.24.9.30.26
14.11.25
14.12.31
14.13.9.13.11.5.5.2.2.32.12
14.14.25
14.15.31.29
14.16.6.29.26.13.14.16.25.26.8
14.17.7.30.8.25.26.4
14.19.20.13.27.2.2
14.19.26.15.22.23
14.19.30.6.4.10.10.10.22.25.11
14.2.14.11.12
14.21.22
14.21.5.28.3.32.24.14.25.31
14.21.6.5.26.9.32.16.25
14.23.31.5.5.15.17.12.17.7.3
14.24
14.26.25.4.12.26.8
14.27.29.23.4.1.17.32.6.25.22
14.29
14.3.17.1.14.15.21.4.26
14.30.13.5.26.9.22.23.14.10
14.30.2.21.15.16.13
14.30.23.3
14.4.19.27.28.24.19
14.4.23.4.23.22.11.6.26.5
14.5.13.19.25.12.32.9.13.16.12
14.6.10.29.25.26.20.24.24
14.8.15.30.7.29.27.31.4
14.9.15.21.21.31.1.29
15.1.6.31.30.13.32.9.10
15.1.8
15.10.30.1.4.12.8.20
15.11.26.1.30.6.23.5
15.17
15.17.2.32.7
15.21.22
15.21.23.30.9.25
15.23.26.20.27.7
15.25.31.11.4.22.16.7.11
15.26.24.31.16.15.17.22.8.30.3
15.28.24
15.28.30.19.31.6.2.2.31
15.29.25
15.29.32.16.29.12.20.32.13.20
15.3.31.9.27.14.9.8.14.6.32
15.30.17.5.32.28.2.18.27
15.31.11.27.19.19.20.5.5
15.4.15
15.5.1.31.28.10.8
15.6.19.3
15.7.3.14.23.19.26
15.7.5.12.7.9.3.28.26
15.8.10
15.8.3.15.27.14.29.28.6.5.25
15.9.11.20.22.15.11.13
15.9.8.20.27
16.13.19.11.18.13.17.17
16.13.2.19.14.29.31.30.23.15.12
16.13.26.18.9.29.11.17.1.24.26
16.14.3.17.17.26.12.19.19.30
16.16.28.24.11
16.18.23.6.31
16.19.17.30.30.5.17.24.27
16.2.14.3.26.11
16.20.29.26
16.21.13.1.4
16.23.30.12.31.31.19.14
16.24.3.30.15.22.31.2
16.24.7.25
16.27.8.17.14.17.21.29.14
16.28
16.29.6.23.13.28.31.6.19.26.15
16.30.10.7.29.4.9.21.22.13.26
16.31.12.27.25.9.32.29
16.5
16.5.10.2.18.8.15.12.32.25.10
16.5.12.5.15.12.24.25.3
16.5.14.21.32.17.23.3.4.26
16.5.23.17
16.5.6.12
16.8.29.7.21.2.3
16.9.14.28.6.21.31.31.26
16.9.29
16.9.32.14.3.7.8.7.21.22
17.1.12.20
17.10.17.22.20.25.14.13
17.11.17.4.8.26.26.20.6
17.13.14.29.27.27.13.12.15
17.13.19.31.12.18.10.15.14
17.13.8
17.14.7.3.2.18.20.23.18.5
17.17.14.28.6.30
17.19.1.22.11.7.22.1.14.28.11
17.22.12.10.30.11
17.24.15.27.3.32.4.22.20.6.24
17.24.30.6.32
17.25.10.13.21.5.7.22.2
17.25.2.13.10.27.13.1
17.25.26.23.32
17.26.18
17.27
17.29.21.10.18.8.16.26.18.21.26
17.29.31.8.24.10.18.27.17
17.3
17.5.3.15.17.13.5
17.7.26.30.18.23.4
17.8
17.8.31.32
17.9.32.31.21.31.23.17.10.32.9
18.13.6.12.26.26.26.29.18.20.1
18.13.9.3.18.15.2
18.15.14
18.17.6.16.6.10
18.18.19.16.14.16.21.10.25
18.18.5.11.7.4.25
18.19.11.20.13.13.11
18.19.12.20.18.17.15.32.18.5
18.21
18.24.21.17.11.26.28.22.21.18.10
18.27.11.27.9.16.7.6.22.26.27
18.29.13.24.18.3.12.18.12.12
18.29.5.1.10.21.2
18.30.11.17
18.30.18.31
18.31.26.18.6.15.18.11
18.31.32.28.1.4.24.24.12.25
18.31.32.29.22.1.31.11.28
18.4
18.4.14.29.3
18.5.6.31.5.15.15
18.6.2.2.24
18.6.26.2.13.9.6.11.10.11.16
18.7.10.27.17.24
18.7.3.17.13.5.31.6.31.25.29
18.9.21.2.31.8.32
18.9.26.7
19.10.26.19.5.21.30.23
19.10.4.30.32.4.12
19.10.8.10.4.19
19.11.10.18.14.13.7.7
19.11.29.13.15.27.12.15.14.12
19.12.20.24.32.13.11.23.26
19.12.26.24.29.3
19.12.30.2.21
19.15.26.19
19.16.26.2
19.16.31.31.29.12
19.17.12.15
19.17.13.12.32.16.3
19.19.25.22.11.6.15.3.2.19
19.2.26.21.16.11.2.2
19.2.9.29.6
19.20.25.7.27.28.27.17.9.3.1
19.22.21.13.27.13.15
19.22.29.32.1.21.26.24.23.17
19.26.24.27.6.24.16.27.32.29
19.26.32.13.1.12.30.26.22.25
19.3.12.12
19.3.23.4.4.21.23
19.30.18.11.32.14
19.30.27.26.21.7.18
19.31.14.25.5.8.21.11.13.20
19.5.20.3.4.2.3
19.6.13.14.22.13.9.29
19.6.24.32.30.13.6.25.8.28
19.7
19.7.29.31.3.20.7.21.25.27.29
19.9.32.23.13.24.1
2.1.12.19.29.28.3.31.28.28.10
2.1.3.30.24.17.9
2.10.10.4.20.1.12.13
2.10.28.1.17.19.32.28
2.11.32.25.23
2.12.14.28.16.21
2.12.30.22.12
2.13.9.23.21.2
2.13.9.28
2.14.10.4.17.17.8.4.27.20
2.14.12.13
2.15.14.20.30.26
2.15.18.21.5.21.4.7.30
2.16.3.7.22.18.29.20
2.19.4.1.15.7.8.9.17.29
2.2.18.18.3.3.18.8.10.8
2.22.19
2.24.4.5.24.32
2.24.5.3.4.10.27.26.17.28.16
2.27.15.14
2.28.5.17.6.32
2.30.26.10.14.31.18.2
2.31.25
2.32.10.13.12
2.32.8.28.24.20.9.24.25.8.9
2.4.25.32.16.22.26.13.17.18
2.6.15.26.23.26.24
2.8.13.12.17.23.16.7.11.23
2.9
20.1.24.3.30.31
20.13
20.14.11.2.10.14
20.15
20.17.14.7
20.17.18.21.1
20.18.24.14.12.13.9
20.20.32.29.24.5.5.26.22.32
20.20.7
20.22.10
20.23.29.5.7.30.13.14.22
20.23.7.11.11.31.18.16.3
20.24.14.15.4.21.12.27.4.12
20.25.22.19.22
20.28.22.7.10.28.27.22.14.16
20.29.18.16.2.21.23.11
20.3.1.8.8.30.20
20.30.17
20.30.28.15.17
20.30.9.9.14.12.29
20.31.13.12.19.2.26.16.16.22.28
20.32.5.1.3.20.3.30.27
20.32.9
20.4.1.16.31.3
20.4.27.31.1
20.5.4.9.31.14.26.6
20.6.26.3.30
20.6.3.26.7.29.28.4
20.8.19.14.16.7
20.9.29.32.13.7.23
21.1.4.9.9.31.24.21.3.29
21.10.20.9.3.16.9.10.20
21.14
21.14.13
21.14.22.29
21.14.25.20.13.31.14.20
21.15.18.18.30.3.20
21.15.31.24.29.24.26.12.20
21.17.18.32.7.8
21.17.27.23.15
21.17.31.10.31.13.9.26.6.14
21.18
21.18.2.1
21.18.30.19.24.24
21.20.24.25.6.26.23
21.20.28.19.27.9
21.21.10.27
21.22.31.24.27
21.23.13
21.23.17.8.23.11.8.1
21.28.17.22.10.27.4.20.2.32
21.28.24.23.3.11.7.12.22.32
21.30.19.6.28.1.32.2.14.14
21.31.31.25.5.30.26
21.32.13.21
21.32.13.22.3.13.31.23.14.12.9
21.4.11.18
21.4.22.20.24.28.6
21.5.11.18
21.5.17.19.15.25.18.21.24.9
21.6.22.28.12.23.11.22
21.7.23.9.16.5.18.14
21.7.7.11
21.8.9
21.9.27.22.32
21.9.32.1.27
22.10.12.23.9
22.10.16.8
22.10.18
22.10.27.19.29.20.29.3.12.14.25
22.11
22.12.22.28
22.13.22.21.25.17.8
22.13.22.8.30.32.10.24
22.15
22.16
22.16.25.18.25.7.24.29.14.8
22.17.24.14.21.15.12.18.17.25.11
22.17.30
22.17.4.2.22.17
22.17.7.30.13.24
22.17.9.11.25.15.3.9
22.18.20.23.15.9.12
22.19.20.5.2.20
22.19.21.11.6.8.29.24
22.19.5.22.20.31.23.24.14.24.4
22.20.30
22.21.32.15.8.29.5.12.10.29
22.22.10.30.5.15.25.21.19.11
22.22.27.6.27.15.5.18.21.28.9
22.23.18.18.9.8.23.7.23.23.16
22.23.22.30
22.23.25.28.5.27.9.9.24.31.10
22.24.22.25.15.23.13
22.25.4.28.9.20.12.13
22.26.1.28.9.9.31
22.26.32
22.28.20.6.32.32
22.29.18.32.13.12.22.31.17.22
22.29.29.11
22.3.6
22.30
22.30.31.24.23.22.5.20.28.1
22.31.2.32.32.11.26.23.19
22.31.21.13.13.26.11.5.19
22.32.6.6.3.8.24.6.25.29
22.8.20.1.10.28.6.27
22.9.15.19.12
23.1.23.18.12.29
23.10.13.32.14.20.16.11.14
23.10.5.26.12.4.20.4
23.12.1.5.32.25.8.24.1.25
23.12.11.11.15.16.22.31.32.5.8
23.12.19.25.16.23.22.6.29.4
23.12.32.22.19.1.22.4
23.14.12.30.18.4.16.18.7.7
23.14.30.27.28.26.26.23.8.32
23.17.22.1.23.4.29.32.4.1
23.17.25.4.1.16.29.10
23.17.28.31.28
23.17.32.15.23.16.25
23.19.17.31.29.13.1.12.5.25
23.2.22.7.32.3.27.6
23.20.12.16.15.2
23.20.24
23.20.8
23.22.10.1.14.24
23.22.23.14.31.32
23.23
23.24.11.31.10.31.18.28.13.18.6
23.24.16.32.13.29
23.25.23.11.7.23
23.27.27.16
23.27.6.26.22
23.28.1
23.28.20.25.30.24.15
23.28.3.30.15.31.32.3.21.9.19
23.3.20.24
23.3.32.21.5.14.10.17.1
23.31.27.16.8.30.20.27
23.32.5.25.19.9.15.17.15.11
23.5.5.17
23.5.7.12.11.23.10
23.6.27
23.8.13.22.21
24.1.10.20.28.18.6.27.20.30.26
24.1.29.32.14.15.32.6.15.22
24.10.10.31.4.29.9
24.10.8.25.16
24.11.5
24.12
24.13.1.8
24.15.15.17.22
24.16.27.10.9
24.17.24
24.17.31.20.12.9.19.29.18
24.18.16
24.2.26.24.14.15.31.23.17.26
24.2.6.7.16.7.28
24.20.23
24.21.14.25.11.3.20.6.6.16
24.23.24.4.15.25.17
24.23.29.8.24.11.21.10.28.14.27
24.24
24.25.7.27.30.8.26.17
24.27.14
24.27.18.32.14.9.11.28.9
24.28.13.26.8.8.31
24.28.32.21
24.3.23.25
24.31
24.31.2.13.5.23.18.16
24.31.8
24.32.17.23.24.19.23.9.20.18
24.32.27
24.9
24.9.15.1.14.29.6.4
24.9.27.16.20.21
24.9.8.12.29
25.10
25.10.29.3.6.21.3.31.13
25.10.4.28.3.31.19
25.11.24
25.14.5.32.25
25.15.11
25.16.9.6
25.17.18.17.27
25.17.18.30
25.17.2.20.20.3.29.21.3.12
25.17.9.16.17.31.23.29.24
25.18.8.3.23.23.5.9.6
25.19.27.2.9.20
25.2.11.20.8.6.22
25.2.3.15.11.19.5.28.25.14
25.21.8.17
25.22.2.25.6
25.24.2.32.14.18.16
25.24.29
25.28.3
25.28.30.24
25.29
25.3
25.30.1.4.24.11
25.31
25.32.24.24.28.15.16.10
25.4.32
25.4.4.1.13.32.26.20.20.3
25.5.30.7.16.12.21.12.11.16
25.6
25.6.12.16.1
25.7.3.21.31.12.28
25.9
25.9.1.5.9.11.25.4.11.27.32
25.9.10
26.11
26.12.27.2
26.13.4.7.13.11.3
26.14
26.14.5.32.10
26.16.12
26.16.12.3.27.9.28
26.17.9.13.4.25.32.2.24.9
26.18
26.18.32.20
26.19.3.14.8.28.31.10
26.24
26.24.9.12.11.15.31.2
26.25.10.10.13
26.25.24
26.26.22.21.14.11.29.19.14.24
26.28.14
26.31.11.23.3
26.31.16.18.22.13.32.23.9.20
26.31.6.8.29.8.24
26.31.7
26.32.21.31.27.12
26.32.8.12.30.19.24.8.6.1.10
26.5.29.7.28
26.7.22.3.18.21.11
26.7.5.8.11.9.22.1.6
26.8.28
26.9.17.1.18.19.1.11.18.29.3
26.9.20.12.22.22.32
27.1.11.3.25.9.6.6
27.11.14.17.24
27.11.15.9.24.31.18.4.1.30.20
27.12.4.2.29.22.15
27.15.15.15
27.16
27.17.15.7.28.20
27.17.17.19.24.9.14.20
27.17.3.18.2.13.18
27.18
27.18.10.4.22
27.19.20.1.31.29.5.22.26.3
27.2.10.4.25.14.2.15.4
27.21.27.5.13.30.17
27.21.28.24.7.2.24.23.8
27.22.11.13.21.25.5.1.27.21.27
27.23.2.32.11.21
27.23.20.30.7
27.24.11.31.21.6.29.17.24.18
27.25
27.26.29
27.27
27.27.25.10.31.10.21.22.21.16.12
27.27.30.11.15.24.9.7.4.30
27.29.1.5.30.6.22.16.23.2.28
27.3
27.3.3.11.21.4.25
27.30.12.11.20.15.11.13
27.31.2.16.29.6
27.32.26.21.31.17.32.32
27.4
27.4.15.14.19.6.12
27.4.17.17.32.8.16.15.17.13
27.5.15.1.15.16.21
27.5.22
27.6.13.24.21.27.28.22.3.7.4
28.1.3
28.11.11.30.20.11.32
28.11.27.21.14.16
28.14.24.26.6.15.16.32.25.13.8
28.14.32.29.2.3.4
28.15.18.27
28.15.25.7.13.6.19.2
28.17.26.9
28.18.6.22.13.8.25
28.2.27.1.20
28.20.8.9.9.28.30.29
28.23.2.30.3.8.1.15.15.14.13
28.25.10.25.19.15
28.25.11.22
28.25.29.4.13.5.6
28.26.25.7
28.26.26.6.31
28.26.4.22.13.20.32.27.15
28.27.24.14
28.28
28.30.24.16.17.28.2.13.10
28.31.10.28.22.26.16.15
28.4
28.5.12.9.2.27.11.11.2
28.5.13
28.6
28.6.11.6.15.22.12.6
28.6.8.22.25
28.8.21.15.16.28.4.16.26.8
28.9.3.16.17.21.23.30
29.1
29.1.2.14.14
29.1.7.26.25.11.22
29.10.12.17.12.16
29.10.17.11.28.12.18.5.19.15.21
29.11.20.22.27
29.14.12.9.17.5.32
29.14.31.25.7.32.23
29.15.29.8.31.26.1
29.20.1.11.21.16.1.2.14.28
29.23.1.21.31.8
29.23.15.25.1.6.6.10
29.25.29.16.32.11.15.25.5.22.3
29.25.30.15.21.3.25.26.26
29.26.25.14.24.18.2.13.23.29
29.27
29.27.13.29.10.2
29.27.13.9.28.29.19.13.29.31.27
29.27.5.22.26
29.27.7.7.3.11.14.26.21.11
29.28.9.15.8.27.31
29.29.17.31
29.29.18
29.3.15.17.12.29
29.3.17.17.18.32
29.30.21.8.16.23.32
29.30.7.31.22
29.32.13.4.1.16.20
29.5.18.27.3.21.18.6.14
29.5.32.20.11.7.13.24.17
29.6.12.31.20.23.32.20
29.9.25.27.15.16.32.26.6.32
3.1.13.22.24.14.12.31.3.4
3.1.14.8.9.16.30.22.20
3.10
3.10.27.4.5.6.19.12.28.12
3.10.4.5.28.11
3.11.18.21.5.20.30
3.11.32.11.22.3.7.17.8.13.23
3.13
3.14.1.14.17.28.29.16
3.14.11.15.21.32.2.15.13
3.14.30.5.32.22.29
3.15.2.23.22.2.16.14
3.18
3.18.18
3.18.8.22.7.28.32.31.3
3.19.11.6.5
3.20.16.13.29.20
3.20.19.10.17.27.3.6.22.23
3.21.16.24.23.12.16.32.3
3.21.6.13.12.18.25
3.22.18.1.5.14.9.6.14
3.25
3.26
3.26.32
3.27.18.8.4.21.6.32.30.7.5
3.29.19.2.24
3.29.32.26.8.10.25
3.3
3.32.2.29.3.32.28.11.29.30
3.4.22.19
3.5
3.6.24.21.20.32.3.4.26.5
3.9.11.23.32.26.24.28
3.9.25.26.7
30.12.28.2
30.12.6.30
30.12.9.25.24.6.7.24.29
30.15
30.16.14.9.5.4.10.7.31
30.16.3.21.10
30.17.2.25
30.17.25.3.31.11.3.4.1.10
30.17.4.5.13.6
30.18.30.16.29
30.2.17.8.14
30.20.3.2.5.15.8.7.17
30.22.29.21.19.14.3.2.6
30.23.10.1.10.7.22.28.18.11.17
30.23.2.13.14.15.29.19.4.12.24
30.24
30.24.23.25.32.18.22.12.29.9.22
30.24.32.15.14.10.11
30.25
30.25.17.17.10.29
30.25.24.22
30.25.8.24.6.29.31
30.27.8.6.11.19
30.3.16.26.7.27.26.9.27.21.18
30.30.17.5.30.21.19.5.22.22.14
30.31.13.9
30.32
30.4.30.11.13.23.14.24.11
30.5
30.6.4
30.8.18.5.20.6.15
30.8.9.14.25.30
30.9.24
31.13
31.13.9.1.5.12
31.17
31.17.2.30.11
31.18
31.18.25.1.14.29.25.5.22.30
31.18.27.15.20.29.29
31.18.32.11.7.25.20.5
31.21.14.20.1.22.2.5.3.27.12
31.21.22.14.8.21
31.24.26.18
31.28.32.4.31.4.7
31.29.18.26.1.26.17
31.29.4.29.24.30.30.32.10.23
31.30.12.20
31.30.23.7.7.24.32.10.11.1.31
31.32.12.26.31.32.14.23.28
31.4.7
31.5.6.4.8.29.3
31.7.14.2
31.9.3.5
32.1.21.1.16.29.21
32.1.23.20.14.12.23.5.32.15
32.1.24.29.22.5.9.24.18.3.13
32.1.31
32.15.20.28.5.1.23.4
32.16
32.17.8.24.2.14.5.4.22
32.19.20.24.23.31.8.32.16.29
32.2.11
32.24.11.8.12.23.22.19.11.17.18
32.24.29.6
32.25.16
32.25.3.6
32.27.13.6.7
32.27.18.7.3.4.2
32.28.1.32.28.10
32.29.24.31.25.6.9
32.3.12.2
32.3.23.7.2
32.3.5.9.17.15
32.30.18.17.1.14.12.18
32.31.11.22.1
32.31.26.19.13.29.4.25
32.4.19
32.6.13.8.32
32.6.15.26.14.15.3.19
32.6.3.2.12.5.28.1.25
32.6.31.31
32.6.8
32.6.9.26.16.4.4.29.7.11
32.8.29.18.31
32.8.5
4.1.24.24.28.24.18
4.10.28
4.11.19.17.2.22.20.18.13.32.15
4.11.22.4.19.24.4.28.6.8.22
4.13
4.13.22.11.9.13.27.15.7
4.14
4.14.10.19.16
4.14.16.14.1.8.1.22.17.10
4.14.17.12.20.17.1.22.3
4.14.32
4.15.20.23.12.16.2.16.17
4.16.22.19.24.21
4.16.7.25.21.7
4.18.29.9.16.10
4.19.16.15.5.2.25.8.28.14.2
4.2.16.13.16.11.19.10.10.25
4.2.2.32.24.25.31.3
4.2.6.20.7.8
4.21.28.5.16.29.5.21
4.21.9.1.2.14.8.17.13.26
4.22
4.22.17.10.19.9.8.19.28.3.9
4.22.7.19.25
4.25.12.10.15.9.18.9
4.26.2.2
4.26.23.6.19.31.10.4.22
4.26.5.26.21.28.17.24.25.23
4.27.32.18
4.3.20.27.9.1.18.30.12.5.19
4.3.6.27.22.23.10
4.30.8.20.19.9.30.24.11
4.31
4.5.9.4.15.19.8.26.17.26.3
4.7.1
4.9
5.1.5.31
5.10
5.10.2.11.21.9.19
5.10.3.9.23.30.23
5.12.2.20.1.24.25
5.13.23.19.28.26.27.6.1.22
5.13.23.4.9
5.14.27.15.11.17.3.10.27.25
5.14.29.2.23.16.20.22
5.15.10.3.23.13.32.23
5.15.16
5.18.9.25.31.21.22
5.19.1.26.20.6.20
5.2.32.19.13.29.12.13.31.29
5.20
5.21.27.13.14.11.2.16.20
5.23.31.18.24.32
5.24.24.9.32.26.31
5.24.25.15.27.30.20
5.24.4.31.3.16.25.17.13.26.11
5.27.16.3.30
5.27.21.1.29.29.28
5.27.28.26.14.15.6.20.1.31.13
5.27.32.21.5.1.11.14
5.3.17.29
5.3.29.9.22
5.31.8.1.5.13.21.28.29.19.2
5.4.8.25.12.27.2.29.28.3
5.5.12.31.23.13.17.22.20
5.8
5.8.17.30.15.8.19.29.30.11.6
5.9.19.6
6.1.8.6.30.29.30
6.10.25.12
6.11.11.5.16.8.14.12.9
6.11.31.23.12.8.30.14.27
6.13.31.5.7.26
6.14
6.17.10.10.7.9.27.8.29
6.17.26.25.27.11.10.9
6.18.1.4.18.23
6.19.29.11.2.32.21.15.32.9
6.19.3
6.19.6.4.9.11.32.17.17.3.15
6.2.32
6.20
6.20.14
6.21.30.7
6.22.12
6.25.17.32
6.26
6.26.29.10.21.28.20.19
6.27.26.1.20.24.6
6.27.29.14.8.12.26.3.21.4.1
6.29.32.13.30.3.16
6.29.6.13.14.24.10.4.14.28
6.5.27.19.13.26.1.18.9
6.6.22.8
6.7.25.16.13.21.7.20.25.12.4
6.7.7
6.8.7.20.2
6.9.1.10.10.22.6
6.9.29.17.4.32
7.10.17.21.11.29.17.25.19.4.29
7.11
7.12
7.12.1.10.6.17.29.24.24.4
7.12.23
7.13
7.13.15
7.14.22.29.30.14.25.1.9.26.25
7.16.20.17
7.19.10.12.31.1.27.13.19
7.19.12.3.21.19.18.5.2.14.10
7.19.6.17.15.26.21.9
7.21.8
7.23.1.24.29.13.31.19.23.17.7
7.23.15.32.28.27.2.2.26
7.26.18
7.27.20
7.30.19.25.23.15.14.29
7.30.5.10.10.5.30.14.9.18
7.31
7.31.2.28.15.11.17.18.19.23.6
7.31.4.20.17
7.32.10.3.30.12.14
7.5.28.8.17.26.31.10.15
7.7
7.7.22.24.17.32.17.25.28
7.7.25.22.22.26
8.1.29.18.22
8.10
8.11.20
8.12.4
8.13.1
8.13.14.11.11.29.22.4.4.10
8.13.6.12.18.7
8.13.9.31.20.20.24.7.23.31.28
8.14.19.18
8.16
8.16.1.16.28.6.3.22.6.23
8.16.20.24.20.6.10.21
8.16.30.29.19.22.28.24.2
8.16.6
8.17.25.26.15.25
8.17.9.15.21.28.1.7.1.3.6
8.2
8.2.18.23.5.16.17.1
8.21.17.3.6.3.18
8.21.8.23.4.18
8.22.32.17.16.28.31.23.22.9
8.24.11.13.25.19
8.25.20.3.15.24.7.4.24.5.30
8.26.29.13.7.25.31.28.3.32
8.27.3.4.12.26.16
8.29.6.3
8.3.18.13.30.20.27.26.17.28
8.3.3.25.25.15.7.13.21.18
8.31.22.27
8.32.30.1
8.5.24.9.29.32.31.30.13.9.7
8.5.30.29.9.31
8.6.6.5.8.8.12
8.9.21.16.29
8.9.22
8.9.25.25.26.30.31.31.2.32.7
9.10.19.18.15.11.22.32.32.14.9
9.10.32
9.14.27.31.26.21.25.3.20
9.16.2.16.22.24.17.31.14.21.17
9.17.13.31.7
9.18.23
9.18.30.11.29.32.7.19.2
9.19.7.13.13.25
9.2.10.4
9.2.4.27.26
9.21.14.19
9.21.20.29.1
9.21.28.8.12.15.3.13.10.11
9.22.10.15.5.15
9.23.21.22.5.29.15.21
9.26.1.16
9.28.10.26.14.26.15.14
9.28.24
9.28.30.1.6.25.17.9
9.3.3
9.3.31.18.12.3.9.29.10
9.30
9.31.23.19.5.10.16.4.30.24.5
9.31.4.14.31.10.17.5.2
9.5
9.5.9.3.23.9.25.14.1.29.28
9.6.9.21.6.11.29.13.29.20.32
9.7.31.11.8.23
9.8.23.2.20.16
9.9.13.9.14.27
(882 rows)
drop index tstidx;
create index tstidx on ltreetest using gist (t);
set enable_seqscan=off;
SELECT * FROM ltreetest WHERE t < '12.3' order by t asc;
t
----------------------------------
1
1.1
1.1.1
1.1.1.1
1.1.1.2
1.1.1.2.1
1.1.2
1.1.2.1
1.1.3
1.1.7.32.11.22
1.10.21
1.10.23.25.5.11
1.10.4.18.22.23.24
1.10.5.22.13
1.11.10.19.6.1.26.17.2.22
1.12.25.26.22.8.15.23
1.13.16.27.11.16.30.2.9.18.4
1.14.3.7.3.17.2.29
1.15.17.6.28.25.24.31.27.9
1.16.8.18.14.16.21.25.6
1.18.29.30.22.14.3.20.15.21.20
1.19.22.11.14.7.32.23.19.14
1.20.18.25.3.24.25.10.9
1.20.22.26.2.6.11
1.21.28.4.23
1.22.19.24.8.11
1.22.29.5.16
1.25.7.9.26.17.31.20.13
1.26
1.26.15.23.5.31.29.11.19.28.1
1.27.22.23.2.26.32.17.7.9
1.28.19.8.25.6.20.27.29.27
1.28.3.22
1.29.18.1.21.12.13.27.32.15
1.3.15.11.11.25.24.21.19
1.30.18.31.12.25.4.19.28.12.15
1.30.31.31.20.16.7
1.31.3
1.4.14.32.14
1.8
1.9.18.10.1.26.22.16.17
10.11.25.2.24.18.18.21.6.26.21
10.12.23.22.23.22.20.17.17.9
10.12.9.6.6.26.14.8.23.1.25
10.13.12.8.4.8.11.30
10.13.22.1.8.30.9.24.1.2.1
10.15.16.3
10.16.18.9.27.2.29.32.24.13
10.16.19.7.15
10.18.12.27.24.30.32.7.11.5.13
10.2.17.26.16.7.19.6.23.3
10.20
10.22.1
10.22.30.16.2.21.17.13
10.26.27.23.4.31.11.25.29
10.26.30.15.1
10.27.7.24.26.11.31.20.29
10.28.22.29.13.19.6.7.6.14
10.28.7.16.31
10.29
10.29.26.4.27.17.11
10.3
10.3.19
10.31
10.31.25.31.24.16.17
10.32.14
10.5.23.5.32.9.18.5.30
10.5.5.15.29.2
10.7.9
10.8.20.11.12.23.22
11.1
11.1.3.28.30.21.24.14
11.10
11.10.22.18
11.11.11.4.23.21.25
11.11.9.30.15.29.15.18
11.12.6.21
11.14.21.24.10.7.29.23.24.28
11.15.11.19.29.10
11.16.16.28.14
11.17.10
11.17.17.24.11.23.17.17.18.10.22
11.18.4.8.3.13.14.28.18.31
11.19.23.3.6.11
11.2.27.3
11.21.13.9.19
11.21.16.27.16
11.22.28.8.12.23.25.15.21.28
11.29
11.3.15.28.22.8.14
11.30
11.30.20.15.18.32.1.18.25.26.8
11.32.18.31
11.6.11.29.4.5.24.6.26.12
11.7.31.15.22
11.8.18
12.1.1
12.1.28.22.25
12.10
12.10.11.9.10.31.4.16.31
12.11.17.1.2
12.11.20.20.29
12.13.16.17.29.27.16.14.9.19.9
12.13.5.31
12.14.20.8.28.4
12.15.10.17.18.13
12.16.13
12.16.2.4.15
12.17.10.7.17.16
12.18
12.2.4.28.21.30.24
12.21.15.27.24.15.8.24.24.26
12.21.20.20
12.22.20.4.12
12.23.3.19.29.15.12.6
12.24.29.32.32.29.2
12.25.32.2.27.3.3.16
12.27.23.32.1.1.9.29.13
12.27.30.12.24.2.20
12.28.12.24.28.15.5.12.30.13.21
12.29.17.2.20.29.1.11.19.8.12
12.29.26.18.4.21.28.8.13.3
(123 rows)
SELECT * FROM ltreetest WHERE t <= '12.3' order by t asc;
t
----------------------------------
1
1.1
1.1.1
1.1.1.1
1.1.1.2
1.1.1.2.1
1.1.2
1.1.2.1
1.1.3
1.1.7.32.11.22
1.10.21
1.10.23.25.5.11
1.10.4.18.22.23.24
1.10.5.22.13
1.11.10.19.6.1.26.17.2.22
1.12.25.26.22.8.15.23
1.13.16.27.11.16.30.2.9.18.4
1.14.3.7.3.17.2.29
1.15.17.6.28.25.24.31.27.9
1.16.8.18.14.16.21.25.6
1.18.29.30.22.14.3.20.15.21.20
1.19.22.11.14.7.32.23.19.14
1.20.18.25.3.24.25.10.9
1.20.22.26.2.6.11
1.21.28.4.23
1.22.19.24.8.11
1.22.29.5.16
1.25.7.9.26.17.31.20.13
1.26
1.26.15.23.5.31.29.11.19.28.1
1.27.22.23.2.26.32.17.7.9
1.28.19.8.25.6.20.27.29.27
1.28.3.22
1.29.18.1.21.12.13.27.32.15
1.3.15.11.11.25.24.21.19
1.30.18.31.12.25.4.19.28.12.15
1.30.31.31.20.16.7
1.31.3
1.4.14.32.14
1.8
1.9.18.10.1.26.22.16.17
10.11.25.2.24.18.18.21.6.26.21
10.12.23.22.23.22.20.17.17.9
10.12.9.6.6.26.14.8.23.1.25
10.13.12.8.4.8.11.30
10.13.22.1.8.30.9.24.1.2.1
10.15.16.3
10.16.18.9.27.2.29.32.24.13
10.16.19.7.15
10.18.12.27.24.30.32.7.11.5.13
10.2.17.26.16.7.19.6.23.3
10.20
10.22.1
10.22.30.16.2.21.17.13
10.26.27.23.4.31.11.25.29
10.26.30.15.1
10.27.7.24.26.11.31.20.29
10.28.22.29.13.19.6.7.6.14
10.28.7.16.31
10.29
10.29.26.4.27.17.11
10.3
10.3.19
10.31
10.31.25.31.24.16.17
10.32.14
10.5.23.5.32.9.18.5.30
10.5.5.15.29.2
10.7.9
10.8.20.11.12.23.22
11.1
11.1.3.28.30.21.24.14
11.10
11.10.22.18
11.11.11.4.23.21.25
11.11.9.30.15.29.15.18
11.12.6.21
11.14.21.24.10.7.29.23.24.28
11.15.11.19.29.10
11.16.16.28.14
11.17.10
11.17.17.24.11.23.17.17.18.10.22
11.18.4.8.3.13.14.28.18.31
11.19.23.3.6.11
11.2.27.3
11.21.13.9.19
11.21.16.27.16
11.22.28.8.12.23.25.15.21.28
11.29
11.3.15.28.22.8.14
11.30
11.30.20.15.18.32.1.18.25.26.8
11.32.18.31
11.6.11.29.4.5.24.6.26.12
11.7.31.15.22
11.8.18
12.1.1
12.1.28.22.25
12.10
12.10.11.9.10.31.4.16.31
12.11.17.1.2
12.11.20.20.29
12.13.16.17.29.27.16.14.9.19.9
12.13.5.31
12.14.20.8.28.4
12.15.10.17.18.13
12.16.13
12.16.2.4.15
12.17.10.7.17.16
12.18
12.2.4.28.21.30.24
12.21.15.27.24.15.8.24.24.26
12.21.20.20
12.22.20.4.12
12.23.3.19.29.15.12.6
12.24.29.32.32.29.2
12.25.32.2.27.3.3.16
12.27.23.32.1.1.9.29.13
12.27.30.12.24.2.20
12.28.12.24.28.15.5.12.30.13.21
12.29.17.2.20.29.1.11.19.8.12
12.29.26.18.4.21.28.8.13.3
12.3
(124 rows)
SELECT * FROM ltreetest WHERE t = '12.3' order by t asc;
t
------
12.3
(1 row)
SELECT * FROM ltreetest WHERE t >= '12.3' order by t asc;
t
----------------------------------
12.3
12.4.10.17.4.10.23.3
12.4.12.13.25.30.30.8.9.12
12.4.24.6.1.13.5.20
12.4.26.23.25.5.15.7.16
12.6.14.23.19.21.9.12
12.7.16.8.21.22.2.16.18
12.7.28.26.14.21.18.31.5.15.11
13.1.6.17.28.9.15.30.1.27.14
13.12
13.14.13.10.28.26.9.18.27.21
13.16.1.27.18.18.19.6.14.4
13.16.4.28
13.17.7
13.19.2.6.23.19.9.7.21.8.16
13.24
13.25.10.25.8.16
13.26.17.3.2.19
13.28.12.6
13.28.14.2.8.18
13.28.9.3
13.3.20
13.3.8
13.30.24
13.32.15.32.26.14.32
13.7
13.8.15.3.7.31.5.10.15.30
13.8.20.9.21
13.8.23.13.11.18.24.21.11.24.10
13.9.9.27.31.11.25.9.27.22.13
14.1.11
14.1.15.25.27.23.25.26.28.10
14.10.11.30.5.7.6.24.9.30.26
14.11.25
14.12.31
14.13.9.13.11.5.5.2.2.32.12
14.14.25
14.15.31.29
14.16.6.29.26.13.14.16.25.26.8
14.17.7.30.8.25.26.4
14.19.20.13.27.2.2
14.19.26.15.22.23
14.19.30.6.4.10.10.10.22.25.11
14.2.14.11.12
14.21.22
14.21.5.28.3.32.24.14.25.31
14.21.6.5.26.9.32.16.25
14.23.31.5.5.15.17.12.17.7.3
14.24
14.26.25.4.12.26.8
14.27.29.23.4.1.17.32.6.25.22
14.29
14.3.17.1.14.15.21.4.26
14.30.13.5.26.9.22.23.14.10
14.30.2.21.15.16.13
14.30.23.3
14.4.19.27.28.24.19
14.4.23.4.23.22.11.6.26.5
14.5.13.19.25.12.32.9.13.16.12
14.6.10.29.25.26.20.24.24
14.8.15.30.7.29.27.31.4
14.9.15.21.21.31.1.29
15.1.6.31.30.13.32.9.10
15.1.8
15.10.30.1.4.12.8.20
15.11.26.1.30.6.23.5
15.17
15.17.2.32.7
15.21.22
15.21.23.30.9.25
15.23.26.20.27.7
15.25.31.11.4.22.16.7.11
15.26.24.31.16.15.17.22.8.30.3
15.28.24
15.28.30.19.31.6.2.2.31
15.29.25
15.29.32.16.29.12.20.32.13.20
15.3.31.9.27.14.9.8.14.6.32
15.30.17.5.32.28.2.18.27
15.31.11.27.19.19.20.5.5
15.4.15
15.5.1.31.28.10.8
15.6.19.3
15.7.3.14.23.19.26
15.7.5.12.7.9.3.28.26
15.8.10
15.8.3.15.27.14.29.28.6.5.25
15.9.11.20.22.15.11.13
15.9.8.20.27
16.13.19.11.18.13.17.17
16.13.2.19.14.29.31.30.23.15.12
16.13.26.18.9.29.11.17.1.24.26
16.14.3.17.17.26.12.19.19.30
16.16.28.24.11
16.18.23.6.31
16.19.17.30.30.5.17.24.27
16.2.14.3.26.11
16.20.29.26
16.21.13.1.4
16.23.30.12.31.31.19.14
16.24.3.30.15.22.31.2
16.24.7.25
16.27.8.17.14.17.21.29.14
16.28
16.29.6.23.13.28.31.6.19.26.15
16.30.10.7.29.4.9.21.22.13.26
16.31.12.27.25.9.32.29
16.5
16.5.10.2.18.8.15.12.32.25.10
16.5.12.5.15.12.24.25.3
16.5.14.21.32.17.23.3.4.26
16.5.23.17
16.5.6.12
16.8.29.7.21.2.3
16.9.14.28.6.21.31.31.26
16.9.29
16.9.32.14.3.7.8.7.21.22
17.1.12.20
17.10.17.22.20.25.14.13
17.11.17.4.8.26.26.20.6
17.13.14.29.27.27.13.12.15
17.13.19.31.12.18.10.15.14
17.13.8
17.14.7.3.2.18.20.23.18.5
17.17.14.28.6.30
17.19.1.22.11.7.22.1.14.28.11
17.22.12.10.30.11
17.24.15.27.3.32.4.22.20.6.24
17.24.30.6.32
17.25.10.13.21.5.7.22.2
17.25.2.13.10.27.13.1
17.25.26.23.32
17.26.18
17.27
17.29.21.10.18.8.16.26.18.21.26
17.29.31.8.24.10.18.27.17
17.3
17.5.3.15.17.13.5
17.7.26.30.18.23.4
17.8
17.8.31.32
17.9.32.31.21.31.23.17.10.32.9
18.13.6.12.26.26.26.29.18.20.1
18.13.9.3.18.15.2
18.15.14
18.17.6.16.6.10
18.18.19.16.14.16.21.10.25
18.18.5.11.7.4.25
18.19.11.20.13.13.11
18.19.12.20.18.17.15.32.18.5
18.21
18.24.21.17.11.26.28.22.21.18.10
18.27.11.27.9.16.7.6.22.26.27
18.29.13.24.18.3.12.18.12.12
18.29.5.1.10.21.2
18.30.11.17
18.30.18.31
18.31.26.18.6.15.18.11
18.31.32.28.1.4.24.24.12.25
18.31.32.29.22.1.31.11.28
18.4
18.4.14.29.3
18.5.6.31.5.15.15
18.6.2.2.24
18.6.26.2.13.9.6.11.10.11.16
18.7.10.27.17.24
18.7.3.17.13.5.31.6.31.25.29
18.9.21.2.31.8.32
18.9.26.7
19.10.26.19.5.21.30.23
19.10.4.30.32.4.12
19.10.8.10.4.19
19.11.10.18.14.13.7.7
19.11.29.13.15.27.12.15.14.12
19.12.20.24.32.13.11.23.26
19.12.26.24.29.3
19.12.30.2.21
19.15.26.19
19.16.26.2
19.16.31.31.29.12
19.17.12.15
19.17.13.12.32.16.3
19.19.25.22.11.6.15.3.2.19
19.2.26.21.16.11.2.2
19.2.9.29.6
19.20.25.7.27.28.27.17.9.3.1
19.22.21.13.27.13.15
19.22.29.32.1.21.26.24.23.17
19.26.24.27.6.24.16.27.32.29
19.26.32.13.1.12.30.26.22.25
19.3.12.12
19.3.23.4.4.21.23
19.30.18.11.32.14
19.30.27.26.21.7.18
19.31.14.25.5.8.21.11.13.20
19.5.20.3.4.2.3
19.6.13.14.22.13.9.29
19.6.24.32.30.13.6.25.8.28
19.7
19.7.29.31.3.20.7.21.25.27.29
19.9.32.23.13.24.1
2.1.12.19.29.28.3.31.28.28.10
2.1.3.30.24.17.9
2.10.10.4.20.1.12.13
2.10.28.1.17.19.32.28
2.11.32.25.23
2.12.14.28.16.21
2.12.30.22.12
2.13.9.23.21.2
2.13.9.28
2.14.10.4.17.17.8.4.27.20
2.14.12.13
2.15.14.20.30.26
2.15.18.21.5.21.4.7.30
2.16.3.7.22.18.29.20
2.19.4.1.15.7.8.9.17.29
2.2.18.18.3.3.18.8.10.8
2.22.19
2.24.4.5.24.32
2.24.5.3.4.10.27.26.17.28.16
2.27.15.14
2.28.5.17.6.32
2.30.26.10.14.31.18.2
2.31.25
2.32.10.13.12
2.32.8.28.24.20.9.24.25.8.9
2.4.25.32.16.22.26.13.17.18
2.6.15.26.23.26.24
2.8.13.12.17.23.16.7.11.23
2.9
20.1.24.3.30.31
20.13
20.14.11.2.10.14
20.15
20.17.14.7
20.17.18.21.1
20.18.24.14.12.13.9
20.20.32.29.24.5.5.26.22.32
20.20.7
20.22.10
20.23.29.5.7.30.13.14.22
20.23.7.11.11.31.18.16.3
20.24.14.15.4.21.12.27.4.12
20.25.22.19.22
20.28.22.7.10.28.27.22.14.16
20.29.18.16.2.21.23.11
20.3.1.8.8.30.20
20.30.17
20.30.28.15.17
20.30.9.9.14.12.29
20.31.13.12.19.2.26.16.16.22.28
20.32.5.1.3.20.3.30.27
20.32.9
20.4.1.16.31.3
20.4.27.31.1
20.5.4.9.31.14.26.6
20.6.26.3.30
20.6.3.26.7.29.28.4
20.8.19.14.16.7
20.9.29.32.13.7.23
21.1.4.9.9.31.24.21.3.29
21.10.20.9.3.16.9.10.20
21.14
21.14.13
21.14.22.29
21.14.25.20.13.31.14.20
21.15.18.18.30.3.20
21.15.31.24.29.24.26.12.20
21.17.18.32.7.8
21.17.27.23.15
21.17.31.10.31.13.9.26.6.14
21.18
21.18.2.1
21.18.30.19.24.24
21.20.24.25.6.26.23
21.20.28.19.27.9
21.21.10.27
21.22.31.24.27
21.23.13
21.23.17.8.23.11.8.1
21.28.17.22.10.27.4.20.2.32
21.28.24.23.3.11.7.12.22.32
21.30.19.6.28.1.32.2.14.14
21.31.31.25.5.30.26
21.32.13.21
21.32.13.22.3.13.31.23.14.12.9
21.4.11.18
21.4.22.20.24.28.6
21.5.11.18
21.5.17.19.15.25.18.21.24.9
21.6.22.28.12.23.11.22
21.7.23.9.16.5.18.14
21.7.7.11
21.8.9
21.9.27.22.32
21.9.32.1.27
22.10.12.23.9
22.10.16.8
22.10.18
22.10.27.19.29.20.29.3.12.14.25
22.11
22.12.22.28
22.13.22.21.25.17.8
22.13.22.8.30.32.10.24
22.15
22.16
22.16.25.18.25.7.24.29.14.8
22.17.24.14.21.15.12.18.17.25.11
22.17.30
22.17.4.2.22.17
22.17.7.30.13.24
22.17.9.11.25.15.3.9
22.18.20.23.15.9.12
22.19.20.5.2.20
22.19.21.11.6.8.29.24
22.19.5.22.20.31.23.24.14.24.4
22.20.30
22.21.32.15.8.29.5.12.10.29
22.22.10.30.5.15.25.21.19.11
22.22.27.6.27.15.5.18.21.28.9
22.23.18.18.9.8.23.7.23.23.16
22.23.22.30
22.23.25.28.5.27.9.9.24.31.10
22.24.22.25.15.23.13
22.25.4.28.9.20.12.13
22.26.1.28.9.9.31
22.26.32
22.28.20.6.32.32
22.29.18.32.13.12.22.31.17.22
22.29.29.11
22.3.6
22.30
22.30.31.24.23.22.5.20.28.1
22.31.2.32.32.11.26.23.19
22.31.21.13.13.26.11.5.19
22.32.6.6.3.8.24.6.25.29
22.8.20.1.10.28.6.27
22.9.15.19.12
23.1.23.18.12.29
23.10.13.32.14.20.16.11.14
23.10.5.26.12.4.20.4
23.12.1.5.32.25.8.24.1.25
23.12.11.11.15.16.22.31.32.5.8
23.12.19.25.16.23.22.6.29.4
23.12.32.22.19.1.22.4
23.14.12.30.18.4.16.18.7.7
23.14.30.27.28.26.26.23.8.32
23.17.22.1.23.4.29.32.4.1
23.17.25.4.1.16.29.10
23.17.28.31.28
23.17.32.15.23.16.25
23.19.17.31.29.13.1.12.5.25
23.2.22.7.32.3.27.6
23.20.12.16.15.2
23.20.24
23.20.8
23.22.10.1.14.24
23.22.23.14.31.32
23.23
23.24.11.31.10.31.18.28.13.18.6
23.24.16.32.13.29
23.25.23.11.7.23
23.27.27.16
23.27.6.26.22
23.28.1
23.28.20.25.30.24.15
23.28.3.30.15.31.32.3.21.9.19
23.3.20.24
23.3.32.21.5.14.10.17.1
23.31.27.16.8.30.20.27
23.32.5.25.19.9.15.17.15.11
23.5.5.17
23.5.7.12.11.23.10
23.6.27
23.8.13.22.21
24.1.10.20.28.18.6.27.20.30.26
24.1.29.32.14.15.32.6.15.22
24.10.10.31.4.29.9
24.10.8.25.16
24.11.5
24.12
24.13.1.8
24.15.15.17.22
24.16.27.10.9
24.17.24
24.17.31.20.12.9.19.29.18
24.18.16
24.2.26.24.14.15.31.23.17.26
24.2.6.7.16.7.28
24.20.23
24.21.14.25.11.3.20.6.6.16
24.23.24.4.15.25.17
24.23.29.8.24.11.21.10.28.14.27
24.24
24.25.7.27.30.8.26.17
24.27.14
24.27.18.32.14.9.11.28.9
24.28.13.26.8.8.31
24.28.32.21
24.3.23.25
24.31
24.31.2.13.5.23.18.16
24.31.8
24.32.17.23.24.19.23.9.20.18
24.32.27
24.9
24.9.15.1.14.29.6.4
24.9.27.16.20.21
24.9.8.12.29
25.10
25.10.29.3.6.21.3.31.13
25.10.4.28.3.31.19
25.11.24
25.14.5.32.25
25.15.11
25.16.9.6
25.17.18.17.27
25.17.18.30
25.17.2.20.20.3.29.21.3.12
25.17.9.16.17.31.23.29.24
25.18.8.3.23.23.5.9.6
25.19.27.2.9.20
25.2.11.20.8.6.22
25.2.3.15.11.19.5.28.25.14
25.21.8.17
25.22.2.25.6
25.24.2.32.14.18.16
25.24.29
25.28.3
25.28.30.24
25.29
25.3
25.30.1.4.24.11
25.31
25.32.24.24.28.15.16.10
25.4.32
25.4.4.1.13.32.26.20.20.3
25.5.30.7.16.12.21.12.11.16
25.6
25.6.12.16.1
25.7.3.21.31.12.28
25.9
25.9.1.5.9.11.25.4.11.27.32
25.9.10
26.11
26.12.27.2
26.13.4.7.13.11.3
26.14
26.14.5.32.10
26.16.12
26.16.12.3.27.9.28
26.17.9.13.4.25.32.2.24.9
26.18
26.18.32.20
26.19.3.14.8.28.31.10
26.24
26.24.9.12.11.15.31.2
26.25.10.10.13
26.25.24
26.26.22.21.14.11.29.19.14.24
26.28.14
26.31.11.23.3
26.31.16.18.22.13.32.23.9.20
26.31.6.8.29.8.24
26.31.7
26.32.21.31.27.12
26.32.8.12.30.19.24.8.6.1.10
26.5.29.7.28
26.7.22.3.18.21.11
26.7.5.8.11.9.22.1.6
26.8.28
26.9.17.1.18.19.1.11.18.29.3
26.9.20.12.22.22.32
27.1.11.3.25.9.6.6
27.11.14.17.24
27.11.15.9.24.31.18.4.1.30.20
27.12.4.2.29.22.15
27.15.15.15
27.16
27.17.15.7.28.20
27.17.17.19.24.9.14.20
27.17.3.18.2.13.18
27.18
27.18.10.4.22
27.19.20.1.31.29.5.22.26.3
27.2.10.4.25.14.2.15.4
27.21.27.5.13.30.17
27.21.28.24.7.2.24.23.8
27.22.11.13.21.25.5.1.27.21.27
27.23.2.32.11.21
27.23.20.30.7
27.24.11.31.21.6.29.17.24.18
27.25
27.26.29
27.27
27.27.25.10.31.10.21.22.21.16.12
27.27.30.11.15.24.9.7.4.30
27.29.1.5.30.6.22.16.23.2.28
27.3
27.3.3.11.21.4.25
27.30.12.11.20.15.11.13
27.31.2.16.29.6
27.32.26.21.31.17.32.32
27.4
27.4.15.14.19.6.12
27.4.17.17.32.8.16.15.17.13
27.5.15.1.15.16.21
27.5.22
27.6.13.24.21.27.28.22.3.7.4
28.1.3
28.11.11.30.20.11.32
28.11.27.21.14.16
28.14.24.26.6.15.16.32.25.13.8
28.14.32.29.2.3.4
28.15.18.27
28.15.25.7.13.6.19.2
28.17.26.9
28.18.6.22.13.8.25
28.2.27.1.20
28.20.8.9.9.28.30.29
28.23.2.30.3.8.1.15.15.14.13
28.25.10.25.19.15
28.25.11.22
28.25.29.4.13.5.6
28.26.25.7
28.26.26.6.31
28.26.4.22.13.20.32.27.15
28.27.24.14
28.28
28.30.24.16.17.28.2.13.10
28.31.10.28.22.26.16.15
28.4
28.5.12.9.2.27.11.11.2
28.5.13
28.6
28.6.11.6.15.22.12.6
28.6.8.22.25
28.8.21.15.16.28.4.16.26.8
28.9.3.16.17.21.23.30
29.1
29.1.2.14.14
29.1.7.26.25.11.22
29.10.12.17.12.16
29.10.17.11.28.12.18.5.19.15.21
29.11.20.22.27
29.14.12.9.17.5.32
29.14.31.25.7.32.23
29.15.29.8.31.26.1
29.20.1.11.21.16.1.2.14.28
29.23.1.21.31.8
29.23.15.25.1.6.6.10
29.25.29.16.32.11.15.25.5.22.3
29.25.30.15.21.3.25.26.26
29.26.25.14.24.18.2.13.23.29
29.27
29.27.13.29.10.2
29.27.13.9.28.29.19.13.29.31.27
29.27.5.22.26
29.27.7.7.3.11.14.26.21.11
29.28.9.15.8.27.31
29.29.17.31
29.29.18
29.3.15.17.12.29
29.3.17.17.18.32
29.30.21.8.16.23.32
29.30.7.31.22
29.32.13.4.1.16.20
29.5.18.27.3.21.18.6.14
29.5.32.20.11.7.13.24.17
29.6.12.31.20.23.32.20
29.9.25.27.15.16.32.26.6.32
3.1.13.22.24.14.12.31.3.4
3.1.14.8.9.16.30.22.20
3.10
3.10.27.4.5.6.19.12.28.12
3.10.4.5.28.11
3.11.18.21.5.20.30
3.11.32.11.22.3.7.17.8.13.23
3.13
3.14.1.14.17.28.29.16
3.14.11.15.21.32.2.15.13
3.14.30.5.32.22.29
3.15.2.23.22.2.16.14
3.18
3.18.18
3.18.8.22.7.28.32.31.3
3.19.11.6.5
3.20.16.13.29.20
3.20.19.10.17.27.3.6.22.23
3.21.16.24.23.12.16.32.3
3.21.6.13.12.18.25
3.22.18.1.5.14.9.6.14
3.25
3.26
3.26.32
3.27.18.8.4.21.6.32.30.7.5
3.29.19.2.24
3.29.32.26.8.10.25
3.3
3.32.2.29.3.32.28.11.29.30
3.4.22.19
3.5
3.6.24.21.20.32.3.4.26.5
3.9.11.23.32.26.24.28
3.9.25.26.7
30.12.28.2
30.12.6.30
30.12.9.25.24.6.7.24.29
30.15
30.16.14.9.5.4.10.7.31
30.16.3.21.10
30.17.2.25
30.17.25.3.31.11.3.4.1.10
30.17.4.5.13.6
30.18.30.16.29
30.2.17.8.14
30.20.3.2.5.15.8.7.17
30.22.29.21.19.14.3.2.6
30.23.10.1.10.7.22.28.18.11.17
30.23.2.13.14.15.29.19.4.12.24
30.24
30.24.23.25.32.18.22.12.29.9.22
30.24.32.15.14.10.11
30.25
30.25.17.17.10.29
30.25.24.22
30.25.8.24.6.29.31
30.27.8.6.11.19
30.3.16.26.7.27.26.9.27.21.18
30.30.17.5.30.21.19.5.22.22.14
30.31.13.9
30.32
30.4.30.11.13.23.14.24.11
30.5
30.6.4
30.8.18.5.20.6.15
30.8.9.14.25.30
30.9.24
31.13
31.13.9.1.5.12
31.17
31.17.2.30.11
31.18
31.18.25.1.14.29.25.5.22.30
31.18.27.15.20.29.29
31.18.32.11.7.25.20.5
31.21.14.20.1.22.2.5.3.27.12
31.21.22.14.8.21
31.24.26.18
31.28.32.4.31.4.7
31.29.18.26.1.26.17
31.29.4.29.24.30.30.32.10.23
31.30.12.20
31.30.23.7.7.24.32.10.11.1.31
31.32.12.26.31.32.14.23.28
31.4.7
31.5.6.4.8.29.3
31.7.14.2
31.9.3.5
32.1.21.1.16.29.21
32.1.23.20.14.12.23.5.32.15
32.1.24.29.22.5.9.24.18.3.13
32.1.31
32.15.20.28.5.1.23.4
32.16
32.17.8.24.2.14.5.4.22
32.19.20.24.23.31.8.32.16.29
32.2.11
32.24.11.8.12.23.22.19.11.17.18
32.24.29.6
32.25.16
32.25.3.6
32.27.13.6.7
32.27.18.7.3.4.2
32.28.1.32.28.10
32.29.24.31.25.6.9
32.3.12.2
32.3.23.7.2
32.3.5.9.17.15
32.30.18.17.1.14.12.18
32.31.11.22.1
32.31.26.19.13.29.4.25
32.4.19
32.6.13.8.32
32.6.15.26.14.15.3.19
32.6.3.2.12.5.28.1.25
32.6.31.31
32.6.8
32.6.9.26.16.4.4.29.7.11
32.8.29.18.31
32.8.5
4.1.24.24.28.24.18
4.10.28
4.11.19.17.2.22.20.18.13.32.15
4.11.22.4.19.24.4.28.6.8.22
4.13
4.13.22.11.9.13.27.15.7
4.14
4.14.10.19.16
4.14.16.14.1.8.1.22.17.10
4.14.17.12.20.17.1.22.3
4.14.32
4.15.20.23.12.16.2.16.17
4.16.22.19.24.21
4.16.7.25.21.7
4.18.29.9.16.10
4.19.16.15.5.2.25.8.28.14.2
4.2.16.13.16.11.19.10.10.25
4.2.2.32.24.25.31.3
4.2.6.20.7.8
4.21.28.5.16.29.5.21
4.21.9.1.2.14.8.17.13.26
4.22
4.22.17.10.19.9.8.19.28.3.9
4.22.7.19.25
4.25.12.10.15.9.18.9
4.26.2.2
4.26.23.6.19.31.10.4.22
4.26.5.26.21.28.17.24.25.23
4.27.32.18
4.3.20.27.9.1.18.30.12.5.19
4.3.6.27.22.23.10
4.30.8.20.19.9.30.24.11
4.31
4.5.9.4.15.19.8.26.17.26.3
4.7.1
4.9
5.1.5.31
5.10
5.10.2.11.21.9.19
5.10.3.9.23.30.23
5.12.2.20.1.24.25
5.13.23.19.28.26.27.6.1.22
5.13.23.4.9
5.14.27.15.11.17.3.10.27.25
5.14.29.2.23.16.20.22
5.15.10.3.23.13.32.23
5.15.16
5.18.9.25.31.21.22
5.19.1.26.20.6.20
5.2.32.19.13.29.12.13.31.29
5.20
5.21.27.13.14.11.2.16.20
5.23.31.18.24.32
5.24.24.9.32.26.31
5.24.25.15.27.30.20
5.24.4.31.3.16.25.17.13.26.11
5.27.16.3.30
5.27.21.1.29.29.28
5.27.28.26.14.15.6.20.1.31.13
5.27.32.21.5.1.11.14
5.3.17.29
5.3.29.9.22
5.31.8.1.5.13.21.28.29.19.2
5.4.8.25.12.27.2.29.28.3
5.5.12.31.23.13.17.22.20
5.8
5.8.17.30.15.8.19.29.30.11.6
5.9.19.6
6.1.8.6.30.29.30
6.10.25.12
6.11.11.5.16.8.14.12.9
6.11.31.23.12.8.30.14.27
6.13.31.5.7.26
6.14
6.17.10.10.7.9.27.8.29
6.17.26.25.27.11.10.9
6.18.1.4.18.23
6.19.29.11.2.32.21.15.32.9
6.19.3
6.19.6.4.9.11.32.17.17.3.15
6.2.32
6.20
6.20.14
6.21.30.7
6.22.12
6.25.17.32
6.26
6.26.29.10.21.28.20.19
6.27.26.1.20.24.6
6.27.29.14.8.12.26.3.21.4.1
6.29.32.13.30.3.16
6.29.6.13.14.24.10.4.14.28
6.5.27.19.13.26.1.18.9
6.6.22.8
6.7.25.16.13.21.7.20.25.12.4
6.7.7
6.8.7.20.2
6.9.1.10.10.22.6
6.9.29.17.4.32
7.10.17.21.11.29.17.25.19.4.29
7.11
7.12
7.12.1.10.6.17.29.24.24.4
7.12.23
7.13
7.13.15
7.14.22.29.30.14.25.1.9.26.25
7.16.20.17
7.19.10.12.31.1.27.13.19
7.19.12.3.21.19.18.5.2.14.10
7.19.6.17.15.26.21.9
7.21.8
7.23.1.24.29.13.31.19.23.17.7
7.23.15.32.28.27.2.2.26
7.26.18
7.27.20
7.30.19.25.23.15.14.29
7.30.5.10.10.5.30.14.9.18
7.31
7.31.2.28.15.11.17.18.19.23.6
7.31.4.20.17
7.32.10.3.30.12.14
7.5.28.8.17.26.31.10.15
7.7
7.7.22.24.17.32.17.25.28
7.7.25.22.22.26
8.1.29.18.22
8.10
8.11.20
8.12.4
8.13.1
8.13.14.11.11.29.22.4.4.10
8.13.6.12.18.7
8.13.9.31.20.20.24.7.23.31.28
8.14.19.18
8.16
8.16.1.16.28.6.3.22.6.23
8.16.20.24.20.6.10.21
8.16.30.29.19.22.28.24.2
8.16.6
8.17.25.26.15.25
8.17.9.15.21.28.1.7.1.3.6
8.2
8.2.18.23.5.16.17.1
8.21.17.3.6.3.18
8.21.8.23.4.18
8.22.32.17.16.28.31.23.22.9
8.24.11.13.25.19
8.25.20.3.15.24.7.4.24.5.30
8.26.29.13.7.25.31.28.3.32
8.27.3.4.12.26.16
8.29.6.3
8.3.18.13.30.20.27.26.17.28
8.3.3.25.25.15.7.13.21.18
8.31.22.27
8.32.30.1
8.5.24.9.29.32.31.30.13.9.7
8.5.30.29.9.31
8.6.6.5.8.8.12
8.9.21.16.29
8.9.22
8.9.25.25.26.30.31.31.2.32.7
9.10.19.18.15.11.22.32.32.14.9
9.10.32
9.14.27.31.26.21.25.3.20
9.16.2.16.22.24.17.31.14.21.17
9.17.13.31.7
9.18.23
9.18.30.11.29.32.7.19.2
9.19.7.13.13.25
9.2.10.4
9.2.4.27.26
9.21.14.19
9.21.20.29.1
9.21.28.8.12.15.3.13.10.11
9.22.10.15.5.15
9.23.21.22.5.29.15.21
9.26.1.16
9.28.10.26.14.26.15.14
9.28.24
9.28.30.1.6.25.17.9
9.3.3
9.3.31.18.12.3.9.29.10
9.30
9.31.23.19.5.10.16.4.30.24.5
9.31.4.14.31.10.17.5.2
9.5
9.5.9.3.23.9.25.14.1.29.28
9.6.9.21.6.11.29.13.29.20.32
9.7.31.11.8.23
9.8.23.2.20.16
9.9.13.9.14.27
(883 rows)
SELECT * FROM ltreetest WHERE t > '12.3' order by t asc;
t
----------------------------------
12.4.10.17.4.10.23.3
12.4.12.13.25.30.30.8.9.12
12.4.24.6.1.13.5.20
12.4.26.23.25.5.15.7.16
12.6.14.23.19.21.9.12
12.7.16.8.21.22.2.16.18
12.7.28.26.14.21.18.31.5.15.11
13.1.6.17.28.9.15.30.1.27.14
13.12
13.14.13.10.28.26.9.18.27.21
13.16.1.27.18.18.19.6.14.4
13.16.4.28
13.17.7
13.19.2.6.23.19.9.7.21.8.16
13.24
13.25.10.25.8.16
13.26.17.3.2.19
13.28.12.6
13.28.14.2.8.18
13.28.9.3
13.3.20
13.3.8
13.30.24
13.32.15.32.26.14.32
13.7
13.8.15.3.7.31.5.10.15.30
13.8.20.9.21
13.8.23.13.11.18.24.21.11.24.10
13.9.9.27.31.11.25.9.27.22.13
14.1.11
14.1.15.25.27.23.25.26.28.10
14.10.11.30.5.7.6.24.9.30.26
14.11.25
14.12.31
14.13.9.13.11.5.5.2.2.32.12
14.14.25
14.15.31.29
14.16.6.29.26.13.14.16.25.26.8
14.17.7.30.8.25.26.4
14.19.20.13.27.2.2
14.19.26.15.22.23
14.19.30.6.4.10.10.10.22.25.11
14.2.14.11.12
14.21.22
14.21.5.28.3.32.24.14.25.31
14.21.6.5.26.9.32.16.25
14.23.31.5.5.15.17.12.17.7.3
14.24
14.26.25.4.12.26.8
14.27.29.23.4.1.17.32.6.25.22
14.29
14.3.17.1.14.15.21.4.26
14.30.13.5.26.9.22.23.14.10
14.30.2.21.15.16.13
14.30.23.3
14.4.19.27.28.24.19
14.4.23.4.23.22.11.6.26.5
14.5.13.19.25.12.32.9.13.16.12
14.6.10.29.25.26.20.24.24
14.8.15.30.7.29.27.31.4
14.9.15.21.21.31.1.29
15.1.6.31.30.13.32.9.10
15.1.8
15.10.30.1.4.12.8.20
15.11.26.1.30.6.23.5
15.17
15.17.2.32.7
15.21.22
15.21.23.30.9.25
15.23.26.20.27.7
15.25.31.11.4.22.16.7.11
15.26.24.31.16.15.17.22.8.30.3
15.28.24
15.28.30.19.31.6.2.2.31
15.29.25
15.29.32.16.29.12.20.32.13.20
15.3.31.9.27.14.9.8.14.6.32
15.30.17.5.32.28.2.18.27
15.31.11.27.19.19.20.5.5
15.4.15
15.5.1.31.28.10.8
15.6.19.3
15.7.3.14.23.19.26
15.7.5.12.7.9.3.28.26
15.8.10
15.8.3.15.27.14.29.28.6.5.25
15.9.11.20.22.15.11.13
15.9.8.20.27
16.13.19.11.18.13.17.17
16.13.2.19.14.29.31.30.23.15.12
16.13.26.18.9.29.11.17.1.24.26
16.14.3.17.17.26.12.19.19.30
16.16.28.24.11
16.18.23.6.31
16.19.17.30.30.5.17.24.27
16.2.14.3.26.11
16.20.29.26
16.21.13.1.4
16.23.30.12.31.31.19.14
16.24.3.30.15.22.31.2
16.24.7.25
16.27.8.17.14.17.21.29.14
16.28
16.29.6.23.13.28.31.6.19.26.15
16.30.10.7.29.4.9.21.22.13.26
16.31.12.27.25.9.32.29
16.5
16.5.10.2.18.8.15.12.32.25.10
16.5.12.5.15.12.24.25.3
16.5.14.21.32.17.23.3.4.26
16.5.23.17
16.5.6.12
16.8.29.7.21.2.3
16.9.14.28.6.21.31.31.26
16.9.29
16.9.32.14.3.7.8.7.21.22
17.1.12.20
17.10.17.22.20.25.14.13
17.11.17.4.8.26.26.20.6
17.13.14.29.27.27.13.12.15
17.13.19.31.12.18.10.15.14
17.13.8
17.14.7.3.2.18.20.23.18.5
17.17.14.28.6.30
17.19.1.22.11.7.22.1.14.28.11
17.22.12.10.30.11
17.24.15.27.3.32.4.22.20.6.24
17.24.30.6.32
17.25.10.13.21.5.7.22.2
17.25.2.13.10.27.13.1
17.25.26.23.32
17.26.18
17.27
17.29.21.10.18.8.16.26.18.21.26
17.29.31.8.24.10.18.27.17
17.3
17.5.3.15.17.13.5
17.7.26.30.18.23.4
17.8
17.8.31.32
17.9.32.31.21.31.23.17.10.32.9
18.13.6.12.26.26.26.29.18.20.1
18.13.9.3.18.15.2
18.15.14
18.17.6.16.6.10
18.18.19.16.14.16.21.10.25
18.18.5.11.7.4.25
18.19.11.20.13.13.11
18.19.12.20.18.17.15.32.18.5
18.21
18.24.21.17.11.26.28.22.21.18.10
18.27.11.27.9.16.7.6.22.26.27
18.29.13.24.18.3.12.18.12.12
18.29.5.1.10.21.2
18.30.11.17
18.30.18.31
18.31.26.18.6.15.18.11
18.31.32.28.1.4.24.24.12.25
18.31.32.29.22.1.31.11.28
18.4
18.4.14.29.3
18.5.6.31.5.15.15
18.6.2.2.24
18.6.26.2.13.9.6.11.10.11.16
18.7.10.27.17.24
18.7.3.17.13.5.31.6.31.25.29
18.9.21.2.31.8.32
18.9.26.7
19.10.26.19.5.21.30.23
19.10.4.30.32.4.12
19.10.8.10.4.19
19.11.10.18.14.13.7.7
19.11.29.13.15.27.12.15.14.12
19.12.20.24.32.13.11.23.26
19.12.26.24.29.3
19.12.30.2.21
19.15.26.19
19.16.26.2
19.16.31.31.29.12
19.17.12.15
19.17.13.12.32.16.3
19.19.25.22.11.6.15.3.2.19
19.2.26.21.16.11.2.2
19.2.9.29.6
19.20.25.7.27.28.27.17.9.3.1
19.22.21.13.27.13.15
19.22.29.32.1.21.26.24.23.17
19.26.24.27.6.24.16.27.32.29
19.26.32.13.1.12.30.26.22.25
19.3.12.12
19.3.23.4.4.21.23
19.30.18.11.32.14
19.30.27.26.21.7.18
19.31.14.25.5.8.21.11.13.20
19.5.20.3.4.2.3
19.6.13.14.22.13.9.29
19.6.24.32.30.13.6.25.8.28
19.7
19.7.29.31.3.20.7.21.25.27.29
19.9.32.23.13.24.1
2.1.12.19.29.28.3.31.28.28.10
2.1.3.30.24.17.9
2.10.10.4.20.1.12.13
2.10.28.1.17.19.32.28
2.11.32.25.23
2.12.14.28.16.21
2.12.30.22.12
2.13.9.23.21.2
2.13.9.28
2.14.10.4.17.17.8.4.27.20
2.14.12.13
2.15.14.20.30.26
2.15.18.21.5.21.4.7.30
2.16.3.7.22.18.29.20
2.19.4.1.15.7.8.9.17.29
2.2.18.18.3.3.18.8.10.8
2.22.19
2.24.4.5.24.32
2.24.5.3.4.10.27.26.17.28.16
2.27.15.14
2.28.5.17.6.32
2.30.26.10.14.31.18.2
2.31.25
2.32.10.13.12
2.32.8.28.24.20.9.24.25.8.9
2.4.25.32.16.22.26.13.17.18
2.6.15.26.23.26.24
2.8.13.12.17.23.16.7.11.23
2.9
20.1.24.3.30.31
20.13
20.14.11.2.10.14
20.15
20.17.14.7
20.17.18.21.1
20.18.24.14.12.13.9
20.20.32.29.24.5.5.26.22.32
20.20.7
20.22.10
20.23.29.5.7.30.13.14.22
20.23.7.11.11.31.18.16.3
20.24.14.15.4.21.12.27.4.12
20.25.22.19.22
20.28.22.7.10.28.27.22.14.16
20.29.18.16.2.21.23.11
20.3.1.8.8.30.20
20.30.17
20.30.28.15.17
20.30.9.9.14.12.29
20.31.13.12.19.2.26.16.16.22.28
20.32.5.1.3.20.3.30.27
20.32.9
20.4.1.16.31.3
20.4.27.31.1
20.5.4.9.31.14.26.6
20.6.26.3.30
20.6.3.26.7.29.28.4
20.8.19.14.16.7
20.9.29.32.13.7.23
21.1.4.9.9.31.24.21.3.29
21.10.20.9.3.16.9.10.20
21.14
21.14.13
21.14.22.29
21.14.25.20.13.31.14.20
21.15.18.18.30.3.20
21.15.31.24.29.24.26.12.20
21.17.18.32.7.8
21.17.27.23.15
21.17.31.10.31.13.9.26.6.14
21.18
21.18.2.1
21.18.30.19.24.24
21.20.24.25.6.26.23
21.20.28.19.27.9
21.21.10.27
21.22.31.24.27
21.23.13
21.23.17.8.23.11.8.1
21.28.17.22.10.27.4.20.2.32
21.28.24.23.3.11.7.12.22.32
21.30.19.6.28.1.32.2.14.14
21.31.31.25.5.30.26
21.32.13.21
21.32.13.22.3.13.31.23.14.12.9
21.4.11.18
21.4.22.20.24.28.6
21.5.11.18
21.5.17.19.15.25.18.21.24.9
21.6.22.28.12.23.11.22
21.7.23.9.16.5.18.14
21.7.7.11
21.8.9
21.9.27.22.32
21.9.32.1.27
22.10.12.23.9
22.10.16.8
22.10.18
22.10.27.19.29.20.29.3.12.14.25
22.11
22.12.22.28
22.13.22.21.25.17.8
22.13.22.8.30.32.10.24
22.15
22.16
22.16.25.18.25.7.24.29.14.8
22.17.24.14.21.15.12.18.17.25.11
22.17.30
22.17.4.2.22.17
22.17.7.30.13.24
22.17.9.11.25.15.3.9
22.18.20.23.15.9.12
22.19.20.5.2.20
22.19.21.11.6.8.29.24
22.19.5.22.20.31.23.24.14.24.4
22.20.30
22.21.32.15.8.29.5.12.10.29
22.22.10.30.5.15.25.21.19.11
22.22.27.6.27.15.5.18.21.28.9
22.23.18.18.9.8.23.7.23.23.16
22.23.22.30
22.23.25.28.5.27.9.9.24.31.10
22.24.22.25.15.23.13
22.25.4.28.9.20.12.13
22.26.1.28.9.9.31
22.26.32
22.28.20.6.32.32
22.29.18.32.13.12.22.31.17.22
22.29.29.11
22.3.6
22.30
22.30.31.24.23.22.5.20.28.1
22.31.2.32.32.11.26.23.19
22.31.21.13.13.26.11.5.19
22.32.6.6.3.8.24.6.25.29
22.8.20.1.10.28.6.27
22.9.15.19.12
23.1.23.18.12.29
23.10.13.32.14.20.16.11.14
23.10.5.26.12.4.20.4
23.12.1.5.32.25.8.24.1.25
23.12.11.11.15.16.22.31.32.5.8
23.12.19.25.16.23.22.6.29.4
23.12.32.22.19.1.22.4
23.14.12.30.18.4.16.18.7.7
23.14.30.27.28.26.26.23.8.32
23.17.22.1.23.4.29.32.4.1
23.17.25.4.1.16.29.10
23.17.28.31.28
23.17.32.15.23.16.25
23.19.17.31.29.13.1.12.5.25
23.2.22.7.32.3.27.6
23.20.12.16.15.2
23.20.24
23.20.8
23.22.10.1.14.24
23.22.23.14.31.32
23.23
23.24.11.31.10.31.18.28.13.18.6
23.24.16.32.13.29
23.25.23.11.7.23
23.27.27.16
23.27.6.26.22
23.28.1
23.28.20.25.30.24.15
23.28.3.30.15.31.32.3.21.9.19
23.3.20.24
23.3.32.21.5.14.10.17.1
23.31.27.16.8.30.20.27
23.32.5.25.19.9.15.17.15.11
23.5.5.17
23.5.7.12.11.23.10
23.6.27
23.8.13.22.21
24.1.10.20.28.18.6.27.20.30.26
24.1.29.32.14.15.32.6.15.22
24.10.10.31.4.29.9
24.10.8.25.16
24.11.5
24.12
24.13.1.8
24.15.15.17.22
24.16.27.10.9
24.17.24
24.17.31.20.12.9.19.29.18
24.18.16
24.2.26.24.14.15.31.23.17.26
24.2.6.7.16.7.28
24.20.23
24.21.14.25.11.3.20.6.6.16
24.23.24.4.15.25.17
24.23.29.8.24.11.21.10.28.14.27
24.24
24.25.7.27.30.8.26.17
24.27.14
24.27.18.32.14.9.11.28.9
24.28.13.26.8.8.31
24.28.32.21
24.3.23.25
24.31
24.31.2.13.5.23.18.16
24.31.8
24.32.17.23.24.19.23.9.20.18
24.32.27
24.9
24.9.15.1.14.29.6.4
24.9.27.16.20.21
24.9.8.12.29
25.10
25.10.29.3.6.21.3.31.13
25.10.4.28.3.31.19
25.11.24
25.14.5.32.25
25.15.11
25.16.9.6
25.17.18.17.27
25.17.18.30
25.17.2.20.20.3.29.21.3.12
25.17.9.16.17.31.23.29.24
25.18.8.3.23.23.5.9.6
25.19.27.2.9.20
25.2.11.20.8.6.22
25.2.3.15.11.19.5.28.25.14
25.21.8.17
25.22.2.25.6
25.24.2.32.14.18.16
25.24.29
25.28.3
25.28.30.24
25.29
25.3
25.30.1.4.24.11
25.31
25.32.24.24.28.15.16.10
25.4.32
25.4.4.1.13.32.26.20.20.3
25.5.30.7.16.12.21.12.11.16
25.6
25.6.12.16.1
25.7.3.21.31.12.28
25.9
25.9.1.5.9.11.25.4.11.27.32
25.9.10
26.11
26.12.27.2
26.13.4.7.13.11.3
26.14
26.14.5.32.10
26.16.12
26.16.12.3.27.9.28
26.17.9.13.4.25.32.2.24.9
26.18
26.18.32.20
26.19.3.14.8.28.31.10
26.24
26.24.9.12.11.15.31.2
26.25.10.10.13
26.25.24
26.26.22.21.14.11.29.19.14.24
26.28.14
26.31.11.23.3
26.31.16.18.22.13.32.23.9.20
26.31.6.8.29.8.24
26.31.7
26.32.21.31.27.12
26.32.8.12.30.19.24.8.6.1.10
26.5.29.7.28
26.7.22.3.18.21.11
26.7.5.8.11.9.22.1.6
26.8.28
26.9.17.1.18.19.1.11.18.29.3
26.9.20.12.22.22.32
27.1.11.3.25.9.6.6
27.11.14.17.24
27.11.15.9.24.31.18.4.1.30.20
27.12.4.2.29.22.15
27.15.15.15
27.16
27.17.15.7.28.20
27.17.17.19.24.9.14.20
27.17.3.18.2.13.18
27.18
27.18.10.4.22
27.19.20.1.31.29.5.22.26.3
27.2.10.4.25.14.2.15.4
27.21.27.5.13.30.17
27.21.28.24.7.2.24.23.8
27.22.11.13.21.25.5.1.27.21.27
27.23.2.32.11.21
27.23.20.30.7
27.24.11.31.21.6.29.17.24.18
27.25
27.26.29
27.27
27.27.25.10.31.10.21.22.21.16.12
27.27.30.11.15.24.9.7.4.30
27.29.1.5.30.6.22.16.23.2.28
27.3
27.3.3.11.21.4.25
27.30.12.11.20.15.11.13
27.31.2.16.29.6
27.32.26.21.31.17.32.32
27.4
27.4.15.14.19.6.12
27.4.17.17.32.8.16.15.17.13
27.5.15.1.15.16.21
27.5.22
27.6.13.24.21.27.28.22.3.7.4
28.1.3
28.11.11.30.20.11.32
28.11.27.21.14.16
28.14.24.26.6.15.16.32.25.13.8
28.14.32.29.2.3.4
28.15.18.27
28.15.25.7.13.6.19.2
28.17.26.9
28.18.6.22.13.8.25
28.2.27.1.20
28.20.8.9.9.28.30.29
28.23.2.30.3.8.1.15.15.14.13
28.25.10.25.19.15
28.25.11.22
28.25.29.4.13.5.6
28.26.25.7
28.26.26.6.31
28.26.4.22.13.20.32.27.15
28.27.24.14
28.28
28.30.24.16.17.28.2.13.10
28.31.10.28.22.26.16.15
28.4
28.5.12.9.2.27.11.11.2
28.5.13
28.6
28.6.11.6.15.22.12.6
28.6.8.22.25
28.8.21.15.16.28.4.16.26.8
28.9.3.16.17.21.23.30
29.1
29.1.2.14.14
29.1.7.26.25.11.22
29.10.12.17.12.16
29.10.17.11.28.12.18.5.19.15.21
29.11.20.22.27
29.14.12.9.17.5.32
29.14.31.25.7.32.23
29.15.29.8.31.26.1
29.20.1.11.21.16.1.2.14.28
29.23.1.21.31.8
29.23.15.25.1.6.6.10
29.25.29.16.32.11.15.25.5.22.3
29.25.30.15.21.3.25.26.26
29.26.25.14.24.18.2.13.23.29
29.27
29.27.13.29.10.2
29.27.13.9.28.29.19.13.29.31.27
29.27.5.22.26
29.27.7.7.3.11.14.26.21.11
29.28.9.15.8.27.31
29.29.17.31
29.29.18
29.3.15.17.12.29
29.3.17.17.18.32
29.30.21.8.16.23.32
29.30.7.31.22
29.32.13.4.1.16.20
29.5.18.27.3.21.18.6.14
29.5.32.20.11.7.13.24.17
29.6.12.31.20.23.32.20
29.9.25.27.15.16.32.26.6.32
3.1.13.22.24.14.12.31.3.4
3.1.14.8.9.16.30.22.20
3.10
3.10.27.4.5.6.19.12.28.12
3.10.4.5.28.11
3.11.18.21.5.20.30
3.11.32.11.22.3.7.17.8.13.23
3.13
3.14.1.14.17.28.29.16
3.14.11.15.21.32.2.15.13
3.14.30.5.32.22.29
3.15.2.23.22.2.16.14
3.18
3.18.18
3.18.8.22.7.28.32.31.3
3.19.11.6.5
3.20.16.13.29.20
3.20.19.10.17.27.3.6.22.23
3.21.16.24.23.12.16.32.3
3.21.6.13.12.18.25
3.22.18.1.5.14.9.6.14
3.25
3.26
3.26.32
3.27.18.8.4.21.6.32.30.7.5
3.29.19.2.24
3.29.32.26.8.10.25
3.3
3.32.2.29.3.32.28.11.29.30
3.4.22.19
3.5
3.6.24.21.20.32.3.4.26.5
3.9.11.23.32.26.24.28
3.9.25.26.7
30.12.28.2
30.12.6.30
30.12.9.25.24.6.7.24.29
30.15
30.16.14.9.5.4.10.7.31
30.16.3.21.10
30.17.2.25
30.17.25.3.31.11.3.4.1.10
30.17.4.5.13.6
30.18.30.16.29
30.2.17.8.14
30.20.3.2.5.15.8.7.17
30.22.29.21.19.14.3.2.6
30.23.10.1.10.7.22.28.18.11.17
30.23.2.13.14.15.29.19.4.12.24
30.24
30.24.23.25.32.18.22.12.29.9.22
30.24.32.15.14.10.11
30.25
30.25.17.17.10.29
30.25.24.22
30.25.8.24.6.29.31
30.27.8.6.11.19
30.3.16.26.7.27.26.9.27.21.18
30.30.17.5.30.21.19.5.22.22.14
30.31.13.9
30.32
30.4.30.11.13.23.14.24.11
30.5
30.6.4
30.8.18.5.20.6.15
30.8.9.14.25.30
30.9.24
31.13
31.13.9.1.5.12
31.17
31.17.2.30.11
31.18
31.18.25.1.14.29.25.5.22.30
31.18.27.15.20.29.29
31.18.32.11.7.25.20.5
31.21.14.20.1.22.2.5.3.27.12
31.21.22.14.8.21
31.24.26.18
31.28.32.4.31.4.7
31.29.18.26.1.26.17
31.29.4.29.24.30.30.32.10.23
31.30.12.20
31.30.23.7.7.24.32.10.11.1.31
31.32.12.26.31.32.14.23.28
31.4.7
31.5.6.4.8.29.3
31.7.14.2
31.9.3.5
32.1.21.1.16.29.21
32.1.23.20.14.12.23.5.32.15
32.1.24.29.22.5.9.24.18.3.13
32.1.31
32.15.20.28.5.1.23.4
32.16
32.17.8.24.2.14.5.4.22
32.19.20.24.23.31.8.32.16.29
32.2.11
32.24.11.8.12.23.22.19.11.17.18
32.24.29.6
32.25.16
32.25.3.6
32.27.13.6.7
32.27.18.7.3.4.2
32.28.1.32.28.10
32.29.24.31.25.6.9
32.3.12.2
32.3.23.7.2
32.3.5.9.17.15
32.30.18.17.1.14.12.18
32.31.11.22.1
32.31.26.19.13.29.4.25
32.4.19
32.6.13.8.32
32.6.15.26.14.15.3.19
32.6.3.2.12.5.28.1.25
32.6.31.31
32.6.8
32.6.9.26.16.4.4.29.7.11
32.8.29.18.31
32.8.5
4.1.24.24.28.24.18
4.10.28
4.11.19.17.2.22.20.18.13.32.15
4.11.22.4.19.24.4.28.6.8.22
4.13
4.13.22.11.9.13.27.15.7
4.14
4.14.10.19.16
4.14.16.14.1.8.1.22.17.10
4.14.17.12.20.17.1.22.3
4.14.32
4.15.20.23.12.16.2.16.17
4.16.22.19.24.21
4.16.7.25.21.7
4.18.29.9.16.10
4.19.16.15.5.2.25.8.28.14.2
4.2.16.13.16.11.19.10.10.25
4.2.2.32.24.25.31.3
4.2.6.20.7.8
4.21.28.5.16.29.5.21
4.21.9.1.2.14.8.17.13.26
4.22
4.22.17.10.19.9.8.19.28.3.9
4.22.7.19.25
4.25.12.10.15.9.18.9
4.26.2.2
4.26.23.6.19.31.10.4.22
4.26.5.26.21.28.17.24.25.23
4.27.32.18
4.3.20.27.9.1.18.30.12.5.19
4.3.6.27.22.23.10
4.30.8.20.19.9.30.24.11
4.31
4.5.9.4.15.19.8.26.17.26.3
4.7.1
4.9
5.1.5.31
5.10
5.10.2.11.21.9.19
5.10.3.9.23.30.23
5.12.2.20.1.24.25
5.13.23.19.28.26.27.6.1.22
5.13.23.4.9
5.14.27.15.11.17.3.10.27.25
5.14.29.2.23.16.20.22
5.15.10.3.23.13.32.23
5.15.16
5.18.9.25.31.21.22
5.19.1.26.20.6.20
5.2.32.19.13.29.12.13.31.29
5.20
5.21.27.13.14.11.2.16.20
5.23.31.18.24.32
5.24.24.9.32.26.31
5.24.25.15.27.30.20
5.24.4.31.3.16.25.17.13.26.11
5.27.16.3.30
5.27.21.1.29.29.28
5.27.28.26.14.15.6.20.1.31.13
5.27.32.21.5.1.11.14
5.3.17.29
5.3.29.9.22
5.31.8.1.5.13.21.28.29.19.2
5.4.8.25.12.27.2.29.28.3
5.5.12.31.23.13.17.22.20
5.8
5.8.17.30.15.8.19.29.30.11.6
5.9.19.6
6.1.8.6.30.29.30
6.10.25.12
6.11.11.5.16.8.14.12.9
6.11.31.23.12.8.30.14.27
6.13.31.5.7.26
6.14
6.17.10.10.7.9.27.8.29
6.17.26.25.27.11.10.9
6.18.1.4.18.23
6.19.29.11.2.32.21.15.32.9
6.19.3
6.19.6.4.9.11.32.17.17.3.15
6.2.32
6.20
6.20.14
6.21.30.7
6.22.12
6.25.17.32
6.26
6.26.29.10.21.28.20.19
6.27.26.1.20.24.6
6.27.29.14.8.12.26.3.21.4.1
6.29.32.13.30.3.16
6.29.6.13.14.24.10.4.14.28
6.5.27.19.13.26.1.18.9
6.6.22.8
6.7.25.16.13.21.7.20.25.12.4
6.7.7
6.8.7.20.2
6.9.1.10.10.22.6
6.9.29.17.4.32
7.10.17.21.11.29.17.25.19.4.29
7.11
7.12
7.12.1.10.6.17.29.24.24.4
7.12.23
7.13
7.13.15
7.14.22.29.30.14.25.1.9.26.25
7.16.20.17
7.19.10.12.31.1.27.13.19
7.19.12.3.21.19.18.5.2.14.10
7.19.6.17.15.26.21.9
7.21.8
7.23.1.24.29.13.31.19.23.17.7
7.23.15.32.28.27.2.2.26
7.26.18
7.27.20
7.30.19.25.23.15.14.29
7.30.5.10.10.5.30.14.9.18
7.31
7.31.2.28.15.11.17.18.19.23.6
7.31.4.20.17
7.32.10.3.30.12.14
7.5.28.8.17.26.31.10.15
7.7
7.7.22.24.17.32.17.25.28
7.7.25.22.22.26
8.1.29.18.22
8.10
8.11.20
8.12.4
8.13.1
8.13.14.11.11.29.22.4.4.10
8.13.6.12.18.7
8.13.9.31.20.20.24.7.23.31.28
8.14.19.18
8.16
8.16.1.16.28.6.3.22.6.23
8.16.20.24.20.6.10.21
8.16.30.29.19.22.28.24.2
8.16.6
8.17.25.26.15.25
8.17.9.15.21.28.1.7.1.3.6
8.2
8.2.18.23.5.16.17.1
8.21.17.3.6.3.18
8.21.8.23.4.18
8.22.32.17.16.28.31.23.22.9
8.24.11.13.25.19
8.25.20.3.15.24.7.4.24.5.30
8.26.29.13.7.25.31.28.3.32
8.27.3.4.12.26.16
8.29.6.3
8.3.18.13.30.20.27.26.17.28
8.3.3.25.25.15.7.13.21.18
8.31.22.27
8.32.30.1
8.5.24.9.29.32.31.30.13.9.7
8.5.30.29.9.31
8.6.6.5.8.8.12
8.9.21.16.29
8.9.22
8.9.25.25.26.30.31.31.2.32.7
9.10.19.18.15.11.22.32.32.14.9
9.10.32
9.14.27.31.26.21.25.3.20
9.16.2.16.22.24.17.31.14.21.17
9.17.13.31.7
9.18.23
9.18.30.11.29.32.7.19.2
9.19.7.13.13.25
9.2.10.4
9.2.4.27.26
9.21.14.19
9.21.20.29.1
9.21.28.8.12.15.3.13.10.11
9.22.10.15.5.15
9.23.21.22.5.29.15.21
9.26.1.16
9.28.10.26.14.26.15.14
9.28.24
9.28.30.1.6.25.17.9
9.3.3
9.3.31.18.12.3.9.29.10
9.30
9.31.23.19.5.10.16.4.30.24.5
9.31.4.14.31.10.17.5.2
9.5
9.5.9.3.23.9.25.14.1.29.28
9.6.9.21.6.11.29.13.29.20.32
9.7.31.11.8.23
9.8.23.2.20.16
9.9.13.9.14.27
(882 rows)
SELECT * FROM ltreetest WHERE t @> '1.1.1' order by t asc;
t
-------
1
1.1
1.1.1
(4 rows)
SELECT * FROM ltreetest WHERE t <@ '1.1.1' order by t asc;
t
-----------
1.1.1
1.1.1.1
1.1.1.2
1.1.1.2.1
(4 rows)
SELECT * FROM ltreetest WHERE t @ '23 & 1' order by t asc;
t
--------------------------------
1.10.23.25.5.11
1.10.4.18.22.23.24
1.12.25.26.22.8.15.23
1.19.22.11.14.7.32.23.19.14
1.21.28.4.23
1.26.15.23.5.31.29.11.19.28.1
1.27.22.23.2.26.32.17.7.9
10.12.9.6.6.26.14.8.23.1.25
12.27.23.32.1.1.9.29.13
14.1.15.25.27.23.25.26.28.10
14.27.29.23.4.1.17.32.6.25.22
15.11.26.1.30.6.23.5
19.22.29.32.1.21.26.24.23.17
19.9.32.23.13.24.1
21.23.17.8.23.11.8.1
22.30.31.24.23.22.5.20.28.1
23.1.23.18.12.29
23.12.1.5.32.25.8.24.1.25
23.12.32.22.19.1.22.4
23.17.22.1.23.4.29.32.4.1
23.17.25.4.1.16.29.10
23.19.17.31.29.13.1.12.5.25
23.22.10.1.14.24
23.28.1
23.3.32.21.5.14.10.17.1
27.29.1.5.30.6.22.16.23.2.28
28.23.2.30.3.8.1.15.15.14.13
29.23.1.21.31.8
29.23.15.25.1.6.6.10
30.23.10.1.10.7.22.28.18.11.17
31.30.23.7.7.24.32.10.11.1.31
32.1.23.20.14.12.23.5.32.15
32.15.20.28.5.1.23.4
5.13.23.19.28.26.27.6.1.22
6.18.1.4.18.23
7.23.1.24.29.13.31.19.23.17.7
8.16.1.16.28.6.3.22.6.23
8.2.18.23.5.16.17.1
9.5.9.3.23.9.25.14.1.29.28
(39 rows)
SELECT * FROM ltreetest WHERE t ~ '1.1.1.*' order by t asc;
t
-----------
1.1.1
1.1.1.1
1.1.1.2
1.1.1.2.1
(4 rows)
SELECT * FROM ltreetest WHERE t ~ '*.1' order by t asc;
t
--------------------------------
1
1.1
1.1.1
1.1.1.1
1.1.1.2.1
1.1.2.1
1.26.15.23.5.31.29.11.19.28.1
10.13.22.1.8.30.9.24.1.2.1
10.22.1
10.26.30.15.1
11.1
12.1.1
17.25.2.13.10.27.13.1
18.13.6.12.26.26.26.29.18.20.1
19.20.25.7.27.28.27.17.9.3.1
19.9.32.23.13.24.1
20.17.18.21.1
20.4.27.31.1
21.18.2.1
21.23.17.8.23.11.8.1
22.30.31.24.23.22.5.20.28.1
23.17.22.1.23.4.29.32.4.1
23.28.1
23.3.32.21.5.14.10.17.1
25.6.12.16.1
29.1
29.15.29.8.31.26.1
32.31.11.22.1
4.7.1
6.27.29.14.8.12.26.3.21.4.1
8.13.1
8.2.18.23.5.16.17.1
8.32.30.1
9.21.20.29.1
(34 rows)
SELECT * FROM ltreetest WHERE t ~ '23.*{1}.1' order by t asc;
t
---------
23.28.1
(1 row)
SELECT * FROM ltreetest WHERE t ~ '23.*.1' order by t asc;
t
---------------------------
23.17.22.1.23.4.29.32.4.1
23.28.1
23.3.32.21.5.14.10.17.1
(3 rows)
SELECT * FROM ltreetest WHERE t ~ '23.*.2' order by t asc;
t
------------------
23.20.12.16.15.2
(1 row)
SELECT * FROM ltreetest WHERE t ? '{23.*.1,23.*.2}' order by t asc;
t
---------------------------
23.17.22.1.23.4.29.32.4.1
23.20.12.16.15.2
23.28.1
23.3.32.21.5.14.10.17.1
(4 rows)
Implement operator class parameters PostgreSQL provides set of template index access methods, where opclasses have much freedom in the semantics of indexing. These index AMs are GiST, GIN, SP-GiST and BRIN. There opclasses define representation of keys, operations on them and supported search strategies. So, it's natural that opclasses may be faced some tradeoffs, which require user-side decision. This commit implements opclass parameters allowing users to set some values, which tell opclass how to index the particular dataset. This commit doesn't introduce new storage in system catalog. Instead it uses pg_attribute.attoptions, which is used for table column storage options but unused for index attributes. In order to evade changing signature of each opclass support function, we implement unified way to pass options to opclass support functions. Options are set to fn_expr as the constant bytea expression. It's possible due to the fact that opclass support functions are executed outside of expressions, so fn_expr is unused for them. This commit comes with some examples of opclass options usage. We parametrize signature length in GiST. That applies to multiple opclasses: tsvector_ops, gist__intbig_ops, gist_ltree_ops, gist__ltree_ops, gist_trgm_ops and gist_hstore_ops. Also we parametrize maximum number of integer ranges for gist__int_ops. However, the main future usage of this feature is expected to be json, where users would be able to specify which way to index particular json parts. Catversion is bumped. Discussion: https://postgr.es/m/d22c3a18-31c7-1879-fc11-4c1ce2f5e5af%40postgrespro.ru Author: Nikita Glukhov, revised by me Reviwed-by: Nikolay Shaplov, Robert Haas, Tom Lane, Tomas Vondra, Alvaro Herrera
2020-03-30 18:17:11 +02:00
drop index tstidx;
create index tstidx on ltreetest using gist (t gist_ltree_ops(siglen=0));
ERROR: value 0 out of bounds for option "siglen"
DETAIL: Valid values are between "1" and "2024".
create index tstidx on ltreetest using gist (t gist_ltree_ops(siglen=2025));
ERROR: value 2025 out of bounds for option "siglen"
DETAIL: Valid values are between "1" and "2024".
create index tstidx on ltreetest using gist (t gist_ltree_ops(siglen=2024));
SELECT count(*) FROM ltreetest WHERE t < '12.3';
count
-------
123
(1 row)
SELECT count(*) FROM ltreetest WHERE t <= '12.3';
count
-------
124
(1 row)
SELECT count(*) FROM ltreetest WHERE t = '12.3';
count
-------
1
(1 row)
SELECT count(*) FROM ltreetest WHERE t >= '12.3';
count
-------
883
(1 row)
SELECT count(*) FROM ltreetest WHERE t > '12.3';
count
-------
882
(1 row)
SELECT count(*) FROM ltreetest WHERE t @> '1.1.1';
count
-------
4
(1 row)
SELECT count(*) FROM ltreetest WHERE t <@ '1.1.1';
count
-------
4
(1 row)
SELECT count(*) FROM ltreetest WHERE t @ '23 & 1';
count
-------
39
(1 row)
SELECT count(*) FROM ltreetest WHERE t ~ '1.1.1.*';
count
-------
4
(1 row)
SELECT count(*) FROM ltreetest WHERE t ~ '*.1';
count
-------
34
(1 row)
SELECT count(*) FROM ltreetest WHERE t ~ '23.*{1}.1';
count
-------
1
(1 row)
SELECT count(*) FROM ltreetest WHERE t ~ '23.*.1';
count
-------
3
(1 row)
SELECT count(*) FROM ltreetest WHERE t ~ '23.*.2';
count
-------
1
(1 row)
SELECT count(*) FROM ltreetest WHERE t ? '{23.*.1,23.*.2}';
count
-------
4
(1 row)
create table _ltreetest (t ltree[]);
\copy _ltreetest FROM 'data/_ltree.data'
SELECT count(*) FROM _ltreetest WHERE t @> '1.1.1' ;
count
-------
15
(1 row)
SELECT count(*) FROM _ltreetest WHERE t <@ '1.1.1' ;
count
-------
19
(1 row)
SELECT count(*) FROM _ltreetest WHERE t @ '23 & 1' ;
count
-------
147
(1 row)
SELECT count(*) FROM _ltreetest WHERE t ~ '1.1.1.*' ;
count
-------
19
(1 row)
SELECT count(*) FROM _ltreetest WHERE t ~ '*.1' ;
count
-------
109
(1 row)
SELECT count(*) FROM _ltreetest WHERE t ~ '23.*{1}.1' ;
count
-------
5
(1 row)
SELECT count(*) FROM _ltreetest WHERE t ~ '23.*.1' ;
count
-------
11
(1 row)
SELECT count(*) FROM _ltreetest WHERE t ~ '23.*.2' ;
count
-------
5
(1 row)
SELECT count(*) FROM _ltreetest WHERE t ? '{23.*.1,23.*.2}' ;
count
-------
15
(1 row)
create index _tstidx on _ltreetest using gist (t);
set enable_seqscan=off;
SELECT count(*) FROM _ltreetest WHERE t @> '1.1.1' ;
count
-------
15
(1 row)
SELECT count(*) FROM _ltreetest WHERE t <@ '1.1.1' ;
count
-------
19
(1 row)
SELECT count(*) FROM _ltreetest WHERE t @ '23 & 1' ;
count
-------
147
(1 row)
SELECT count(*) FROM _ltreetest WHERE t ~ '1.1.1.*' ;
count
-------
19
(1 row)
SELECT count(*) FROM _ltreetest WHERE t ~ '*.1' ;
count
-------
109
(1 row)
SELECT count(*) FROM _ltreetest WHERE t ~ '23.*{1}.1' ;
count
-------
5
(1 row)
SELECT count(*) FROM _ltreetest WHERE t ~ '23.*.1' ;
count
-------
11
(1 row)
SELECT count(*) FROM _ltreetest WHERE t ~ '23.*.2' ;
count
-------
5
(1 row)
SELECT count(*) FROM _ltreetest WHERE t ? '{23.*.1,23.*.2}' ;
count
-------
15
(1 row)
Implement operator class parameters PostgreSQL provides set of template index access methods, where opclasses have much freedom in the semantics of indexing. These index AMs are GiST, GIN, SP-GiST and BRIN. There opclasses define representation of keys, operations on them and supported search strategies. So, it's natural that opclasses may be faced some tradeoffs, which require user-side decision. This commit implements opclass parameters allowing users to set some values, which tell opclass how to index the particular dataset. This commit doesn't introduce new storage in system catalog. Instead it uses pg_attribute.attoptions, which is used for table column storage options but unused for index attributes. In order to evade changing signature of each opclass support function, we implement unified way to pass options to opclass support functions. Options are set to fn_expr as the constant bytea expression. It's possible due to the fact that opclass support functions are executed outside of expressions, so fn_expr is unused for them. This commit comes with some examples of opclass options usage. We parametrize signature length in GiST. That applies to multiple opclasses: tsvector_ops, gist__intbig_ops, gist_ltree_ops, gist__ltree_ops, gist_trgm_ops and gist_hstore_ops. Also we parametrize maximum number of integer ranges for gist__int_ops. However, the main future usage of this feature is expected to be json, where users would be able to specify which way to index particular json parts. Catversion is bumped. Discussion: https://postgr.es/m/d22c3a18-31c7-1879-fc11-4c1ce2f5e5af%40postgrespro.ru Author: Nikita Glukhov, revised by me Reviwed-by: Nikolay Shaplov, Robert Haas, Tom Lane, Tomas Vondra, Alvaro Herrera
2020-03-30 18:17:11 +02:00
drop index _tstidx;
create index _tstidx on _ltreetest using gist (t gist__ltree_ops(siglen=0));
ERROR: value 0 out of bounds for option "siglen"
DETAIL: Valid values are between "1" and "2024".
create index _tstidx on _ltreetest using gist (t gist__ltree_ops(siglen=2025));
ERROR: value 2025 out of bounds for option "siglen"
DETAIL: Valid values are between "1" and "2024".
create index _tstidx on _ltreetest using gist (t gist__ltree_ops(siglen=2024));
SELECT count(*) FROM _ltreetest WHERE t @> '1.1.1' ;
count
-------
15
(1 row)
SELECT count(*) FROM _ltreetest WHERE t <@ '1.1.1' ;
count
-------
19
(1 row)
SELECT count(*) FROM _ltreetest WHERE t @ '23 & 1' ;
count
-------
147
(1 row)
SELECT count(*) FROM _ltreetest WHERE t ~ '1.1.1.*' ;
count
-------
19
(1 row)
SELECT count(*) FROM _ltreetest WHERE t ~ '*.1' ;
count
-------
109
(1 row)
SELECT count(*) FROM _ltreetest WHERE t ~ '23.*{1}.1' ;
count
-------
5
(1 row)
SELECT count(*) FROM _ltreetest WHERE t ~ '23.*.1' ;
count
-------
11
(1 row)
SELECT count(*) FROM _ltreetest WHERE t ~ '23.*.2' ;
count
-------
5
(1 row)
SELECT count(*) FROM _ltreetest WHERE t ? '{23.*.1,23.*.2}' ;
count
-------
15
(1 row)
-- test non-error-throwing input
SELECT str as "value", typ as "type",
pg_input_is_valid(str,typ) as ok,
errinfo.sql_error_code,
errinfo.message,
errinfo.detail,
errinfo.hint
FROM (VALUES ('.2.3', 'ltree'),
('1.2.', 'ltree'),
('1.2.3','ltree'),
('@.2.3','lquery'),
(' 2.3', 'lquery'),
('1.2.3','lquery'),
('$tree & aWdf@*','ltxtquery'),
('!tree & aWdf@*','ltxtquery'))
AS a(str,typ),
LATERAL pg_input_error_info(a.str, a.typ) as errinfo;
value | type | ok | sql_error_code | message | detail | hint
----------------+-----------+----+----------------+------------------------------------+--------------------------+------
.2.3 | ltree | f | 42601 | ltree syntax error at character 1 | |
1.2. | ltree | f | 42601 | ltree syntax error | Unexpected end of input. |
1.2.3 | ltree | t | | | |
@.2.3 | lquery | f | 42601 | lquery syntax error at character 1 | |
2.3 | lquery | f | 42601 | lquery syntax error at character 1 | |
1.2.3 | lquery | t | | | |
$tree & aWdf@* | ltxtquery | f | 42601 | operand syntax error | |
!tree & aWdf@* | ltxtquery | t | | | |
(8 rows)