Commit Graph

111 Commits

Author SHA1 Message Date
Kyle Banker bc5dcdfc7f Fix for undefined symbol rb_long2int 2011-01-03 16:15:58 -05:00
eregon a0389b0668 define R{ARRAY,STRING}_LENINT if there are not 2011-01-03 14:21:12 -05:00
eregon 3ab2acbf4f Get rid of "implicit conversion 64-bit 32-bit" warnings
This resolves "warning: implicit conversion shortens 64-bit value into a 32-bit value"
The problem is String/Array length is a long (so 64 bits on some platforms instead of 32) and the extension use int
There are 2 solutions:
* use long everywhere (but waste of memory, and hard to do)
* cast into ints (but potential lost of data)
I did the second, because all these cases are about String/Array lengths,
and it is very unlikely to have a String/Array of more than 2 billions elements (that would mean at least 2GB in memory).

The last cast might need to be reviewed (htonl((int)time(NULL))) because htonl want a 32-bit int, but time(NULL) will overflow with the year 2038 problem.
2011-01-03 14:20:58 -05:00
Kyle Banker c0e972470e Fixed BSON_CODER.update_max_bson_size return value 2011-01-03 14:05:42 -05:00
Kyle Banker 9da68bb3db RUBY-189 use result of ismaster's maxBsonObjectSize 2010-12-29 18:06:31 -05:00
eregon 191db33a1a fix declaration-after-statement warnings of ruby trunk
The commit bd0a9d2fb6
adds -Werror=declaration-after-statement. This may cause an error and make gem installation fail
See http://www.ruby-forum.com/topic/714046
2010-12-29 12:06:38 -05:00
Kyle Banker 6f067756c8 Fix for serializing int/long 2010-11-08 17:21:17 -05:00
Kyle Banker b3ed1486e5 minor: updates for removal deprecated DB and Connection methods and ObjectID 2010-10-04 13:28:26 -04:00
Kyle Banker 2ed0adbbc6 Fix C extension to handle BSON::Code (no longer a subclass of String) 2010-10-01 17:03:26 -04:00
Kyle Banker 45e6aaef43 minor: fast_pack no longer used 2010-09-20 14:01:17 -04:00
Kyle Banker b077ef992d RUBY-182 Rubinius compatibility; use rb_ary_entry() in lieu of RARRAY_PTR 2010-09-20 13:48:06 -04:00
Kyle Banker 81395373e9 RUBY-183 better int bson performance (Chuck Remes) 2010-09-20 11:57:06 -04:00
Hongli Lai (Phusion) bfa4926e1d Optimize ObjectId#generate: cache the MD5 of the host name and generate counters in C instead of Ruby. 2010-09-14 10:37:22 -04:00
Hongli Lai (Phusion) 3f66721858 Optimize BSON C extension: cache some symbols instead of interning them over and over. 2010-09-13 10:51:29 -04:00
Kyle Banker 7ca4683843 RUBY-173 better hash class detection for BSON 2010-08-28 16:35:45 -04:00
Kyle Banker 5838b9aef7 RUBY-173 allow HashWithIndifferentAccess 2010-08-28 12:19:26 -04:00
Mike Dirolf 06602bd41e clean up C ext Time handling 2010-08-25 11:27:38 -04:00
Mike Dirolf 7702d671ea Use C objectid_generate for ObjectId in addition to ObjectID.
Also, remove broken defined? check from objectid.rb and object_id.rb -
it was never doing anything since we require those files at the top of
cbson.c.
2010-08-25 10:23:18 -04:00
Kyle Banker 02a0c7c2dc RUBY-165 raise error if BSON.serialize is passed something other than a hash 2010-08-24 14:01:24 -04:00
Kyle Banker c7c309b00d RUBY-158 deprecate BSON::ObjectID for BSON::ObjectId 2010-08-24 12:49:23 -04:00
Kyle Banker a24448d911 attempted fix for bson_ext on solaris (slyphon) 2010-07-02 16:03:42 -04:00
Mike Dirolf d68e42812e respect Encoding.default_internal in BSON decoder 2010-05-07 15:15:52 -04:00
sleverbor ed76126a12 namespaced the OrderedHash class 2010-05-06 18:25:18 -07:00
Kyle Banker 8ac3171981 ensure compatibility with early releases of Ruby 1.8.5 (dfitzgibbon) RUBY-125 2010-04-28 10:43:54 -04:00
Kyle Banker 910a82de7e must use Connection.paired for paired connections 2010-04-07 17:10:28 -04:00
Kyle Banker e18d2d6fbb removed deprecated RegexpOfHolding 2010-04-07 16:32:25 -04:00
Kyle Banker 45d3b91882 exception refinements for bson split 2010-04-05 18:24:31 -04:00
Kyle Banker c4d5cb641b renamed mongo_bson to bson 2010-04-05 10:39:55 -04:00
Charles Remes b669b625cc Changed RREGEXP_SOURCE macro to RREGX_SRC so it matches all rubies 2010-03-19 09:10:08 -05:00
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 0709b98082 Rails 3 HashWithIndifferentAccess fixes 2010-03-02 11:11:07 -05:00
Kyle Banker e3d746096d minor: docs 2010-03-01 12:09:21 -05:00
Kyle Banker 2d9e10c192 CBson HashWithIndifferentAccess error 2010-02-27 12:22:34 -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 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
Mike Dirolf f2de52351a minor: fix some warnings 2010-01-11 18:01:36 -05:00
Kyle Banker 3762e52ac2 minor: fixed exception organization 2010-01-11 11:38:35 -05:00
Kyle Banker 42b835243e warn if using Date or DateTime instead of Time 2010-01-06 14:30:58 -05:00
Mike Dirolf e013618a8f RUBY-74 raise InvalidDocument for any unrecognized types 2009-12-29 12:59:30 -05:00
Mike Dirolf f8d45c405e check for asprintf instead of _MSC_VER - better for mingw 2009-12-18 14:19:53 -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 f9fb823c53 Merge branch 'master' of github.com:mongodb/mongo-ruby-driver 2009-12-17 09:47:29 -05:00
Mike Dirolf d5f0443fc1 better error message 2009-12-17 09:47:27 -05:00
Kyle Banker 5d85cf384f minor: free buffer on invalid doc 2009-12-16 14:14:15 -05:00
Kyle Banker aaf590214c enforce 4MB limit when inserting BSON docs 2009-12-16 11:32:54 -05:00
Mike Dirolf 0161ea3962 fix for negative dates on 1.9 RUBY-65 2009-12-03 10:07:02 -05:00