couchbase 1.2.0.beta-x86-mingw32 → 1.2.0-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. data/.travis.yml +1 -1
  2. data/Makefile +3 -0
  3. data/README.markdown +15 -4
  4. data/RELEASE_NOTES.markdown +513 -0
  5. data/couchbase.gemspec +0 -1
  6. data/ext/couchbase_ext/arguments.c +161 -244
  7. data/ext/couchbase_ext/arithmetic.c +29 -37
  8. data/ext/couchbase_ext/bucket.c +252 -219
  9. data/ext/couchbase_ext/couchbase_ext.c +540 -417
  10. data/ext/couchbase_ext/couchbase_ext.h +218 -191
  11. data/ext/couchbase_ext/delete.c +30 -27
  12. data/ext/couchbase_ext/extconf.rb +15 -3
  13. data/ext/couchbase_ext/get.c +45 -37
  14. data/ext/couchbase_ext/http.c +95 -74
  15. data/ext/couchbase_ext/multithread_plugin.c +1201 -0
  16. data/ext/couchbase_ext/observe.c +42 -37
  17. data/ext/couchbase_ext/result.c +17 -20
  18. data/ext/couchbase_ext/stats.c +30 -28
  19. data/ext/couchbase_ext/store.c +46 -39
  20. data/ext/couchbase_ext/timer.c +11 -11
  21. data/ext/couchbase_ext/touch.c +30 -27
  22. data/ext/couchbase_ext/unlock.c +30 -27
  23. data/ext/couchbase_ext/utils.c +166 -89
  24. data/ext/couchbase_ext/version.c +29 -26
  25. data/lib/action_dispatch/middleware/session/couchbase_store.rb +2 -2
  26. data/lib/active_support/cache/couchbase_store.rb +6 -6
  27. data/lib/couchbase.rb +1 -0
  28. data/lib/couchbase/bucket.rb +6 -11
  29. data/lib/couchbase/cluster.rb +105 -0
  30. data/lib/couchbase/utils.rb +8 -5
  31. data/lib/couchbase/version.rb +1 -1
  32. data/lib/couchbase/view.rb +51 -5
  33. data/lib/couchbase/view_row.rb +1 -1
  34. data/lib/ext/multi_json_fix.rb +13 -9
  35. data/lib/rack/session/couchbase.rb +11 -7
  36. data/tasks/compile.rake +1 -1
  37. data/tasks/test.rake +40 -34
  38. data/tasks/util.rake +1 -1
  39. data/test/setup.rb +9 -2
  40. data/test/test_arithmetic.rb +37 -0
  41. data/test/test_async.rb +22 -18
  42. data/test/test_unlock.rb +0 -1
  43. data/test/test_utils.rb +32 -0
  44. metadata +13 -23
  45. data/HISTORY.markdown +0 -215
