Re: Storing an ordered list
От | Bruno Wolff III |
---|---|
Тема | Re: Storing an ordered list |
Дата | |
Msg-id | 20060727131823.GA30179@wolff.to обсуждение исходный текст |
Ответ на | Re: Storing an ordered list ("Michael Artz" <mlartz@gmail.com>) |
Список | pgsql-sql |
On Wed, Jul 26, 2006 at 20:13:03 -0400, Michael Artz <mlartz@gmail.com> wrote: > On 7/26/06, Bruno Wolff III <bruno@wolff.to> wrote: > >If you use numeric instead of int, then it is easy to insert new values. > > Hmm, hadn't thought about that. How would you normally implement it? > I'm thinking that, if I wanted to insert between A and B, I could take > (A.order + B.order)/2, which would be pretty simple. Is there a > better way? I think that will depend. To keep the size of the number down, you will probably want to use the number with the fewest digits to the right of the decimal point that gives you a number between the two values. That will be a bit more complicated than the above formula. But you will want to do something to keep the size of the numerics down since it seems like reordering will be common. Another issue to consider is concurrency. You may want to lock the table against concurrent reordering, as doing two at once may lead to some unexpected events.
В списке pgsql-sql по дате отправления: