Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
DbSchemaTable.cs
Go to the documentation of this file.
1namespace System.Data.Common;
2
3internal sealed class DbSchemaTable
4{
29
54
56
58
59 private readonly DataColumn[] _columnCache = new DataColumn[s_DBCOLUMN_NAME.Length];
60
61 private readonly bool _returnProviderSpecificTypes;
62
64
65 internal DataColumn Size => CachedDataColumn(ColumnEnum.ColumnSize);
66
68
70
72
74
76
78
80
82
84
86
88
90
92
94
95 internal DataColumn UnsortedIndex => CachedDataColumn(ColumnEnum.SchemaMappingUnsortedIndex);
96
98 {
99 get
100 {
102 {
103 return CachedDataColumn(ColumnEnum.ProviderSpecificDataType, ColumnEnum.DataType);
104 }
105 return CachedDataColumn(ColumnEnum.DataType);
106 }
107 }
108
109 internal DbSchemaTable(DataTable dataTable, bool returnProviderSpecificTypes)
110 {
111 _dataTable = dataTable;
112 _columns = dataTable.Columns;
113 _returnProviderSpecificTypes = returnProviderSpecificTypes;
114 }
115
117 {
118 return CachedDataColumn(column, column);
119 }
120
122 {
123 DataColumn dataColumn = _columnCache[(int)column];
124 if (dataColumn == null)
125 {
126 int num = _columns.IndexOf(s_DBCOLUMN_NAME[(int)column]);
127 if (-1 == num && column != column2)
128 {
129 num = _columns.IndexOf(s_DBCOLUMN_NAME[(int)column2]);
130 }
131 if (-1 != num)
132 {
133 dataColumn = _columns[num];
134 _columnCache[(int)column] = dataColumn;
135 }
136 }
137 return dataColumn;
138 }
139}
DbSchemaTable(DataTable dataTable, bool returnProviderSpecificTypes)
static readonly string[] s_DBCOLUMN_NAME
readonly DataColumnCollection _columns
readonly DataColumn[] _columnCache
DataColumn CachedDataColumn(ColumnEnum column, ColumnEnum column2)
DataColumn CachedDataColumn(ColumnEnum column)
DataColumnCollection Columns
Definition DataTable.cs:327