groonga 0.0.2 → 0.0.3

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.
Files changed (54) hide show
  1. data/NEWS.ja.rdoc +18 -3
  2. data/NEWS.rdoc +18 -3
  3. data/README.ja.rdoc +2 -0
  4. data/README.rdoc +2 -0
  5. data/Rakefile +14 -5
  6. data/TUTORIAL.ja.rdoc +82 -16
  7. data/benchmark/{read-write-small-many-items.rb → read-write-many-small-items.rb} +26 -23
  8. data/benchmark/{write-small-many-items.rb → write-many-small-items.rb} +26 -23
  9. data/example/bookmark.rb +49 -5
  10. data/ext/rb-grn-array.c +11 -1
  11. data/ext/rb-grn-column.c +132 -5
  12. data/ext/rb-grn-context.c +85 -80
  13. data/ext/rb-grn-database.c +182 -9
  14. data/ext/rb-grn-expression-builder.c +69 -0
  15. data/ext/rb-grn-expression.c +314 -0
  16. data/ext/rb-grn-fix-size-column.c +68 -89
  17. data/ext/rb-grn-hash.c +14 -5
  18. data/ext/rb-grn-index-column.c +14 -55
  19. data/ext/rb-grn-object.c +206 -75
  20. data/ext/rb-grn-operation.c +92 -0
  21. data/ext/rb-grn-patricia-trie.c +10 -32
  22. data/ext/rb-grn-query.c +9 -9
  23. data/ext/rb-grn-table-cursor.c +19 -80
  24. data/ext/rb-grn-table-key-support.c +33 -39
  25. data/ext/rb-grn-table.c +436 -79
  26. data/ext/rb-grn-type.c +10 -3
  27. data/ext/rb-grn-utils.c +131 -4
  28. data/ext/rb-grn-variable-size-column.c +36 -0
  29. data/ext/rb-grn-variable.c +90 -0
  30. data/ext/rb-grn.h +109 -56
  31. data/ext/rb-groonga.c +4 -0
  32. data/extconf.rb +39 -13
  33. data/html/index.html +2 -2
  34. data/lib/groonga.rb +22 -0
  35. data/lib/groonga/expression-builder.rb +141 -0
  36. data/lib/groonga/record.rb +25 -1
  37. data/lib/groonga/schema.rb +418 -0
  38. data/test/test-column.rb +11 -23
  39. data/test/test-context.rb +1 -1
  40. data/test/test-database.rb +60 -19
  41. data/test/test-expression-builder.rb +114 -0
  42. data/test/test-expression.rb +55 -0
  43. data/test/test-fix-size-column.rb +53 -0
  44. data/test/test-hash.rb +10 -3
  45. data/test/test-index-column.rb +24 -0
  46. data/test/test-patricia-trie.rb +9 -0
  47. data/test/test-procedure.rb +5 -5
  48. data/test/test-record.rb +71 -4
  49. data/test/test-schema.rb +207 -0
  50. data/test/test-table.rb +94 -12
  51. data/test/test-type.rb +18 -11
  52. data/test/test-variable-size-column.rb +53 -0
  53. data/test/test-variable.rb +28 -0
  54. metadata +18 -5
data/test/test-type.rb CHANGED
@@ -24,20 +24,27 @@ class TypeTest < Test::Unit::TestCase
24
24
  end
25
25
 
26
26
  def test_builtins
