rroonga 3.0.5-x86-mingw32 → 3.0.6-x86-mingw32

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 (49) hide show
  1. data/AUTHORS +5 -0
  2. data/Gemfile +20 -0
  3. data/Rakefile +187 -0
  4. data/doc/text/news.textile +7 -0
  5. data/doc/text/tutorial.textile +0 -2
  6. data/ext/groonga/extconf.rb +7 -1
  7. data/ext/groonga/rb-grn-accessor.c +11 -11
  8. data/ext/groonga/rb-grn-array.c +25 -25
  9. data/ext/groonga/rb-grn-column.c +106 -106
  10. data/ext/groonga/rb-grn-context.c +121 -121
  11. data/ext/groonga/rb-grn-database.c +78 -78
  12. data/ext/groonga/rb-grn-double-array-trie.c +92 -92
  13. data/ext/groonga/rb-grn-encoding-support.c +1 -1
  14. data/ext/groonga/rb-grn-encoding.c +28 -28
  15. data/ext/groonga/rb-grn-exception.c +9 -9
  16. data/ext/groonga/rb-grn-expression-builder.c +6 -6
  17. data/ext/groonga/rb-grn-expression.c +87 -87
  18. data/ext/groonga/rb-grn-fix-size-column.c +12 -12
  19. data/ext/groonga/rb-grn-geo-point.c +2 -2
  20. data/ext/groonga/rb-grn-hash.c +38 -38
  21. data/ext/groonga/rb-grn-index-column.c +191 -191
  22. data/ext/groonga/rb-grn-index-cursor.c +29 -29
  23. data/ext/groonga/rb-grn-logger.c +36 -36
  24. data/ext/groonga/rb-grn-normalizer.c +10 -10
  25. data/ext/groonga/rb-grn-patricia-trie.c +196 -196
  26. data/ext/groonga/rb-grn-plugin.c +5 -5
  27. data/ext/groonga/rb-grn-posting.c +2 -2
  28. data/ext/groonga/rb-grn-procedure.c +2 -2
  29. data/ext/groonga/rb-grn-query-logger.c +1 -1
  30. data/ext/groonga/rb-grn-record.c +1 -1
  31. data/ext/groonga/rb-grn-snippet.c +14 -14
  32. data/ext/groonga/rb-grn-table-cursor-key-support.c +4 -4
  33. data/ext/groonga/rb-grn-table-cursor.c +52 -52
  34. data/ext/groonga/rb-grn-table-key-support.c +209 -209
  35. data/ext/groonga/rb-grn-type.c +18 -18
  36. data/ext/groonga/rb-grn-utils.c +332 -314
  37. data/ext/groonga/rb-grn-variable-size-column.c +34 -34
  38. data/ext/groonga/rb-grn-variable.c +2 -2
  39. data/ext/groonga/rb-grn.h +240 -232
  40. data/ext/groonga/rb-groonga.c +10 -10
  41. data/lib/1.9/groonga.so +0 -0
  42. data/lib/2.0/groonga.so +0 -0
  43. data/rroonga-build.rb +7 -0
  44. data/rroonga.gemspec +1 -1
  45. data/test/test-hash.rb +4 -4
  46. data/test/test-index-column.rb +271 -257
  47. data/test/test-table-key-support.rb +78 -0
  48. data/test/test-table.rb +78 -51
  49. metadata +8 -3
