コード例 #1
0
ファイル: CLogicalTVF.cpp プロジェクト: MoZhonghua/gporca
//---------------------------------------------------------------------------
//	@function:
//		CLogicalTVF::FMatch
//
//	@doc:
//		Match function on operator level
//
//---------------------------------------------------------------------------
BOOL
CLogicalTVF::FMatch
	(
	COperator *pop
	)
	const
{
	if (pop->Eopid() != Eopid())
	{
		return false;
	}

	CLogicalTVF *popTVF = CLogicalTVF::PopConvert(pop);
		
	return m_pmdidFunc->FEquals(popTVF->PmdidFunc()) &&
			m_pmdidRetType->FEquals(popTVF->PmdidRetType()) &&
			m_pdrgpcoldesc->FEqual(popTVF->Pdrgpcoldesc()) &&
			m_pdrgpcrOutput->FEqual(popTVF->PdrgpcrOutput());
}
コード例 #2
0
ファイル: CLogicalTVF.cpp プロジェクト: b-xiang/gporca
//---------------------------------------------------------------------------
//	@function:
//		CLogicalTVF::Matches
//
//	@doc:
//		Match function on operator level
//
//---------------------------------------------------------------------------
BOOL
CLogicalTVF::Matches
	(
	COperator *pop
	)
	const
{
	if (pop->Eopid() != Eopid())
	{
		return false;
	}

	CLogicalTVF *popTVF = CLogicalTVF::PopConvert(pop);
		
	return m_func_mdid->Equals(popTVF->FuncMdId()) &&
			m_return_type_mdid->Equals(popTVF->ReturnTypeMdId()) &&
			m_pdrgpcoldesc->Equals(popTVF->Pdrgpcoldesc()) &&
			m_pdrgpcrOutput->Equals(popTVF->PdrgpcrOutput());
}