Commit Graph

245 Commits

Author SHA1 Message Date
Charles Remes
18d7d1c699 Split the BSON logic out to a separate gem
- changed the BSON constant to BSON_CODER and scoped it inside
  of a module

- changed the directory layout for all of the BSON related files

- updated the C extension to find the BSON files at their new
  directory locations

- updated the C extension to use better/safer macros for accessing
  the C API; extension now compiles cleanly under rubinius/rbx

- changed directory layout for BSON related tests

- modified the Rakefile to understand the new layout
2010-03-17 14:30:33 -05:00
Kyle Banker
367f9b32cc added indexing options: background, geo, dropDups, etc. 2010-03-16 15:59:26 -04:00
Kyle Banker
9dd1a5c2e3 added authentication support for copy_database 2010-03-16 13:56:30 -04:00
Kyle Banker
2d9e10c192 CBson HashWithIndifferentAccess error 2010-02-27 12:22:34 -05:00
Kyle Banker
3163a340f1 removed deprecated xml_to_ruby 2010-02-23 14:40:38 -05:00
Kyle Banker
a7d4d5d277 minor: copy fix 2010-02-23 12:44:50 -05:00
Kyle Banker
5dd2636634 minor: copyright update 2010-02-19 17:41:36 -05:00
Christos Trochalakis
83f2bdf472 Make OrderedHash#to_a preserve order 2010-02-19 11:04:19 -05:00
Kyle Banker
fc2ddf3bbd deserialize to RegexpOfHolding only when necessary 2010-02-15 09:47:53 -05:00
Kyle Banker
e075d25a91 move id only when necessary RUBY-88 2010-01-28 18:44:50 -05:00
Kyle Banker
329af9e685 minor: OrderedHash hash algorithm fix 2010-01-21 17:35:53 -05:00
Kyle Banker
28227f8ac6 minor: fix for 1.8.6 Complex type checking 2010-01-21 15:42:59 -05:00
Kyle Banker
95d9d6b4f6 Handle unsupported types: Complex, Rational, and BigDecimal RUBY-85 2010-01-21 14:49:20 -05:00
Kyle Banker
bf7ffcfa82 support BSON MinKey and MaxKey RUBY-84 2010-01-20 18:50:07 -05:00
Kyle Banker
8c6e0a3591 Raise better error message when trying to serialize TimeWithZone 2010-01-20 12:11:58 -05:00
Durran Jordan
41c680b491 OrderedHash#update should alias to merge bang 2010-01-18 15:29:17 -05:00
Kyle Banker
ba2b23476d minor performance improvements 2010-01-14 13:30:38 -05:00
Kyle Banker
74c9862fc9 minor: clean up conversions module 2010-01-08 16:29:06 -05:00
Kyle Banker
5285f9de8f minor: reorganized constants / errors 2010-01-08 15:43:13 -05:00
Kyle Banker
1e183d1f53 deprecated RegexpOfHolding and XMLToRuby 2010-01-07 16:17:34 -05:00
Kyle Banker
42b835243e warn if using Date or DateTime instead of Time 2010-01-06 14:30:58 -05:00
Kyle Banker
2310a878ea doc cleanup and initial move to YARD 2010-01-05 17:42:52 -05:00
Mike Dirolf
e013618a8f RUBY-74 raise InvalidDocument for any unrecognized types 2009-12-29 12:59:30 -05:00
Kyle Banker
7bebcd0499 minor: test fixes 2009-12-29 11:31:59 -05:00
Kyle Banker
a698415fa5 minor: fixed sort api to allow a single key / direction pair to be specified as an array 2009-12-28 13:43:20 -05:00
Mike Dirolf
9ba194c4b1 minor: fix for 1.9 2009-12-17 12:26:26 -05:00
Mike Dirolf
9e38ef4f8b Merge branch 'master' of github.com:mongodb/mongo-ruby-driver 2009-12-17 12:24:23 -05:00
Kyle Banker
9c68d1c0ab fix for uniq with OrderedHash for Ruby 1.8.6 2009-12-17 12:19:38 -05:00
Mike Dirolf
65c36ca943 null checking for keys and regex patterns, allow nulls for regular strings 2009-12-17 12:17:19 -05:00
Mike Dirolf
9bbaafe03d Just use Regexp#source instead of hacky to_s. Check Regex pattern for NULL bytes 2009-12-17 10:24:58 -05:00
Mike Dirolf
5168692ab9 don't allow NULL byte in key names in ruby encoder 2009-12-17 10:05:38 -05:00
Kyle Banker
f8a6d1ebb9 minor: docs, whitespace, naming 2009-12-16 14:16:49 -05:00
Kyle Banker
aaf590214c enforce 4MB limit when inserting BSON docs 2009-12-16 11:32:54 -05:00
Mike Dirolf
bfb26b3426 minor: update mongo-qa tests for new bson api 2009-12-02 15:49:45 -05:00
Kyle Banker
e228be7943 minor: added bytebuffer method to make apis compatible 2009-12-02 12:07:32 -05:00
Kyle Banker
d40f445c19 Fixes for 1.9 2009-12-01 17:23:24 -05:00
Kyle Banker
4b849d4b4b divided bson.rb in two 2009-12-01 13:55:04 -05:00
Kyle Banker
05b5fc576b Cleanup w/r/t loading c ext and testing it 2009-12-01 13:49:57 -05:00
Kyle Banker
a7c75d7fae Raise error on non utf-8 string in 1.8 2009-11-30 17:06:21 -05:00
Kyle Banker
515594ebf3 Completed deprecation of old sort options, :offset, and Collection#clear 2009-11-23 18:09:13 -05:00
Kyle Banker
cd44c3c918 Fixed index ordering 2009-11-17 13:20:57 -05:00
Kyle Banker
039484c263 minor: fixes for benchmarks and byte buffer defaults 2009-11-16 10:40:16 -05:00
Kyle Banker
3362fb5be6 Simplified BSON serialization calls for performance. 2009-11-12 14:48:49 -05:00
Sean Cribbs
cb4d94f541 Optimize ByteBuffer#to_s and Mongo::ObjectID#generate via C extensions. 2009-10-29 11:44:07 -04:00
Kyle Banker
0d7cefd87b minor: cleaned up gemspecs, docs. 2009-10-26 15:34:45 -04:00
Kyle Banker
5c6f53e408 Added server version checking. Updated tests for compatibility > 1.1.3 2009-10-26 14:54:33 -04:00
Kyle Banker
67b7f6b375 Refactored Query class into Cursor class. 2009-10-22 14:10:12 -04:00
Kyle Banker
cced8ae5b7 Removed InsertMessage, RemoveMessage, and UpdateMessage, and refactored accordingly. 2009-10-19 17:14:41 -04:00
Mike Dirolf
4fdcad1327 cleanup and credits 2009-10-08 10:05:06 -04:00
Durran Jordan
20f65039f3 Updating sorting to new syntax 2009-10-08 10:03:19 -04:00
Les Hill
454bb440e4 OrderedHash#each returns self not ordered_keys 2009-10-05 21:35:02 +08:00
Mike Dirolf
2b701119e1 complete deprecation of a bunch of stuff 2009-09-17 15:28:45 -04:00
Mike Dirolf
d95971b20b tests + fix for deserializing pre-epoch dates w/ pure Ruby BSON deserializer - thanks chendo 2009-09-16 12:53:46 -04:00
Mike Dirolf
e65dd99667 API CHANGE: moving XGen::Mongo::Driver and XGen::Mongo to Mongo and XGen::Mongo::GridFS to GridFS 2009-08-20 10:50:48 -04:00
Mike Dirolf
bb13fbe687 use nil for BSON undefined instead of useless Undefined class. deprecate Undefined class 2009-08-19 15:18:02 -04:00
Mike Dirolf
7e0a1b9721 add OrderedHash[] initialization 2009-08-14 11:38:25 -04:00
Mike Dirolf
431039a82a add InvalidName exception and use that where appropriate 2009-08-13 15:52:11 -04:00
Mike Dirolf
0a60ad0d7b support for long type in pure ruby [enc|dec]oder 2009-08-03 17:57:44 -04:00
Mike Dirolf
6cd976398e minor: c ext return dates as UTC, update credits, tweak last commit 2009-07-16 16:32:57 -04:00
David James
91b1b0ad8f Fix dates to return as UTC.
Signed-off-by: Mike Dirolf <mike@dirolf.com>
2009-07-17 04:26:56 +08:00
Mike Dirolf
d87a7da617 BUG RUBY-15 don't check key names on create_index operations 2009-06-02 09:38:31 -04:00
Mike Dirolf
71d7ff726b don't allow invalid key names on inserts 2009-06-01 17:38:11 -04:00
Jon Crosby
c346ded1aa Fix syntax warning
Signed-off-by: mongodb <mongodb@10gen.com>
2009-06-01 21:19:38 +08:00
Mike Dirolf
cabca61e0d previous_error and reset_error_history. snuck in a quick fix to OrderedHash equality 2009-05-26 15:26:20 -04:00
Mike Dirolf
37d6e16fe7 test and fix for BSON w/ negative integers. raise RangeError for out of range ints 2009-05-15 11:19:13 -04:00
Mike Dirolf
a9aa5e5271 fix for pure ruby encoder when _id is a falsey value. more tests 2009-05-12 14:21:17 -04:00
Mike Dirolf
2dffc4b504 don't set _id to default value for hash 2009-04-24 10:03:40 -04:00
Mike Dirolf
02b37f6e48 decoder for data_timestamp 2009-04-22 13:49:56 -04:00
Mike Dirolf
ac4dde5d76 we still need to define ==, even in 1.9 2009-03-23 11:51:35 -04:00
Mike Dirolf
595a9464bb second gem for extensions 2009-03-19 13:54:46 -04:00
Mike Dirolf
5545f3c943 new-style dbref for ruby enc/decoders 2009-03-18 13:30:30 -04:00
Mike Dirolf
2541199903 oops didn't mean to commit this 2009-03-16 08:47:03 -04:00
Mike Dirolf
dccc442edb for now don't try to install extension 2009-03-13 17:24:16 -04:00
Mike Dirolf
4e06c63972 fix warning 2009-03-12 16:01:13 -04:00
Mike Dirolf
0f546eb5c5 add new code type rather than doing hacks based on field name. use code_w_scope instead of code 2009-03-12 15:34:15 -04:00
Mike Dirolf
56fddf79d4 dbrefs only need an oid and a collection, not all this extra cruft... 2009-03-10 14:17:01 -04:00
Mike Dirolf
d0d043323f towards c decoder 2009-03-10 10:23:42 -04:00
Mike Dirolf
1d0fe595c8 equality for ordered hashes 2009-03-05 13:48:15 -05:00
Mike Dirolf
9f2305715e oid encoder 2009-03-05 11:38:08 -05:00
Mike Dirolf
24e695b40d encoder for binary 2009-03-04 17:38:06 -05:00
Mike Dirolf
765ed9334e do to_a if it's not a string 2009-03-04 11:16:28 -05:00
Mike Dirolf
3a3109e7dc enough encoders to do bson_benchmark 2009-03-04 11:07:22 -05:00
Mike Dirolf
064ddacd5e c encoder for string types 2009-03-04 10:05:50 -05:00
Mike Dirolf
c69fbb7f67 checkpoint - beginnings of c encoder 2009-03-03 17:07:22 -05:00
Geir Magnusson Jr
232a7f7169 Clarify license to be the Apache License v2.0. Was a
mix and the readme still reflected AGPL
2009-02-15 08:24:14 -05:00
Jim Menard
d40c31bb00 comments 2009-02-07 14:36:08 -05:00
Jim Menard
8ecc8cb305 Remove debug warnings. 2009-02-05 15:59:44 -05:00
Jim Menard
d701fd7133 include XGen::Mongo::Driver 2009-02-02 10:14:06 -05:00
Jim Menard
28daeb6600 Support binary subtypes in Ruby driver. Bumped patch version number.
Binary type is now a subclass of ByteArray with an additional subtype value
that defaults to 2. BSON special-cases subtype 2 to write out the extra length
int.
2009-02-02 10:07:01 -05:00
Jim Menard
dc3ef378d3 Fixed BSON serialization bug: was modifying objects with ids. 2009-01-28 15:38:31 -05:00
Jim Menard
8a10a5d37d Fixed BSON behavior: now correctly writes _id first. 2009-01-27 16:26:42 -05:00
Jim Menard
1bbb9fb78f BSON serialize now takes a ByteBuffer. 2009-01-26 13:52:11 -05:00
Jim Menard
01dc72c834 Fixed OrderedHash#delete 2009-01-26 13:30:42 -05:00
Jim Menard
c65278afc7 Make sure _id gets written first when serializing BSON. 2009-01-26 09:02:18 -05:00
Jim Menard
cc7cac680b Make ByteBuffer work no matter what the string encoding scheme. 2009-01-21 12:09:18 -05:00
Jim Menard
5c751e9cfc Fixed OrderedHash key deletion. 2009-01-21 10:53:26 -05:00
Jim Menard
62502a3f24 Changed BINARY BSON format based on spec change. 2009-01-20 09:03:43 -05:00
Jim Menard
59f32caf57 Fixed DBRef BSON format. 2009-01-15 15:12:16 -05:00
Jim Menard
74773efe0c Fixed symbol ser/deser 2009-01-14 09:23:19 -05:00
Jim Menard
5793ce986b UTF-8 encoding/decoding for Ruby 1.9. 2009-01-13 12:53:55 -05:00
Jim Menard
de59adecee Moved Mongo data types into subdir. 2009-01-13 10:23:20 -05:00
Jim Menard
f5c06d2b62 New RegexpOfHolding class that maintains unknown option flags. 2009-01-13 09:12:13 -05:00
Jim Menard
bda7cfd264 OrderedHash is not necessary with Ruby 1.9, so we stub out the innards of the class but keep the class for code compatability. 2009-01-12 16:28:29 -05:00
Jim Menard
c6bd4fc100 Added the XGen::Mongo::Driver::Undefined data type (yuck) 2009-01-12 12:08:02 -05:00
Jim Menard
5bbed1c5f0 removed unused method args 2009-01-12 11:13:49 -05:00
Jim Menard
b6b819fe89 output copy of BSON on error 2009-01-12 11:11:58 -05:00
Jim Menard
65b9a6d103 Fixed BINARY length output 2009-01-12 10:48:04 -05:00
Jim Menard
e514446603 Fixed BINARY output; was being tread as STRING. 2009-01-12 10:44:57 -05:00
Jim Menard
80dd421dd9 Use mongo-qa tests if present 2009-01-12 09:48:24 -05:00
Jim Menard
73b7d5e83a comment 2009-01-12 08:45:21 -05:00
Jim Menard
8e23a0c3a2 Fixed BINARY BSON format. Avoid Ruby 1.9 error messages in round trip test for now. 2009-01-10 16:40:24 -05:00
Jim Menard
78fdfe0eb9 Support BINARY. Lots more tests. NOTE: since some of them fail, I have commented out the tests for now. 2009-01-09 19:58:53 -05:00
Jim Menard
77d192183a Fixed OrderedHash.inspect 2009-01-09 19:49:27 -05:00
Jim Menard
72f7184dd4 Added symbol to roundtrip tests. 2009-01-09 18:25:36 -05:00
Jim Menard
341fe3d90f Added BSON support for symbols 2009-01-09 18:20:53 -05:00
Jim Menard
7fc970b217 Extracted XML-to-Ruby conversion. Created validate script for mongo-qa project. 2009-01-09 17:27:31 -05:00
Jim Menard
97fa97bd2c Pass parent, name, and database to DBRef constructor when deserializing BSON 2009-01-09 15:22:10 -05:00
Jim Menard
991a75bda7 Turn an UNDEFINED type in BSON into a nil in Ruby. 2009-01-09 15:02:08 -05:00
Jim Menard
3158d50879 BSON.deserialize should return OrderedHash, not Hash 2009-01-09 14:26:30 -05:00
Jim Menard
a9ba8c62fd Added OrderedHash#inspect which preserves key order 2009-01-09 13:54:12 -05:00
Jim Menard
5d71afa737 Fixed DBRef (de)serialization 2009-01-09 11:56:30 -05:00
Jim Menard
c8200c4cc6 Start of DBRef support 2009-01-08 14:43:30 -05:00
Jim Menard
cb2d775bb1 Fixed OrderedHash merge bug. New tests for OrderedHash. 2009-01-08 07:16:25 -05:00
Jim Menard
efd31a8bc5 Added TODO comments and separate code path for unimplemented types in deserialize 2009-01-07 17:13:21 -05:00
Jim Menard
17bbc83f5d Fixed DATE ser/deser bug. 2009-01-07 15:56:40 -05:00
Jim Menard
f709bc6290 Updated copyright dates. 2009-01-06 10:51:01 -05:00
Jim Menard
80475ff198 Clarified ByteBuffer.get behavior: get() returns one byte, get(1) returns array of length one. 2008-12-18 16:14:56 -05:00
Jim Menard
95e75995f6 Doc tweaks 2008-12-17 11:49:06 -05:00
Jim Menard
aee3ae2c9d More documentation 2008-12-17 11:43:08 -05:00
Jim Menard
e8f3696c77 Fixed boolean BSON type constant. More tests. 2008-12-16 07:33:39 -05:00
Jim Menard
c75bee763b Found and fixed code deserialization bug. 2008-12-16 07:23:22 -05:00
Jim Menard
bce01bbaa6 Fixed byte buffer double encoding problem. Made byte buffer work under Ruby 1.9. 2008-12-16 07:20:20 -05:00
Jim Menard
d79551eaa8 start of BSON tests; removed unused BSON ivar 2008-12-16 07:07:29 -05:00
Jim Menard
a3db5e6924 cleanup; raise different for known but unimplemented types 2008-12-16 06:57:13 -05:00
Jim Menard
6c481c617d Fixed BSON (de)serialization of object ids. New test that saves/restores oid to the database. 2008-12-09 13:48:38 -05:00
Jim Menard
135a9ca0ab New object id generation that matches Babble. 2008-12-09 08:28:10 -05:00
Jim Menard
1431cb3ec3 REGEX type support. 2008-12-08 15:57:20 -05:00
Jim Menard
e7019a63f2 Support for ARRAY type. 2008-12-08 15:27:20 -05:00
Jim Menard
7669900126 Lots of fixes.
- Introduced OrderedHash because db commands require that the command key be
  first.
- Fixed BSON (de)serialization of object ids.
- Simplified @coll.drop_indexes.
- Renamed some method parameters to make their type more clear (for example,
  "collection" became "collection_name").
- Got the index_information test working.
2008-12-08 11:38:42 -05:00
Jim Menard
51dde79ba4 Add _id to inserted records. Fixed ObjectID load, save, and generation. 2008-12-04 08:37:42 -05:00
Jim Menard
cf03cd53f9 documentation 2008-12-02 10:45:02 -05:00
Jim Menard
4244f56ce6 Fixed bug in BSON serializer: was forgetting to include NUL byt in string length. 2008-12-02 10:25:36 -05:00
Jim Menard
011bf0a51c More tests. Expanded README. 2008-12-01 20:20:00 -05:00
Jim Menard
a181a9415e Added ObjectID class. Fixed BSON object serialization bug. db.count now works. 2008-12-01 20:01:13 -05:00
Jim Menard
5e3815bf69 first commit 2008-11-21 20:00:51 -05:00