@@ -0,0 +1,78 @@
1
+ # Copyright (C) 2013 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 TableKeySupportTest < Test::Unit::TestCase
17
+ include GroongaTestUtils
18
+
19
+ setup :setup_database
20
+
21
+ class TypeTest < self
22
+ def test_int8
23
+ key = -1
24
+ ids = Groonga::Hash.create(:name => "IDs", :key_type => "Int8")
25
+ id = ids.add(key)
26
+ assert_equal(key, id.key)
27
+ end
28
+
29
+ def test_uint8
30
+ key = 1
31
+ ids = Groonga::Hash.create(:name => "IDs", :key_type => "UInt8")
32
+ id = ids.add(key)
33
+ assert_equal(key, id.key)
34
+ end
35
+
36
+ def test_int16
37
+ key = -(2 ** 8)
38
+ ids = Groonga::Hash.create(:name => "IDs", :key_type => "Int16")
39
+ id = ids.add(key)
40
+ assert_equal(key, id.key)
41
+ end
42
+
43
+ def test_uint16
44
+ key = 2 ** 8
45
+ ids = Groonga::Hash.create(:name => "IDs", :key_type => "UInt16")
46
+ id = ids.add(key)
47
+ assert_equal(key, id.key)
48
+ end
49
+
50
+ def test_int32
51
+ key = -(2 ** 16)
52
+ ids = Groonga::Hash.create(:name => "IDs", :key_type => "Int32")
53
+ id = ids.add(key)
54
+ assert_equal(key, id.key)
55
+ end
56
+
57
+ def test_uint32
58
+ key = 2 ** 16
59
+ ids = Groonga::Hash.create(:name => "IDs", :key_type => "UInt32")
60
+ id = ids.add(key)
61
+ assert_equal(key, id.key)
62
+ end
63
+
64
+ def test_int64
65
+ key = -(2 ** 32)
66
+ ids = Groonga::Hash.create(:name => "IDs", :key_type => "Int64")
67
+ id = ids.add(key)
68
+ assert_equal(key, id.key)
69
+ end
70
+
71
+ def test_uint64
72
+ key = 2 ** 32
73
+ ids = Groonga::Hash.create(:name => "IDs", :key_type => "UInt64")
74
+ id = ids.add(key)
75
+ assert_equal(key, id.key)
76
+ end
77
+ end
78
+ end
data/test/test-table.rb CHANGED
@@ -423,57 +423,6 @@ class TableTest < Test::Unit::TestCase
423
423
  sorted_bookmarks.collect(&:value))
424
424
  end
425
425
 
426
- def test_group
427
- bookmarks = Groonga::Hash.create(:name => "Bookmarks")
428
- bookmarks.define_column("title", "Text")
429
- comments = Groonga::Array.create(:name => "Comments")
430
- comments.define_column("bookmark", bookmarks)
431
- comments.define_column("content", "Text")
432
- comments.define_column("issued", "Int32")
433
-
434
- groonga = bookmarks.add("http://groonga.org/", :title => "groonga")
435
- ruby = bookmarks.add("http://ruby-lang.org/", :title => "Ruby")
436
-
437
- now = Time.now.to_i
438
- comments.add(:bookmark => groonga,
439
- :content => "full-text search",
440
- :issued => now)
441
- comments.add(:bookmark => groonga,
442
- :content => "column store",
443
- :issued => now)
444
- comments.add(:bookmark => ruby,
445
- :content => "object oriented script language",
446
- :issued => now)
447
-
448
- records = comments.select do |record|
449
- record["issued"] > 0
450
- end
451
- assert_equal([[2, "groonga", "http://groonga.org/"],
452
- [1, "Ruby", "http://ruby-lang.org/"]],
453
- records.group(".bookmark").collect do |record|
454
- bookmark = record.key
455
- [record.n_sub_records,
456
- bookmark["title"],
457
- bookmark.key]
458
- end)
459
- assert_equal([[2, "groonga", "http://groonga.org/"],
460
- [1, "Ruby", "http://ruby-lang.org/"]],
461
- records.group(%w".bookmark").collect do |record|
462
- bookmark = record.key
463
- [record.n_sub_records,
464
- bookmark["title"],
465
- bookmark.key]
466
- end)
467
- end
468
-
469
- def test_group_with_unknown_key
470
- bookmarks = Groonga::Hash.create(:name => "Bookmarks")
471
- message = "unknown group key: <\"nonexistent\">: <#{bookmarks.inspect}>"
472
- assert_raise(ArgumentError.new(message)) do
473
- bookmarks.group("nonexistent")
474
- end
475
- end
476
-
477
426
  def test_union!
478
427
  bookmarks = Groonga::Hash.create(:name => "Bookmarks")
479
428
  bookmarks.define_column("title", "ShortText")
@@ -783,6 +732,84 @@ class TableTest < Test::Unit::TestCase
783
732
  groups)
784
733
  end
785
734
  end
