rroonga 5.1.1 → 6.0.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/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)
|