27
- assert_equal_type("<int>", Groonga::Type::INT32)
28
- assert_equal_type("<uint>", Groonga::Type::UINT32)
29
- assert_equal_type("<int64>", Groonga::Type::INT64)
30
- assert_equal_type("<uint64>", Groonga::Type::UINT64)
31
- assert_equal_type("<float>", Groonga::Type::FLOAT)
32
- assert_equal_type("<time>", Groonga::Type::TIME)
33
- assert_equal_type("<shorttext>", Groonga::Type::SHORT_TEXT)
34
- assert_equal_type("<text>", Groonga::Type::TEXT)
35
- assert_equal_type("<longtext>", Groonga::Type::LONG_TEXT)
27
+ assert_equal_type("Object", Groonga::Type::OBJECT) # FIXME!!!
28
+ assert_equal_type("Bool", Groonga::Type::BOOLEAN)
29
+ assert_equal_type("Bool", Groonga::Type::BOOL)
30
+ assert_equal_type("Int8", Groonga::Type::INT8)
31
+ assert_equal_type("UInt8", Groonga::Type::UINT8)
32
+ assert_equal_type("Int16", Groonga::Type::INT16)
33
+ assert_equal_type("UInt16", Groonga::Type::UINT16)
34
+ assert_equal_type("Int32", Groonga::Type::INT32)
35
+ assert_equal_type("UInt32", Groonga::Type::UINT32)
36
+ assert_equal_type("Int64", Groonga::Type::INT64)
37
+ assert_equal_type("UInt64", Groonga::Type::UINT64)
38
+ assert_equal_type("Float", Groonga::Type::FLOAT)
39
+ assert_equal_type("Time", Groonga::Type::TIME)
40
+ assert_equal_type("ShortText", Groonga::Type::SHORT_TEXT)
41
+ assert_equal_type("Text", Groonga::Type::TEXT)
42
+ assert_equal_type("LongText", Groonga::Type::LONG_TEXT)
36
43
  end
37
44
 
38
45
  def test_inspect
