mongodb-mongo 0.12 → 0.13

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 (81) hide show
  1. data/README.rdoc +12 -12
  2. data/Rakefile +1 -1
  3. data/bin/bson_benchmark.rb +1 -1
  4. data/bin/mongo_console +3 -3
  5. data/bin/run_test_script +2 -2
  6. data/bin/standard_benchmark +3 -3
  7. data/examples/admin.rb +3 -3
  8. data/examples/benchmarks.rb +2 -2
  9. data/examples/blog.rb +4 -4
  10. data/examples/capped.rb +3 -3
  11. data/examples/cursor.rb +3 -3
  12. data/examples/gridfs.rb +4 -4
  13. data/examples/index_test.rb +11 -11
  14. data/examples/info.rb +3 -3
  15. data/examples/queries.rb +3 -3
  16. data/examples/simple.rb +3 -3
  17. data/examples/strict.rb +3 -3
  18. data/examples/types.rb +4 -9
  19. data/lib/mongo.rb +35 -3
  20. data/lib/mongo/admin.rb +56 -60
  21. data/lib/mongo/collection.rb +368 -320
  22. data/lib/mongo/connection.rb +166 -0
  23. data/lib/mongo/cursor.rb +206 -209
  24. data/lib/mongo/db.rb +478 -489
  25. data/lib/mongo/errors.rb +8 -9
  26. data/lib/mongo/gridfs/chunk.rb +66 -70
  27. data/lib/mongo/gridfs/grid_store.rb +406 -410
  28. data/lib/mongo/message/get_more_message.rb +8 -13
  29. data/lib/mongo/message/insert_message.rb +7 -11
  30. data/lib/mongo/message/kill_cursors_message.rb +7 -12
  31. data/lib/mongo/message/message.rb +58 -62
  32. data/lib/mongo/message/message_header.rb +19 -24
  33. data/lib/mongo/message/msg_message.rb +5 -9
  34. data/lib/mongo/message/opcodes.rb +10 -15
  35. data/lib/mongo/message/query_message.rb +42 -46
  36. data/lib/mongo/message/remove_message.rb +8 -12
  37. data/lib/mongo/message/update_message.rb +9 -13
  38. data/lib/mongo/query.rb +84 -88
  39. data/lib/mongo/types/binary.rb +13 -17
  40. data/lib/mongo/types/code.rb +9 -13
  41. data/lib/mongo/types/dbref.rb +10 -14
  42. data/lib/mongo/types/objectid.rb +103 -107
  43. data/lib/mongo/types/regexp_of_holding.rb +18 -22
  44. data/lib/mongo/types/undefined.rb +7 -10
  45. data/lib/mongo/util/bson.rb +4 -9
  46. data/lib/mongo/util/xml_to_ruby.rb +1 -3
  47. data/mongo-ruby-driver.gemspec +33 -32
  48. data/{tests → test}/mongo-qa/_common.rb +1 -1
  49. data/{tests → test}/mongo-qa/admin +1 -1
  50. data/{tests → test}/mongo-qa/capped +1 -1
  51. data/{tests → test}/mongo-qa/count1 +4 -4
  52. data/{tests → test}/mongo-qa/dbs +1 -1
  53. data/{tests → test}/mongo-qa/find +1 -1
  54. data/{tests → test}/mongo-qa/find1 +1 -1
  55. data/{tests → test}/mongo-qa/gridfs_in +2 -2
  56. data/{tests → test}/mongo-qa/gridfs_out +2 -2
  57. data/{tests → test}/mongo-qa/indices +2 -2
  58. data/{tests → test}/mongo-qa/remove +1 -1
  59. data/{tests → test}/mongo-qa/stress1 +1 -1
  60. data/{tests → test}/mongo-qa/test1 +1 -1
  61. data/{tests → test}/mongo-qa/update +1 -1
  62. data/{tests → test}/test_admin.rb +3 -3
  63. data/{tests → test}/test_bson.rb +4 -4
  64. data/{tests → test}/test_byte_buffer.rb +0 -0
  65. data/{tests → test}/test_chunk.rb +4 -4
  66. data/{tests → test}/test_collection.rb +42 -4
  67. data/{tests/test_mongo.rb → test/test_connection.rb} +35 -11
  68. data/test/test_cursor.rb +223 -0
  69. data/{tests → test}/test_db.rb +12 -12
  70. data/{tests → test}/test_db_api.rb +28 -33
  71. data/{tests → test}/test_db_connection.rb +3 -3
  72. data/{tests → test}/test_grid_store.rb +4 -4
  73. data/{tests → test}/test_message.rb +1 -1
  74. data/{tests → test}/test_objectid.rb +3 -3
  75. data/{tests → test}/test_ordered_hash.rb +0 -0
  76. data/{tests → test}/test_round_trip.rb +6 -2
  77. data/{tests → test}/test_threading.rb +3 -3
  78. data/test/test_xgen.rb +73 -0
  79. metadata +33 -32
  80. data/lib/mongo/mongo.rb +0 -164
  81. data/tests/test_cursor.rb +0 -121
