Imported Upstream version 5.3.21
[platform/upstream/libdb.git] / lang / csharp / src / RecnoStats.cs
1 /*-
2  * See the file LICENSE for redistribution information.
3  *
4  * Copyright (c) 2009, 2012 Oracle and/or its affiliates.  All rights reserved.
5  *
6  */
7 using System;
8 using System.Collections.Generic;
9 using System.Text;
10
11 namespace 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 }