かみぽわーる

kamipo's blog

MySQL 5.5対応したSpiderストレージエンジンをインストールする

なんか cmake 失敗するなーと思ったら、実行権限がないディレクトリが含まれててその中のファイルが読めないのでよしなに実行権限あたえて cmake してください。

cd /usr/local/src
wget "http://launchpad.net/spiderformysql/spider-2.x/2.24-for-5.5.8/+download/mysql-5.5.8-spider-2.24-vp-0.13-hs-1.0.tgz"
tar zxvf mysql-5.5.8-spider-2.24-vp-0.13-hs-1.0.tgz
cd mysql-5.5.8-spider-2.24-vp-0.13-hs-1.0
chmod +x storage/spider/hs_client
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.5.8-spider -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_PIC=1 .
make
make install
cd /usr/local
ln -nfs mysql-5.5.8-spider mysql
cd mysql
./scripts/mysql_install_db --user=kamipo
/usr/local/mysql/bin/mysqld_safe &
wget "http://launchpad.net/spiderformysql/spider-2.x/2.24-for-5.5.8/+download/spider-src-2.24-for-5.5.8.tgz"
tar zxvf spider-src-2.24-for-5.5.8.tgz
mysql -u root -v < install_spider.sql

以前までのSpiderでは、idというカラム名を持つテーブルを作成すると、UPDATEクエリで「Column 'id' in where clause is ambiguous」というエラーになるのをバグレポートしていたのが修正されています。ありがとうございます!

CREATE TABLE t (
  id int(10) unsigned NOT NULL,
  v  int(10) unsigned NOT NULL,
  PRIMARY KEY (id)
) ENGINE=SPIDER CONNECTION 'host "127.0.0.1", port "3306", user "root", tbl "t"' DEFAULT CHARSET=utf8;

INSERT INTO t(id, v) VALUES (1, 10);
UPDATE t SET v = 20 WHERE id = 1;
-- ERROR 1052 (23000): Column 'id' in where clause is ambiguous
-- いままではこれがエラーになってた!