summaryrefslogtreecommitdiff
path: root/src/couchdb/couch_doc.erl
AgeCommit message (Collapse)Author
2011-10-06fix shadowing warning.Robert Newson
2011-09-28Rest of the fix for COUCHDB-1265Paul Joseph Davis
As a follow up to COUCHDB-1265 I was missing the fact that after the insertion of a new update_seq into an internal node it is quite possible that a compaction runs before the doc is updated again. This is important because compaction removes information of the largest update seq from the tree itself. The fix is simple to include the update_seq from the #full_doc_info{} record when calculating #doc_info.high_seq. The way to think of this is that it's the maximum value from all known values for the update sequence which can be defined as all values known in the tree or in the full_doc_info record. Backport of r1176701 from trunk git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1176704 13f79535-47bb-0310-9956-ffa450edef68
2011-09-02Fixes COUCHDB-1265Paul Joseph Davis
Backport of 1164350 from trunk. Slightly modified for an export declaration conflict and removing a clause that only applies to trunk. git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1164351 13f79535-47bb-0310-9956-ffa450edef68
2011-06-12Backport revision 1129897 from trunkFilipe David Borba Manana
Fixes to the doc PUT multipart API Don't hold the connection forever if the document is rejected by a validate_doc_update function. The solution is to discard all the attachments' data if the document was rejected. git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1134942 13f79535-47bb-0310-9956-ffa450edef68
2011-05-28COUCHDB-1173 - pass md5 in stub so replication verifies the transfer.Robert Newson
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1128698 13f79535-47bb-0310-9956-ffa450edef68
2011-05-23Merged revision 1126426 from trunkFilipe David Borba Manana
Fix timing issues in the doc PUT multipart/related API Two issues were present: 1) the handler replied to the request before the multipart parser consumed all the request's data, causing a subsequent request in the same connection to consume the remaining data from the multipart/related request; 2) the data function passed to the multipart parser could consume, and discard, all or part of the data from a subsequent request in the same connection. This closes COUCHDB-1174. git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1126428 13f79535-47bb-0310-9956-ffa450edef68
2011-01-28Validate doc ids that come from a PUT to a URL.Paul Joseph Davis
Backprot of 1064417 from trunk. git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1064421 13f79535-47bb-0310-9956-ffa450edef68
2010-11-24Merged revision 1038665 from trunk:Filipe David Borba Manana
Replicator DB: added _replication_state_time (a unix timestamp value) to replication documents. git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1038666 13f79535-47bb-0310-9956-ffa450edef68
2010-11-23Merged revision 1038172 from trunk:Filipe David Borba Manana
Replicator DB: added underscore prefix to the replication document fields that are meant to to be set/updated only by the replicator. This makes it more clear to end users that those fields are meant to be used internally by CouchDB. git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1038173 13f79535-47bb-0310-9956-ffa450edef68
2010-09-30Removing ?getv macros.Filipe David Borba Manana
With OTP releases up to R13B03 it's not possible to define a 2 macro functions with the same name and different arities. (Only allowed in R13B04 and R14). git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1003025 13f79535-47bb-0310-9956-ffa450edef68
2010-09-27Replacing calls to couch_util:get_value with ?getvFilipe David Borba Manana
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1001879 13f79535-47bb-0310-9956-ffa450edef68
2010-08-22COUCHDB-864 - set SAVE_RECV flag in mochiweb request to allow connection ↵Robert Newson
keep-alive between multipart/related PUT's. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@987898 13f79535-47bb-0310-9956-ffa450edef68
2010-08-18COUCHDB-161 - support Range header for attachments.Robert Newson
Attachments are upgraded to support the Range header on compaction. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@986629 13f79535-47bb-0310-9956-ffa450edef68
2010-07-19remove unguarded atom creation to prevent DOS attacks. closes COUCHDB-829John Christopher Anderson
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@965667 13f79535-47bb-0310-9956-ffa450edef68
2010-07-19Fix possible bad match error - WriteFun might not return the atom 'ok'.Filipe David Borba Manana
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@965434 13f79535-47bb-0310-9956-ffa450edef68
2010-07-13show the complete document body even when the document is deleted (Couch ↵John Christopher Anderson
lets you store data with a delete but did not render it to JSON) git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@963725 13f79535-47bb-0310-9956-ffa450edef68
2010-06-25Added checking to ensure when a revpos is sent with a stub, it's correct.Damien F. Katz
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@957800 13f79535-47bb-0310-9956-ffa450edef68
2010-06-24don't require a revpos attribute for stubs. closes COUCHDB-809 thanks Caleb LandJohn Christopher Anderson
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@957653 13f79535-47bb-0310-9956-ffa450edef68
2010-06-10Code mods to support streaming attachment replication.Damien F. Katz
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@953499 13f79535-47bb-0310-9956-ffa450edef68
2010-06-03More work to allow for streaming attachment replication.Damien F. Katz
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@950865 13f79535-47bb-0310-9956-ffa450edef68
2010-06-02trailing whitespace pedantryJan Lehnardt
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@950545 13f79535-47bb-0310-9956-ffa450edef68
2010-05-20Refactoring of various internal APIs, particularly those dealing with ↵Damien F. Katz
replicating documents with attachments. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@946803 13f79535-47bb-0310-9956-ffa450edef68
2010-05-04use keysearch BIF to search ejson props. Closes COUCHDB-747Adam Kocoloski
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@940708 13f79535-47bb-0310-9956-ffa450edef68
2010-04-15refactor att compression to allow more encodings. thanks fdmanana. COUCHDB-710Adam Kocoloski
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@934475 13f79535-47bb-0310-9956-ffa450edef68
2010-03-05efficient attachment replication. Patch by Filipe Manana. Closes COUCHDB-639Adam Kocoloski
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@919469 13f79535-47bb-0310-9956-ffa450edef68
2010-03-05use OTP base64 lib. Patch by Filipe Manana. Closes COUCHDB-681Adam Kocoloski
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@919449 13f79535-47bb-0310-9956-ffa450edef68
2010-02-01fix unused variable warnings, remove unused code.Jan Lehnardt
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@905438 13f79535-47bb-0310-9956-ffa450edef68
2010-02-01Database-level security.John Christopher Anderson
This patch builds on the DB-admins feature to store lists of database admin and reader names and roles, as well as a security object which can be used for configuration in validation functions. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@905436 13f79535-47bb-0310-9956-ffa450edef68
2010-01-29Allow storing attachments in compressed form. Closes COUCHDB-583. Thanks ↵John Christopher Anderson
Filipe Manana git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@904650 13f79535-47bb-0310-9956-ffa450edef68
2009-12-22move query server to a design-doc based protocol, closes COUCHDB-589John Christopher Anderson
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@893249 13f79535-47bb-0310-9956-ffa450edef68
2009-11-30Fix two issues for databases upgraded from 0.9.x:Jan Lehnardt
- Compaction would fail. - GET /db/doc?attachments=true would generate a 500. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@885542 13f79535-47bb-0310-9956-ffa450edef68
2009-11-21code improvements from tidier. Patch by Kostis Sagonas. COUCHDB-570Adam Kocoloski
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@882903 13f79535-47bb-0310-9956-ffa450edef68
2009-11-15Testing of incremental attachments and more testing of multipart/handling.Damien F. Katz
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@836324 13f79535-47bb-0310-9956-ffa450edef68
2009-11-14Better testing of multipart/relatedDamien F. Katz
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@836087 13f79535-47bb-0310-9956-ffa450edef68
2009-11-13Initial check-in of APIs for multiple/related supported and incremental ↵Damien F. Katz
replication of only changed attachments. Needs more far more testing and to be hooked up the replicator. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@835981 13f79535-47bb-0310-9956-ffa450edef68
2009-07-17Deterministic revids, MD5 checking of documents, added tracking of rev when ↵Damien F. Katz
an attachment is edited to allow attachment level replication. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@795232 13f79535-47bb-0310-9956-ffa450edef68
2009-07-14wheeeeeeeeNoah Slater
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@794057 13f79535-47bb-0310-9956-ffa450edef68
2009-07-09fix and test for scrambling of large inline attachmentsAdam Kocoloski
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@792618 13f79535-47bb-0310-9956-ffa450edef68
2009-07-06trimmed trailing whitespaceNoah Slater
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@791350 13f79535-47bb-0310-9956-ffa450edef68
2009-05-26ignore _local_seq when included in a saved documentJohn Christopher Anderson
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@778890 13f79535-47bb-0310-9956-ffa450edef68
2009-05-25Merging new tail append storage into trunk. Upgrades are automatic, once ↵Damien F. Katz
opened by this version old versions of CouchDB will not be able to open the files. As a precaution, you should back-up your production databases before upgrading. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@778485 13f79535-47bb-0310-9956-ffa450edef68
2009-05-23added an design doc option so that doc._local_seq can be available in the ↵John Christopher Anderson
map view. Closes COUCHDB-346 git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@777757 13f79535-47bb-0310-9956-ffa450edef68
2009-05-09Check for invalid document members.Paul Joseph Davis
Removes a guard that only checked for fields with integer values. Adds tests to basics.js git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@773260 13f79535-47bb-0310-9956-ffa450edef68
2009-05-06First cut at _changes api. Update the by_id and by_seq indexes to contain ↵Damien F. Katz
update seq numbers and pointers to bodies on disk, for use in the _changes api. This is a new file version, but the code can continue to serve the old 0.9 version without problems, though certain features in the _changes api will not be able to work. Upgrade to new file version (from 1 to 2) by compacting the file. Also fixed bugs with how the stats api tracks open databases. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@772406 13f79535-47bb-0310-9956-ffa450edef68
2009-04-29Accidentally checked in a debug statement.Paul Joseph Davis
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@769804 13f79535-47bb-0310-9956-ffa450edef68
2009-04-27Resolves COUCHDB-332 Proper errors for invalid docids.Paul Joseph Davis
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@769127 13f79535-47bb-0310-9956-ffa450edef68
2009-03-16sensible error message if doc._rev is null or a numberJohn Christopher Anderson
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@755023 13f79535-47bb-0310-9956-ffa450edef68
2009-03-15error message on invalid rev format.John Christopher Anderson
another replication test. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@754563 13f79535-47bb-0310-9956-ffa450edef68
2009-03-13Commit Damien's rep_security branch to trunk. John Christopher Anderson
Changes bulk_docs conflict checking. Breaks file format, see mailing list for data upgrade procedure, or http://wiki.apache.org/couchdb/Breaking_changes git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@753448 13f79535-47bb-0310-9956-ffa450edef68
2009-03-07rewrite replicator using OTP behavioursAdam Kocoloski
- only one instance of given source->target runs at a time - supervisor restarts replications that terminate abnormally - pull repl. streams attachments directly to disk - improved memory utilization - temporarily rollback parallel async doc GETs during pull rep. - replication updates show up in Futon Status window git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@751305 13f79535-47bb-0310-9956-ffa450edef68