File: ArrayDesc.cs

package info (click to toggle)
mono 2.6.7-5.1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 327,344 kB
  • ctags: 413,649
  • sloc: cs: 2,471,883; xml: 1,768,594; ansic: 350,665; sh: 13,644; makefile: 8,640; perl: 1,784; asm: 717; cpp: 209; python: 146; sql: 81; sed: 16
file content (125 lines) | stat: -rw-r--r-- 2,566 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
/*
 *  Firebird ADO.NET Data provider for .NET and Mono 
 * 
 *     The contents of this file are subject to the Initial 
 *     Developer's Public License Version 1.0 (the "License"); 
 *     you may not use this file except in compliance with the 
 *     License. You may obtain a copy of the License at 
 *     http://www.firebirdsql.org/index.php?op=doc&id=idpl
 *
 *     Software distributed under the License is distributed on 
 *     an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either 
 *     express or implied.  See the License for the specific 
 *     language governing rights and limitations under the License.
 * 
 *  Copyright (c) 2002, 2005 Carlos Guzman Alvarez
 *  All Rights Reserved.
 */

using System;
using System.Runtime.InteropServices;

namespace FirebirdSql.Data.Common
{
	internal struct ArrayDesc
	{
		#region Fields

		private byte	dataType;
		private short	scale;
		private short	length;
		private string	fieldName;
		private string	relationName;
		private short	dimensions;
		private short	flags;
		private ArrayBound[] bounds;

		#endregion

		#region Properties

		public byte DataType
		{
			get { return this.dataType; }
			set { this.dataType = value; }
		}

		// Scale for numeric datatypes
		public short Scale
		{
			get { return this.scale; }
			set { this.scale = value; }
		}

		// Legth in bytes of each array element
		public short Length
		{
			get { return this.length; }
			set { this.length = value; }
		}

		// Column name - 32
		public string FieldName
		{
			get { return this.fieldName; }
			set { this.fieldName = value; }
		}

		// Table name -32
		public string RelationName
		{
			get { return this.relationName; }
			set { this.relationName = value; }
		}

		// Number of array dimensions 
		public short Dimensions
		{
			get { return this.dimensions; }
			set { this.dimensions = value; }
		}

		// Specifies wheter array is to be accesed in
		// row mayor or column-mayor order
		public short Flags
		{
			get { return this.flags; }
			set { this.flags = value; }
		}

		// Lower and upper bounds for each dimension - 16
		public ArrayBound[] Bounds
		{
			get { return this.bounds; }
			set { this.bounds = value; }
		}

		#endregion
	}

	internal struct ArrayBound
	{
		#region Fields

		private int lowerBound;
		private int upperBound;

		#endregion

		#region Properties

		public int LowerBound
		{
			get { return this.lowerBound; }
			set { this.lowerBound = value; }
		}

		public int UpperBound
		{
			get { return this.upperBound; }
			set { this.upperBound = value; }
		}

		#endregion
	}
}