rroonga 3.0.9 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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"
|