Definition at line 25 of file ColumnIndex.cs.
Deveel.Data.Index.ColumnIndex.ColumnIndex |
( |
ITable |
table, |
|
|
int |
columnOffset |
|
) |
| |
|
inlineprotected |
Deveel.Data.Index.ColumnIndex.~ColumnIndex |
( |
| ) |
|
|
inlineprivate |
static Deveel.Data.Index.ColumnIndex.ColumnIndex |
( |
| ) |
|
|
inlinestaticprivate |
Definition at line 38 of file ColumnIndex.cs.
41 OneList =
new BlockIndex<int>();
static readonly BlockIndex< int > OneList
static readonly BlockIndex< int > EmptyList
abstract ColumnIndex Deveel.Data.Index.ColumnIndex.Copy |
( |
ITable |
table, |
|
|
bool |
readOnly |
|
) |
| |
|
pure virtual |
virtual ColumnIndex Deveel.Data.Index.ColumnIndex.CreateSubset |
( |
ITable |
table, |
|
|
int |
column, |
|
|
IEnumerable< int > |
rows |
|
) |
| |
|
inlineprotectedvirtual |
Definition at line 288 of file ColumnIndex.cs.
289 var index =
new InsertSearchIndex(table, column, rows);
290 index.RecordUid =
false;
void Deveel.Data.Index.ColumnIndex.Dispose |
( |
| ) |
|
|
inline |
virtual void Deveel.Data.Index.ColumnIndex.Dispose |
( |
bool |
disposing | ) |
|
|
inlineprotectedvirtual |
virtual ColumnIndex Deveel.Data.Index.ColumnIndex.GetSubset |
( |
ITable |
subsetTable, |
|
|
int |
subsetColumn |
|
) |
| |
|
inlinevirtual |
Definition at line 263 of file ColumnIndex.cs.
264 if (subsetTable == null)
265 throw new ArgumentNullException(
"subsetTable");
268 List<int> rowSet =
new List<int>(subsetTable.
RowCount);
269 var e = subsetTable.GetEnumerator();
270 while (e.MoveNext()) {
271 rowSet.Add(e.Current.RowId.RowNumber);
274 var rows = subsetTable.ResolveRows(subsetColumn, rowSet,
Table);
278 var newSet =
Order(rows);
281 if (newSet.Count != rowSet.Count) {
282 throw new Exception(
"Internal sort error in finding sub-set.");
IIndex< int > Order(IEnumerable< int > rows)
int RowCount
Gets the total number of rows in the table.
virtual ColumnIndex CreateSubset(ITable table, int column, IEnumerable< int > rows)
DataObject Deveel.Data.Index.ColumnIndex.GetValue |
( |
long |
row | ) |
|
|
inlineprotected |
Definition at line 60 of file ColumnIndex.cs.
abstract DataObject GetValue(long rowNumber, int columnOffset)
Gets a single cell within the table that is located at the given column offset and row...
abstract void Deveel.Data.Index.ColumnIndex.Insert |
( |
int |
rowNumber | ) |
|
|
pure virtual |
IIndex<int> Deveel.Data.Index.ColumnIndex.Order |
( |
IEnumerable< int > |
rows | ) |
|
|
inline |
Definition at line 78 of file ColumnIndex.cs.
79 var rowSet = rows.ToList();
82 int rowSetLength = rowSet.Count;
86 if (rowSetLength == 0)
88 if (rowSetLength == 1)
93 var newSet =
new BlockIndex<int>();
95 if (rowSetLength <= 250000) {
100 var subsetList =
new List<DataObject>(rowSetLength);
101 foreach (
long row
in rowSet) {
106 var comparer =
new SubsetIndexComparer(subsetList.ToArray());
109 for (
int i = 0; i < rowSetLength; ++i) {
110 var cell = subsetList[i];
111 newSet.InsertSort(cell, i, comparer);
118 var comparer =
new IndexComparer(
this, rowSet);
121 for (
int i = 0; i < rowSetLength; ++i) {
123 newSet.InsertSort(cell, i, comparer);
DataObject GetValue(long row)
static readonly BlockIndex< int > OneList
static readonly BlockIndex< int > EmptyList
abstract void Deveel.Data.Index.ColumnIndex.Remove |
( |
int |
rowNumber | ) |
|
|
pure virtual |
virtual IEnumerable<int> Deveel.Data.Index.ColumnIndex.SearchText |
( |
DataObject |
value | ) |
|
|
inlineprotectedvirtual |
Definition at line 259 of file ColumnIndex.cs.
260 throw new NotSupportedException(
"The column index does not support text search.");
virtual IEnumerable<int> Deveel.Data.Index.ColumnIndex.SelectAll |
( |
| ) |
|
|
inlinevirtual |
IEnumerable<int> Deveel.Data.Index.ColumnIndex.SelectAllNonNull |
( |
| ) |
|
|
inline |
Definition at line 174 of file ColumnIndex.cs.
IEnumerable< int > SelectRange(IndexRange range)
RangeFieldOffset
The absolute offset of a field in a range of a selection.
Definition at line 240 of file ColumnIndex.cs.
241 if (ob1.IsNull || ob2.IsNull)
242 return new List<int>(0);
IEnumerable< int > SelectRange(IndexRange range)
RangeFieldOffset
The absolute offset of a field in a range of a selection.
IEnumerable<int> Deveel.Data.Index.ColumnIndex.SelectEqual |
( |
DataObject |
ob | ) |
|
|
inline |
Definition at line 180 of file ColumnIndex.cs.
182 return new List<int>(0);
IEnumerable< int > SelectRange(IndexRange range)
RangeFieldOffset
The absolute offset of a field in a range of a selection.
virtual IEnumerable<int> Deveel.Data.Index.ColumnIndex.SelectFirst |
( |
| ) |
|
|
inlinevirtual |
Definition at line 142 of file ColumnIndex.cs.
IEnumerable< int > SelectRange(IndexRange range)
RangeFieldOffset
The absolute offset of a field in a range of a selection.
IEnumerable<int> Deveel.Data.Index.ColumnIndex.SelectGreater |
( |
DataObject |
ob | ) |
|
|
inline |
Definition at line 204 of file ColumnIndex.cs.
206 return new List<int>(0);
IEnumerable< int > SelectRange(IndexRange range)
RangeFieldOffset
The absolute offset of a field in a range of a selection.
IEnumerable<int> Deveel.Data.Index.ColumnIndex.SelectGreaterOrEqual |
( |
DataObject |
ob | ) |
|
|
inline |
Definition at line 222 of file ColumnIndex.cs.
224 return new List<int>(0);
IEnumerable< int > SelectRange(IndexRange range)
RangeFieldOffset
The absolute offset of a field in a range of a selection.
IEnumerable<int> Deveel.Data.Index.ColumnIndex.SelectLast |
( |
| ) |
|
|
inline |
Definition at line 158 of file ColumnIndex.cs.
IEnumerable< int > SelectRange(IndexRange range)
RangeFieldOffset
The absolute offset of a field in a range of a selection.
IEnumerable<int> Deveel.Data.Index.ColumnIndex.SelectLess |
( |
DataObject |
ob | ) |
|
|
inline |
Definition at line 213 of file ColumnIndex.cs.
215 return new List<int>(0);
IEnumerable< int > SelectRange(IndexRange range)
RangeFieldOffset
The absolute offset of a field in a range of a selection.
IEnumerable<int> Deveel.Data.Index.ColumnIndex.SelectLessOrEqual |
( |
DataObject |
ob | ) |
|
|
inline |
Definition at line 231 of file ColumnIndex.cs.
233 return new List<int>(0);
IEnumerable< int > SelectRange(IndexRange range)
RangeFieldOffset
The absolute offset of a field in a range of a selection.
IEnumerable<int> Deveel.Data.Index.ColumnIndex.SelectLike |
( |
DataObject |
value | ) |
|
|
inline |
Definition at line 249 of file ColumnIndex.cs.
251 return new List<int>(0);
IEnumerable< int > SelectEqual(DataObject ob)
virtual IEnumerable< int > SearchText(DataObject value)
virtual bool HandlesTextSearch
IEnumerable<int> Deveel.Data.Index.ColumnIndex.SelectNotEqual |
( |
DataObject |
ob | ) |
|
|
inline |
Definition at line 189 of file ColumnIndex.cs.
191 return new List<int>(0);
IEnumerable< int > SelectRange(IndexRange range)
RangeFieldOffset
The absolute offset of a field in a range of a selection.
IEnumerable<int> Deveel.Data.Index.ColumnIndex.SelectNotFirst |
( |
| ) |
|
|
inline |
Definition at line 150 of file ColumnIndex.cs.
IEnumerable< int > SelectRange(IndexRange range)
RangeFieldOffset
The absolute offset of a field in a range of a selection.
IEnumerable<int> Deveel.Data.Index.ColumnIndex.SelectNotLast |
( |
| ) |
|
|
inline |
summary> Selects all values in the column that are not null. /summary> returns>
Definition at line 164 of file ColumnIndex.cs.
IEnumerable<int> Deveel.Data.Index.ColumnIndex.SelectRange |
( |
IndexRange |
range | ) |
|
|
inline |
Definition at line 130 of file ColumnIndex.cs.
IEnumerable< int > SelectRange(IndexRange range)
abstract IEnumerable<int> Deveel.Data.Index.ColumnIndex.SelectRange |
( |
IndexRange[] |
ranges | ) |
|
|
pure virtual |
readonly BlockIndex<int> Deveel.Data.Index.ColumnIndex.EmptyList |
|
staticprivate |
readonly BlockIndex<int> Deveel.Data.Index.ColumnIndex.OneList |
|
staticprivate |
int Deveel.Data.Index.ColumnIndex.ColumnOffset |
|
getprivate set |
virtual bool Deveel.Data.Index.ColumnIndex.HandlesTextSearch |
|
get |
abstract string Deveel.Data.Index.ColumnIndex.IndexType |
|
get |
virtual bool Deveel.Data.Index.ColumnIndex.IsReadOnly |
|
get |
ITable Deveel.Data.Index.ColumnIndex.Table |
|
getprivate set |
The documentation for this class was generated from the following file:
- /var/calculate/remote/distfiles/egit-src/deveeldb.git/src/deveeldb/Deveel.Data.Index/ColumnIndex.cs