summaryrefslogtreecommitdiff
path: root/apps/couch/include
diff options
context:
space:
mode:
authorRobert Dionne <bob@cloudant.com>2011-04-19 12:06:37 -0400
committerAdam Kocoloski <adam@cloudant.com>2011-04-19 13:09:18 -0400
commita9410e622d84c4b6c017d16ea600e9b19e306c59 (patch)
tree6d5ff8a1a10fef103594072b50d55990ccc43607 /apps/couch/include
parent663d04f907ba0f8e23bab0eb2492c431246974fa (diff)
Track and report size of live data in DBs and views
The #full_doc_info record is extended to include the summed size of leaf revision document bodies and their attachments. Document sizes are computed on update; accurate sizes of existing databases and view groups are only available after compaction. The document size is defined to be the size of the binary representation of #doc.body. The att_len field is used for attachments; attachments that are shared by multiple revisions of a document are only counted once. The size of a view index is defined as the size of all keys, values, and reductions accessible from the current root of the tree. BugzID: 9995
Diffstat (limited to 'apps/couch/include')
-rw-r--r--apps/couch/include/couch_db.hrl9
1 files changed, 9 insertions, 0 deletions
diff --git a/apps/couch/include/couch_db.hrl b/apps/couch/include/couch_db.hrl
index b2f02cee..6b3d53a1 100644
--- a/apps/couch/include/couch_db.hrl
+++ b/apps/couch/include/couch_db.hrl
@@ -65,6 +65,7 @@
{id = <<"">>,
update_seq = 0,
deleted = false,
+ data_size = 0,
rev_tree = []
}).
@@ -298,3 +299,11 @@
set_timeout_fun,
stop_fun
}).
+
+-record(leaf, {
+ deleted,
+ ptr,
+ seq,
+ size = 0,
+ atts = []
+}).