From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Tue, 30 Jan 2007 14:48:09 -0500 From: Ivan Adzhubey In-reply-to: <45BF8FEC.9070806@parkheights.dyndns.org> To: ALT Linux Sisyphus discussion list Message-id: <200701301448.09586.iadzhubey@rics.bwh.harvard.edu> MIME-version: 1.0 Content-type: text/plain; charset=koi8-r Content-transfer-encoding: 8BIT Content-disposition: inline References: <45BE7B3D.4040703@parkheights.dyndns.org> <200701301240.03428.iadzhubey@rics.bwh.harvard.edu> <45BF8FEC.9070806@parkheights.dyndns.org> User-Agent: KMail/1.9.5 Subject: Re: [sisyphus] dspam-mysql vs MySQL server in Sisyphus X-BeenThere: sisyphus@lists.altlinux.org X-Mailman-Version: 2.1.9rc1 Precedence: list Reply-To: ALT Linux Sisyphus discussion list List-Id: ALT Linux Sisyphus discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jan 2007 19:49:16 -0000 Archived-At: List-Archive: List-Post: On Tuesday 30 January 2007 13:35, Sergey Ivanov wrote: > Ivan Adzhubey wrote: > > On Tuesday 30 January 2007 09:24, Sergey Ivanov wrote: > >> Значит у вас какие-то очень хорошие настройки сервера MySQL, так что он > >> по дефолту создаёт более правильные таблицы чем у меня. Я специально > >> попробовал те же самые эксперименты провёл в свежесгенерированном > >> виртуальном OpenVZ контейнере с сизифом, так что у меня MySQL по > >> сравнению с Сизифом никак не изменён ни в лучшую ни в худшую сторону. > >> Что ещё может быть? Сбои оборудования - трудно поверить... > >> Или MySQL этот вообще работает непредсказуемо? > > > > Таблицы тут скорее всего непричем, попробуйте сделать из своей таблице > > просто select * без where, должны получить все 5 строк. Это какой-то баг > > в операторе IN, может быть был патч, который действительно выпал из > > архитектуры x86_64? Надо мейнтейнера дергать, повесьте баг в багзилле. Я > > попробую разобраться, но у меня нет под рукой Сизифа на x86_64. А у вас > > x32 Сизиф есть, проверьте? > > Иван, > я вчера ещё пробовал в openvz контейнере, на 64-х битной машине но сам > контернер 32-х битный. Там результат тот же, выбраны 3 строчки. > И если я select * то получаю все пять строчек. > Но похоже это очень распространённый для MySQL баг, я попробовал > имеющийся под ругой MySQL 5.0.27,REV=2006.12.29 от blastwave на > Solaris-10 i386 (32 bit) и получил вообще всего одну строчку. > Ещё эта проблема акитвно обсуждалась в > http://dspam.nuclearelephant.com/dspam-users/index.html см. тред "MySQL > 4.1 Bug", они ещё упоминали багзиллу MySQL > (http://bugs.mysql.com/bug.php?id=24759), но там вроде убедить авторов > MySQL что это баг - не удалось, зато они наоборот убедили оппонентов что > так и должно быть. Почитал - согласен. В багзилле MySQL все объяснено вполне разумно - потеря точности при конвертации из строки в double. Можно конечно поспорить по поводу неоднозначного результата конверсии (зависит от платформы и даже от того, как написано выражение), но это бесполезно - результат такой конверсии неопределен по определению ;-). Так что это скорее баг dspam, надо либо убрать одинарные кавычки (зачем они вообще нужны если значение - число?) или добавить в явном виде оператор CAST(... AS UNSIGNED). Похоже, дергать надо мейнтейнеров dspam. --Иван > Я на всякий случай напишу про это в нашу багзиллу на MySQL-server, > однако у меня самого нет ни малейшей ясности баг это и если баг то не > dspam'ский ли.