[devel] MySQL 5.1 plans

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Сб Окт 11 10:07:19 MSD 2008


On Fri, Oct 10, 2008 at 11:17:03PM +0300, Igor Vlasenko wrote:
> On Fri, Oct 10, 2008 at 11:50:07PM +0400, Alexey Tourbin wrote:
> > > libMySQL-devel сделать виртуальным пакетом,
> > > которая будет предоставляться той libMySQL*-devel, которая нужна.
> > > Например, до релиза 5.1 пусть это будет libMySQL5.0-devel, 
> > > (они уже раз abi ломали в 5.0.19)
> > > потом - libMySQL5.1-devel.
> > 
> > А в чем вообще смысл развязки клиент/сервер?  Клиент может подключаться
> > к серверу любой другой версии, и взаимодействие происходит на уровне
> > протокла, а непосредственной связи по пакетной базе уже нет.  Правда?
> Да, 
> > По крайней мере, клиент должен уметь безошибочно подключаться к более
> > ранним версиям сервера.
> Да,
> > Тогда виртуальный пакет libMySQL-devel не нужен.  Нужны пакеты
> > mysql-client и libmysqlclient-devel, собранные их наиболее свежих
> > исходинков (то есть 5.1).  И нужны пакеты mysql50-server и
> > mysql51-server, если там нетривиальная процедура миграции базы.
> 
> > Подумайте ещё.  Клиент-per-сервер это очень странно, на грани глупости.
> 
> но есть одно но:
> 
> В идеальном мире так и надо было бы сделать. Но:
> где гарантия, что с новым libmysqlclient проблем не будет?
> Это еще rc. Он еще не widely adopted. MySQl в прошлом 
> косячила не раз. Вдруг опять накосячит?

Можно как раз потестировать перед выкладыванием в Сизиф.
Например, устроить тестовую пересборку пакетов, которые зависят от
libmysqlclient.  А в perl-DBD-mysql выполняется нетривиальный тестовый
код (но по умолчанию в хешере он не выполняется, потому что для тестов
требуется настроенный сервер).

> Если у пользователей накосячит, за кем они с топорами
> погонятся? Я не буду рисковать. Пусть они за Константином
> гоняются :)

Кажется, два libMySQL-devel пакета здесь не помогут.  Всё равно пакеты
будут линковаться с какой-то дефолтной библиотекой (старой или новой),
если только явно не затребована версия.

> Там я и написал: libmysqlclient-devel, собранные их наиболее свежих
> исходинков (то есть 5.1), _НО_ _ПОСЛЕ_ официального релиза.
> Это ж не игрушки. 
> Если человек себе базу запортит?

Глюкавая клиентская библиотека, по идее, не может запортить базу.
Там же развязка на уровне протокла.

Короче, я бы сделал так.  Если формат базы не меняется (то есть если
при обровлении 50->51 не требуется конвертировать существующие базы),
тогда вообще достаточно собирать всего один пакет (новой версии).
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 197 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20081011/a7e03039/attachment-0002.bin>


Подробная информация о списке рассылки Devel