[groonga-dev,02000] Re: APIに疑似カラム名の定義を追加しませんか?

Back to archive index

Kouhei Sutou kou****@clear*****
2013年 12月 16日 (月) 14:43:58 JST


須藤です。

In <20131****@www21*****>
  "[groonga-dev,01999] APIに疑似カラム名の定義を追加しませんか?" on Sun, 15 Dec 2013 18:14:48 +0900,
  whomb****@motel***** wrote:

> APIを使って、テーブルの主キーカラムを取得したいときに下のような操作をすることになると思いますが、
> PSEUDO_COLUMN_NAME_KEYは、ライブラリ側で定義するべき情報のように思います。
> groonga.hへ疑似カラム名の定義(GRN_PSEUDO_COLUMN_NAME_KEY?)を追加、
> もしくは疑似カラムを参照できるような関数(grn_obj_key_column?)を追加するのはいかがでしょうか?
> 
>  #define PSEUDO_COLUMN_NAME_KEY "_key"
> 
>  grn_obj *keycol =
>      grn_obj_column(ctx, table, PSEUDO_COLUMN_NAME_KEY, strlen(PSEUDO_COLUMN_NAME_KEY));

たしかにそうですね!
_keyだけではなく、他の擬似カラム用のマクロも提供することにし
ました。

https://github.com/groonga/groonga/blob/master/include/groonga.h#L724-733

  #define GRN_COLUMN_NAME_ID            "_id"
  #define GRN_COLUMN_NAME_ID_LEN        (sizeof(GRN_COLUMN_NAME_ID) - 1)
  #define GRN_COLUMN_NAME_KEY           "_key"
  #define GRN_COLUMN_NAME_KEY_LEN       (sizeof(GRN_COLUMN_NAME_KEY) - 1)
  #define GRN_COLUMN_NAME_VALUE         "_value"
  #define GRN_COLUMN_NAME_VALUE_LEN     (sizeof(GRN_COLUMN_NAME_VALUE) - 1)
  #define GRN_COLUMN_NAME_SCORE         "_score"
  #define GRN_COLUMN_NAME_SCORE_LEN     (sizeof(GRN_COLUMN_NAME_SCORE) - 1)
  #define GRN_COLUMN_NAME_NSUBRECS      "_nsubrecs"
  #define GRN_COLUMN_NAME_NSUBRECS_LEN  (sizeof(GRN_COLUMN_NAME_NSUBRECS) - 1)

-- 
須藤 功平 <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/commit-comment.html




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