コード例 #1
0
        internal static RawTableInfo GetRawTableInfo(this ITable table, RawTableInfo info)
        {
            if (table is IQueryTable)
                return ((IQueryTable)table).GetRawTableInfo(info);

            throw new NotSupportedException();
        }
コード例 #2
0
ファイル: JoinedTable.cs プロジェクト: ArsenShnurkov/deveeldb
        protected override RawTableInfo GetRawTableInfo(RawTableInfo rootInfo)
        {
            var allList = new List<int>();
            int size = RowCount;
            for (int i = 0; i < size; ++i) {
                allList.Add(i);
            }

            return GetRawTableInfo(rootInfo, allList);
        }
コード例 #3
0
ファイル: JoinedTable.cs プロジェクト: ArsenShnurkov/deveeldb
        private RawTableInfo GetRawTableInfo(RawTableInfo info, IEnumerable<int> rows)
        {
            if (this is IRootTable) {
                info.Add((IRootTable)this, CalculateRowReferenceList());
            } else {
                for (int i = 0; i < referenceList.Length; ++i) {

                    IEnumerable<int> newRowSet = new List<int>(rows);

                    // Resolve the rows into the parents indices.
                    newRowSet = ResolveRowsForTable(newRowSet, i);

                    var table = referenceList[i];
                    if (table is IRootTable) {
                        info.Add((IRootTable)table, newRowSet.ToArray());
                    } else if (table is JoinedTable) {
                        ((JoinedTable)table).GetRawTableInfo(info, newRowSet);
                    }
                }
            }

            return info;
        }
コード例 #4
0
ファイル: CompositeTable.cs プロジェクト: deveel/deveeldb
 protected override RawTableInfo GetRawTableInfo(RawTableInfo rootInfo)
 {
     var rows = this.Select(x => x.RowId.RowNumber).ToArray();
     rootInfo.Add(this, rows);
     return rootInfo;
 }
コード例 #5
0
ファイル: FilterTable.cs プロジェクト: deveel/deveeldb
 protected override RawTableInfo GetRawTableInfo(RawTableInfo rootInfo)
 {
     return Parent.GetRawTableInfo(rootInfo);
 }
コード例 #6
0
ファイル: Table.cs プロジェクト: furesoft/deveeldb
 protected abstract RawTableInfo GetRawTableInfo(RawTableInfo rootInfo);
コード例 #7
0
ファイル: Table.cs プロジェクト: furesoft/deveeldb
 RawTableInfo IQueryTable.GetRawTableInfo(RawTableInfo rootInfo)
 {
     return GetRawTableInfo(rootInfo);
 }
コード例 #8
0
ファイル: BaseDataTable.cs プロジェクト: furesoft/deveeldb
 protected override RawTableInfo GetRawTableInfo(RawTableInfo rootInfo)
 {
     var rows = this.Select(row => row.RowId.RowNumber).ToList();
     rootInfo.Add(this, rows);
     return rootInfo;
 }