MySQL/Ruby にバグがあったので 2.8.2 をリリースしました。
ダウンロードはこの辺から→ http://rubyforge.org/projects/mysql-ruby/
Mysql#insert_id が 32bit を超える場合に不正な値を返すというものです。
具体的には BIGINT AUTO_INCREMENT の場合に、自動的に 2147483648(UNSIGNED BIGINT の場合は 4294967296)以上の場合に、不正な値を返します。
mysql> create table t (id bigint auto_increment, unique(id)); mysql> alter table t auto_increment=2147483645;
m.query('insert into t values (0)') m.insert_id #=> 2147483645 m.query('insert into t values (0)') m.insert_id #=> 2147483646 m.query('insert into t values (0)') m.insert_id #=> 2147483647 m.query('insert into t values (0)') m.insert_id #=> -2147483648 m.query('insert into t values (0)') m.insert_id #=> -2147483647
場合によっては致命的なので、アップグレードしといた方が良いと思います。