parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

Misha v.3 28.01.2008 10:33

а разве не вариант? (куча плюсов, кстати, правда минусы тоже имеются).

или использовать UUID-ы для новых сущностей, когда делать их на клиенте. а когда они "полетят" в БД -- делать обход дерева от корня и будет вам счастье в виде имеющегося идентификатора родителя без лока таблицы.

ваш вариант (с суммированием для получения реального id родителя), в котором для начала надо бы поменять пункты 1 и 2, мне не нравится тем, что работать будет не всегда. например в oracle можно задать шаг инкремента id в "последовательности", и на одном из наших проектов он был != 1, т.е. подобное суммирование не подойдёт. это -- _пример_ когда не работает данный подход, а его суть в том, что "вычислением id родителя ведают два разных, не связанных друг с другом кода". неправильно это.