data/HISTORY.markdown DELETED
@@ -1,215 +0,0 @@
1
- ## 1.2.0.beta / 2012-09-18
2
-
3
- * RCBC-70 return binary keys using Encoding.external value (thanks to Alex Leverington)
4
- * Create new key object only if it is necessary
5
- * Switch to rbenv because RVM doesn't work with tclsh
6
- * [backport] RCBC-37 Bootstrapping using multiple nodes
7
- * React on HTTP level errors in view request
8
- * Fix typo: check for MultiJson.decode
9
- * Use unified HTTP function from the latest libcouchbase
10
- * Expose HTTP headers
11
- * Update views to meet latest server changes
12
- * Add support for spatial views
13
- * Use updated libcouchbase_cancel_http_request()
14
- * Workaround query issue on group=false&reduce=false
15
- * Update windows build
16
- * Bump version 1.1.4
17
- * Refactor the C extension
18
- * Fix CAS conversion for Bucket#delete method for 32-bit systems
19
- * RCBC-28 Implement Bucket#unlock
20
- * CCBC-98 Expose client temporary failure error
21
- * Fix warnings in doc generator and specify return values
22
- * Fix -Wreturn-type warning
23
- * Add attribute reader for Error::Base status code
24
- * Unset RUBYOPT to avoid issues with bundler
25
- * Ignore shared object on macos
26
- * RCBC-79 Use RESTful flush
27
- * Fix build under bundler on MacOS
28
- * RCBC-81 Protect against NoMethodError
29
- * Fixup MAKEFILE_CONFIG which is copy of the CONFIG
30
- * RCBC-81 Protect against NoMethodError
31
- * Update windows build
32
-
33
- ## 1.2.0.dp6 / 2012-07-28
34
-
35
- * Inherit StandardError instead RuntimeError for errors
36
- * Use renamed functions for view requests
37
- * Depend on yard-xml plugin to dump docs into single XML
38
- * No need to check for NULL before deallocating memory
39
- * RCBC-37 Bootstrapping using multiple nodes
40
- * More docs and examples on views (fixes RCBC-43)
41
- * RCBC-40 Fix Bucket#cas operation behaviour in async mode
42
- * RCBC-39 Allow to specify delta for incr/decr in options
43
- * Update README
44
- * Apply timeout value before connection
45
- * Clarify connection exceptions
46
- * Remove seqno kludge
47
- * rb_hash_delete() function could incorrectly detect block presence
48
- * Add example with in-URL credentials
49
- * RCBC-57 Expose timers API from libcouchbase
50
- * RCBC-50 Allow to read keys from replica
51
- * RCBC-6 Implement OBSERVE command
52
- * Expose number of replicas to the user
53
- * Notify about observe batch finish in async mode
54
- * Separate memory errors for client and server
55
- * Prefix error message from views with "SERVER: "
56
- * Remove timeout hack
57
- * RCBC-49 Bucket#observe_and_wait primitive
58
- * RCBC-47 Allow to skip username for protected buckets
59
- * Use allocators instead of singleton methods
60
- * Check RDATA()->dfree to ensure object type
61
- * Fix observe_and_wait in async mode
62
- * Fill 'operation' in observe_and_wait Result object
63
- * Fix extraction Hash with keys in observe_and_wait
64
- * RCBC-49 :observe option for storage functions
65
- * Fix timeout test
66
- * Mention couchbase.com in install errors
67
- * Make Bucket#observe_and_wait more 1.8.7 friendly
68
-
69
- ## 1.2.0.dp5 / 2012-06-15
70
-
71
- * Allow to force assembling result Hash for multi-get
72
- * Fix documentation for :ttl option in Bucket#cas
73
- * Implement key prefix (simple namespacing)
74
- * Implement cache store adapter for Rails
75
- * Integrate with Rack and Rails session store
76
-
77
- ## 1.2.0.dp4 / 2012-06-07
78
-
79
- * RCBC-36 Fix segfault
80
- * Comment out unpredictable test
81
- * Update replace documentation: it accepts :cas option
82
-
83
- ## 1.2.0.dp3 / 2012-06-06
84
-
85
- * Fix for multi_json < 1.3.3
86
- * Break out from event loop for non-chunked responses (fix creating
87
- design create)
88
-
89
- ## 1.2.0.dp2 / 2012-06-05
90
-
91
- * RCBC-31 Make Bucket#get more consistent
92
- * Use monotonic high resolution clock
93
- * Implement threshold for outgoing commands
94
- * Allow to stop event loop from ruby
95
- * RCBC-35 Fix the params escaping
96
- * RCBC-34 Use multi_json gem
97
- * Allow to block and wait for part of the requests
98
- * Fix view iterator. It doesn't lock event loop anymore
99
- * Specify HTTP method when body is set for View request
100
- * Define views only if "views" key presented
101
- * Use plain structs instead of typedefs
102
- * Use debugger gem for 1.9.x rubies
103
- * Use latest stable build of libcouchbase for travis-ci
104
- * Require yajl as development dependency
105
- * Implement get with lock operation
106
- * Update docs
107
-
108
- ## 1.2.0.dp / 2012-04-06
109
-
110
- * Properly handle hashes as Couchbase.connection_options
111
- * Implement views
112
- * Use verbose mode by default throwing exceptions on NOT_FOUND errors.
113
- This means that quiet attribute is false now on new connections.
114
- * Doc fixes
115
-
116
- ## 1.1.4 / 2012-08-30
117
-
118
- * RCBC-70 return binary keys using Encoding.external value (thanks to Alex Leverington)
119
- * Switch to rbenv because RVM doesn't work with tclsh
120
- * [backport] RCBC-37 Bootstrapping using multiple nodes
121
-
122
- ## 1.1.3 / 2012-07-27
123
-
124
- * RCBC-59 Replicate flags in Bucket#cas operation
125
- * calloc -> xcalloc, free -> xfree
126
- * RCBC-64 Fix Couchbase::Bucket#dup
127
- * Make object_space GC protector per-bucket object
128
- * RCBC-60 Protect exceptions from GC
129
-
130
- ## 1.1.2 / 2012-06-05
131
-
132
- * Upgrade libcouchbase dependency up to 1.0.4
133
- * Backport debugger patch
134
-
135
- ## 1.1.1 / 2012-03-19
136
-
137
- * Allow to force format for get operation (thanks to Darian Shimy)
138
- * Use all arguments if receiver arity is -1 (couchbase_ext.c)
139
- * Doc fixes
140
-
141
- ## 1.1.0 / 2012-03-07
142
-
143
- * Timeout support (CCBC-20)
144
- * Implement disconnect/reconnect interface
145
- * Improve error handling code
146
- * Use URI parser from stdlib
147
- * Improve the documentation and the tests
148
- * Remove direct dependency on libevent
149
- * Remove sasl dependency
150
- * Fix storing empty line and nil
151
- * Allow running tests on real cluster
152
- * Cross-build for windows
153
- * Keep connections in thread local storage
154
- * Add block execution time to timeout
155
- * Implement VERSION command
156
- * Configure Travis-CI
157
-
158
- ## 1.0.0 / 2011-12-23
159
-
160
- * Implement all operations using libcouchbase as backend
161
- * Remove views code. It will be re-added in 1.1 version
162
-
163
- ## 0.9.8 / 2011-12-16
164
-
165
- * Fix RCBC-10: It was impossible to store data in non-default buckets
166
-
167
- ## 0.9.7 / 2011-10-04
168
-
169
- * Fix design doc removing
170
- * Fix 'set' method signature: add missing options argument
171
- * Rename gem to 'couchbase' for easy of use. The github project still
172
- is 'couchbase-ruby-client'
173
-
174
- ## 0.9.6 / 2011-10-04
175
-
176
- * Fix bug with decoding multiget result
177
- * Allow create design documents from IO and String
178
- * Rename json format to document, and describe possible formats
179
- * Allow to handle errors in view result stream
180
- * Remove dependency on libyajl library: it bundled with yaji now
181
- * Update rake tasks: create zip- and tar-balls
182
-
183
- ## 0.9.5 / 2011-08-24
184
-
185
- * Update installation notes in README
186
-
187
- ## 0.9.4 / 2011-08-24
188
-
189
- * Use streaming json parser to iterate over view results
190
- * Update memcached gem dependency to v1.3
191
- * Proxy TOUCH command to memcached client
192
- * Fix minor bugs in RestClient and Document classes
193
- * Disable CouchDB API for nodes without 'couchApiBase' key provided.
194
- * Fix bug with unicode parsing in config listener
195
- * Add more unit tests
196
-
197
- ## 0.9.3 / 2011-07-29
198
-
199
- * Use Latch (via Mutex and ConditionVariable) to wait until initial
200
- setup will be finished.
201
- * Update prefix for development views (from '$dev_' to 'dev_')
202
-
203
- ## 0.9.2 / 2011-07-29
204
-
205
- * Use zero TTL by default to store records forever
206
- * Update documentation
207
- * Sleep if setup isn't done
208
-
209
- ## 0.9.1 / 2011-07-25
210
-
211
- * Minor bugfix for RestClient initialization
212
-
213
- ## 0.9.0 / 2011-07-25
214
-
215
- * Initial public release