Commit Graph

175 Commits

Author SHA1 Message Date
Tyler Brock f55fc95bf4 RUBY-432
Do not encode strings to utf-8 after checking that utf-8 is valid.

Before this fix, an encoding operation could turn valid utf-8 into
invalid utf-8 if an encoding that requires conversion is forced on a
valid string.
2012-06-01 14:20:15 -04:00
Tyler Brock ad8a933cd4 minor: fix extension compile errors 2012-06-01 13:11:00 -04:00
Tyler Brock d86c4d95f7 RUBY-435
Use rb_time_num_new for Time value when available (Ruby >= 1.9)
2012-05-15 16:52:53 -04:00
Gary Murakami 50d6902d80 Revert cbson.c, to be revisited for malloc/free reduction.
README.md has API Documentation note at the top to help users match documentation to driver version, DOCS-197.
 Expanded performance tests, for insert with multiple docs.
2012-05-03 16:43:12 -04:00
Gary Murakami 962c4f2f2e eliminate last explicit malloc/free for array key name, more performance measurements 2012-04-30 17:22:01 -04:00
Gary Murakami 7384585d98 write_element optimization for T_ARRAY to only allocate the buffer for the index key once instead of repeatedly for every index. This results in a 2.5x improvement for array sizes around 32. Also includes improvements to the performance tests and graphs, with plothover to show [x,y] values. 2012-04-25 17:15:31 -04:00
Tyler Brock 95a831c0b3 RELEASE 1.6.2 2012-04-05 13:51:20 -04:00
Tyler Brock ddc3e893cb RELEASE 1.6.1 2012-03-07 16:59:27 -05:00
Tyler Brock a4343e53fe Release 1.6.0 2012-02-22 10:49:44 -05:00
Tyler Brock 1be40495c2 RUBY-412 added if statement to case T_DATA to catch unserializable time classes in Ruby >= 1.9.3 2012-02-14 16:11:52 -05:00
Kyle Banker 7756a133e5 BUMP 1.5.2 2011-12-13 15:35:37 -05:00
Kyle Banker 74e6a60c25 BUMP 1.5.1 2011-11-29 15:54:08 -05:00
Kyle Banker c931499a97 BUMP 1.5.0 2011-11-28 14:10:28 -05:00
Kyle Banker 11a722b96a BUMP 1.5.0.rc0 2011-11-18 17:15:03 -05:00
Kyle Banker ddb56a537f BUMP 1.4.1 2011-10-17 14:55:21 -05:00
Kyle Banker 4d41092aaa BUMP 1.4.0 2011-09-19 12:05:10 -04:00
Kyle Banker e613880922 RUBY-327 2011-09-19 11:40:40 -04:00
Kyle Banker 3c127984a3 RUBY-242 check BSON size on a per-connection basis. 2011-08-25 14:57:24 -04:00
renctan 19c9cb778b Fixed thet timestamp serialization issues for 32bit machines. 2011-08-24 13:14:36 -04:00
Kyle Banker f333871bc0 RUBY-294 fix potential infinite loop 2011-08-08 18:23:40 -04:00
Kyle Banker ace1313b99 RUBY-302 RUBY-303 fix buffer namespace conflict by renaming to bson_buffer. 2011-08-08 15:06:39 -04:00
Kyle Banker 98abe355fa BUMP 1.3.1 2011-05-11 12:13:00 -04:00
Kyle Banker 135bebd9ab RUBY-270 support 's' regex option.
Note: Ruby includes dotall 's' semantics on 'm' option.
2011-05-09 14:17:56 -04:00
Kyle Banker bdb87c25ad BUMP 1.3.0 2011-04-01 13:54:09 -04:00
Kyle Banker c327a6036d BUMP 1.3.0.rc0 2011-03-29 16:34:53 -04:00
Kyle Banker 05bf234bb8 RUBY-255 Support BSON Timestamp 2011-03-28 14:36:49 -04:00
Kyle Banker b48a2bd84f RUBY-253 fix UTF8 check for Ruby 1.9 2011-03-24 12:11:12 -04:00
Kyle Banker a8ce896c9f RUBY-245 Unique object id with timestamp 2011-03-15 16:40:27 -04:00
Kyle Banker a0aee12907 BUMP 1.2.4 2011-02-23 14:51:49 -05:00
Kyle Banker 9076432c48 BUMP 1.2.3 2011-02-23 12:43:00 -05:00
Kyle Banker c11e875813 BUMP 1.2.2 2011-02-15 17:09:52 -05:00
Hongli Lai (Phusion) 2335108162 When possible, use system_free() to free asprintf() results.
On OS X, Ruby Enterprise Edition allocates memory with tcmalloc which is
not compatible with the system malloc. asprintf() allocates memory with
the system malloc so we need to free its result with the system free()
function instead of tcmalloc's free() function. REE's system_free()
API call does that.
2011-02-14 09:41:39 -05:00
Kyle Banker 04c536292a BUMP 1.2.1 2011-02-10 15:27:06 -05:00
Kyle Banker 76730d4a7c RUBY-233 show invalid key on invalid key exception 2011-02-04 12:07:28 -05:00
Kyle Banker 648094c80f BUMP 1.2.0 2011-01-18 11:20:59 -05:00
Kyle Banker 3d1934a92c BUMP 1.2.rc2 2011-01-06 10:33:54 -05:00
Kyle Banker 756ccfe877 BUMP 1.2.rc1 2011-01-05 12:31:49 -05:00
Kyle Banker 9798626053 RUBY-188 fix for bson_ext on Windows 2011-01-04 18:09:41 -05:00
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
Kyle Banker b244c28d1c 1.2.rc0 BUMP for development 2010-12-29 12:09:43 -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 3c9f0f39f6 BUMP 1.1.5 2010-12-15 15:21:51 -05:00
Kyle Banker 8fca10267a BUMP 1.1.4 2010-11-30 12:50:28 -05:00
Kyle Banker f8ada701d9 BUMP 1.1.3 2010-11-29 17:05:41 -05:00
Kyle Banker 6f067756c8 Fix for serializing int/long 2010-11-08 17:21:17 -05:00
Kyle Banker 8e79793053 BUMP 1.1.2 and HISTORY 2010-11-04 17:50:48 -04:00