rroonga 5.1.1 → 6.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +1 -1
- data/bin/grndump +9 -0
- data/doc/text/cross-compile.md +72 -0
- data/doc/text/install.md +121 -0
- data/doc/text/news.md +1451 -0
- data/doc/text/release.md +135 -0
- data/doc/text/tutorial.md +402 -0
- data/ext/groonga/rb-grn-column.c +54 -24
- data/ext/groonga/rb-grn-config.c +131 -10
- data/ext/groonga/rb-grn-context.c +0 -10
- data/ext/groonga/rb-grn-encoding.c +0 -2
- data/ext/groonga/rb-grn-expression.c +63 -3
- data/ext/groonga/rb-grn-index.c +34 -0
- data/ext/groonga/rb-grn-object.c +10 -10
- data/ext/groonga/rb-grn-operator.c +7 -0
- data/ext/groonga/rb-grn-plugin.c +39 -0
- data/ext/groonga/rb-grn-utils.c +5 -65
- data/ext/groonga/rb-grn.h +9 -9
- data/ext/groonga/rb-groonga.c +31 -1
- data/lib/groonga/column.rb +13 -0
- data/lib/groonga/dumper.rb +3 -1
- data/lib/groonga/expression-builder.rb +66 -18
- data/lib/groonga/{expression-builder-19.rb → index.rb} +11 -19
- data/lib/groonga/record.rb +1 -1
- data/lib/groonga.rb +1 -0
- data/lib/rroonga.rb +16 -0
- data/rroonga-build.rb +6 -6
- data/rroonga.gemspec +1 -1
- data/test/groonga-test-utils.rb +0 -8
- data/test/test-column.rb +107 -1
- data/test/test-config.rb +18 -0
- data/test/test-database.rb +0 -2
- data/test/test-error-message.rb +20 -0
- data/test/test-expression-builder.rb +172 -29
- data/test/test-plugin.rb +25 -1
- data/test/test-table-dumper.rb +35 -6
- data/test/test-table-select.rb +0 -1
- metadata +62 -53
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f9a06f513e61395d0a9b41c473681f08dc6e9846
|
4
|
+
data.tar.gz: 9e2b7293b0d792b1afa8aa345628e98645a6c572
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 422261d8eb54df1265f9f306cffe91c8dcb1df761a7604214b12b022a76ab837e4840a00cfbe5eb111b79427906f07b95303d67155834e048d658589152cb0dd
|
7
|
+
data.tar.gz: 634ff3ebc00b02e6288a1915905d5274a2ad6e11a4bb033b6fdb73c87081f32c2687d5999b46c32ed3448aa965a5678005b071bdccd0fb1b9ba70764993b3e94
|
data/Rakefile
CHANGED
@@ -157,7 +157,7 @@ windows_architectures = [:x86, :x64]
|
|
157
157
|
|
158
158
|
namespace :build do
|
159
159
|
namespace :windows do
|
160
|
-
ruby_versions = "2.
|
160
|
+
ruby_versions = "2.1.6:2.2.2:2.3.0"
|
161
161
|
|
162
162
|
windows_architectures.each do |architecture|
|
163
163
|
desc "Build gem for Windows #{architecture}"
|
data/bin/grndump
CHANGED
@@ -29,6 +29,7 @@ options.dump_schema = true
|
|
29
29
|
options.dump_indexes = true
|
30
30
|
options.dump_tables = true
|
31
31
|
options.order_by = "id"
|
32
|
+
options.max_records = -1
|
32
33
|
option_parser = OptionParser.new do |parser|
|
33
34
|
parser.version = Groonga::BINDINGS_VERSION
|
34
35
|
parser.banner += " DB_PATH"
|
@@ -79,6 +80,13 @@ option_parser = OptionParser.new do |parser|
|
|
79
80
|
"(#{options.order_by})") do |type|
|
80
81
|
options.order_by = type
|
81
82
|
end
|
83
|
+
|
84
|
+
parser.on("--max-records=NUMBER", Integer,
|
85
|
+
"max NUMBER of records to dump.",
|
86
|
+
"you can use -1 to dump all records.",
|
87
|
+
"(#{options.max_records})") do |number|
|
88
|
+
options.max_records = number
|
89
|
+
end
|
82
90
|
end
|
83
91
|
args = option_parser.parse!(ARGV)
|
84
92
|
|
@@ -99,6 +107,7 @@ dumper_options = {
|
|
99
107
|
:tables => options.tables,
|
100
108
|
:exclude_tables => options.exclude_tables,
|
101
109
|
:order_by => options.order_by,
|
110
|
+
:max_records => options.max_records,
|
102
111
|
}
|
103
112
|
database_dumper = Groonga::DatabaseDumper.new(dumper_options)
|
104
113
|
database_dumper.dump
|
@@ -0,0 +1,72 @@
|
|
1
|
+
How to Cross compile Rroonga
|
2
|
+
===
|
3
|
+
|
4
|
+
# For Debian GNU/Linux like Linux distribution Users
|
5
|
+
|
6
|
+
## apt
|
7
|
+
|
8
|
+
* mingw-w64
|
9
|
+
* build-essential
|
10
|
+
|
11
|
+
## prepare ruby and rubygems
|
12
|
+
|
13
|
+
```bash
|
14
|
+
$ rbenv install 1.9.3-p547
|
15
|
+
$ gem install rubygems-update
|
16
|
+
$ update_rubygems
|
17
|
+
$ gem install bundler
|
18
|
+
$ rbenv install 2.0.0-p576
|
19
|
+
$ gem install bundler
|
20
|
+
$ rbenv install 2.1.3
|
21
|
+
$ gem install bundler
|
22
|
+
```
|
23
|
+
|
24
|
+
## bundle install
|
25
|
+
|
26
|
+
```bash
|
27
|
+
$ rbenv local 1.9.3-p547
|
28
|
+
$ bundle install [--path vendor/bundle]
|
29
|
+
$ rbenv local 2.0.0-p576
|
30
|
+
$ bundle install [--path vendor/bundle]
|
31
|
+
$ rbenv local 2.1.3
|
32
|
+
$ bundle install [--path vendor/bundle]
|
33
|
+
```
|
34
|
+
|
35
|
+
## rake-compiler
|
36
|
+
|
37
|
+
```bash
|
38
|
+
$ rbenv local 1.9.3-p547
|
39
|
+
$ bundle exec rake-compiler cross-ruby HOST=i686-w64-mingw32 VERSION=1.9.3-p547 [EXTS=--without-extensions]
|
40
|
+
$ bundle exec rake-compiler cross-ruby HOST=x86_64-w64-mingw32 VERSION=1.9.3-p547 [EXTS=--without-extensions]
|
41
|
+
$ rbenv local 2.0.0-p576
|
42
|
+
$ bundle exec rake-compiler cross-ruby HOST=i686-w64-mingw32 VERSION=2.0.0-p576 [EXTS=--without-extensions]
|
43
|
+
$ bundle exec rake-compiler cross-ruby HOST=x86_64-w64-mingw32 VERSION=2.0.0-p576 [EXTS=--without-extensions]
|
44
|
+
[$ rbenv local 2.1.3]
|
45
|
+
$ bundle exec rake-compiler cross-ruby HOST=i686-w64-mingw32 VERSION=2.1.3 [EXTS=--without-extensions]
|
46
|
+
$ bundle exec rake-compiler cross-ruby HOST=x86_64-w64-mingw32 VERSION=2.1.3 [EXTS=--without-extensions]
|
47
|
+
```
|
48
|
+
|
49
|
+
## cross compile
|
50
|
+
|
51
|
+
```bash
|
52
|
+
$ rbenv local 1.9.3-p547
|
53
|
+
$ bundle exec rake:build
|
54
|
+
$ bundle exec rake RUBY_CC_VERSION=1.9.3:2.0.0:2.1.3 cross clean native gem
|
55
|
+
$ bundle exec rake clean:groonga
|
56
|
+
$ bundle exec rake RUBY_CC_VERSION=1.9.3:2.0.0:2.1.3 cross RROONGA_USE_GROONGA_X64=true clean native gem
|
57
|
+
```
|
58
|
+
|
59
|
+
# For rake-compiler-dock
|
60
|
+
|
61
|
+
`rake-compiler-dock` depends `docker` and some platform requires docker client such as `docker-machine`.
|
62
|
+
Please install `docker` and docker client before cross compiling with `rake-compiler-dock`.
|
63
|
+
|
64
|
+
## cross compiling with rake-compiler-dock
|
65
|
+
|
66
|
+
execute following rake task:
|
67
|
+
|
68
|
+
```bash
|
69
|
+
$ bundle exec rake build:windows
|
70
|
+
```
|
71
|
+
|
72
|
+
Then, `pkg` directory is created. And cross compiled gems move into `pkg` directory.
|
data/doc/text/install.md
ADDED
@@ -0,0 +1,121 @@
|
|
1
|
+
# Install
|
2
|
+
|
3
|
+
This document describes how to install Rroonga.
|
4
|
+
|
5
|
+
You can install Rroonga by RubyGems. It is the standard way for Ruby
|
6
|
+
libraries.
|
7
|
+
|
8
|
+
Rroonga is depends on Groonga. So you need to install both Groonga and
|
9
|
+
Rroonga. You can't install Groonga by RubyGems because it isn't Ruby
|
10
|
+
library. But don't worry. Rroonga provides the following options for
|
11
|
+
easy to install:
|
12
|
+
|
13
|
+
* Rroonga downloads, builds and installs Groonga automatically. You
|
14
|
+
don't need to do them explicitly.
|
15
|
+
* Rroonga uses Groonga installed by your packaging system.
|
16
|
+
|
17
|
+
The following sections describe the above in detail.
|
18
|
+
|
19
|
+
## Install with auto Groonga build
|
20
|
+
|
21
|
+
Rroonga searches Groonga on install. If Rroonga can't find Groonga,
|
22
|
+
Rroonga downloads, builds and installs Groonga automatically.
|
23
|
+
|
24
|
+
Type the following command to install Rroonga and Groonga. You don't
|
25
|
+
need to install Groonga explicitly:
|
26
|
+
|
27
|
+
% gem install rroonga
|
28
|
+
|
29
|
+
## Install with Groonga package
|
30
|
+
|
31
|
+
You can use Groonga package on you packaging system instead of building
|
32
|
+
Groonga by yourself. There are the following advantages for this option:
|
33
|
+
|
34
|
+
* It reduces installation time.
|
35
|
+
* It doesn't fail on building Groonga.
|
36
|
+
|
37
|
+
### Windows
|
38
|
+
|
39
|
+
Rroonga gem for Windows includes both pre-compiled Rroonga and Groonga
|
40
|
+
in the gem. So what you need to do is you just install rroonga gem.
|
41
|
+
|
42
|
+
Type the following command on Ruby console:
|
43
|
+
|
44
|
+
> gem install rroonga
|
45
|
+
|
46
|
+
This document assumes that you're using [RubyInstaller for
|
47
|
+
Windows](http://rubyinstaller.org/) .
|
48
|
+
|
49
|
+
### OS X
|
50
|
+
|
51
|
+
There are Groonga packages for OS X environment.
|
52
|
+
|
53
|
+
#### MacPorts
|
54
|
+
|
55
|
+
If you're using [MacPorts](http://www.macports.org/) , type the
|
56
|
+
following
|
57
|
+
commands on your terminal:
|
58
|
+
|
59
|
+
% sudo port install groonga
|
60
|
+
% sudo gem install rroonga
|
61
|
+
|
62
|
+
#### Homebrew
|
63
|
+
|
64
|
+
If you're using [Homebrew](http://brew.sh/) , type the following
|
65
|
+
commands
|
66
|
+
on your terminal:
|
67
|
+
|
68
|
+
% brew install groonga
|
69
|
+
% gem install rroonga
|
70
|
+
|
71
|
+
### Debian GNU/Linux
|
72
|
+
|
73
|
+
You can install the Groonga package by apt. See [Groonga
|
74
|
+
documentation](http://groonga.org/docs/install/debian.html) how to set
|
75
|
+
apt-line up.
|
76
|
+
|
77
|
+
Type the following commands on your terminal after you finish to set
|
78
|
+
apt-line up.
|
79
|
+
|
80
|
+
% sudo apt-get install -y libgroonga-dev
|
81
|
+
% sudo gem install rroonga
|
82
|
+
|
83
|
+
### Ubuntu
|
84
|
+
|
85
|
+
You can install the Groonga package by apt. See [Groonga
|
86
|
+
documentation](http://groonga.org/docs/install/ubuntu.html) how to set
|
87
|
+
apt-line up.
|
88
|
+
|
89
|
+
Type the following commands on your terminal after you finish to set
|
90
|
+
apt-line up.
|
91
|
+
|
92
|
+
% sudo apt-get install -y libgroonga-dev
|
93
|
+
% sudo gem install rroonga
|
94
|
+
|
95
|
+
### CentOS
|
96
|
+
|
97
|
+
You can install the Groonga package by yum. See [Groonga
|
98
|
+
documentation](http://groonga.org/docs/install/centos.html) how to set
|
99
|
+
yum repository up.
|
100
|
+
|
101
|
+
But you need to install Ruby 1.9.3 or later by yourself. Both CentOS 5
|
102
|
+
and 6 ship Ruby 1.8. Rroonga doesn't support Ruby 1.8.
|
103
|
+
|
104
|
+
Type the following commands on your terminal after you finish to set
|
105
|
+
yum
|
106
|
+
repository up and installing Ruby 1.9.3 or later.
|
107
|
+
|
108
|
+
% sudo yum install groonga-devel -y
|
109
|
+
% gem install rroonga
|
110
|
+
|
111
|
+
### Fedora
|
112
|
+
|
113
|
+
You can install the Groonga package by yum. The Groonga package is
|
114
|
+
included in the official Fedora repository.
|
115
|
+
|
116
|
+
% sudo yum install groonga-devel -y
|
117
|
+
% sudo gem install rroonga
|
118
|
+
|
119
|
+
## Links
|
120
|
+
|
121
|
+
* [2. Install - Groonga documentation](http://groonga.org/docs/install.html)
|