//--------------------------------------------------------------------------- // @function: // CLogicalGet::OsPrint // // @doc: // debug print // //--------------------------------------------------------------------------- IOstream & CLogicalGet::OsPrint ( IOstream &os ) const { if (m_fPattern) { return COperator::OsPrint(os); } else { os << SzId() << " "; // alias of table as referenced in the query m_pnameAlias->OsPrint(os); // actual name of table in catalog and columns os << " ("; m_ptabdesc->Name().OsPrint(os); os << "), Columns: ["; CUtils::OsPrintDrgPcr(os, m_pdrgpcrOutput); os << "] Key sets: {"; const ULONG ulColumns = m_pdrgpcrOutput->Size(); const CBitSetArray *pdrgpbsKeys = m_ptabdesc->PdrgpbsKeys(); for (ULONG ul = 0; ul < pdrgpbsKeys->Size(); ul++) { CBitSet *pbs = (*pdrgpbsKeys)[ul]; if (0 < ul) { os << ", "; } os << "["; ULONG ulPrintedKeys = 0; for (ULONG ulKey = 0; ulKey < ulColumns; ulKey++) { if (pbs->Get(ulKey)) { if (0 < ulPrintedKeys) { os << ","; } os << ulKey; ulPrintedKeys++; } } os << "]"; } os << "}"; } return os; }