39
- assert_equal("#<Groonga::Type id: <9>, " +
40
- "name: <<longtext>>, " +
46
+ assert_equal("#<Groonga::Type id: <#{Groonga::Type::LONG_TEXT}>, " +
47
+ "name: <LongText>, " +
41
48
  "path: (temporary), " +
42
49
  "domain: <nil>, " +
43
50
  "range: <2147483648>>",
@@ -0,0 +1,53 @@
1
+ # Copyright (C) 2009 Kouhei Sutou <kou@clear-code.com>
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License version 2.1 as published by the Free Software Foundation.
6
+ #
7
+ # This library is distributed in the hope that it will be useful,
8
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
9
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
10
+ # Lesser General Public License for more details.
11
+ #
12
+ # You should have received a copy of the GNU Lesser General Public
13
+ # License along with this library; if not, write to the Free Software
14
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
15
+
16
+ class VariableSizeColumnTest < Test::Unit::TestCase
17
+ include GroongaTestUtils
18
+
19
+ def setup
20
+ setup_database
21
+
22
+ setup_users_table
23
+ end
24
+
25
+ def setup_users_table
26
+ @users_path = @tables_dir + "users"
27
+ @users = Groonga::Array.create(:name => "users",
28
+ :path => @users_path.to_s)
29
+
30
+ @users_name_column_path = @columns_dir + "name"
31
+ @name = @users.define_column("name", "<shorttext>",
32
+ :path => @users_name_column_path.to_s)
33
+ end
34
+
35
+ def test_inspect
36
+ assert_equal("#<Groonga::VariableSizeColumn " +
37
+ "id: <#{@name.id}>, " +
38
+ "name: <users.name>, " +
39
+ "path: <#{@users_name_column_path}>, " +
40
+ "domain: <#{@users.inspect}>, " +
41
+ "range: <#{context['<shorttext>'].inspect}>" +
42
+ ">",
43
+ @name.inspect)
44
+ end
45
+
46
+ def test_domain
47
+ assert_equal(@users, @name.domain)
48
+ end
49
+
50
+ def test_table
51
+ assert_equal(@users, @name.table)
52
+ end
53
+ end
@@ -0,0 +1,28 @@
1
+ # Copyright (C) 2009 Kouhei Sutou <kou@clear-code.com>
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License version 2.1 as published by the Free Software Foundation.
6
+ #
7
+ # This library is distributed in the hope that it will be useful,
8
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
9
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
10
+ # Lesser General Public License for more details.
11
+ #
12
+ # You should have received a copy of the GNU Lesser General Public
13
+ # License along with this library; if not, write to the Free Software
14
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
15
+
16
+ class VariableTest < Test::Unit::TestCase
17
+ include GroongaTestUtils
18
+
19
+ setup :setup_database
20
+
21
+ def test_value
22
+ expression = Groonga::Expression.new
23
+ variable = expression.define_variable
24
+ assert_nil(variable.value)
25
+ variable.value = "morita"
26
+ assert_equal("morita", variable.value)
27
+ end
28
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: groonga
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kouhei Sutou
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-06-04 00:00:00 +09:00
12
+ date: 2009-07-18 00:00:00 +09:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -40,8 +40,8 @@ files:
40
40
  - Rakefile
41
41
  - TUTORIAL.ja.rdoc
42
42
  - benchmark/common.rb
43
- - benchmark/read-write-small-many-items.rb
44
- - benchmark/write-small-many-items.rb
43
+ - benchmark/read-write-many-small-items.rb
44
+ - benchmark/write-many-small-items.rb
45
45
  - example/bookmark.rb
46
46
  - ext/.gitignore
47
47
  - ext/rb-grn-accessor.c
@@ -53,12 +53,15 @@ files:
53
53
  - ext/rb-grn-encoding-support.c
54
54
  - ext/rb-grn-encoding.c
55
55
  - ext/rb-grn-exception.c
56
+ - ext/rb-grn-expression-builder.c
57
+ - ext/rb-grn-expression.c
56
58
  - ext/rb-grn-fix-size-column.c
57
59
  - ext/rb-grn-hash-cursor.c
58
60
  - ext/rb-grn-hash.c
59
61
  - ext/rb-grn-index-column.c
60
62
  - ext/rb-grn-logger.c
61
63
  - ext/rb-grn-object.c
64
+ - ext/rb-grn-operation.c
62
65
  - ext/rb-grn-patricia-trie-cursor.c
63
66
  - ext/rb-grn-patricia-trie.c
64
67
  - ext/rb-grn-procedure.c
@@ -71,6 +74,8 @@ files:
71
74
  - ext/rb-grn-table.c
72
75
  - ext/rb-grn-type.c
73
76
  - ext/rb-grn-utils.c
77
+ - ext/rb-grn-variable-size-column.c
78
+ - ext/rb-grn-variable.c
74
79
  - ext/rb-grn.h
75
80
  - ext/rb-groonga.c
76
81
  - extconf.rb
@@ -89,7 +94,9 @@ files:
89
94
  - html/ranguba.css
90
95
  - html/tutorial.svg
91
96
  - lib/groonga.rb
97
+ - lib/groonga/expression-builder.rb
92
98
  - lib/groonga/record.rb
99
+ - lib/groonga/schema.rb
93
100
  - license/GPL
94
101
  - license/LGPL
95
102
  - license/RUBY
@@ -179,16 +186,22 @@ files:
179
186
  - test/test-database.rb
180
187
  - test/test-encoding.rb
181
188
  - test/test-exception.rb
189
+ - test/test-expression-builder.rb
190
+ - test/test-expression.rb
191
+ - test/test-fix-size-column.rb
182
192
  - test/test-hash.rb
183
193
  - test/test-index-column.rb
184
194
  - test/test-patricia-trie.rb
185
195
  - test/test-procedure.rb
186
196
  - test/test-query.rb
187
197
  - test/test-record.rb
198
+ - test/test-schema.rb
188
199
  - test/test-snippet.rb
189
200
  - test/test-table-cursor.rb
190
201
  - test/test-table.rb
191
202
  - test/test-type.rb
203
+ - test/test-variable-size-column.rb
204
+ - test/test-variable.rb
192
205
  - test/test-version.rb
193
206
  has_rdoc: true
194
207
  homepage: http://groonga.rubyforge.org/
@@ -216,7 +229,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
216
229
  requirements: []
217
230
 
218
231
  rubyforge_project: groonga
219
- rubygems_version: 1.3.3
232
+ rubygems_version: 1.3.4
220
233
  signing_key:
221
234
  specification_version: 3
222
235
  summary: Ruby bindings for groonga that provides full text search and column store features.