[groonga-dev,03964] AGAINST() 内に mroonga_escape() を使うと構文エラー

Back to archive index

Hironori Matsubara t0392****@gmail*****
2016年 3月 4日 (金) 13:43:38 JST


松原と申します。
(数ヶ月前は質問でお世話になりました)

このたび使用している環境で、MySQLの構文エラーとなるものがあり、
不具合なのか相談させていただければと思いました。

■事象
mroongaで、MATCH() AGAINST() 構文を使うとき、
AGAINST() の中に mroonga_escape() を使うと構文エラーになる


■再現例
ドキュメントにあるようなSQLを実行したところ、MySQLの構文エラーとなりました。
http://mroonga.org/ja/docs/reference/udf/mroonga_escape.html

mysql> CREATE TABLE `symbols` (
  `id` int(11) NOT NULL,
  `content` text,
  PRIMARY KEY (`id`),
  FULLTEXT KEY `idx_content` (`content`)
) ENGINE=Mroonga;

mysql> SELECT * FROM `symbols` WHERE MATCH(`content`)
AGAINST(mroonga_escape("+hello_world()", "()") IN BOOLEAN MODE);

ERROR 1210 (HY000): Incorrect arguments to AGAINST


※AGAINST() の外でのmroonga_escape()には問題ありませんでした
mysql> SELECT mroonga_escape("+hello_world()", "()") FROM dual;
| +hello_world\(\)                       |


■環境
・CentOS 7.2 x86_64 (最新)
・MySQL 5.6.29 (Oracle社レポジトリ)
・groonga 6.0.0, mroonga 6.00 (groongaレポジトリ)
※5.10では発生しませんでした
※5.12で発生を確認し、6.00でも解消しませんでした


私のミスや、何か思い違いをしていたら申し訳ありません…!
何かわかりましたら、どうぞよろしくお願いします。



groonga-dev メーリングリストの案内
Back to archive index