[devel] Re: AnyDBM_File DB_File
Alexey Morozov
=?iso-8859-1?q?morozov_=CE=C1_novosoft=2Eru?=
Пн Ноя 4 13:38:08 MSK 2002
On Mon, Nov 04, 2002 at 11:07:17AM +0300, Alexey Tourbin wrote:
> On Mon, Nov 04, 2002 at 02:53:29PM +0600, Alexey Morozov wrote:
> > Гхм... Ну, эти правки должны, как минимум, включать в себе правку соответствующей
> > документации :-).
> А зачем? :-)
Для "идеологической верности решения" :-)
> без всяких дальнейших уточнений, никак не пострадают (наоборот, они --
> бонус! -- начинают использовать лучший из доступных модулей-backend'ов в
> дистрибутиве).
Скорее, не бонус, а сюрпрайз, сюрпрайз :-)
> Те же из них, которые явно пропихивают @AnyDBM_File::ISA через BEGIN{},
> 1) знают (или не знают) что делают; простим им...
> 2) первым в таком списке чаще всего идет DB_File (как это и изображено в
> AnyDBM_File(3)).
>
> Пострадают только те, кто раньше использвовал AnyDBM_File->NDBM_File, а
> теперь будут использовать AnyDBM_File->DB_File. Но, с учетом глобального
> перехода на perl 5.8, я думаю, что это не главное и не единственное, от
> чего они могут пострадать. Здесь "под шумок" есть возможность принять
> безусловно верное решение. :)
Гхм...
> Объясняю популярно: использование AnyDBM_File фактически означает
> использование первого попавшегося (по списку) *DB*_File модуля в
> хост-системе. Это порождает поблему несовместимости: установка другого
> *DB*_File модуля, который в списке находится раньше, означает, что
> автоматически отваливаются все ранее созданные с помощью AnyDBM_File
> базы.
Спасибо за разъяснение :-)
> Разработчики софта не имеют возможности предотвратить такой ситуации.
> Однако дистрибутив имеет возможность предотвратить такую ситуацию. Для
> этого модуль AnyDBM_File и ещё один модуль, который идёт у него первым в
> списке @ISA, должны находиться в одном пакете. Если это так, то
> необходимость в продолжении списка отпадает.
Ну, в общем, если Вам кажется, что осчастливить пользователей еще и этой проблемой
переезда на новый сияющий перл - это здорово, ну что ж, пускай радуются :-).
Но доку все ж таки подправьте :-).
Подробная информация о списке рассылки Devel