1/*- 2 * See the file LICENSE for redistribution information. 3 * 4 * Copyright (c) 2009 Oracle. All rights reserved. 5 * 6 */ 7using System; 8using System.Collections.Generic; 9using System.Text; 10 11namespace BerkeleyDB { 12 /// <summary> 13 /// Statistical information about a BTreeDatabase 14 /// </summary> 15 public class BTreeStats { 16 private Internal.BTreeStatStruct st; 17 internal BTreeStats(Internal.BTreeStatStruct stats) { 18 st = stats; 19 } 20 21 /// <summary> 22 /// Duplicate pages. 23 /// </summary> 24 public uint DuplicatePages { get { return st.bt_dup_pg; } } 25 /// <summary> 26 /// Bytes free in duplicate pages. 27 /// </summary> 28 public ulong DuplicatePagesFreeBytes { get { return st.bt_dup_pgfree; } } 29 /// <summary> 30 /// Empty pages. 31 /// </summary> 32 public uint EmptyPages { get { return st.bt_empty_pg; } } 33 /// <summary> 34 /// Pages on the free list. 35 /// </summary> 36 public uint FreePages { get { return st.bt_free; } } 37 /// <summary> 38 /// Internal pages. 39 /// </summary> 40 public uint InternalPages { get { return st.bt_int_pg; } } 41 /// <summary> 42 /// Bytes free in internal pages. 43 /// </summary> 44 public ulong InternalPagesFreeBytes { get { return st.bt_int_pgfree; } } 45 /// <summary> 46 /// Leaf pages. 47 /// </summary> 48 public uint LeafPages { get { return st.bt_leaf_pg; } } 49 /// <summary> 50 /// Bytes free in leaf pages. 51 /// </summary> 52 public ulong LeafPagesFreeBytes { get { return st.bt_leaf_pgfree; } } 53 /// <summary> 54 /// Tree levels. 55 /// </summary> 56 public uint Levels { get { return st.bt_levels; } } 57 /// <summary> 58 /// Magic number. 59 /// </summary> 60 public uint MagicNumber { get { return st.bt_magic; } } 61 /// <summary> 62 /// Metadata flags. 63 /// </summary> 64 public uint MetadataFlags { get { return st.bt_metaflags; } } 65 /// <summary> 66 /// Minkey value. 67 /// </summary> 68 public uint MinKey { get { return st.bt_minkey; } } 69 /// <summary> 70 /// Number of data items. 71 /// </summary> 72 public uint nData { get { return st.bt_ndata; } } 73 /// <summary> 74 /// Number of unique keys. 75 /// </summary> 76 public uint nKeys { get { return st.bt_nkeys; } } 77 /// <summary> 78 /// Page count. 79 /// </summary> 80 public uint nPages { get { return st.bt_pagecnt; } } 81 /// <summary> 82 /// Overflow pages. 83 /// </summary> 84 public uint OverflowPages { get { return st.bt_over_pg; } } 85 /// <summary> 86 /// Bytes free in overflow pages. 87 /// </summary> 88 public ulong OverflowPagesFreeBytes { get { return st.bt_over_pgfree; } } 89 /// <summary> 90 /// Page size. 91 /// </summary> 92 public uint PageSize { get { return st.bt_pagesize; } } 93 /// <summary> 94 /// Version number. 95 /// </summary> 96 public uint Version { get { return st.bt_version; } } 97 } 98} 99