id:kazuhoさんが作っているQ4M を早速試してみました。入手はsvnから。結論から言うとちょっと動かなかったのだけれども、もうすでにコミットされてない部分もありそうだし、とりあえず報告とかもかねて。
まずmysql-5.1.xサポートなので、mysql-5.1.22-rcをDL、./configure --prefix=/usr/local/mysql-5.1という設定だけでインストール。
次にq4mディレクトリで
ここが今の状態。結構良い時間になったので今日はここまでかな。
まずmysql-5.1.xサポートなので、mysql-5.1.22-rcをDL、./configure --prefix=/usr/local/mysql-5.1という設定だけでインストール。
次にq4mディレクトリで
glibtoolize --copy (glibtoolizeなのはとりあえずmacだから)
aclocal -I .
autoheader
automake --add-missing -coy
autoconf
してから、configure。
configure --with-mysql=/path/to/mysql-5.1.22-rc --lib-dir=/usr/local/mysql-5.1/lib
make
make install
mysqlはmysqld_safeで立ち上げて、横で
mysqladmin -u root create mq
mysql -u root mq
テーブルスキーマはとりあえずなんでもよさそうだったのでこんな感じで
CREATE TABLE mq (
id TEXT NOT NULL,
data BLOB,
inserted_on TIMESTAMP NOT NULL
) ENGINE=queue;
この状態で以下のようなperlスクリプトを実行:
use strict;
use Time::HiRes qw(time);
use Digest::MD5 qw(md5_hex);
use DBI;
my $dbh = DBI->connect('dbi:mysql:dbname=mq', 'root', undef, {AutoCommit => 1, RaiseError => 1});
my $sth = $dbh->prepare("INSERT INTO mq (id, data) VALUES (?, ?)");
foreach my $i (1..20) {
$sth->execute(md5_hex(time(), {}, $$, rand()), $i);
}
$dbh->disconnect;
まず一発目。perl insert.plをすると"ERROR 2013 (HY000): Lost connection to MySQL server during query"。おっと、裏のプロセスが落ちた・・・データを見ると一応インサートそれてるっぽいので、取り急ぎ削除してやりなおそうと思うと
mysql> delete from mq;ERROR 2013 (HY000): Lost connection to MySQL server during query
mysql> delete from mq;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 2
Current database: mq
ERROR 2013 (HY000): Lost connection to MySQL server during query
mysql>
ぐへ。削除できない・・・。ここが今の状態。結構良い時間になったので今日はここまでかな。
コメント