2 * See the file LICENSE for redistribution information.
4 * Copyright (c) 2009, 2012 Oracle and/or its affiliates. All rights reserved.
8 using System.Collections.Generic;
11 namespace BerkeleyDB {
13 /// Statistical information about a RecnoDatabase
15 public class RecnoStats {
16 private Internal.BTreeStatStruct st;
17 internal RecnoStats(Internal.BTreeStatStruct stats) {
24 public uint MagicNumber { get { return st.bt_magic; } }
28 public uint Version { get { return st.bt_version; } }
32 public uint MetadataFlags { get { return st.bt_metaflags; } }
34 /// Number of unique keys.
36 public uint nKeys { get { return st.bt_nkeys; } }
38 /// Number of data items.
40 public uint nData { get { return st.bt_ndata; } }
44 public uint nPages { get { return st.bt_pagecnt; } }
48 public uint PageSize { get { return st.bt_pagesize; } }
52 public uint MinKey { get { return st.bt_minkey; } }
54 /// Fixed-length record length.
56 public uint RecordLength { get { return st.bt_re_len; } }
58 /// Fixed-length record pad.
60 public uint RecordPadByte { get { return st.bt_re_pad; } }
64 public uint Levels { get { return st.bt_levels; } }
68 public uint InternalPages { get { return st.bt_int_pg; } }
72 public uint LeafPages { get { return st.bt_leaf_pg; } }
76 public uint DuplicatePages { get { return st.bt_dup_pg; } }
80 public uint OverflowPages { get { return st.bt_over_pg; } }
84 public uint EmptyPages { get { return st.bt_empty_pg; } }
86 /// Pages on the free list.
88 public uint FreePages { get { return st.bt_free; } }
90 /// Bytes free in internal pages.
92 public ulong InternalPagesFreeBytes { get { return st.bt_int_pgfree; } }
94 /// Bytes free in leaf pages.
96 public ulong LeafPagesFreeBytes { get { return st.bt_leaf_pgfree; } }
98 /// Bytes free in duplicate pages.
100 public ulong DuplicatePagesFreeBytes { get { return st.bt_dup_pgfree; } }
102 /// Bytes free in overflow pages.
104 public ulong OverflowPagesFreeBytes { get { return st.bt_over_pgfree; } }