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...
Download