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 HashDatabase 14 /// </summary> 15 public class HashStats { 16 private Internal.HashStatStruct st; 17 internal HashStats(Internal.HashStatStruct stats) { 18 st = stats; 19 } 20 21 /// <summary> 22 /// Number of big key/data pages. 23 /// </summary> 24 public uint BigPages { get { return st.hash_bigpages; } } 25 /// <summary> 26 /// Bytes free on big item pages. 27 /// </summary> 28 public ulong BigPagesFreeBytes { get { return st.hash_big_bfree; } } 29 /// <summary> 30 /// Bytes free on bucket pages. 31 /// </summary> 32 public ulong BucketPagesFreeBytes { get { return st.hash_bfree; } } 33 /// <summary> 34 /// Number of dup pages. 35 /// </summary> 36 public uint DuplicatePages { get { return st.hash_dup; } } 37 /// <summary> 38 /// Bytes free on duplicate pages. 39 /// </summary> 40 public ulong DuplicatePagesFreeBytes { get { return st.hash_dup_free; } } 41 /// <summary> 42 /// Fill factor specified at create. 43 /// </summary> 44 public uint FillFactor { get { return st.hash_ffactor; } } 45 /// <summary> 46 /// Pages on the free list. 47 /// </summary> 48 public uint FreePages { get { return st.hash_free; } } 49 /// <summary> 50 /// Metadata flags. 51 /// </summary> 52 public uint MetadataFlags { get { return st.hash_metaflags; } } 53 /// <summary> 54 /// Magic number. 55 /// </summary> 56 public uint MagicNumber { get { return st.hash_magic; } } 57 /// <summary> 58 /// Number of data items. 59 /// </summary> 60 public uint nData { get { return st.hash_ndata; } } 61 /// <summary> 62 /// Number of hash buckets. 63 /// </summary> 64 public uint nHashBuckets { get { return st.hash_buckets; } } 65 /// <summary> 66 /// Number of unique keys. 67 /// </summary> 68 public uint nKeys { get { return st.hash_nkeys; } } 69 /// <summary> 70 /// Number of overflow pages. 71 /// </summary> 72 public uint OverflowPages { get { return st.hash_overflows; } } 73 /// <summary> 74 /// Bytes free on ovfl pages. 75 /// </summary> 76 public ulong OverflowPagesFreeBytes { get { return st.hash_ovfl_free; } } 77 /// <summary> 78 /// Page count. 79 /// </summary> 80 public uint nPages { get { return st.hash_pagecnt; } } 81 /// <summary> 82 /// Page size. 83 /// </summary> 84 public uint PageSize { get { return st.hash_pagesize; } } 85 /// <summary> 86 /// Version number. 87 /// </summary> 88 public uint Version { get { return st.hash_version; } } 89 90 } 91}