[groonga-dev,02236] Re: Mroongaのテーブル参照先の値をSQLでORDER BYすると値を取得できない

Back to archive index

Kouhei Sutou kou****@clear*****
2014年 4月 17日 (木) 22:38:53 JST


須藤です。

In <CANM+****@mail*****>
  "[groonga-dev,02234] Mroongaのテーブル参照先の値をSQLでORDER BYすると値を取得できない" on Thu, 17 Apr 2014 13:02:00 +0900,
  Naoya Murakami <visio****@gmail*****> wrote:

> ・事象
> Mroongaのテーブル参照先の値をSQLでORDER BYすると値を取得できません。
> ORDER BYしない場合は値を取得できます。
> 
> この事象は仕様でしょうか?

仕様ではなく、単に試していなかっただけなので対応しておきまし
た!

原因を説明しておくと。。。

Groongaは参照型のカラムに値を入れると、自動で参照先のレコー
ドを作成します。今回の例だと、Bugs.tagsが参照型のカラムで
Tagsが参照先ですね。

作成した参照先のテーブルのレコードの_keyに、カラムに入れた値
が入ります。今回の例だと、LinuxとかMySQLですね。

で、Mroongaでは_keyをおもてに出さないようにしています。SQLっ
ぽくないので。PRIMARY KEYを指定したカラムは自動で内部的に_keyに
対応付けています。なので、MroongaでTags.nameにアクセスしたら
Groogna的にはTags._keyへのアクセスになっています。

なっていますというかなっているべきです。が、今回のケースでは
なっていなかったのでSQLレベルでTags.nameの値を読み込もうとし
たときはTags._keyの値を返すようにしました。


-- 
須藤 功平 <kou****@clear*****>
株式会社クリアコード <http://www.clear-code.com/> (03-6231-7270)

Groongaサポート:
  http://groonga.org/ja/support/
パッチ採用はじめました:
  http://www.clear-code.com/recruitment/
コードリーダー育成支援はじめました:
  http://www.clear-code.com/services/code-reader/




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