At 06:29 PM 15-05-2001 +0200, Gyozo Papp wrote:
>Oh,
>I forgot that without any contrib you can select rows whose papth to the
root {1,2,3}:
>
>select * from test where lineage[1:3] = '{1,2,3}';
>but the gist indexing (intarray) performs a significant speed increase.
Thanks.
>BTW, lineage represents egde-list of a directed graph or a tree ?
>> insert into test (id,lineage) values ('8','{1,2,3}');
>------------------------------------------------|-^
>> insert into test (id,lineage) values ('9','{1,3,7}');
>It seems to me that node 3 can be accessed from both node 1 and node 3
directly, or it's just a mistake?
It's a mistake in my example.
Aside but related:
Oleg Bartunov also mentioned that subset searches are possible with gist:
select * from table <TABLE> where <array_field> @ '{1,2,3}'
So I've asked him whether his work on gist indexing int arrays can be used
to do substring indexing on text, as a built-in to Postgresql.
I think it can be done. Then subtext_ops here we come :).
If not I'll resort to converting text characters to their code values and
stuffing them into int arrays. Ugly :). Not sure what happens when the
arrays get large.
Cheerio,
Link.