8.14.7. grn_expr
grn_expr is an grn_obj that represents an expression. Here
is a list of what expression can do:
- Expression can apply some operations to a record by
grn_expr_exec().
- Expression can represents search condition. grn_table_select()
can select records that match against the search condition represented
by expression.
There are two string representations of expression:
grn_expr_parse() parses string represented expression and
appends the parsed expression to another expression.
8.14.7.2. リファレンス
-
GRN_API grn_obj *grn_expr_create(grn_ctx *ctx, const char *name, unsigned int name_size)
-
GRN_API grn_rc grn_expr_close(grn_ctx *ctx, grn_obj *expr)
-
GRN_API grn_obj *grn_expr_add_var(grn_ctx *ctx, grn_obj *expr, const char *name, unsigned int name_size)
-
GRN_API grn_obj *grn_expr_get_var_by_offset(grn_ctx *ctx, grn_obj *expr, unsigned int offset)
-
GRN_API grn_obj *grn_expr_append_obj(grn_ctx *ctx, grn_obj *expr, grn_obj *obj, grn_operator op, int nargs);
-
GRN_API grn_obj *grn_expr_append_const(grn_ctx *ctx, grn_obj *expr, grn_obj *obj, grn_operator op, int nargs)
-
GRN_API grn_obj *grn_expr_append_const_str(grn_ctx *ctx, grn_obj *expr, const char *str, unsigned int str_size, grn_operator op, int nargs)
-
GRN_API grn_obj *grn_expr_append_const_int(grn_ctx *ctx, grn_obj *expr, int i, grn_operator op, int nargs)
-
GRN_API grn_rc grn_expr_append_op(grn_ctx *ctx, grn_obj *expr, grn_operator op, int nargs)
-
grn_rc grn_expr_syntax_escape(grn_ctx *ctx, const char *string, int string_size, const char *target_characters, char escape_character, grn_obj *escaped_string)
Escapes target_characters in string by escape_character.
パラメタ: |
- ctx -- Its encoding must be the same encoding of string.
It is used for allocating buffer for escaped_string.
- string -- String expression representation.
- string_size -- The byte size of string. -1 means string
is NULL terminated string.
- target_characters -- NULL terminated escape target characters.
For example, "+-><~*()\"\\:" is
target_characters for
クエリー構文.
- escape_character -- The character to use escape a character in
target_characters. For example, \\
(backslash) is escaped_character for
クエリー構文.
- escaped_string -- The output of escaped string. It should be
text typed bulk.
|
戻り値: | 成功時は GRN_SUCCESS 、エラー時は GRN_SUCCESS 以外。
|
-
grn_rc grn_expr_syntax_escape_query(grn_ctx *ctx, const char *query, int query_size, grn_obj *escaped_query)
クエリー構文 にある特別な文字をエスケープします。
パラメタ: |
- ctx -- Its encoding must be the same encoding of query.
It is used for allocating buffer for escaped_query.
- query -- クエリー構文 にある文字列式の表現。
- query_size -- The byte size of query. -1 means query
is NULL terminated string.
- escaped_query -- The output of escaped query. It should be
text typed bulk.
|
戻り値: | 成功時は GRN_SUCCESS 、エラー時は GRN_SUCCESS 以外。
|
-
GRN_API grn_rc grn_expr_compile(grn_ctx *ctx, grn_obj *expr)
-
GRN_API grn_obj *grn_expr_exec(grn_ctx *ctx, grn_obj *expr, int nargs)
-
GRN_API grn_obj *grn_expr_alloc(grn_ctx *ctx, grn_obj *expr, grn_id domain, grn_obj_flags flags)