rroonga 3.0.9 → 3.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.textile +10 -10
- data/bin/groonga-database-inspect +40 -0
- data/doc/text/news.textile +19 -0
- data/ext/groonga/extconf.rb +3 -1
- data/ext/groonga/rb-grn-expression.c +1 -1
- data/ext/groonga/rb-grn-operator.c +218 -8
- data/ext/groonga/rb-grn.h +4 -2
- data/lib/groonga.rb +4 -1
- data/lib/groonga/column.rb +25 -0
- data/lib/groonga/database-inspector.rb +279 -0
- data/lib/groonga/database.rb +32 -2
- data/lib/groonga/dumper.rb +7 -13
- data/lib/groonga/index-column.rb +11 -1
- data/lib/groonga/statistic-measurer.rb +37 -0
- data/lib/groonga/table.rb +25 -0
- data/rroonga-build.rb +2 -2
- data/test/groonga-test-utils.rb +10 -10
- data/test/test-column.rb +26 -0
- data/test/test-database-inspector.rb +676 -0
- data/test/test-database.rb +25 -1
- data/test/test-expression-builder.rb +1 -0
- data/test/test-expression.rb +73 -0
- data/test/test-index-column.rb +23 -0
- data/test/test-statistic-measurer.rb +55 -0
- data/test/test-table.rb +40 -0
- metadata +17 -8
- data/lib/groonga/view-record.rb +0 -50
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fd29ed62575d3db06ed7cdf23cef22b2d3e82f93
|
4
|
+
data.tar.gz: 3347850c6d34e77c4513b39123a85488f92d02ab
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 00d22aee2a5ad87495f4ff6e47a7d094d2e484efb9949a814e84027c701e0f4978c2c5518d5c157f33bb2a1361b01112f4ae313c8786ca93358aec85c54a0ca1
|
7
|
+
data.tar.gz: 357757448937499624e178775995844e217f54412c253d703034f93300a0974f88075daf865f1818b736568fbc64662cdf1fdfffc194c2e9b1154503871d99e0
|
data/README.textile
CHANGED
@@ -2,21 +2,21 @@ h1. README
|
|
2
2
|
|
3
3
|
h2. Name
|
4
4
|
|
5
|
-
|
5
|
+
Rroonga
|
6
6
|
|
7
7
|
h2. Description
|
8
8
|
|
9
|
-
Ruby bindings for
|
9
|
+
Ruby bindings for Groonga that provide full text search and
|
10
10
|
column store features.
|
11
11
|
|
12
|
-
|
13
|
-
layer.
|
14
|
-
not C like API. You can use
|
12
|
+
Rroonga is an extension library to use Groonga's DB-API
|
13
|
+
layer. Rroonga provides Rubyish readable and writable API
|
14
|
+
not C like API. You can use Groonga's fast and highly
|
15
15
|
functional features from Ruby with Rubyish form.
|
16
16
|
|
17
|
-
See the following URL about
|
17
|
+
See the following URL about Groonga.
|
18
18
|
|
19
|
-
* "The
|
19
|
+
* "The Groonga official site":http://groonga.org/
|
20
20
|
|
21
21
|
h2. Authors
|
22
22
|
|
@@ -36,8 +36,8 @@ contributed patches.)
|
|
36
36
|
|
37
37
|
h2. Dependencies
|
38
38
|
|
39
|
-
* Ruby >= 1.
|
40
|
-
*
|
39
|
+
* Ruby >= 1.9.3
|
40
|
+
* Groonga >= 3.0.8
|
41
41
|
|
42
42
|
h2. Install
|
43
43
|
|
@@ -58,7 +58,7 @@ h2. Mailing list
|
|
58
58
|
|
59
59
|
h2. Thanks
|
60
60
|
|
61
|
-
* Daijiro MORI: sent patches to support the latest
|
61
|
+
* Daijiro MORI: sent patches to support the latest Groonga.
|
62
62
|
* Tasuku SUENAGA: sent bug reports.
|
63
63
|
* niku: sent bug reports.
|
64
64
|
* dara:
|
@@ -0,0 +1,40 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
#
|
4
|
+
# Copyright (C) 2013 Kouhei Sutou <kou@clear-code.com>
|
5
|
+
#
|
6
|
+
# This library is free software; you can redistribute it and/or
|
7
|
+
# modify it under the terms of the GNU Lesser General Public
|
8
|
+
# License version 2.1 as published by the Free Software Foundation.
|
9
|
+
#
|
10
|
+
# This library is distributed in the hope that it will be useful,
|
11
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
13
|
+
# Lesser General Public License for more details.
|
14
|
+
#
|
15
|
+
# You should have received a copy of the GNU Lesser General Public
|
16
|
+
# License along with this library; if not, write to the Free Software
|
17
|
+
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
18
|
+
|
19
|
+
require "ostruct"
|
20
|
+
require "optparse"
|
21
|
+
require "pathname"
|
22
|
+
|
23
|
+
require "groonga"
|
24
|
+
|
25
|
+
options = OpenStruct.new
|
26
|
+
|
27
|
+
parser = OptionParser.new
|
28
|
+
parser.banner += " DB_PATH"
|
29
|
+
args = parser.parse!(ARGV)
|
30
|
+
|
31
|
+
if args.size != 1
|
32
|
+
puts(parser.help)
|
33
|
+
exit(false)
|
34
|
+
end
|
35
|
+
db_path = args[0]
|
36
|
+
|
37
|
+
Groonga::Database.open(db_path) do |database|
|
38
|
+
inspector = Groonga::DatabaseInspector.new(database)
|
39
|
+
inspector.report
|
40
|
+
end
|
data/doc/text/news.textile
CHANGED
@@ -1,5 +1,24 @@
|
|
1
1
|
h1. NEWS
|
2
2
|
|
3
|
+
h2(#3-1-0). 3.1.0: 2013-11-29
|
4
|
+
|
5
|
+
h3. Improvements
|
6
|
+
|
7
|
+
* Reduced build failure by automatically Groonga build.
|
8
|
+
[Reported by SHIMADA Koji]
|
9
|
+
* Added @groonga-database-inspect@ command that inspects passed database.
|
10
|
+
* {Groonga::Database#tables} ignores missing objects rather than raising
|
11
|
+
an exception. Because the method is interested in only existing tables.
|
12
|
+
|
13
|
+
h3. Fixes
|
14
|
+
|
15
|
+
* Fixed a bug that {Groonga::Expression#parse} doesn't accept all
|
16
|
+
mode and operators.
|
17
|
+
|
18
|
+
h3. Thanks
|
19
|
+
|
20
|
+
* SHIMADA Koji
|
21
|
+
|
3
22
|
h2(#3-0-9). 3.0.9: 2013-10-29
|
4
23
|
|
5
24
|
h3. Improvements
|
data/ext/groonga/extconf.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
#
|
3
|
-
# Copyright (C) 2009-
|
3
|
+
# Copyright (C) 2009-2013 Kouhei Sutou <kou@clear-code.com>
|
4
4
|
#
|
5
5
|
# This library is free software; you can redistribute it and/or
|
6
6
|
# modify it under the terms of the GNU Lesser General Public
|
@@ -159,6 +159,8 @@ def configure_command_line(prefix)
|
|
159
159
|
command_line << "--prefix=#{prefix}"
|
160
160
|
command_line << "--disable-static"
|
161
161
|
command_line << "--disable-document"
|
162
|
+
command_line << "--disable-benchmark"
|
163
|
+
command_line << "--without-cutter"
|
162
164
|
escaped_command_line = command_line.collect do |command|
|
163
165
|
Shellwords.escape(command)
|
164
166
|
end
|
@@ -381,7 +381,7 @@ rb_grn_expression_parse (int argc, VALUE *argv, VALUE self)
|
|
381
381
|
if (!NIL_P(rb_default_mode))
|
382
382
|
default_mode = RVAL2GRNOPERATOR(rb_default_mode);
|
383
383
|
if (!NIL_P(rb_default_operator))
|
384
|
-
default_operator =
|
384
|
+
default_operator = RVAL2GRNSETOPERATOR(rb_default_operator);
|
385
385
|
|
386
386
|
if (NIL_P(rb_syntax) ||
|
387
387
|
rb_grn_equal_option(rb_syntax, "query")) {
|
@@ -22,12 +22,225 @@ VALUE rb_mGrnOperator;
|
|
22
22
|
|
23
23
|
grn_operator
|
24
24
|
rb_grn_operator_from_ruby_object (VALUE rb_operator)
|
25
|
+
{
|
26
|
+
grn_operator operator;
|
27
|
+
|
28
|
+
if (NIL_P(rb_operator)) {
|
29
|
+
operator = GRN_OP_OR;
|
30
|
+
} else if (RVAL2CBOOL(rb_obj_is_kind_of(rb_operator, rb_cInteger))) {
|
31
|
+
operator = NUM2UINT(rb_operator);
|
32
|
+
} else if (rb_grn_equal_option(rb_operator, "push")) {
|
33
|
+
operator = GRN_OP_PUSH;
|
34
|
+
} else if (rb_grn_equal_option(rb_operator, "pop")) {
|
35
|
+
operator = GRN_OP_POP;
|
36
|
+
} else if (rb_grn_equal_option(rb_operator, "no-operation") ||
|
37
|
+
rb_grn_equal_option(rb_operator, "no_operation")) {
|
38
|
+
operator = GRN_OP_NOP;
|
39
|
+
} else if (rb_grn_equal_option(rb_operator, "call")) {
|
40
|
+
operator = GRN_OP_CALL;
|
41
|
+
} else if (rb_grn_equal_option(rb_operator, "intern")) {
|
42
|
+
operator = GRN_OP_INTERN;
|
43
|
+
} else if (rb_grn_equal_option(rb_operator, "get-reference") ||
|
44
|
+
rb_grn_equal_option(rb_operator, "get_reference")) {
|
45
|
+
operator = GRN_OP_GET_REF;
|
46
|
+
} else if (rb_grn_equal_option(rb_operator, "get-value") ||
|
47
|
+
rb_grn_equal_option(rb_operator, "get_value")) {
|
48
|
+
operator = GRN_OP_GET_VALUE;
|
49
|
+
} else if (rb_grn_equal_option(rb_operator, "and")) {
|
50
|
+
operator = GRN_OP_AND;
|
51
|
+
} else if (rb_grn_equal_option(rb_operator, "but") ||
|
52
|
+
rb_grn_equal_option(rb_operator, "not") ||
|
53
|
+
rb_grn_equal_option(rb_operator, "and-not") ||
|
54
|
+
rb_grn_equal_option(rb_operator, "and_not")) {
|
55
|
+
operator = GRN_OP_AND_NOT;
|
56
|
+
} else if (rb_grn_equal_option(rb_operator, "or")) {
|
57
|
+
operator = GRN_OP_OR;
|
58
|
+
} else if (rb_grn_equal_option(rb_operator, "assign")) {
|
59
|
+
operator = GRN_OP_ASSIGN;
|
60
|
+
} else if (rb_grn_equal_option(rb_operator, "star-assign") ||
|
61
|
+
rb_grn_equal_option(rb_operator, "star_assign")) {
|
62
|
+
operator = GRN_OP_STAR_ASSIGN;
|
63
|
+
} else if (rb_grn_equal_option(rb_operator, "slash-assign") ||
|
64
|
+
rb_grn_equal_option(rb_operator, "slash_assign")) {
|
65
|
+
operator = GRN_OP_SLASH_ASSIGN;
|
66
|
+
} else if (rb_grn_equal_option(rb_operator, "modulo-assign") ||
|
67
|
+
rb_grn_equal_option(rb_operator, "modulo_assign")) {
|
68
|
+
operator = GRN_OP_MOD_ASSIGN;
|
69
|
+
} else if (rb_grn_equal_option(rb_operator, "plus-assign") ||
|
70
|
+
rb_grn_equal_option(rb_operator, "plus_assign")) {
|
71
|
+
operator = GRN_OP_PLUS_ASSIGN;
|
72
|
+
} else if (rb_grn_equal_option(rb_operator, "minus-assign") ||
|
73
|
+
rb_grn_equal_option(rb_operator, "minus_assign")) {
|
74
|
+
operator = GRN_OP_MINUS_ASSIGN;
|
75
|
+
} else if (rb_grn_equal_option(rb_operator, "shiftl-assign") ||
|
76
|
+
rb_grn_equal_option(rb_operator, "shiftl_assign")) {
|
77
|
+
operator = GRN_OP_SHIFTL_ASSIGN;
|
78
|
+
} else if (rb_grn_equal_option(rb_operator, "shiftr-assign") ||
|
79
|
+
rb_grn_equal_option(rb_operator, "shiftr_assign")) {
|
80
|
+
operator = GRN_OP_SHIFTR_ASSIGN;
|
81
|
+
} else if (rb_grn_equal_option(rb_operator, "shiftrr-assign") ||
|
82
|
+
rb_grn_equal_option(rb_operator, "shiftrr_assign")) {
|
83
|
+
operator = GRN_OP_SHIFTRR_ASSIGN;
|
84
|
+
} else if (rb_grn_equal_option(rb_operator, "and-assign") ||
|
85
|
+
rb_grn_equal_option(rb_operator, "and_assign")) {
|
86
|
+
operator = GRN_OP_AND_ASSIGN;
|
87
|
+
} else if (rb_grn_equal_option(rb_operator, "xor-assign") ||
|
88
|
+
rb_grn_equal_option(rb_operator, "xor_assign")) {
|
89
|
+
operator = GRN_OP_XOR_ASSIGN;
|
90
|
+
} else if (rb_grn_equal_option(rb_operator, "or-assign") ||
|
91
|
+
rb_grn_equal_option(rb_operator, "or_assign")) {
|
92
|
+
operator = GRN_OP_OR_ASSIGN;
|
93
|
+
} else if (rb_grn_equal_option(rb_operator, "jump")) {
|
94
|
+
operator = GRN_OP_JUMP;
|
95
|
+
} else if (rb_grn_equal_option(rb_operator, "cjump")) {
|
96
|
+
operator = GRN_OP_CJUMP;
|
97
|
+
} else if (rb_grn_equal_option(rb_operator, "comma")) {
|
98
|
+
operator = GRN_OP_COMMA;
|
99
|
+
} else if (rb_grn_equal_option(rb_operator, "bitwise-or") ||
|
100
|
+
rb_grn_equal_option(rb_operator, "bitwise_or")) {
|
101
|
+
operator = GRN_OP_BITWISE_OR;
|
102
|
+
} else if (rb_grn_equal_option(rb_operator, "bitwise-xor") ||
|
103
|
+
rb_grn_equal_option(rb_operator, "bitwise_xor")) {
|
104
|
+
operator = GRN_OP_BITWISE_XOR;
|
105
|
+
} else if (rb_grn_equal_option(rb_operator, "bitwise-and") ||
|
106
|
+
rb_grn_equal_option(rb_operator, "bitwise_and")) {
|
107
|
+
operator = GRN_OP_BITWISE_AND;
|
108
|
+
} else if (rb_grn_equal_option(rb_operator, "bitwise-not") ||
|
109
|
+
rb_grn_equal_option(rb_operator, "bitwise_not")) {
|
110
|
+
operator = GRN_OP_BITWISE_NOT;
|
111
|
+
} else if (rb_grn_equal_option(rb_operator, "equal")) {
|
112
|
+
operator = GRN_OP_EQUAL;
|
113
|
+
} else if (rb_grn_equal_option(rb_operator, "not-equal") ||
|
114
|
+
rb_grn_equal_option(rb_operator, "not_equal")) {
|
115
|
+
operator = GRN_OP_NOT_EQUAL;
|
116
|
+
} else if (rb_grn_equal_option(rb_operator, "less")) {
|
117
|
+
operator = GRN_OP_LESS;
|
118
|
+
} else if (rb_grn_equal_option(rb_operator, "greater")) {
|
119
|
+
operator = GRN_OP_GREATER;
|
120
|
+
} else if (rb_grn_equal_option(rb_operator, "less-equal") ||
|
121
|
+
rb_grn_equal_option(rb_operator, "less_equal")) {
|
122
|
+
operator = GRN_OP_LESS_EQUAL;
|
123
|
+
} else if (rb_grn_equal_option(rb_operator, "greater-equal") ||
|
124
|
+
rb_grn_equal_option(rb_operator, "greater_equal")) {
|
125
|
+
operator = GRN_OP_GREATER_EQUAL;
|
126
|
+
} else if (rb_grn_equal_option(rb_operator, "in")) {
|
127
|
+
operator = GRN_OP_IN;
|
128
|
+
} else if (rb_grn_equal_option(rb_operator, "match")) {
|
129
|
+
operator = GRN_OP_MATCH;
|
130
|
+
} else if (rb_grn_equal_option(rb_operator, "near")) {
|
131
|
+
operator = GRN_OP_NEAR;
|
132
|
+
} else if (rb_grn_equal_option(rb_operator, "near2")) {
|
133
|
+
operator = GRN_OP_NEAR2;
|
134
|
+
} else if (rb_grn_equal_option(rb_operator, "term-extract") ||
|
135
|
+
rb_grn_equal_option(rb_operator, "term_extract")) {
|
136
|
+
operator = GRN_OP_TERM_EXTRACT;
|
137
|
+
} else if (rb_grn_equal_option(rb_operator, "shiftl")) {
|
138
|
+
operator = GRN_OP_SHIFTL;
|
139
|
+
} else if (rb_grn_equal_option(rb_operator, "shiftr")) {
|
140
|
+
operator = GRN_OP_SHIFTR;
|
141
|
+
} else if (rb_grn_equal_option(rb_operator, "shiftrr")) {
|
142
|
+
operator = GRN_OP_SHIFTRR;
|
143
|
+
} else if (rb_grn_equal_option(rb_operator, "plus")) {
|
144
|
+
operator = GRN_OP_PLUS;
|
145
|
+
} else if (rb_grn_equal_option(rb_operator, "minus")) {
|
146
|
+
operator = GRN_OP_MINUS;
|
147
|
+
} else if (rb_grn_equal_option(rb_operator, "star")) {
|
148
|
+
operator = GRN_OP_STAR;
|
149
|
+
} else if (rb_grn_equal_option(rb_operator, "modulo")) {
|
150
|
+
operator = GRN_OP_MOD;
|
151
|
+
} else if (rb_grn_equal_option(rb_operator, "delete")) {
|
152
|
+
operator = GRN_OP_DELETE;
|
153
|
+
} else if (rb_grn_equal_option(rb_operator, "increment")) {
|
154
|
+
operator = GRN_OP_INCR;
|
155
|
+
} else if (rb_grn_equal_option(rb_operator, "decrement")) {
|
156
|
+
operator = GRN_OP_DECR;
|
157
|
+
} else if (rb_grn_equal_option(rb_operator, "increment-post") ||
|
158
|
+
rb_grn_equal_option(rb_operator, "increment_post")) {
|
159
|
+
operator = GRN_OP_INCR_POST;
|
160
|
+
} else if (rb_grn_equal_option(rb_operator, "decrement-post") ||
|
161
|
+
rb_grn_equal_option(rb_operator, "decrement_post")) {
|
162
|
+
operator = GRN_OP_DECR_POST;
|
163
|
+
} else if (rb_grn_equal_option(rb_operator, "not")) {
|
164
|
+
operator = GRN_OP_NOT;
|
165
|
+
} else if (rb_grn_equal_option(rb_operator, "adjust")) {
|
166
|
+
operator = GRN_OP_ADJUST;
|
167
|
+
} else if (rb_grn_equal_option(rb_operator, "exact")) {
|
168
|
+
operator = GRN_OP_EXACT;
|
169
|
+
} else if (rb_grn_equal_option(rb_operator, "lcp") ||
|
170
|
+
rb_grn_equal_option(rb_operator, "longest-common-prefix") ||
|
171
|
+
rb_grn_equal_option(rb_operator, "longest_common_prefix")) {
|
172
|
+
operator = GRN_OP_LCP;
|
173
|
+
} else if (rb_grn_equal_option(rb_operator, "partial")) {
|
174
|
+
operator = GRN_OP_PARTIAL;
|
175
|
+
} else if (rb_grn_equal_option(rb_operator, "unsplit")) {
|
176
|
+
operator = GRN_OP_UNSPLIT;
|
177
|
+
} else if (rb_grn_equal_option(rb_operator, "prefix")) {
|
178
|
+
operator = GRN_OP_PREFIX;
|
179
|
+
} else if (rb_grn_equal_option(rb_operator, "suffix")) {
|
180
|
+
operator = GRN_OP_SUFFIX;
|
181
|
+
} else if (rb_grn_equal_option(rb_operator, "geo-distance1") ||
|
182
|
+
rb_grn_equal_option(rb_operator, "geo_distance1")) {
|
183
|
+
operator = GRN_OP_GEO_DISTANCE1;
|
184
|
+
} else if (rb_grn_equal_option(rb_operator, "geo-distance2") ||
|
185
|
+
rb_grn_equal_option(rb_operator, "geo_distance2")) {
|
186
|
+
operator = GRN_OP_GEO_DISTANCE2;
|
187
|
+
} else if (rb_grn_equal_option(rb_operator, "geo-distance3") ||
|
188
|
+
rb_grn_equal_option(rb_operator, "geo_distance3")) {
|
189
|
+
operator = GRN_OP_GEO_DISTANCE3;
|
190
|
+
} else if (rb_grn_equal_option(rb_operator, "geo-distance4") ||
|
191
|
+
rb_grn_equal_option(rb_operator, "geo_distance4")) {
|
192
|
+
operator = GRN_OP_GEO_DISTANCE4;
|
193
|
+
} else if (rb_grn_equal_option(rb_operator, "geo-withinp5") ||
|
194
|
+
rb_grn_equal_option(rb_operator, "geo_withinp5")) {
|
195
|
+
operator = GRN_OP_GEO_WITHINP5;
|
196
|
+
} else if (rb_grn_equal_option(rb_operator, "geo-withinp6") ||
|
197
|
+
rb_grn_equal_option(rb_operator, "geo_withinp6")) {
|
198
|
+
operator = GRN_OP_GEO_WITHINP6;
|
199
|
+
} else if (rb_grn_equal_option(rb_operator, "geo-withinp8") ||
|
200
|
+
rb_grn_equal_option(rb_operator, "geo_withinp8")) {
|
201
|
+
operator = GRN_OP_GEO_WITHINP8;
|
202
|
+
} else if (rb_grn_equal_option(rb_operator, "object-search") ||
|
203
|
+
rb_grn_equal_option(rb_operator, "object_search")) {
|
204
|
+
operator = GRN_OP_OBJ_SEARCH;
|
205
|
+
} else if (rb_grn_equal_option(rb_operator, "expression-get-variable") ||
|
206
|
+
rb_grn_equal_option(rb_operator, "expression_get_variable")) {
|
207
|
+
operator = GRN_OP_EXPR_GET_VAR;
|
208
|
+
} else if (rb_grn_equal_option(rb_operator, "table-create") ||
|
209
|
+
rb_grn_equal_option(rb_operator, "table_create")) {
|
210
|
+
operator = GRN_OP_TABLE_CREATE;
|
211
|
+
} else if (rb_grn_equal_option(rb_operator, "table-select") ||
|
212
|
+
rb_grn_equal_option(rb_operator, "table_select")) {
|
213
|
+
operator = GRN_OP_TABLE_SELECT;
|
214
|
+
} else if (rb_grn_equal_option(rb_operator, "table-sort") ||
|
215
|
+
rb_grn_equal_option(rb_operator, "table_sort")) {
|
216
|
+
operator = GRN_OP_TABLE_SORT;
|
217
|
+
} else if (rb_grn_equal_option(rb_operator, "table-group") ||
|
218
|
+
rb_grn_equal_option(rb_operator, "table_group")) {
|
219
|
+
operator = GRN_OP_TABLE_GROUP;
|
220
|
+
} else if (rb_grn_equal_option(rb_operator, "json-put") ||
|
221
|
+
rb_grn_equal_option(rb_operator, "json_put")) {
|
222
|
+
operator = GRN_OP_JSON_PUT;
|
223
|
+
} else {
|
224
|
+
rb_raise(rb_eArgError,
|
225
|
+
"operator should be one of "
|
226
|
+
"[nil, Integer, name as String, name as Symbol]: <%s>",
|
227
|
+
rb_grn_inspect(rb_operator));
|
228
|
+
}
|
229
|
+
|
230
|
+
return operator;
|
231
|
+
}
|
232
|
+
|
233
|
+
grn_operator
|
234
|
+
rb_grn_set_operator_from_ruby_object (VALUE rb_operator)
|
25
235
|
{
|
26
236
|
grn_operator operator = GRN_OP_OR;
|
27
237
|
|
28
|
-
if (NIL_P(rb_operator)
|
29
|
-
|
30
|
-
|
238
|
+
if (NIL_P(rb_operator)) {
|
239
|
+
operator = GRN_OP_OR;
|
240
|
+
} else if (RVAL2CBOOL(rb_obj_is_kind_of(rb_operator, rb_cInteger))) {
|
241
|
+
operator = NUM2UINT(rb_operator);
|
242
|
+
} else if (rb_grn_equal_option(rb_operator, "or") ||
|
243
|
+
rb_grn_equal_option(rb_operator, "||")) {
|
31
244
|
operator = GRN_OP_OR;
|
32
245
|
} else if (rb_grn_equal_option(rb_operator, "and") ||
|
33
246
|
rb_grn_equal_option(rb_operator, "+") ||
|
@@ -40,14 +253,11 @@ rb_grn_operator_from_ruby_object (VALUE rb_operator)
|
|
40
253
|
rb_grn_equal_option(rb_operator, "-") ||
|
41
254
|
rb_grn_equal_option(rb_operator, "&!")) {
|
42
255
|
operator = GRN_OP_AND_NOT;
|
43
|
-
} else if (rb_grn_equal_option(rb_operator, "adjust") ||
|
44
|
-
rb_grn_equal_option(rb_operator, ">")) {
|
45
|
-
operator = GRN_OP_ADJUST;
|
46
256
|
} else {
|
47
257
|
rb_raise(rb_eArgError,
|
48
258
|
"operator should be one of "
|
49
|
-
"[:or, :||, :and, :+, :&&, :but, :not, :and_not, :-,
|
50
|
-
"
|
259
|
+
"[:or, :||, :and, :+, :&&, :but, :not, :and_not, :-, :&!]: "
|
260
|
+
"<%s>",
|
51
261
|
rb_grn_inspect(rb_operator));
|
52
262
|
}
|
53
263
|
|
data/ext/groonga/rb-grn.h
CHANGED
@@ -83,8 +83,8 @@ RB_GRN_BEGIN_DECLS
|
|
83
83
|
#endif
|
84
84
|
|
85
85
|
#define RB_GRN_MAJOR_VERSION 3
|
86
|
-
#define RB_GRN_MINOR_VERSION
|
87
|
-
#define RB_GRN_MICRO_VERSION
|
86
|
+
#define RB_GRN_MINOR_VERSION 1
|
87
|
+
#define RB_GRN_MICRO_VERSION 0
|
88
88
|
|
89
89
|
#define RB_GRN_QUERY_DEFAULT_MAX_EXPRESSIONS 32
|
90
90
|
|
@@ -609,6 +609,7 @@ VALUE rb_grn_column_expression_builder_build
|
|
609
609
|
(rb_grn_accessor_to_ruby_object(context, accessor, owner))
|
610
610
|
|
611
611
|
#define RVAL2GRNOPERATOR(object) (rb_grn_operator_from_ruby_object(object))
|
612
|
+
#define RVAL2GRNSETOPERATOR(object) (rb_grn_set_operator_from_ruby_object(object))
|
612
613
|
|
613
614
|
#define RVAL2GRNLOGGER(object) (rb_grn_logger_from_ruby_object(object))
|
614
615
|
#define RVAL2GRNQUERYLOGGER(object) (rb_grn_query_logger_from_ruby_object(object))
|
@@ -719,6 +720,7 @@ VALUE rb_grn_index_cursor_to_ruby_object (grn_ctx *context,
|
|
719
720
|
grn_bool owner);
|
720
721
|
|
721
722
|
grn_operator rb_grn_operator_from_ruby_object (VALUE object);
|
723
|
+
grn_operator rb_grn_set_operator_from_ruby_object (VALUE object);
|
722
724
|
|
723
725
|
grn_logger_info *
|
724
726
|
rb_grn_logger_from_ruby_object (VALUE object);
|
data/lib/groonga.rb
CHANGED
@@ -35,7 +35,6 @@ if local_groonga_bin_dir.exist?
|
|
35
35
|
end
|
36
36
|
|
37
37
|
require "groonga/geo-point"
|
38
|
-
require "groonga/view-record"
|
39
38
|
require "groonga/record"
|
40
39
|
require "groonga/expression-builder"
|
41
40
|
require "groonga/posting"
|
@@ -91,10 +90,14 @@ module Groonga
|
|
91
90
|
end
|
92
91
|
|
93
92
|
require "groonga/context"
|
93
|
+
require "groonga/statistic-measurer"
|
94
94
|
require "groonga/database"
|
95
|
+
require "groonga/table"
|
96
|
+
require "groonga/column"
|
95
97
|
require "groonga/patricia-trie"
|
96
98
|
require "groonga/index-column"
|
97
99
|
require "groonga/dumper"
|
100
|
+
require "groonga/database-inspector"
|
98
101
|
require "groonga/schema"
|
99
102
|
require "groonga/pagination"
|
100
103
|
require "groonga/grntest-log"
|