Commit Graph

207 Commits

Author SHA1 Message Date
Charles Remes a9b3c8e7a5 Try again: 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:55:19 -05:00
Kyle Banker 367f9b32cc added indexing options: background, geo, dropDups, etc. 2010-03-16 15:59:26 -04:00
Kyle Banker 2d9e10c192 CBson HashWithIndifferentAccess error 2010-02-27 12:22:34 -05:00
Kyle Banker 824573f297 warn if index fails to create 2010-02-25 16:40:35 -05:00
Kyle Banker a8e3a80fde test fixes for deprecations 2010-02-23 13:06:48 -05:00
Kyle Banker 8f90cbfbf7 Collection#group as eval deprecation final stage 2010-02-23 12:42:17 -05:00
Kyle Banker 5dd2636634 minor: copyright update 2010-02-19 17:41:36 -05:00
Kyle Banker 5d1d110280 fixed bug on safe remove; style fixes 2010-02-17 16:48:23 -05:00
Kyle Banker f158aa13af Initial GridFS refactoring 2010-02-12 18:03:07 -05:00
Kyle Banker 98af49f465 added core doc references 2010-02-08 12:12:18 -05:00
Kyle Banker 65ac333464 minor: core doc fix 2010-02-01 21:55:44 -05:00
Kyle Banker c9cecc730e minor: removed unused core doc 2010-02-01 20:27:31 -05:00
Kyle Banker a8a5b585c9 added core tag for ydoc 2010-02-01 20:22:08 -05:00
Kyle Banker e075d25a91 move id only when necessary RUBY-88 2010-01-28 18:44:50 -05:00
Kyle Banker d1d1f68c2f minor: doc fixes 2010-01-19 11:30:43 -05:00
Kyle Banker 47c0c38495 updated docs / tests for safe remove 2010-01-19 11:14:07 -05:00
Patrick Collison 8a8d6716b3 add a :safe option to Collection's remove() 2010-01-19 11:14:07 -05:00
Kyle Banker ba2b23476d minor performance improvements 2010-01-14 13:30:38 -05:00
Kyle Banker f9ec4eca1d YARD and more specific exceptions for DB 2010-01-11 18:12:46 -05:00
Kyle Banker 5285f9de8f minor: reorganized constants / errors 2010-01-08 15:43:13 -05:00
Kyle Banker 2310a878ea doc cleanup and initial move to YARD 2010-01-05 17:42:52 -05:00
Kyle Banker c15e8c2d7d enabled keyf support for Collection#group 2009-12-18 14:49:16 -05:00
Kyle Banker f8a6d1ebb9 minor: docs, whitespace, naming 2009-12-16 14:16:49 -05:00
Kyle Banker f633e8ad69 Added query option for Collection#distinct 2009-12-14 13:57:22 -05:00
Mike Dirolf d268595584 tests + fixes for using nil _id's 2009-12-08 17:52:15 -05:00
Mike Dirolf a9bb31e392 minor: whitespace 2009-12-08 17:52:07 -05:00
Kyle Banker 6d573edd40 minor: doc cleanup; extracted credits 2009-12-07 15:46:39 -05:00
Blythe Dunham 3df52cc927 Add support for the finalize option of the group command 2009-12-06 15:45:42 -08:00
Kyle Banker f0766c9d2e minor: allow oplog. collection 2009-12-04 16:35:12 -05:00
Kyle Banker 992f6c30dc minor: removed entraneous constant 2009-12-02 11:56:58 -05:00
Kyle Banker d40f445c19 Fixes for 1.9 2009-12-01 17:23:24 -05:00
Kyle Banker a3cbacc99b minor: Docs, cleanup, history. 2009-11-25 11:26:30 -05:00
Christos Trochalakis b1b61d5c0b Added support for map-reduce 2009-11-25 11:26:29 -05:00
Kyle Banker ab0d189832 Simplified message sending methods names; organized Connection 2009-11-24 14:23:43 -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 11a92349e9 Merged branch for initial connection pooling code 2009-11-23 15:20:05 -05:00
Kyle Banker cd44c3c918 Fixed index ordering 2009-11-17 13:20:57 -05:00
Kyle Banker 3362fb5be6 Simplified BSON serialization calls for performance. 2009-11-12 14:48:49 -05:00
Kyle Banker 867783c665 Added support for multi-update (available in mongo >= 1.1.3) 2009-11-05 16:08:54 -05:00
Kyle Banker f891b4ece3 Updates and insert in safe mode are now thread-safe. 2009-11-05 15:14:48 -05:00
Kyle Banker 95f3686119 Restored pretty messages for logging. 2009-11-02 15:04:06 -05:00
Kyle Banker 5a81cb70ee Added Collection#distinct [RUBY-61] 2009-10-27 14:05:45 -04:00
Kyle Banker 67b7f6b375 Refactored Query class into Cursor class. 2009-10-22 14:10:12 -04:00
Kyle Banker de5c078cec Finished removing Message classes. Made Cursor#close threadsafe. 2009-10-21 10:11:33 -04:00
Kyle Banker 5586d53c6a minor: Collection#remove should access db directly. 2009-10-20 11:36:51 -04:00
Kyle Banker e40d9cec3c Deprecated Collection#clear in favor of Collection#remove. Introduced shoulda and mocha for upcoming tests. 2009-10-20 11:31:07 -04:00
Kyle Banker 2d7bae4e0a minor: corrected options for Collection#remove 2009-10-19 17:48:20 -04:00
Kyle Banker cced8ae5b7 Removed InsertMessage, RemoveMessage, and UpdateMessage, and refactored accordingly. 2009-10-19 17:14:41 -04:00
Kyle Banker 4e2781faf1 Raise exception if connecting to single slave with slave_ok set to false; pass slave_ok on to queries when set to true. 2009-10-15 12:25:25 -04:00
Kyle Banker c6d4150a51 Added option to disable cursor timeout on Collection#find when #find is invoked with a block. 2009-10-14 14:38:44 -04:00
Kyle Banker 5ea585a475 Created alias Collection#size for Collection#count 2009-10-13 16:20:41 -04:00
Mike Dirolf 4fdcad1327 cleanup and credits 2009-10-08 10:05:06 -04:00
Mike Dirolf 70c23e2d32 deprecate :offset option to find in favor of :skip 2009-09-17 16:45:03 -04:00
Mike Dirolf 2b701119e1 complete deprecation of a bunch of stuff 2009-09-17 15:28:45 -04:00
Mike Dirolf 833e0eb7da failing test case + fix for Collection#[] 2009-09-14 10:03:26 -04:00
Mike Dirolf baad067165 minor: doc fix 2009-09-06 16:28:46 -04:00
Mike Dirolf e6112703f3 allow scope for reduce function in group 2009-08-26 11:13:40 -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 040ba7c9c2 add command option for Collection#group 2009-08-19 15:54:53 -04:00
Mike Dirolf c49c208bff fix for Collection#group 2009-08-19 15:18:42 -04:00
Mike Dirolf 66e8d1a13b Collection#find takes an optional block to ensure cursors get closed. Some doc updates for find 2009-08-19 11:51:30 -04:00
Mike Dirolf e64b7f3679 if fields is [] return just _id 2009-08-19 09:57:15 -04:00
Mike Dirolf 7b4e51e825 deprecate DB#count and passing a selector to Collection#count 2009-08-18 11:48:16 -04:00
Mike Dirolf 047fc60c91 allow [] on DB, Collection instances to get collections/sub-collections 2009-08-17 11:11:03 -04:00
Mike Dirolf 402b895385 find_one takes same options as find 2009-08-14 16:43:12 -04:00
Mike Dirolf 28a80f1b5e Deprecate Collection#find_first in favor of Collection#find_one, also improve docs 2009-08-14 15:39:49 -04:00
Mike Dirolf 6cb8c9f49b API CHANGE Add :safe option for Collection#insert and Collection#save
The API change is minor: Collection#insert({...}, {...}, {...}) no
longer works for inserting multiple documents - instead you must pass
an explicit Array: Collection#insert([{...}, {...}, {...}])
2009-08-14 14:25:29 -04:00
Mike Dirolf 73233d6589 minor: update save to use Collection#update instead of the deprecated Collection#repsert 2009-08-14 09:54:52 -04:00
Mike Dirolf 431039a82a add InvalidName exception and use that where appropriate 2009-08-13 15:52:11 -04:00
Mike Dirolf 64380ad00c Deprecating Collection#modify, Collection#replace and Collection#repsert in favor of Collection#update 2009-08-13 15:18:53 -04:00
Mike Dirolf 4963da9e89 add support for snapshot option to Collection#find 2009-08-11 11:42:34 -04:00
Mike Dirolf fe7d7745c7 add collection name validation 2009-08-04 14:24:18 -04:00
Mike Dirolf 91d6ab4caa rename collection 2009-08-04 14:16:02 -04:00
Mike Dirolf 7da51cc317 save returns _id as well 2009-07-28 12:08:29 -04:00
Mike Dirolf 7b0da3cb7e update group 2009-06-08 11:08:59 -04:00
Mike Dirolf e5ce547e87 use repsert instead of checking for document existence, update tests to match new index_information API 2009-06-02 14:37:58 -04:00
Mike Dirolf cb3823f48f Merge branch 'master' of git://github.com/jnunemaker/mongo-ruby-driver into jnunemaker/master 2009-06-02 14:20:19 -04:00
Mike Dirolf 25e960441b API CHANGE: better, less redundant API for index_information 2009-06-02 11:24:52 -04:00
John Nunemaker f95102c2bb Updated save to actually check if id exists in the collection. 2009-05-31 22:45:05 -04:00
Aman Gupta 2fafddd7fa Add Collection#save 2009-05-15 18:21:10 -07:00
Mike Dirolf 29cdfe64f1 add group method on collections 2009-04-27 14:19:38 -04:00
Mike Dirolf 1312c70677 add support for unique index creation 2009-04-21 14:44:57 -04:00
Mike Dirolf 9b9f14ce2e overhaul create_index - don't allow clients to specify their own name, allow descending indexes 2009-02-26 12:06:03 -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 05aafc0de4 Collection#find_first uses :limit => 1 2009-02-10 13:08:15 -05:00
Jim Menard 7de404c8e3 Added Collection#find_first. 2009-02-09 09:46:30 -05:00
Jim Menard 333cf20a20 Removed another $DEBUG warning. 2009-02-05 16:37:35 -05:00
Jim Menard 8ef393437c Accept array of field names 2009-02-05 14:24:20 -05:00
Jim Menard 6532dd7d9b Hints are now BSON objects (probably ordered hashes) instead of arrays. Also make sure index exists for hint field in test. 2009-01-30 14:35:22 -05:00
Jim Menard b3bc2c41e2 Moved hint call from Cursor into Collection#find options and Query#initialize
parameter.
2009-01-29 07:15:59 -05:00
Jim Menard 623a22ceda DB can have PK factory. Collection#insert returns objects inserted (possibly modified by PK factory). 2009-01-16 16:10:52 -05:00
Jim Menard 123b2c8d78 New ObjectID#legal_oid_string. Use that in ObjectID#from_string. 2009-01-15 11:25:23 -05:00
Jim Menard b8fcd28c51 Fixed var spelling errors. Accept more types for hints args. 2009-01-14 10:26:12 -05:00
Jim Menard 50070c2efa Support for hints. 2009-01-13 15:51:41 -05:00
Jim Menard 61a0244c4c Pass Collection object, not name, to query so that we can access its hint fields at query time. 2009-01-13 15:38:46 -05:00
Jim Menard cecbebb1e9 Comment about << alias 2009-01-07 09:45:56 -05:00
Adrian Madrid c8072f2f4a Added safety check for queries with unknown parameters. The idea came when I used :order instead of :sort and it silently _failed_ to work as expected ;-) 2009-01-06 17:14:45 -07:00
Jim Menard f709bc6290 Updated copyright dates. 2009-01-06 10:51:01 -05:00
Jim Menard 8aed3abda6 new Collection#options method 2008-12-17 13:52:10 -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 6ab2f77eb7 Move the :fields find() parameter into the options hash. 2008-12-08 16:47:52 -05:00
Jim Menard cfee63194c More tests and improvements thanks to aemadrid. 2008-12-08 16:41:52 -05:00
Jim Menard 21e45c29b7 aliased << to insert for collections 2008-12-08 15:04:07 -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
Adrian Madrid 453d90a68e Added a simple check for a single array passed as the first and only parameter when inserting objects 2008-12-04 17:10:00 -07:00
Jim Menard 5e3815bf69 first commit 2008-11-21 20:00:51 -05:00