WOW !! The story goes on:
I wrote the UDF-Functions (and64/or64) and while and it seems to work: mysql> select and64('9223372036854775809',127); +----------------------------------+ | and64('9223372036854775809',127) | +----------------------------------+ | 1 | +----------------------------------+ 1 row in set (0.00 sec) I noted that mysql can't really dial with unsigned: (you can't even declare it unsigned) mysql> select or64('9223372036854775809',127); +---------------------------------+ | or64('9223372036854775809',127) | +---------------------------------+ | -9223372036854775681 | +---------------------------------+ 1 row in set (0.00 sec) On Sun, Feb 01, 2004 at 01:09:34AM +0100, Stefan Traby wrote: > Hi ! > > select 129 & 127; -- ok(1) > select '129' & 127; -- ok(1) > select (0+'129') & 127; -- ok(1) > select CAST('129' AS UNSIGNED INTEGER) & 127; -- ok(1) > select CONVERT('129', UNSIGNED INTEGER) & 127;-- ok(1) > > Doing the same with 64 bit values gives strange results: > > select 9223372036854775809 & 127; -- returns 1, correct > select '9223372036854775809' & 127; -- ERROR: returns 127 > select (0+'9223372036854775809') & 127; -- ERROR: returns 0 > select CAST('9223372036854775809' AS UNSIGNED INTEGER) & 127; -- ERROR: returns 127 > select CONVERT('9223372036854775809', UNSIGNED INTEGER) & 127;-- ERROR: returns 127 > > So please tell me how to perform a bitwise 64bit-AND if > a value is quoted. > > Never seen such a strange bug for a long time. > > Well, I just found it because DBD::mysql quotes large integer > bind-variables even on perl int64... > > So do I need to write an UDF-Function to get the correct behavior > or is there another work-arround to fix this? > > -- > > ciao - > Stefan > > -- > MySQL General Mailing List > For list archives: http://lists.mysql.com/mysql > To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED] > > -- ciao - Stefan " aclocal - emit a warning if -ac kernel is used. " Stefan Traby Linux/ia32 office: +49-721-3523165 Mathystr. 18-20 V/8 Linux/alpha cell: +XX-XXX-XXXXXXX 76133 Karlsruhe Linux/sparc http://graz03.kwc.at Germany Linux/arm mailto:[EMAIL PROTECTED] Europe Linux/mips mailto:[EMAIL PROTECTED] -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]