rroonga 4.0.5 → 4.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.yardopts +1 -1
- data/benchmark/common.rb +4 -4
- data/benchmark/create-wikipedia-database.rb +5 -5
- data/benchmark/read-write-many-small-items.rb +8 -8
- data/benchmark/repeat-load.rb +4 -4
- data/benchmark/select.rb +9 -9
- data/benchmark/write-many-small-items.rb +8 -8
- data/doc/images/sample-schema.png +0 -0
- data/doc/text/install.textile +2 -2
- data/doc/text/news.textile +41 -0
- data/doc/text/tutorial.textile +4 -4
- data/example/bookmark.rb +6 -7
- data/example/index-html.rb +6 -6
- data/ext/groonga/extconf.rb +23 -1
- data/ext/groonga/rb-grn-column.c +3 -2
- data/ext/groonga/rb-grn-context.c +20 -3
- data/ext/groonga/rb-grn-double-array-trie.c +11 -2
- data/ext/groonga/rb-grn-exception.c +28 -10
- data/ext/groonga/rb-grn-expression.c +78 -0
- data/ext/groonga/rb-grn-hash.c +10 -0
- data/ext/groonga/rb-grn-logger.c +7 -3
- data/ext/groonga/rb-grn-object.c +3 -2
- data/ext/groonga/rb-grn-patricia-trie.c +23 -20
- data/ext/groonga/rb-grn-table-key-support.c +92 -1
- data/ext/groonga/rb-grn-table.c +60 -17
- data/ext/groonga/rb-grn-utils.c +51 -2
- data/ext/groonga/rb-grn-variable-size-column.c +11 -7
- data/ext/groonga/rb-grn.h +11 -1
- data/lib/groonga/dumper.rb +23 -1
- data/lib/groonga/patricia-trie.rb +1 -1
- data/lib/groonga/schema.rb +190 -205
- data/misc/grnop2ruby.rb +1 -1
- data/rroonga-build.rb +3 -3
- data/rroonga.gemspec +1 -0
- data/test/groonga-test-utils.rb +2 -2
- data/test/test-column.rb +19 -0
- data/test/test-context.rb +5 -1
- data/test/test-double-array-trie.rb +19 -0
- data/test/test-exception.rb +7 -2
- data/test/test-expression.rb +19 -0
- data/test/test-fix-size-column.rb +49 -36
- data/test/test-hash.rb +22 -0
- data/test/test-patricia-trie.rb +26 -7
- data/test/test-schema-dumper.rb +65 -1
- data/test/test-schema.rb +13 -2
- data/test/test-variable-size-column.rb +6 -5
- metadata +47 -46
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0e374f62d1dc60540f41658d346241ed699fb853
|
4
|
+
data.tar.gz: a41b8257c7716190ea709d516fd34e4229c36c38
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 325d4a719363ba06a78c9e8109926b6312d2f677650f85b242d889c7b2145963323e4c5c347e691c75f0c917bbb32c74513401eae7fc0220050efa0dcaa50515
|
7
|
+
data.tar.gz: aecc0398616ba0b886db0eae9bba0599af1d414f2a70be4c79139a2402aaedae9966b600033559c7509328324637e5ab4642af44e8bab86a6155963caa424123
|
data/.yardopts
CHANGED
data/benchmark/common.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
require
|
2
|
-
require
|
1
|
+
require "benchmark"
|
2
|
+
require "tempfile"
|
3
3
|
|
4
|
-
def memory_usage
|
4
|
+
def memory_usage
|
5
5
|
status = `cat /proc/#{$$}/status`
|
6
6
|
lines = status.split("\n")
|
7
7
|
lines.each do |line|
|
@@ -10,7 +10,7 @@ def memory_usage()
|
|
10
10
|
return line.to_i / 1024.0
|
11
11
|
end
|
12
12
|
end
|
13
|
-
return -1
|
13
|
+
return -1
|
14
14
|
end
|
15
15
|
|
16
16
|
@items = []
|
@@ -1,10 +1,10 @@
|
|
1
1
|
# Wikipedia data: http://download.wikimedia.org/jawiki/latest/jawiki-latest-pages-articles.xml.bz2
|
2
2
|
|
3
|
-
require
|
4
|
-
require
|
5
|
-
require
|
3
|
+
require "time"
|
4
|
+
require "fileutils"
|
5
|
+
require "groonga"
|
6
6
|
|
7
|
-
require
|
7
|
+
require "nokogiri"
|
8
8
|
|
9
9
|
class WikipediaExtractor
|
10
10
|
def initialize(listener)
|
@@ -200,7 +200,7 @@ class GroongaLoader
|
|
200
200
|
def load_links(title, content)
|
201
201
|
links = content.scan(/\[\[.*?\]\]/)
|
202
202
|
links = links.collect do |link|
|
203
|
-
link.sub(/\A\[\[/,
|
203
|
+
link.sub(/\A\[\[/, "").sub(/\]\]\z/, "").sub(/\|[^\|]+\z/, "")
|
204
204
|
end
|
205
205
|
@documents.add(title, :links => links)
|
206
206
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
#!/usr/bin/ruby
|
1
|
+
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
# This benchmark is based on Tokyo Cabinet's benchmark at
|
4
4
|
# http://alpha.mixi.co.jp/blog/?p=791
|
@@ -52,7 +52,7 @@ begin
|
|
52
52
|
$LOAD_PATH.unshift(File.join(base_dir, "ext", "groonga"))
|
53
53
|
$LOAD_PATH.unshift(File.join(base_dir, "lib"))
|
54
54
|
|
55
|
-
require
|
55
|
+
require "groonga"
|
56
56
|
tmp_dir = "/tmp/groonga"
|
57
57
|
FileUtils.rm_rf(tmp_dir)
|
58
58
|
FileUtils.mkdir(tmp_dir)
|
@@ -93,7 +93,7 @@ rescue LoadError
|
|
93
93
|
end
|
94
94
|
|
95
95
|
begin
|
96
|
-
require
|
96
|
+
require "localmemcache"
|
97
97
|
|
98
98
|
LocalMemCache.drop(:namespace => "read-write-many-small-items",
|
99
99
|
:force => true)
|
@@ -108,9 +108,9 @@ rescue LoadError
|
|
108
108
|
end
|
109
109
|
|
110
110
|
begin
|
111
|
-
require
|
111
|
+
require "tokyocabinet"
|
112
112
|
|
113
|
-
tc_hash_memory = TokyoCabinet::ADB
|
113
|
+
tc_hash_memory = TokyoCabinet::ADB.new
|
114
114
|
tc_hash_memory.open("*#bnum=#{n}#mode=wct#xmsiz=0")
|
115
115
|
item("TC: Hash: memory") do
|
116
116
|
values.each do |value|
|
@@ -119,7 +119,7 @@ begin
|
|
119
119
|
end
|
120
120
|
end
|
121
121
|
|
122
|
-
tc_tree_memory = TokyoCabinet::ADB
|
122
|
+
tc_tree_memory = TokyoCabinet::ADB.new
|
123
123
|
tc_tree_memory.open("+#bnum=#{n}#mode=wct#xmsiz=0")
|
124
124
|
item("TC: Tree: memory") do
|
125
125
|
values.each do |value|
|
@@ -129,7 +129,7 @@ begin
|
|
129
129
|
end
|
130
130
|
|
131
131
|
hash_file = Tempfile.new(["tc-hash", ".tch"])
|
132
|
-
tc_hash_file = TokyoCabinet::ADB
|
132
|
+
tc_hash_file = TokyoCabinet::ADB.new
|
133
133
|
tc_hash_file.open("#{hash_file.path}#bnum=#{n}#mode=wct#xmsiz=0")
|
134
134
|
item("TC: Hash: file") do
|
135
135
|
values.each do |value|
|
@@ -139,7 +139,7 @@ begin
|
|
139
139
|
end
|
140
140
|
|
141
141
|
tree_file = Tempfile.new(["tc-tree", ".tcb"])
|
142
|
-
tc_tree_file = TokyoCabinet::ADB
|
142
|
+
tc_tree_file = TokyoCabinet::ADB.new
|
143
143
|
tc_tree_file.open("#{tree_file.path}#bnum=#{n}#mode=wct#xmsiz=0")
|
144
144
|
item("TC: Tree: file") do
|
145
145
|
values.each do |value|
|
data/benchmark/repeat-load.rb
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
require
|
2
|
-
require
|
1
|
+
require "fileutils"
|
2
|
+
require "shellwords"
|
3
3
|
|
4
|
-
require
|
4
|
+
require "groonga"
|
5
5
|
|
6
6
|
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
7
|
-
require
|
7
|
+
require "create-wikipedia-database"
|
8
8
|
|
9
9
|
class SampleRecords
|
10
10
|
def initialize(record_count)
|
data/benchmark/select.rb
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
#
|
1
|
+
# -*- coding: utf-8 -*-
|
2
2
|
|
3
|
-
require
|
4
|
-
require
|
5
|
-
require
|
3
|
+
require "benchmark"
|
4
|
+
require "shellwords"
|
5
|
+
require "optparse"
|
6
6
|
|
7
|
-
require
|
7
|
+
require "groonga"
|
8
8
|
|
9
9
|
Groonga::Logger.query_log_path = "/tmp/query.log"
|
10
10
|
|
@@ -17,7 +17,7 @@ module ColumnTokenizer
|
|
17
17
|
end
|
18
18
|
tokens.each do |token|
|
19
19
|
unless token == "*"
|
20
|
-
token.sub!(/[^A-Za-z0-9_]\z/,
|
20
|
+
token.sub!(/[^A-Za-z0-9_]\z/, "")
|
21
21
|
end
|
22
22
|
end
|
23
23
|
end
|
@@ -217,7 +217,7 @@ class Query
|
|
217
217
|
end
|
218
218
|
|
219
219
|
def to_parameter_symbol(name)
|
220
|
-
name.sub(NAMED_PARAMETER_PREFIX,
|
220
|
+
name.sub(NAMED_PARAMETER_PREFIX, "").to_sym
|
221
221
|
end
|
222
222
|
|
223
223
|
def create_query
|
@@ -383,7 +383,7 @@ class SelectorByMethod < Selector
|
|
383
383
|
tokens = tokenize_column_list(sort_by)
|
384
384
|
|
385
385
|
tokens.collect do |token|
|
386
|
-
key = token.sub(DESCENDING_ORDER_PREFIX,
|
386
|
+
key = token.sub(DESCENDING_ORDER_PREFIX, "")
|
387
387
|
if token =~ DESCENDING_ORDER_PREFIX
|
388
388
|
descending_order_sort_key(key)
|
389
389
|
else
|
@@ -493,7 +493,7 @@ class SelectorByMethod < Selector
|
|
493
493
|
columns = columns.collect do |column|
|
494
494
|
if column == "*"
|
495
495
|
table.columns.collect(&:name).collect do |name|
|
496
|
-
name.sub(/\A[A-Za-z0-9_]+\./,
|
496
|
+
name.sub(/\A[A-Za-z0-9_]+\./, "")
|
497
497
|
end
|
498
498
|
else
|
499
499
|
column if column_included_in_record?(column, result.first)
|
@@ -1,4 +1,4 @@
|
|
1
|
-
#!/usr/bin/ruby
|
1
|
+
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
# This benchmark is based on Tokyo Cabinet's benchmark at
|
4
4
|
# http://alpha.mixi.co.jp/blog/?p=791
|
@@ -51,7 +51,7 @@ begin
|
|
51
51
|
$LOAD_PATH.unshift(File.join(base_dir, "ext", "groonga"))
|
52
52
|
$LOAD_PATH.unshift(File.join(base_dir, "lib"))
|
53
53
|
|
54
|
-
require
|
54
|
+
require "groonga"
|
55
55
|
tmp_dir = "/tmp/groonga"
|
56
56
|
FileUtils.rm_rf(tmp_dir)
|
57
57
|
FileUtils.mkdir(tmp_dir)
|
@@ -89,7 +89,7 @@ rescue LoadError
|
|
89
89
|
end
|
90
90
|
|
91
91
|
begin
|
92
|
-
require
|
92
|
+
require "localmemcache"
|
93
93
|
|
94
94
|
LocalMemCache.drop(:namespace => "write-many-small-items", :force => true)
|
95
95
|
mem_cache = LocalMemCache.new(:namespace => "write-many-small-items")
|
@@ -102,9 +102,9 @@ rescue LoadError
|
|
102
102
|
end
|
103
103
|
|
104
104
|
begin
|
105
|
-
require
|
105
|
+
require "tokyocabinet"
|
106
106
|
|
107
|
-
tc_hash_memory = TokyoCabinet::ADB
|
107
|
+
tc_hash_memory = TokyoCabinet::ADB.new
|
108
108
|
tc_hash_memory.open("*#bnum=#{n}#mode=wct#xmsiz=0")
|
109
109
|
item("TC: Hash: memory") do
|
110
110
|
values.each do |value|
|
@@ -112,7 +112,7 @@ begin
|
|
112
112
|
end
|
113
113
|
end
|
114
114
|
|
115
|
-
tc_tree_memory = TokyoCabinet::ADB
|
115
|
+
tc_tree_memory = TokyoCabinet::ADB.new
|
116
116
|
tc_tree_memory.open("+#bnum=#{n}#mode=wct#xmsiz=0")
|
117
117
|
item("TC: Tree: memory") do
|
118
118
|
values.each do |value|
|
@@ -121,7 +121,7 @@ begin
|
|
121
121
|
end
|
122
122
|
|
123
123
|
hash_file = Tempfile.new(["tc-hash", ".tch"])
|
124
|
-
tc_hash_file = TokyoCabinet::ADB
|
124
|
+
tc_hash_file = TokyoCabinet::ADB.new
|
125
125
|
tc_hash_file.open("#{hash_file.path}#bnum=#{n}#mode=wct#xmsiz=0")
|
126
126
|
item("TC: Hash: file") do
|
127
127
|
values.each do |value|
|
@@ -130,7 +130,7 @@ begin
|
|
130
130
|
end
|
131
131
|
|
132
132
|
tree_file = Tempfile.new(["tc-tree", ".tcb"])
|
133
|
-
tc_tree_file = TokyoCabinet::ADB
|
133
|
+
tc_tree_file = TokyoCabinet::ADB.new
|
134
134
|
tc_tree_file.open("#{tree_file.path}#bnum=#{n}#mode=wct#xmsiz=0")
|
135
135
|
item("TC: Tree: file") do
|
136
136
|
values.each do |value|
|
Binary file
|
data/doc/text/install.textile
CHANGED
@@ -2,7 +2,7 @@ h1. Install
|
|
2
2
|
|
3
3
|
This document describes how to install Rroonga.
|
4
4
|
|
5
|
-
You can install
|
5
|
+
You can install Rroonga by RubyGems. It is the standard way for Ruby
|
6
6
|
libraries.
|
7
7
|
|
8
8
|
Rroonga is depends on Groonga. So you need to install both Groonga and
|
@@ -48,7 +48,7 @@ Type the following command on Ruby console:
|
|
48
48
|
|
49
49
|
<pre>
|
50
50
|
!!!command_line
|
51
|
-
|
51
|
+
> gem install rroonga
|
52
52
|
</pre>
|
53
53
|
|
54
54
|
This document assumes that you're using "RubyInstaller for
|
data/doc/text/news.textile
CHANGED
@@ -1,5 +1,46 @@
|
|
1
1
|
h1. NEWS
|
2
2
|
|
3
|
+
h2(#4-0-6). 4.0.6: 2014-11-06
|
4
|
+
|
5
|
+
h3. Improvements
|
6
|
+
|
7
|
+
* Supported Groonga 4.0.7. [GitHub#28]
|
8
|
+
** Changed {Groonga::Context#support_lzo?} always returns @false@.
|
9
|
+
** Added {Groonga::Context#support_lz4?}.
|
10
|
+
** Supported @:lz4@ in {Groonga::Table#define_column} options.
|
11
|
+
** Supported @:lz4@ in {Groonga::VariableSizeColumn#compressed?} options.
|
12
|
+
** Added {Groonga::LZ4Error}.
|
13
|
+
** [grndump] Supported @COMPRESS_ZLIB@ and @COMPRESS_LZ4@ flags.
|
14
|
+
** Added {Groonga::TableKeySupport#token_filters}.
|
15
|
+
** Added {Groonga::TableKeySupport#token_filters=}.
|
16
|
+
** Supported @:token_filters@ in {Groonga::Hash.create} options.
|
17
|
+
** Supported @:token_filters@ in {Groonga::PatriciaTrie.create} options.
|
18
|
+
** Supported @:token_filters@ in {Groonga::DoubleArrayTrie.create} options.
|
19
|
+
** Supported @:token_filters@ in {Groonga::Schema.create_table} options.
|
20
|
+
** Added {Groonga::TokenFilterError}.
|
21
|
+
** [grndump] Supported token filters.
|
22
|
+
* Added {Groonga::Expression#keywords}. [GitHub#30]
|
23
|
+
* Stopped to require logger object as the first argument of
|
24
|
+
{Groonga::Logger.register} when block is specified.
|
25
|
+
|
26
|
+
h3. Fixes
|
27
|
+
|
28
|
+
* [doc] Removed deprecated example.
|
29
|
+
[GitHub#26] [Patch by ongaeshi]
|
30
|
+
* Fixed a bug that a column assignment raises an error when
|
31
|
+
you assign value with type A and then assign value type B again.
|
32
|
+
[GitHub#27] [Patch by Daisuke Goto]
|
33
|
+
* Fixed a memory leak in {Groonga::PatriciaTrie#open_near_cursor}.
|
34
|
+
* Fixed a bug that you can access a column renamed by
|
35
|
+
{Groonga::Column#rename} with old name.
|
36
|
+
[GitHub#29] [Patch by Daisuke Goto]
|
37
|
+
* [doc] Fixed wrong option name of {Groonga::Logger.register}.
|
38
|
+
|
39
|
+
h3. Thanks
|
40
|
+
|
41
|
+
* ongaeshi
|
42
|
+
* Daisuke Goto
|
43
|
+
|
3
44
|
h2(#4-0-5). 4.0.5: 2014-10-05
|
4
45
|
|
5
46
|
h3. Improvements
|
data/doc/text/tutorial.textile
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
h1. Tutorial
|
2
2
|
|
3
|
-
This page introduce how to use
|
3
|
+
This page introduce how to use Rroonga via a simple application making.
|
4
4
|
|
5
5
|
h2. Install
|
6
6
|
|
7
|
-
You can install
|
7
|
+
You can install Rroonga in your compter with RubyGems.
|
8
8
|
|
9
9
|
<pre>
|
10
10
|
!!!command_line
|
@@ -14,11 +14,11 @@ You can install rroonga in your compter with RubyGems.
|
|
14
14
|
h2. Create Database
|
15
15
|
|
16
16
|
Let's create database for simple bookmark application.
|
17
|
-
Please execute irb with loading
|
17
|
+
Please execute irb with loading Rroonga with this command:
|
18
18
|
|
19
19
|
<pre>
|
20
20
|
!!!irb
|
21
|
-
% irb --simple-prompt -
|
21
|
+
% irb --simple-prompt -r groonga
|
22
22
|
>>
|
23
23
|
</pre>
|
24
24
|
|
data/example/bookmark.rb
CHANGED
@@ -2,8 +2,8 @@
|
|
2
2
|
# -*- coding: utf-8 -*-
|
3
3
|
|
4
4
|
base_dir = File.join(File.dirname(__FILE__), "..")
|
5
|
-
groonga_ext_dir = File.join(base_dir,
|
6
|
-
groonga_lib_dir = File.join(base_dir,
|
5
|
+
groonga_ext_dir = File.join(base_dir, "ext", "groonga")
|
6
|
+
groonga_lib_dir = File.join(base_dir, "lib")
|
7
7
|
$LOAD_PATH.unshift(groonga_ext_dir)
|
8
8
|
$LOAD_PATH.unshift(groonga_lib_dir)
|
9
9
|
|
@@ -14,19 +14,18 @@ rescue LoadError
|
|
14
14
|
require "groonga"
|
15
15
|
end
|
16
16
|
|
17
|
-
require
|
17
|
+
require "time"
|
18
18
|
|
19
19
|
# Groonga::Logger.register(:level => :debug) do |level, time, title, message, location|
|
20
20
|
# p [level, time, title, message, location]
|
21
21
|
# end
|
22
22
|
|
23
|
-
$KCODE = "UTF-8"
|
24
23
|
Groonga::Context.default_options = {:encoding => :utf8}
|
25
24
|
|
26
25
|
path = ARGV[0]
|
27
26
|
if path.nil?
|
28
|
-
require
|
29
|
-
require
|
27
|
+
require "tmpdir"
|
28
|
+
require "fileutils"
|
30
29
|
temporary_directory = File.join(Dir.tmpdir, "rroonga")
|
31
30
|
FileUtils.mkdir_p(temporary_directory)
|
32
31
|
at_exit {FileUtils.rm_rf(temporary_directory)}
|
@@ -112,7 +111,7 @@ p(add_bookmark("http://jp.rubyist.net/magazine/",
|
|
112
111
|
"Rubyist Magazine - るびま", "moritan", "Ruby 記事",
|
113
112
|
Time.parse("2010-10-07T14:18:28+09:00")))
|
114
113
|
p(add_bookmark("http://groonga.rubyforge.org/",
|
115
|
-
"Rubyで
|
114
|
+
"RubyでGroonga使って全文検索 - ラングバ", "taporobo",
|
116
115
|
"Ruby groonga 全文検索",
|
117
116
|
Time.parse("2010-11-11T12:39:59+09:00")))
|
118
117
|
p(add_bookmark("http://www.rubyist.net/~matz/",
|
data/example/index-html.rb
CHANGED
@@ -5,15 +5,15 @@ if ARGV.size < 2 or ARGV.find {|option| option == "-h" or option == "--help"}
|
|
5
5
|
exit
|
6
6
|
end
|
7
7
|
|
8
|
-
require
|
8
|
+
require "pathname"
|
9
9
|
|
10
10
|
base_directory = Pathname(__FILE__).dirname + ".."
|
11
11
|
$LOAD_PATH.unshift((base_directory + "ext").to_s)
|
12
12
|
$LOAD_PATH.unshift((base_directory + "lib").to_s)
|
13
13
|
|
14
|
-
require
|
15
|
-
require
|
16
|
-
require
|
14
|
+
require "rubygems"
|
15
|
+
require "groonga"
|
16
|
+
require "nokogiri"
|
17
17
|
|
18
18
|
database_file, *targets = ARGV
|
19
19
|
|
@@ -71,8 +71,8 @@ targets.each do |target|
|
|
71
71
|
end
|
72
72
|
html_document.css("img").each do |image|
|
73
73
|
image_content = []
|
74
|
-
title = image[
|
75
|
-
alt = image[
|
74
|
+
title = image["title"]
|
75
|
+
alt = image["alt"]
|
76
76
|
image_content << title if title and !title.empty?
|
77
77
|
image_content << alt if alt and !alt.empty?
|
78
78
|
contents.concat(image_content) unless image_content.empty?
|
data/ext/groonga/extconf.rb
CHANGED
@@ -167,11 +167,22 @@ def configure_command_line(prefix)
|
|
167
167
|
escaped_command_line.join(" ")
|
168
168
|
end
|
169
169
|
|
170
|
+
def n_processors
|
171
|
+
proc_file = "/proc/cpuinfo"
|
172
|
+
if File.exist?(proc_file)
|
173
|
+
File.readlines(proc_file).grep(/^processor/).size
|
174
|
+
elsif /darwin/ =~ RUBY_PLATFORM
|
175
|
+
`sysctl -n hw.ncpu`.to_i
|
176
|
+
else
|
177
|
+
1
|
178
|
+
end
|
179
|
+
end
|
180
|
+
|
170
181
|
def install_for_gnu_build_system(install_dir)
|
171
182
|
run_command("configuring...",
|
172
183
|
configure_command_line(install_dir))
|
173
184
|
run_command("building (maybe long time)...",
|
174
|
-
"make")
|
185
|
+
"make -j#{n_processors}")
|
175
186
|
run_command("installing...",
|
176
187
|
"make install")
|
177
188
|
end
|
@@ -272,6 +283,9 @@ have_func("rb_sym2str", "ruby.h")
|
|
272
283
|
have_func("rb_to_symbol", "ruby.h")
|
273
284
|
have_type("enum ruby_value_type", "ruby.h")
|
274
285
|
|
286
|
+
# TODO: Remove me after Groogna 4.0.8 is released.
|
287
|
+
have_func("grn_expr_dump_plan", "groonga.h")
|
288
|
+
|
275
289
|
checking_for(checking_message("--enable-debug-log option")) do
|
276
290
|
enable_debug_log = enable_config("debug-log", false)
|
277
291
|
if enable_debug_log
|
@@ -313,6 +327,14 @@ checking_for(checking_message("--enable-debug-build option")) do
|
|
313
327
|
enable_debug_build
|
314
328
|
end
|
315
329
|
|
330
|
+
checking_for(checking_message("--enable-untyped-data-warning option")) do
|
331
|
+
enable_check_untyped_data = enable_config("untyped-data-warning", false)
|
332
|
+
if enable_check_untyped_data
|
333
|
+
$defs << "-DRUBY_UNTYPED_DATA_WARNING"
|
334
|
+
end
|
335
|
+
enable_check_untyped_data
|
336
|
+
end
|
337
|
+
|
316
338
|
if ENV["INSTALL_RB"] == "yes"
|
317
339
|
$INSTALLFILES ||= []
|
318
340
|
$INSTALLFILES << ["../../lib/**/*.rb", "$(RUBYLIBDIR)", "../../lib"]
|