//--------------------------------------------------------------------------- // @function: // CQueryContext::SetReqdSystemCols // // @doc: // Collect system columns from output columns // //--------------------------------------------------------------------------- void CQueryContext::SetSystemCols ( IMemoryPool *pmp ) { GPOS_ASSERT(NULL == m_pdrgpcrSystemCols); GPOS_ASSERT(NULL != m_pdrgpcr); m_pdrgpcrSystemCols = GPOS_NEW(pmp) DrgPcr(pmp); const ULONG ulReqdCols = m_pdrgpcr->UlLength(); for (ULONG ul = 0; ul < ulReqdCols; ul++) { CColRef *pcr = (*m_pdrgpcr)[ul]; if (pcr->FSystemCol()) { m_pdrgpcrSystemCols->Append(pcr); } } }
//--------------------------------------------------------------------------- // @function: // CQueryContext::SetReqdSystemCols // // @doc: // Collect system columns from output columns // //--------------------------------------------------------------------------- void CQueryContext::SetSystemCols ( IMemoryPool *mp ) { GPOS_ASSERT(NULL == m_pdrgpcrSystemCols); GPOS_ASSERT(NULL != m_pdrgpcr); m_pdrgpcrSystemCols = GPOS_NEW(mp) CColRefArray(mp); const ULONG ulReqdCols = m_pdrgpcr->Size(); for (ULONG ul = 0; ul < ulReqdCols; ul++) { CColRef *colref = (*m_pdrgpcr)[ul]; if (colref->FSystemCol()) { m_pdrgpcrSystemCols->Append(colref); } } }