diff options
author | John Christopher Anderson <jchris@apache.org> | 2009-07-04 15:47:47 +0000 |
---|---|---|
committer | John Christopher Anderson <jchris@apache.org> | 2009-07-04 15:47:47 +0000 |
commit | f6fd760c17cb5d5d49211be4b4ff92e797e83157 (patch) | |
tree | 7b46e812de759d179898d06f9757db8b1623ea46 /src/couchdb/couch_view_updater.erl | |
parent | c25c1bd826273c9ad4d1c506bd33f34bf8502056 (diff) |
Name view index files by their function hashes for no downtime deploys. 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
Diffstat (limited to 'src/couchdb/couch_view_updater.erl')
-rw-r--r-- | src/couchdb/couch_view_updater.erl | 20 |
1 files changed, 0 insertions, 20 deletions
diff --git a/src/couchdb/couch_view_updater.erl b/src/couchdb/couch_view_updater.erl index 3c4c9108..11dfb544 100644 --- a/src/couchdb/couch_view_updater.erl +++ b/src/couchdb/couch_view_updater.erl @@ -106,26 +106,6 @@ process_doc(Db, DocInfo, {Docs, #group{sig=Sig,name=GroupId,design_options=Desig [conflicts, deleted_conflicts] end, case {IncludeDesign, DocId} of - {_, GroupId} -> - % uh oh. this is the design doc with our definitions. See if - % anything in the definition changed. - case couch_db:open_doc_int(Db, DocInfo, DocOpts) of - {ok, Doc} -> - case couch_view_group:design_doc_to_view_group(Doc) of - #group{sig=Sig} -> - % The same md5 signature, keep on computing - case IncludeDesign of - true -> - {[Doc | Docs], Group, ViewKVs, DocIdViewIdKeys}; - _ -> - {Docs, Group, ViewKVs, DocIdViewIdKeys} - end; - _ -> - exit(reset) - end; - {not_found, missing} -> - exit(reset) - end; {false, <<?DESIGN_DOC_PREFIX, _/binary>>} -> % we skip design docs {Docs, Group, ViewKVs, DocIdViewIdKeys}; _ -> |