takah****@yahoo*****
takah****@yahoo*****
2015年 12月 17日 (木) 10:07:19 JST
須藤 様 お世話になっております。佐瀬で御座います。 度々の質問で大変申し訳御座いません。 またご連絡誠に有難う御座います。 > すみません、具体的なINSERTとSELECTとその結果を見せてもらえま > せんか? ======================================================= delimiter $$ CREATE TABLE `mail` ( `No` double NOT NULL AUTO_INCREMENT, `Subject` varchar(1000) DEFAULT NULL, `Body` mediumtext, `ToAdd` varchar(1000) DEFAULT NULL, `FromAdd` varchar(1000) DEFAULT NULL, `Cc` varchar(1000) DEFAULT NULL, `Bcc` varchar(1000) DEFAULT NULL, `Date` timestamp NULL DEFAULT NULL, `AttachedFile` tinyint(4) DEFAULT NULL, PRIMARY KEY (`No`), FULLTEXT KEY `ToAdd` (`ToAdd`), FULLTEXT KEY `Cc` (`Cc`), FULLTEXT KEY `Bcc` (`Bcc`), FULLTEXT KEY `FromAdd` (`FromAdd`), FULLTEXT KEY `Body` (`Body`) COMMENT 'parser "TokenMecab"', FULLTEXT KEY `Subject` (`Subject`) COMMENT 'parser "TokenMecab"' ) ENGINE=Mroonga DEFAULT CHARSET=utf8$$ ======================================================= INSERT INTO `mail14`.`mail` (`No`, `Subject`) VALUES (1,'\\'),(2,'\('); delimiter $$ ======================================================= use mail14; select mroonga_command('select --table mail --output_columns No,Subject,ToAdd,FromAdd,Cc,Bcc,Date,AttachedFile --query \' Subject:@\\\\\\\\ \' --limit 1 --cache no'); '[[[1],[["No","Float"],["Subject","ShortText"],["ToAdd","ShortText"],["FromAdd","ShortText"],["Cc","ShortText"],["Bcc","ShortText"],["Date","Time"],["AttachedFile","Int8"]],[1.0,"\\","","","","",0.0,0]]]' \ひとつしか入力していないのに「"\\"」重複して結果が取得出来ます。 ======================================================= use mail14; select mroonga_command('select --table mail --output_columns No,Subject,ToAdd,FromAdd,Cc,Bcc,Date,AttachedFile --query \' Subject:@"\" \' --limit 1 --cache no'); '[[[0],[["No","Float"],["Subject","ShortText"],["ToAdd","ShortText"],["FromAdd","ShortText"],["Cc","ShortText"],["Bcc","ShortText"],["Date","Time"],["AttachedFile","Int8"]]]]' "\"は何も取得出来ない。 use mail14; select mroonga_command('select --table mail --output_columns No,Subject,ToAdd,FromAdd,Cc,Bcc,Date,AttachedFile --query \' Subject:@"(" \' --limit 1 --cache no'); '[[[1],[["No","Float"],["Subject","ShortText"],["ToAdd","ShortText"],["FromAdd","ShortText"],["Cc","ShortText"],["Bcc","ShortText"],["Date","Time"],["AttachedFile","Int8"]],[2.0,"(","","","","",0.0,0]]]' "("は取得出来る。 このあたりの仕様の差がわからずエスケープを使用する文字に関してエスケープの場合とダブルコーテーションの パターンでどういった形が仕様なのかご教示頂ければ幸いで御座います。 ======================================================= 以上、お手数をお掛け致しますが 何卒、宜しくお願い致します。 ---- Original Message ----- From: Kouhei Sutou <kou****@clear*****> >To: groon****@lists***** >Date: 2015/12/17, Thu 00:06 >Subject: [groonga-dev,03776] Re: エスケープ文字に関して > >須藤です。 > >In <71192****@web30*****> > "[groonga-dev,03765] Re: エスケープ文字に関して" on Mon, 14 Dec 2015 13:31:38 +0900 (JST), > takah****@yahoo***** wrote: > >> mroonga_commandでエスケープを行う際に\\\\使用しますが、 >> groongaで一つ使用するのは理解できるのですが、残りの三つは、 >> どのタイミングで使用されるのでしょうか。 >> mysql等かとは思っておりますが、理解があやふやの為、 > >MySQLです。 > >MySQLが\\\\を\\にして、 >Groongaが\\を\にします。 > >> また、カラムに\のみ入れまして、 >> mroonga_commandでselectしたのですが、 >> \\と重複してselectされたのですが、これは仕様で御座いますか。 >> >> 取得後に文字列チェックをして\\だったら\にする様な、 >> 置換を入れる必要があるのでしょうか。 > >すみません、具体的なINSERTとSELECTとその結果を見せてもらえま >せんか? > > >-- >須藤 功平 <kou****@clear*****> >株式会社クリアコード <http://www.clear-code.com/> > >Groongaベースの全文検索システムを総合サポート: > http://groonga.org/ja/support/ >パッチ採用 - プログラミングが楽しい人向けの採用プロセス: > http://www.clear-code.com/recruitment/ >リーダブルコードワークショップ: > http://www.clear-code.com/services/code-reader/readable-code-workshop.html > >_______________________________________________ >groonga-dev mailing list >groon****@lists***** >http://lists.osdn.me/mailman/listinfo/groonga-dev > > > -------------- next part -------------- HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B... 다운로드