void ColRefName::print(FILE* ofd, const char* indent, const char* title,
		       NABoolean brief) const
{
#ifndef NDEBUG
  if (strcmp(title, "")) fprintf(ofd,"%s ", title);
  fprintf(ofd,"%s", getColRefAsString().data());
  if (isFabricated())
    fprintf(ofd," (%s)", getColRefAsString(TRUE).data());
  if (brief) return;
  fprintf(ofd," ");
  getCorrNameObj().print(ofd, indent, "");
  if (strcmp(title,"")) fprintf(ofd,"\n");
#endif
}
// -----------------------------------------------------------------------------
// NABoolean TableDesc::isSpecialObj() returns TRUE if the table is an internal
// table such as HISTOGRM, HISTINTS, DESCRIBE, or an SMD, UMD, or an MVUMD table.
// One of its usage is during
// getTableColStatas, where we do not want the compiler to print no stats
// warning.
// -----------------------------------------------------------------------------
NABoolean TableDesc::isSpecialObj()
{
    const NATable * naTable = getNATable();
    if (naTable->isUMDTable()   ||
            naTable->isSMDTable()   ||
            naTable->isMVUMDTable() ||
            naTable->isTrigTempTable() )
        return TRUE;

    const NAString& fileName = getCorrNameObj().getQualifiedNameObj().getObjectName();
    if ( ( fileName == "DESCRIBE__") ||	  // for non_dml statements such as showddl etc.
            (fileName == "HISTOGRM")   ||		  // following are used during update stats
            (fileName == "HISTINTS")   )
        return TRUE;
    else
        return FALSE;
}
NABoolean ColRefName::operator==(const ColRefName& other) const
{
  return (isStar()         == other.isStar() &&
  	  getColName()     == other.getColName() &&
	  getCorrNameObj().isEqualWithPartnClauseSkipped(other.getCorrNameObj()));
}