Commit Graph

204 Commits

Author SHA1 Message Date
Kyle Banker 1e57ca90e1 Initial commit for reads from rs secondaries 2010-11-16 15:43:59 -05:00
Mislav Marohnić 56f37e49b6 replace usage of `returning` with `each_with_object`
`each_with_object` is a Ruby 1.9 method, here re-implemented in core_ext.rb
in case it's missing (for older Ruby versions). Using `returning` is bad in
combination with Ruby on Rails because each usage of the method will emit
a Rails deprecation warning. This might be considered an Active Support bug,
but it's better to avoid using `returning` altogether and use `tap` from
Ruby 1.8.7, also re-implemented here in case it's missing.

Since existing usages or `returning` were better suited for `each_with_object`
than `tap`, they were rewritten using the former instead.
2010-09-13 01:10:38 +08:00
Kyle Banker a7e2991c31 fix for boolean command response in core server 1.5.2 2010-05-31 22:52:03 -04:00
Kyle Banker 97ee66be02 minor: source file encoding with magic comment 2010-05-07 15:33:27 -04:00
sleverbor ed76126a12 namespaced the OrderedHash class 2010-05-06 18:25:18 -07:00
Kyle Banker 35dac1f31e added find_and_modify helper 2010-04-06 17:56:21 -04:00
Kyle Banker 45d3b91882 exception refinements for bson split 2010-04-05 18:24:31 -04:00
Kyle Banker cc253cc111 minor: fix for assert_valid_keys 2010-04-05 14:22:31 -04:00
Kyle Banker f2bc05f51c merge new bson commits 2010-03-19 15:23:24 -04:00
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