From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Mon, 4 Nov 2002 14:03:05 +0600 From: Alexey Morozov To: devel@altlinux.ru Subject: Re: [devel] Re: AnyDBM_File DB_File Message-ID: <20021104080305.GH26430@bebi.novosoft.ru> References: <20021028145404.GB32723@ungrund> <20021029090910.GA31768@basalt.office.altlinux.ru> <20021029094557.GA1277@homestead.turbinal.org> <20021029095926.GB21820@basalt.office.altlinux.ru> <20021029102641.GA22230@homestead.turbinal.org> <20021102091734.GB6621@mhz.mikhail.zabaluev.name> <20021102214555.GA22646@homestead.turbinal.org> <20021102223405.GA25148@homestead.turbinal.org> <20021104055934.GG26430@bebi.novosoft.ru> <20021104052659.GA9951@homestead.turbinal.org> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20021104052659.GA9951@homestead.turbinal.org> User-Agent: Mutt/1.4i Sender: devel-admin@altlinux.ru Errors-To: devel-admin@altlinux.ru X-BeenThere: devel@altlinux.ru X-Mailman-Version: 2.0.9 Precedence: bulk Reply-To: devel@altlinux.ru List-Unsubscribe: , List-Id: List-Post: List-Help: List-Subscribe: , List-Archive: Archived-At: List-Archive: List-Post: On Mon, Nov 04, 2002 at 08:26:59AM +0300, Alexey Tourbin wrote: > > Не, баба яга против. Хочется таки периодически иметь *dbm, который > > _заведомо_ установлен, если установлен перл, насколько убитым не был бы > > хостинг, и насколько тупого^H^H^H^H^H^H упрямы его админы. В этом смысле, > > SDBM - вполне себе альтернатива. Хоть и довольно убогая. > Здесь сколько людей, столько и мнений. Но есть несколько "основных" > вопросов, которые позволяют взвесить все за и против: > > 1) должна ли функциональность tie/db присутствовать в perl-base; По-моему, если этого не требуют никакие другие части - нет. > 2) какой должен быть формат по умолчанию в AnyDBM_File; софт чаще всего > использует именно AnyDBM_File как "редиректор" (каковым он по сути и > является; он просто проксирует методы первого найденного при загрузке > модуля) в условиях неопределенности относительно того, какие *DB*_File > модули могут быть установлены в хост-системе. Именно для этого он и писался. This module is a "pure virtual base class"--it has nothing of its own > Исходя из этих вопросов, я вижу два решения: > > 1) включить как AnyDBM_File, так и модуль для формата по умолчанию в > perl-base; > > 2) вынести как AnyDBM_File, так и модуль для формата по умолчанию в > отдельный пакет. "Модуль для формата" - какого формата? > > А почему бы не вынести AnyDBM из perl-base в отдельный пакет, завязать > > его на виртуальный DBM_Provider, а все *DB*_File сделать этими самыми > > провайдерами? > > Такое решение грозит потерей совместимости в пределах одной хост-системы > (при установке очередного DB_Provides, который обладает бОльшим > приоритетом). Э-э-э, не. О "системных альтернативах" речь, собственно, и не идет. Если же Вы имеете в виду приоритеты *DB*File, то в потрохах у AnyDBM все равно зашита некоторая таблица, и те пакеты, которым и вправду все равно (они не определяют собственного приоритета в отношении *DB* модулей), получают формат базы именно в соответствии с этой таблицей. Те же, кто хочет чего-то явно - ну он так об этом и говорит. Коль скоро это так, то установка NDBM может стать фатальной для тех, кто до этого пользовался модулями "по умолчанию" (скажем DB_File), и никак не отразится на тех, кто явным образом сказал, что он хочет DB_File и ничего кроме DB_File. Причем, произойдет это вне зависимости от Вашего желания или нежелания, а также приложенных к устранению данной ситуации усилий. There's always more than one way ... :-)