data/tests/test_cursor.rb DELETED
@@ -1,121 +0,0 @@
1
- $LOAD_PATH[0,0] = File.join(File.dirname(__FILE__), '..', 'lib')
2
- require 'mongo'
3
- require 'test/unit'
4
-
5
- # NOTE: assumes Mongo is running
6
- class CursorTest < Test::Unit::TestCase
7
-
8
- include XGen::Mongo::Driver
9
-
10
- @@db = Mongo.new(ENV['MONGO_RUBY_DRIVER_HOST'] || 'localhost',
11
- ENV['MONGO_RUBY_DRIVER_PORT'] || Mongo::DEFAULT_PORT).db('ruby-mongo-test')
12
- @@coll = @@db.collection('test')
13
-
14
- def setup
15
- @@coll.clear
16
- @@coll.insert('a' => 1) # collection not created until it's used
17
- @@coll_full_name = 'ruby-mongo-test.test'
18
- end
19
-
20
- def teardown
21
- @@coll.clear
22
- @@db.error
23
- end
24
-
25
- def test_explain
26
- cursor = @@coll.find('a' => 1)
27
- explaination = cursor.explain
28
- assert_not_nil explaination['cursor']
29
- assert_kind_of Numeric, explaination['n']
30
- assert_kind_of Numeric, explaination['millis']
31
- assert_kind_of Numeric, explaination['nscanned']
32
- end
33
-
34
- def test_close_no_query_sent
35
- begin
36
- cursor = @@coll.find('a' => 1)
37
- cursor.close
38
- assert cursor.closed?
39
- rescue => ex
40
- fail ex.to_s
41
- end
42
- end
43
-
44
- def test_refill_via_get_more
45
- begin
46
- assert_equal 1, @@coll.count
47
- 1000.times { |i|
48
- assert_equal 1 + i, @@coll.count
49
- @@coll.insert('a' => i)
50
- }
51
-
52
- assert_equal 1001, @@coll.count
53
- count = 0
54
- @@coll.find.each { |obj|
55
- count += obj['a']
56
- }
57
- assert_equal 1001, @@coll.count
58
-
59
- # do the same thing again for debugging
60
- assert_equal 1001, @@coll.count
61
- count2 = 0
62
- @@coll.find.each { |obj|
63
- count2 += obj['a']
64
- }
65
- assert_equal 1001, @@coll.count
66
-
67
- assert_equal count, count2
68
- assert_equal 499501, count
69
- rescue Test::Unit::AssertionFailedError => ex
70
- p @@db.collection_names
71
- Process.exit 1
72
- end
73
- end
74
-
75
- def test_refill_via_get_more_alt_coll
76
- begin
77
- coll = @@db.collection('test-alt-coll')
78
- coll.clear
79
- coll.insert('a' => 1) # collection not created until it's used
80
- assert_equal 1, coll.count
81
-
82
- 1000.times { |i|
83
- assert_equal 1 + i, coll.count
84
- coll.insert('a' => i)
85
- }
86
-
87
- assert_equal 1001, coll.count
88
- count = 0
89
- coll.find.each { |obj|
90
- count += obj['a']
91
- }
92
- assert_equal 1001, coll.count
93
-
94
- # do the same thing again for debugging
95
- assert_equal 1001, coll.count
96
- count2 = 0
97
- coll.find.each { |obj|
98
- count2 += obj['a']
99
- }
100
- assert_equal 1001, coll.count
101
-
102
- assert_equal count, count2
103
- assert_equal 499501, count
104
- rescue Test::Unit::AssertionFailedError => ex
105
- p @@db.collection_names
106
- Process.exit 1
107
- end
108
- end
109
-
110
- def test_close_after_query_sent
111
- begin
112
- cursor = @@coll.find('a' => 1)
113
- cursor.next_object
114
- cursor.close
115
- assert cursor.closed?
116
- rescue => ex
117
- fail ex.to_s
118
- end
119
- end
120
-
121
- end