summaryrefslogtreecommitdiff
path: root/src/couchdb/couch_db.erl
AgeCommit message (Collapse)Author
2010-03-15Made the opening of databases asynchronous, so that requests to open ↵Damien F. Katz
databases that are already in the open database cache do not have to wait on the file system. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@923456 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-04ensure full commit when the security object is updatedJohn Christopher Anderson
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@918855 13f79535-47bb-0310-9956-ffa450edef68
2010-03-04reverting damien's latest commit until we can figure out why it's causing ↵John Christopher Anderson
failures git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@918834 13f79535-47bb-0310-9956-ffa450edef68
2010-03-04Changed process tree shutdown to be synchronous, to eliminate spurious test ↵Damien F. Katz
failures caused by processes not shutdown fast enough or at the wrong time. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@918805 13f79535-47bb-0310-9956-ffa450edef68
2010-02-24replicator and view generator can skip check_is_reader when opening database ↵John Christopher Anderson
files git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@915827 13f79535-47bb-0310-9956-ffa450edef68
2010-02-12move from _admins / _readers / _security to just a single _security objectJohn Christopher Anderson
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@909247 13f79535-47bb-0310-9956-ffa450edef68
2010-02-03error message on bad security objectJohn Christopher Anderson
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@906140 13f79535-47bb-0310-9956-ffa450edef68
2010-02-03enhance reader and admin listsJohn Christopher Anderson
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@906138 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-02-01removed unused code. Patch by Robert Dionne. Closes COUCHDB-581Jan Lehnardt
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@905429 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-16Provide Content-MD5 header support for attachments.Paul Joseph Davis
Fixes COUCHDB-558. Thanks to Filipe Manana we now have checks for attachment transfer integrity using the Content-MD5 header (or trailer). Use of this integrity check is triggered by specifying a Content-MD5 header in your request with a value that is a base64 encoded md5. For requests that are using a chunked Transfer-Encoding it is also possible to use a trailer so that the Content-MD5 doesn't need to be known before transfer. This works by specifying a header "Trailer: Content-MD5" and then in the final chunk (the one with a size of zero) you can specify a Content-MD5 with exactly the same format as in the request headers. See the ETap test 130-attachments-md5.t for explicit examples of the request messages. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@891077 13f79535-47bb-0310-9956-ffa450edef68
2009-11-23Fix and tests for COUCHDB-292Damien F. Katz
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@883494 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-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-11-03Added batching of multiple updating requests, to improve throughput with ↵Damien F. Katz
many writers. Also removed the couch_batch_save module, now batch requests are simply saved async as immediately, batching with outhr updates if possible. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@832550 13f79535-47bb-0310-9956-ffa450edef68
2009-09-14View refactoring and addition of raw collationoption. Significant ↵Damien F. Katz
performance improvements in view indexer. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@814893 13f79535-47bb-0310-9956-ffa450edef68
2009-09-14removed _all_docs_by_seq in favor of _changesJohn Christopher Anderson
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@814778 13f79535-47bb-0310-9956-ffa450edef68
2009-09-11Refactoring of endkey code in views and btrees. End key functionaility is ↵Damien F. Katz
now handled inside the btree code, simplfying calling code and making it trivial to add new collation options git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@814078 13f79535-47bb-0310-9956-ffa450edef68
2009-08-15delayed commits are now a config option, off by default. Closes COUCHDB-449Adam Kocoloski
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@804427 13f79535-47bb-0310-9956-ffa450edef68
2009-07-29Fix for COUCHDB-434. Only reassign previous revid inside the updater process.Damien F. Katz
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@799093 13f79535-47bb-0310-9956-ffa450edef68
2009-07-20Initial checkin of _changes filters. The prime weak-spot for this approach ↵John Christopher Anderson
is that it maintains an OS-process per connected filtered _changes consumer. I'm pretty sure we'll be able to work around this without changing the API, but it'll involve a lot of OS-process bookkeeping. Those enhancements should generally improve show & list performance as well. Punting on them for now, first wanted to get _changes filters implemented so people could give feedback. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@795687 13f79535-47bb-0310-9956-ffa450edef68
2009-07-17MD5 term checking by using leading bit in 32 bit length to indicate MD5 ↵Damien F. Katz
presence. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@795277 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-14added licence check, and licence.skipNoah Slater
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@794030 13f79535-47bb-0310-9956-ffa450edef68
2009-07-07fix deleted_conflicts qs parameterAdam Kocoloski
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@791684 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-07-04Name view index files by their function hashes for no downtime deploys. ↵John Christopher Anderson
Closes COUCHDB-218 Adds ability to switch view indexes on the fly by building the index from a "staging" design doc, and then COPYing the staging doc to the production doc's id. Since indexes are referenced by view definition, the new version of the production design doc will point immediately to the index files already built in staging. Please use and give feedback. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@791140 13f79535-47bb-0310-9956-ffa450edef68
2009-07-03update check_bin_length since chunked response bug is fixedAdam Kocoloski
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@790773 13f79535-47bb-0310-9956-ffa450edef68
2009-05-29misapplied Antony's workaround for extra bytes in r775724Adam Kocoloski
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@779839 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-17work around ibrowse giving response chunks too many bytes. Thanks Antony.Adam Kocoloski
Initially committed on the 0.9.x branch by accident in 775634. We want to include this in 0.9.1 anyway, though, so shouldn't ultimately be a problem. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@775724 13f79535-47bb-0310-9956-ffa450edef68
2009-05-17Fixes COUCHDB-41Paul Joseph Davis
When a database doesn't exist, it now returns: {"error": "not_found", "reason": "no_db_file"} git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@775577 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-05-04hinting to reduce sparseness in chunked attachment putsJohn Christopher Anderson
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@771472 13f79535-47bb-0310-9956-ffa450edef68
2009-04-27Fix and test for COUCHDB-334 where a database with delayed commits pending ↵Damien F. Katz
is considered idle, and subject to losing changes when shutdown git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@769109 13f79535-47bb-0310-9956-ffa450edef68
2009-04-11refactor: extract method from doc_flush_binaries. add with_stream/2 to ↵John Christopher Anderson
handle automatically opening and closing binary streams. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@764257 13f79535-47bb-0310-9956-ffa450edef68
2009-04-10Fixes for leaked file handles, with test.Damien F. Katz
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@763858 13f79535-47bb-0310-9956-ffa450edef68
2009-04-09Fix for attachment sparseness bug COUCHDB-220 by giving each attachment it's ↵Damien F. Katz
own stream and calling set_min_buffer instead of ensure_buffer. Also fixed spurious couch_file crash messages by putting the statistics decrement code into a seperate monitoring process. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@763816 13f79535-47bb-0310-9956-ffa450edef68
2009-03-24Fix for crash when compacting an empty databaseDamien F. Katz
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@758093 13f79535-47bb-0310-9956-ffa450edef68
2009-03-15fix case-miss when prep_and_validate_update is called on doc with attachment ↵John Christopher Anderson
stubs git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@754578 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-03stats metrics renamed: os_open_files -> open_os_files, database_changes -> ↵Jan Lehnardt
database_writes git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@749583 13f79535-47bb-0310-9956-ffa450edef68
2009-02-26- add descriptions to metricsJan Lehnardt
- move document_* metrics to couch_db module and merge them into database_* metrics git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@748217 13f79535-47bb-0310-9956-ffa450edef68
2009-02-17Put file ref_counting into it's own module, to make the speed of opening an ↵Damien F. Katz
already open database faster (by not waiting on file pending operations, particularly fsync). git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@745076 13f79535-47bb-0310-9956-ffa450edef68
2009-02-14enhance the Mochiweb streaming api based on feedback from Bob IppolitoJohn Christopher Anderson
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@744309 13f79535-47bb-0310-9956-ffa450edef68
2009-02-13Accept standalone attachment PUTs with Transfer-Encoding: chunked John Christopher Anderson
Includes a patch to mochiweb_request that is under review for inclusion upstream. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@743971 13f79535-47bb-0310-9956-ffa450edef68