whombx
null+****@clear*****
Fri Aug 9 16:54:51 JST 2013
whombx 2013-08-09 16:54:51 +0900 (Fri, 09 Aug 2013) New Revision: 656de5115261ba280676831b3be5b5a56da553af https://github.com/groonga/groonga/commit/656de5115261ba280676831b3be5b5a56da553af Merged 8524b80: Merge branch 'grn-table-sort' of https://github.com/whombx/groonga into whombx-grn-table-sort Message: doc: move 5 grn_table_*() documents from groonga.h to Sphinx text Modified files: doc/source/reference/api/grn_table.txt include/groonga.h Modified: doc/source/reference/api/grn_table.txt (+69 -0) =================================================================== --- doc/source/reference/api/grn_table.txt 2013-08-08 13:34:50 +0900 (88667bc) +++ doc/source/reference/api/grn_table.txt 2013-08-09 16:54:51 +0900 (ecec30f) @@ -56,3 +56,72 @@ Reference :param table: 対象tableを指定します。 :param key: 検索keyを指定します。 :param added: NULL以外の値が指定された場合、新たにrecordが追加された時には1が、既存recordだった時には0がセットされます。 + +.. c:type:: grn_table_sort_key + + TODO... + +.. c:type:: grn_table_sort_flags + + TODO... + +.. c:function:: int grn_table_sort(grn_ctx *ctx, grn_obj *table, int offset, int limit, grn_obj *result, grn_table_sort_key *keys, int n_keys) + + table内のレコードをソートし、上位limit個の要素をresultに格納します。 + + keys.keyには、tableのcolumn,accessor,procのいずれかが指定できます。keys.flagsには、``GRN_TABLE_SORT_ASC`` / ``GRN_TABLE_SORT_DESC`` のいずれかを指定できます。``GRN_TABLE_SORT_ASC`` では昇順、``GRN_TABLE_SORT_DESC`` では降順でソートされます。keys.offsetは、内部利用のためのメンバです。 + + :param table: 対象tableを指定します。 + :param offset: sortされたレコードのうち、(0ベースで)offset番目から順にresにレコードを格納します。 + :param limit: resに格納するレコードの上限を指定します。 + :param result: 結果を格納するtableを指定します。 + :param keys: ソートキー配列へのポインタを指定します。 + :param n_keys: ソートキー配列のサイズを指定します。 + +.. c:type:: grn_table_group_result + + TODO... + +.. c:type:: grn_table_group_flags + + TODO... + +.. c:function:: grn_rc grn_table_group(grn_ctx *ctx, grn_obj *table, grn_table_sort_key *keys, int n_keys, grn_table_group_result *results, int n_results) + + tableのレコードを特定の条件でグループ化します。 + + :param table: 対象tableを指定します。 + :param keys: group化キー構造体の配列へのポインタを指定します。 + :param n_keys: group化キー構造体の配列のサイズを指定します。 + :param results: group化の結果を格納する構造体の配列へのポインタを指定します。 + :param n_results: group化の結果を格納する構造体の配列のサイズを指定します。 + +.. c:function:: grn_rc grn_table_setoperation(grn_ctx *ctx, grn_obj *table1, grn_obj *table2, grn_obj *res, grn_operator op) + + table1とtable2をopの指定に従って集合演算した結果をresに格納します。 + + resにtable1あるいはtable2そのものを指定した場合を除けば、table1, table2は破壊されません。 + + :param table1: 対象table1を指定します。 + :param table2: 対象table2を指定します。 + :param res: 結果を格納するtableを指定します。 + :param op: 実行する演算の種類を指定します。 + +.. c:function:: grn_rc grn_table_difference(grn_ctx *ctx, grn_obj *table1, grn_obj *table2, grn_obj *res1, grn_obj *res2) + + table1とtable2から重複するレコードを取り除いた結果をそれぞれres1, res2に格納します。 + + :param table1: 対象table1を指定します。 + :param table2: 対象table2を指定します。 + :param res1: 結果を格納するtableを指定します。 + :param res2: 結果を格納するtableを指定します。 + +.. c:function:: int grn_table_columns(grn_ctx *ctx, grn_obj *table, const char *name, unsigned int name_size, grn_obj *res) + + nameパラメータから始まるtableのカラムIDをresパラメータに格納します。name_sizeパラメータが0の場合はすべてのカラムIDを格納します。 + + :param table: 対象tableを指定します。 + :param name: 取得したいカラム名のprefixを指定します。 + :param name_size: nameパラメータの長さを指定します。 + :param res: 結果を格納する ``GRN_TABLE_HASH_KEY`` のtableを指定します。 + :return: 格納したカラムIDの数を返します。 Modified: include/groonga.h (+0 -60) =================================================================== --- include/groonga.h 2013-08-08 13:34:50 +0900 (fbe1f4f) +++ include/groonga.h 2013-08-09 16:54:51 +0900 (57e322a) @@ -764,22 +764,6 @@ GRN_API grn_posting *grn_index_cursor_next(grn_ctx *ctx, grn_obj *ic, grn_id *ti }\ } while (0) -/** - * grn_table_sort: - * @table: 対象table - * @offset: sortされたレコードのうち、(0ベースで)offset番目から順にresにレコードを格納する - * @limit: resに格納するレコードの上限 - * @result: 結果を格納するtable - * @keys: ソートキー配列へのポインタ - * @n_keys: ソートキー配列のサイズ - * - * table内のレコードをソートし、上位limit個の要素をresultに格納する。 - * keys.keyには、tableのcolumn,accessor,procのいずれかが指定できる。 - * keys.flagsには、GRN_TABLE_SORT_ASC/GRN_TABLE_SORT_DESCのいずれかを指定できる。 - * GRN_TABLE_SORT_ASCでは昇順、GRN_TABLE_SORT_DESCでは降順でソートされる。 - * keys.offsetは、内部利用のためのメンバである。 - **/ - typedef struct _grn_table_sort_key grn_table_sort_key; typedef unsigned char grn_table_sort_flags; @@ -795,17 +779,6 @@ struct _grn_table_sort_key { GRN_API int grn_table_sort(grn_ctx *ctx, grn_obj *table, int offset, int limit, grn_obj *result, grn_table_sort_key *keys, int n_keys); -/** - * grn_table_group: - * @table: 対象table - * @keys: group化キー構造体の配列へのポインタ - * @n_keys: group化キー構造体の配列のサイズ - * @results: group化の結果を格納する構造体の配列へのポインタ - * @n_results:group化の結果を格納する構造体の配列のサイズ - * - * tableのレコードを特定の条件でグループ化する - **/ - typedef struct _grn_table_group_result grn_table_group_result; typedef unsigned int grn_table_group_flags; @@ -909,43 +882,10 @@ struct _grn_table_group_result { GRN_API grn_rc grn_table_group(grn_ctx *ctx, grn_obj *table, grn_table_sort_key *keys, int n_keys, grn_table_group_result *results, int n_results); - -/** - * grn_table_setoperation: - * @table1: 対象table1 - * @table2: 対象table2 - * @res: 結果を格納するtable - * @op: 実行する演算の種類 - * - * table1とtable2をopの指定に従って集合演算した結果をresに格納する。 - * resにtable1あるいはtable2そのものを指定した場合を除けば、table1, table2は破壊されない。 - **/ GRN_API grn_rc grn_table_setoperation(grn_ctx *ctx, grn_obj *table1, grn_obj *table2, grn_obj *res, grn_operator op); - -/** - * grn_table_difference: - * @table1: 対象table1 - * @table2: 対象table2 - * @res1: 結果を格納するtable - * @res2: 結果を格納するtable - * - * table1とtable2から重複するレコードを取り除いた結果をそれぞれres1, res2に格納する。 - **/ GRN_API grn_rc grn_table_difference(grn_ctx *ctx, grn_obj *table1, grn_obj *table2, grn_obj *res1, grn_obj *res2); - -/** - * grn_table_columns: - * @table: 対象table - * @name: 取得したいカラム名のprefix - * @name_size: @nameの長さ - * @res: 結果を格納するGRN_TABLE_HASH_KEYのtable - * - * @nameから始まるtableのカラムIDを@resに格納する。 - * @name_sizeが0の場合はすべてのカラムIDを格納する。格納した - * カラムIDの数を返す。 - **/ GRN_API int grn_table_columns(grn_ctx *ctx, grn_obj *table, const char *name, unsigned int name_size, grn_obj *res); -------------- next part -------------- HTML����������������������������...Download