Показаны сообщения с ярлыком mysql. Показать все сообщения
Показаны сообщения с ярлыком mysql. Показать все сообщения

вторник, 16 декабря 2008 г.

Сложности арчевода

Я тут недавно писал про арч, писал в основном про хорошие черты арча, такие как скорость, стройную логику, систему пакетов и прочее.
Настало время написать про плохие черты арча. Да, они есть.
Во-первых, это видео. Мало того, что сам catalyst - глючное поделие исключительно криворуких программистов из AMD, так catalyst в arch - глючнее catalyst`а из убунты. У меня периодически система вешается напрочь, оставляя в логах сообщения о дампе каталиста. Кроме этого, проблема с воспроизведением видео решилась только после долгого курения форума арчеводов. Хотя первый баг можно ещё как-то частично слить на xorg. История с xorg в arch - это вообще отдельная тема. Она справедлива, как понимаю, для большинства дистрибутивов. После обновления до 1.5.3 у большинства арчеводов иксы перестали грузиться, а обладатели карточек intel стали наблюдать жоские тормоза при работе в иксах. Я тоже обновился, у меня xorg вылетал при загрузке, ругаясь какими-то дикими сообщениями драйвера xf86-video-intel. К счастью, кэш скачанных пакетов не очищаю, поэтому смог даунгрейдиться до старых иксов и драйвера от intel. Также новый xorg принес геморройный hotplug. Многие с ним намучались, мучаются и будут мучатся и дальше. Спасибо девелоперам!

Последней каплей, переполнившей чашу, стала сегодняшняя история с mysql. На домашнем компутере mysql встал нормально, а на рабочем почему-то отказывался выставлять root`овый пароль и соответственно пускать в консоль mysql.
Как обычно, чтобы решить проблему, нужно перелопатить форум, чтобы найти ссылки на решение проблемы: раз, два, три, четыре.
Убил полдня, черт подери.
На форуме арчеводов прошла волна недовольства в связи с последними обновлениями системы, приводящих к краху системы. Это, конечно, не тот самый arch way. Многие вещи в арч реализуются сложнее не только потому, что многое нужно делать самому, с нуля, но и потому что выскакивают какие-то специфичные только для арча ошибки, с которыми постоянно приходиться бороться. Чего стоит баг обновления только что установленной чистой системы.
Пока что и arch и ubuntu ютятся на моем домашнем компутере, но скоро грядет апгрейд и какой дистрибутив останется... покажет время :)


Читать далее...

понедельник, 28 мая 2007 г.

Сага о mysql

Возможно, это станет хорошей привычкой. Но пока просто один пост про мои приключения с mysql.

Есть табличка вида:

fund

+-------+------+------------+-----------+
| id_good | sum | id_manager | id_client |
+-------+------+------------+-----------+

id_good, id_manager, id_client - foreign_keys таблиц goods, managers & clients соотвественно.
Таблица отражает информацию о том, какой товар зарезервирован(id_good), в каком количестве(sum) и для кого - для какого-то манагера(id_manager) или для какого-то клиента(id_client).
Причем обычно, товар резервируется либо под клиента, либо под манагера. В таких случаях, одно из этих полей будет равно 0. И если делать запрос типа select из этой таблички для просмотра информации о товаре, который мы отложили, в каком количестве и для кого, то он будет иметь примерно такой вид:

select * from fund where id_manager=managers.id_manager and fund.id_client=clients.id_client;

В таком случае вся табличка выведена не будет, ибо в ней будут записи, в которых, к примеру id_manager=0, а id_client=10, тогда связка через id_manager не сработает и эта строка не выведется, что меня вообще не устраивает.

Вобщем, после долгих мучений и раздумий, я обратился за советом к моему хорошему знакомому, он подсказал решение данной проблемы.
Запрос должен выглядеть так:

SELECT * FROM fund
LEFT JOIN managers ON fund.id_manager = managers.id_manager
LEFT JOIN clients ON clients.id_client = fund.id_client

Может кому пригодится... Или мне, через лет так дцать :)






Читать далее...