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 RecnoDatabase 14 /// </summary> 15 public class RecnoStats { 16 private Internal.BTreeStatStruct st; 17 internal RecnoStats(Internal.BTreeStatStruct stats) { 18 st = stats; 19 } 20 21 /// <summary> 22 /// Magic number. 23 /// </summary> 24 public uint MagicNumber { get { return st.bt_magic; } } 25 /// <summary> 26 /// Version number. 27 /// </summary> 28 public uint Version { get { return st.bt_version; } } 29 /// <summary> 30 /// Metadata flags. 31 /// </summary> 32 public uint MetadataFlags { get { return st.bt_metaflags; } } 33 /// <summary> 34 /// Number of unique keys. 35 /// </summary> 36 public uint nKeys { get { return st.bt_nkeys; } } 37 /// <summary> 38 /// Number of data items. 39 /// </summary> 40 public uint nData { get { return st.bt_ndata; } } 41 /// <summary> 42 /// Page count. 43 /// </summary> 44 public uint nPages { get { return st.bt_pagecnt; } } 45 /// <summary> 46 /// Page size. 47 /// </summary> 48 public uint PageSize { get { return st.bt_pagesize; } } 49 /// <summary> 50 /// Minkey value. 51 /// </summary> 52 public uint MinKey { get { return st.bt_minkey; } } 53 /// <summary> 54 /// Fixed-length record length. 55 /// </summary> 56 public uint RecordLength { get { return st.bt_re_len; } } 57 /// <summary> 58 /// Fixed-length record pad. 59 /// </summary> 60 public uint RecordPadByte { get { return st.bt_re_pad; } } 61 /// <summary> 62 /// Tree levels. 63 /// </summary> 64 public uint Levels { get { return st.bt_levels; } } 65 /// <summary> 66 /// Internal pages. 67 /// </summary> 68 public uint InternalPages { get { return st.bt_int_pg; } } 69 /// <summary> 70 /// Leaf pages. 71 /// </summary> 72 public uint LeafPages { get { return st.bt_leaf_pg; } } 73 /// <summary> 74 /// Duplicate pages. 75 /// </summary> 76 public uint DuplicatePages { get { return st.bt_dup_pg; } } 77 /// <summary> 78 /// Overflow pages. 79 /// </summary> 80 public uint OverflowPages { get { return st.bt_over_pg; } } 81 /// <summary> 82 /// Empty pages. 83 /// </summary> 84 public uint EmptyPages { get { return st.bt_empty_pg; } } 85 /// <summary> 86 /// Pages on the free list. 87 /// </summary> 88 public uint FreePages { get { return st.bt_free; } } 89 /// <summary> 90 /// Bytes free in internal pages. 91 /// </summary> 92 public ulong InternalPagesFreeBytes { get { return st.bt_int_pgfree; } } 93 /// <summary> 94 /// Bytes free in leaf pages. 95 /// </summary> 96 public ulong LeafPagesFreeBytes { get { return st.bt_leaf_pgfree; } } 97 /// <summary> 98 /// Bytes free in duplicate pages. 99 /// </summary> 100 public ulong DuplicatePagesFreeBytes { get { return st.bt_dup_pgfree; } } 101 /// <summary> 102 /// Bytes free in overflow pages. 103 /// </summary> 104 public ulong OverflowPagesFreeBytes { get { return st.bt_over_pgfree; } } 105 } 106} 107