tree ordering with varbit
От | Scott Lamb |
---|---|
Тема | tree ordering with varbit |
Дата | |
Msg-id | 3DD842C2.3080508@slamb.org обсуждение исходный текст |
Список | pgsql-general |
Got a couple of questions. Short version: - Are there conversion functions from integer and timestamp to bit varying? - Would sorting a timestamp by its "bit varying" value be equivalent to sorting by the timestamp itself? The long version, which includes why I'm asking, is below: I saw something in the OpenACS code about using the bit varying type to order trees. I think it worked something like this. Given a structure like this: create table mb.message ( message_id serial primary key, messageroot_id integer not null references mb.messageroot, parent_id integer references mb.message (message_id), ... ); all of the messages with the same messageroot make a forest. If I wanted to sort them hierarchically based when they were posted, I'd want a sort key that has their post time prefixed by that of all their ancestors, so the greatest ancestor comes first. Or better yet, their IDs, since that's unique and means children of two parents that happened to be posted at the same time wouldn't be lumped together, and IDs should increase as posting times increase. So I need a type that can expand. An array or a varying-size type. Arrays might work for the above, but if I want to sort by a couple of different types, then I'm screwed. varbit already sorts in the right way for integer, at least. So I need conversion functions and hopefully to know that it sorts right for timestamps also. Thanks, Scott
В списке pgsql-general по дате отправления: