[groonga-dev,02498] Re: 「GROUP BY」条件をmroonga_command()で再現する方法

Back to archive index

Kouhei Sutou kou****@clear*****
2014年 7月 11日 (金) 19:29:12 JST


須藤です。

In <CANM+****@mail*****>
  "[groonga-dev,02494] Re: 「GROUP BY」条件をmroonga_command()で再現する方法" on Fri, 11 Jul 2014 08:13:51 +0900,
  Naoya Murakami <visio****@gmail*****> wrote:

>> Groongaでできないのはデフォルト値情報を持っておく場所がない
>> からです。それを持っていれば、レコード単位で追加するところ、
>> 具体的にはloadコマンドを実行するときに未指定のカラムとnullが
>> 指定されたカラムにデフォルト値を入れる、みたいにすればいいは
>> ずです。
>>
> 
> この前、grn_hook系を試していたんですけど、grn_obj_add_hookを使えば
> grn_obj(カラムでもテーブルでもDBでも)に紐付けてprocだけじゃなく
> 値dataも保存できることに気づきました(転置索引はこれを使っている)。
> 
> http://groonga.org/ja/docs/reference/api/grn_hook.html
> 
> これを使って、カラムに紐付けてデフォルト値を保存しとくってのは、無理
> ですかね?
> 
> プラグインコマンドで試しに、適当にGRN_HOOK_SELECT(enum定義されている
> だけでどこにも利用されてないぽい)を追加し、カラムに紐付けて値を保存、
> 取得している例です。
> 
> https://github.com/naoa/groonga-hook-sample/commit/67c13e1951bd084b3a5b8a702f50cbc484b6b6cd
> 
> 筋のいいやり方でないかもしれませんし、あまり関係がない話だったら
> すいません。

うは!こんなことができたんですね!
が、これはちょっと。。。
ソースを読んだ人が絶対なんでここに入れてるの!?って思うの
で。。。

grn_ra_header(固定長サイズのカラム用のヘッダー)と
grn_ja_header(可変長サイズのカラム用のヘッダー)に
入れるのがまっとうだと思います!

# raはRectangle Arrayの略で
# jaはJagged Arrayの略。


-- 
須藤 功平 <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/




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