735
+
736
+ class KeyTest < self
737
+ setup
738
+ def setup_schema
739
+ Groonga::Schema.define do |schema|
740
+ schema.create_table("Bookmarks", :type => :hash) do |table|
741
+ table.text("title")
742
+ end
743
+
744
+ schema.create_table("Comments", :type => :array) do |table|
745
+ table.reference("bookmark")
746
+ table.text("content")
747
+ table.int32("rank")
748
+ end
749
+ end
750
+ end
751
+
752
+ setup
753
+ def setup_data
754
+ setup_bookmarks
755
+ setup_comments
756
+ end
757
+
758
+ def setup_bookmarks
759
+ @bookmarks = Groonga["Bookmarks"]
760
+ @groonga = @bookmarks.add("http://groonga.org/", :title => "groonga")
761
+ @ruby = @bookmarks.add("http://ruby-lang.org/", :title => "Ruby")
762
+ end
763
+
764
+ def setup_comments
765
+ @comments = Groonga["Comments"]
766
+ @comments.add(:bookmark => @groonga,
767
+ :content => "full-text search")
768
+ @comments.add(:bookmark => @groonga,
769
+ :content => "column store")
770
+ @comments.add(:bookmark => @ruby,
771
+ :content => "object oriented script language")
772
+ end
773
+
774
+ def test_string
775
+ grouped_records = @comments.group("bookmark").collect do |record|
776
+ bookmark = record.key
777
+ [
778
+ record.n_sub_records,
779
+ bookmark["title"],
780
+ bookmark.key,
781
+ ]
782
+ end
783
+ assert_equal([
784
+ [2, "groonga", "http://groonga.org/"],
785
+ [1, "Ruby", "http://ruby-lang.org/"],
786
+ ],
787
+ grouped_records)
788
+ end
789
+
790
+ def test_array
791
+ grouped_records = @comments.group(["bookmark"]).collect do |record|
792
+ bookmark = record.key
793
+ [
794
+ record.n_sub_records,
795
+ bookmark["title"],
796
+ bookmark.key,
797
+ ]
798
+ end
799
+ assert_equal([
800
+ [2, "groonga", "http://groonga.org/"],
801
+ [1, "Ruby", "http://ruby-lang.org/"],
802
+ ],
803
+ grouped_records)
804
+ end
805
+
806
+ def test_nonexistent
807
+ message = "unknown group key: <\"nonexistent\">: <#{@comments.inspect}>"
808
+ assert_raise(ArgumentError.new(message)) do
809
+ @comments.group("nonexistent")
810
+ end
811
+ end
812
+ end
786
813
  end
787
814
 
788
815
  class OtherProcessTest < self
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rroonga
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.5
4
+ version: 3.0.6
5
5
  prerelease:
6
6
  platform: x86-mingw32
7
7
  authors:
@@ -13,7 +13,7 @@ authors:
13
13
  autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
- date: 2013-07-29 00:00:00.000000000 Z
16
+ date: 2013-09-14 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: pkg-config
@@ -212,6 +212,10 @@ extensions: []
212
212
  extra_rdoc_files:
213
213
  - README.textile
214
214
  files:
215
+ - README.textile
216
+ - AUTHORS
217
+ - Rakefile
218
+ - Gemfile
215
219
  - doc/text/tutorial.textile
216
220
  - doc/text/news.textile
217
221
  - rroonga.gemspec
@@ -304,6 +308,7 @@ files:
304
308
  - test/test-encoding.rb
305
309
  - test/test-schema-create-table.rb
306
310
  - test/test-type.rb
311
+ - test/test-table-key-support.rb
307
312
  - test/test-database.rb
308
313
  - test/test-variable.rb
309
314
  - test/test-table-select.rb
@@ -341,7 +346,6 @@ files:
341
346
  - bin/grntest-log-analyze
342
347
  - bin/groonga-index-dump
343
348
  - bin/grndump
344
- - README.textile
345
349
  - lib/1.9/groonga.so
346
350
  - lib/2.0/groonga.so
347
351
  - vendor/local/bin/groonga-benchmark.exe
@@ -1217,6 +1221,7 @@ test_files:
1217
1221
  - test/test-encoding.rb
1218
1222
  - test/test-schema-create-table.rb
1219
1223
  - test/test-type.rb
1224
+ - test/test-table-key-support.rb
1220
1225
  - test/test-database.rb
1221
1226
  - test/test-variable.rb
1222
1227
  - test/test-table-select.rb