//private: DBColumnIndexer <SubHeading> CreateSubHeadingIndexer(uint tableID, ColumnID_t colID) { DBColumnIndexer <SubHeading> ndxer; switch (tableID) { case TablesID.PRODUCT: Assert(colID == ColumnID_t.SubHeading); ndxer = new DBColumnIndexer <SubHeading>(m_tblManager, tableID, d => (d as Product).SubHeading); break; case TablesID.SPOT_VALUE: Assert(colID == ColumnID_t.SubHeading); ndxer = new DBColumnIndexer <SubHeading>(m_tblManager, tableID, d => (d as SpotValue).Product.SubHeading); break; default: ndxer = null; Assert(false); break; } return(ndxer); }
public DBColumnIndexer <SubHeading> GetSubHeadingIndxer(uint tableID, ColumnID_t colID) { if (m_ndxersSubHeading == null) { m_ndxersSubHeading = new List <ColumnIndexerEntry <SubHeading> >(); } ColumnIndexerEntry <SubHeading> entry = m_ndxersSubHeading.Find(e => e.TableID == tableID && e.ColumnID == colID); if (entry == null) { entry = new ColumnIndexerEntry <SubHeading>(CreateSubHeadingIndexer(tableID, colID), colID); m_ndxersSubHeading.Add(entry); } if (!entry.Indexer.IsConnected) { entry.Indexer.Connect(); } return(entry.Indexer); }
public ColumnIndexerEntry(DBColumnIndexer <T> ndxer, ColumnID_t colID) { Indexer = ndxer; ColumnID = colID; }
public IDBColumnIndexer <SubHeading> GetSubHeadingIndexer(uint tableID, ColumnID_t columnID) { lock (m_lock) return(m_accessPath.GetSubHeadingIndxer(tableID, columnID)); }