Groonga 3.0.9 Source Code Document
Main Page
Related Pages
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
groonga
lib
expr.h
Go to the documentation of this file.
1
/* -*- c-basic-offset: 2 -*- */
2
/*
3
Copyright(C) 2013 Brazil
4
5
This library is free software; you can redistribute it and/or
6
modify it under the terms of the GNU Lesser General Public
7
License version 2.1 as published by the Free Software Foundation.
8
9
This library is distributed in the hope that it will be useful,
10
but WITHOUT ANY WARRANTY; without even the implied warranty of
11
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
Lesser General Public License for more details.
13
14
You should have received a copy of the GNU Lesser General Public
15
License along with this library; if not, write to the Free Software
16
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
*/
18
19
#ifndef GRN_EXPR_H
20
#define GRN_EXPR_H
21
22
#include "
db.h
"
23
24
#ifdef __cplusplus
25
extern
"C"
{
26
#endif
27
28
#define SCAN_ACCESSOR (0x01)
29
#define SCAN_PUSH (0x02)
30
#define SCAN_POP (0x04)
31
#define SCAN_PRE_CONST (0x08)
32
33
typedef
enum
{
34
SCAN_START
= 0,
35
SCAN_VAR
,
36
SCAN_COL1
,
37
SCAN_COL2
,
38
SCAN_CONST
39
}
scan_stat
;
40
41
typedef
struct
_grn_scan_info
scan_info
;
42
typedef
grn_bool
(*
grn_scan_info_each_arg_callback
)(
grn_ctx
*ctx,
grn_obj
*obj,
void
*user_data);
43
44
scan_info
*
grn_scan_info_open
(
grn_ctx
*ctx,
int
start
);
45
void
grn_scan_info_close
(
grn_ctx
*ctx,
scan_info
*si);
46
void
grn_scan_info_put_index
(
grn_ctx
*ctx,
scan_info
*si,
grn_obj
*
index
,
47
uint32_t sid, int32_t weight);
48
scan_info
**
grn_scan_info_put_logical_op
(
grn_ctx
*ctx,
scan_info
**sis,
int
*ip,
49
grn_operator
op
,
int
start
);
50
int
grn_scan_info_get_flags
(
scan_info
*si);
51
void
grn_scan_info_set_flags
(
scan_info
*si,
int
flags
);
52
grn_operator
grn_scan_info_get_logical_op
(
scan_info
*si);
53
void
grn_scan_info_set_logical_op
(
scan_info
*si,
grn_operator
logical_op
);
54
grn_operator
grn_scan_info_get_op
(
scan_info
*si);
55
void
grn_scan_info_set_op
(
scan_info
*si,
grn_operator
op
);
56
void
grn_scan_info_set_end
(
scan_info
*si, uint32_t
end
);
57
void
grn_scan_info_set_query
(
scan_info
*si,
grn_obj
*
query
);
58
grn_bool
grn_scan_info_push_arg
(
scan_info
*si,
grn_obj
*arg);
59
grn_obj
*
grn_scan_info_get_arg
(
grn_ctx
*ctx,
scan_info
*si,
int
i
);
60
61
int32_t
grn_expr_code_get_weight
(
grn_ctx
*ctx,
grn_expr_code
*ec);
62
63
#ifdef __cplusplus
64
}
65
#endif
66
67
#endif
/* GRN_EXPR_H */
Generated on Sun Nov 10 2013 09:49:02 for Groonga 3.0.9 Source Code Document by
1.8.1.2