/**************************************************************************************************************************** Licensed Materials - Property of IBM BI and PM: QFW © Copyright IBM Corp. 2005, 2010 US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. *****************************************************************************************************************************/ function C_QanExecPlanNode( iNodeId, nProviderQuery, oParentNode, oNestedCallsParentNode ) { this.m_iNodeId = iNodeId; this.m_nProviderQuery = nProviderQuery; this.m_oParentNode = oParentNode; this.m_oNestedCallsParentNode = oNestedCallsParentNode; this.m_aChildNodes = []; if( oParentNode ) oParentNode.F_AddChild( this ); else if( oNestedCallsParentNode ) { oNestedCallsParentNode.F_AddNestedRoot( this ); } }; C_QanExecPlanNode.prototype.F_AddChild = function( oExecPlanNode ) { this.m_aChildNodes.push( oExecPlanNode ); }; C_QanExecPlanNode.prototype.F_AddNestedRoot = function( oExecPlanNode ) { if( !this.m_aNestedRootNodes ) this.m_aNestedRootNodes = []; this.m_aNestedRootNodes.push( oExecPlanNode ); }; C_QanExecPlanNode.prototype.F_GetNestedRootNodes = function() { return this.m_aNestedRootNodes; }; C_QanExecPlanNode.prototype.F_GetChildNodes = function() { return this.m_aChildNodes; }; C_QanExecPlanNode.prototype.F_GetParentNode = function() { return this.m_oParentPlanNode; }; C_QanExecPlanNode.prototype.F_GetNestedCallsParentNode = function() { return this.m_oNestedCallsParentNode; }; C_QanExecPlanNode.prototype.F_GetID = function() { return this.m_iNodeId; } C_QanExecPlanNode.prototype.F_GetName = function() { if( this.m_sName ) return this.m_sName; this.m_sName = this.m_nProviderQuery.getAttribute( "name" ); return this.m_sName; }; C_QanExecPlanNode.prototype.F_GetProvider = function() { return this.m_nProviderQuery.getAttribute( "provider" ); } C_QanExecPlanNode.prototype.F_SetQueryFeedback = function( nQueryFeedbackResult ) { this.m_nQueryFeedbackResult = nQueryFeedbackResult; } C_QanExecPlanNode.prototype.f_getFeedbackProperty = function( sPropertyName ) { if( !this.m_nQueryFeedbackResult ) return; var v_nProperty = this.m_nQueryFeedbackResult.selectSingleNode( "property[@name='" + sPropertyName + "']" ); if( !v_nProperty ) return; return v_nProperty.text; } C_QanExecPlanNode.prototype.F_GetCommandType = function() { return this.f_getFeedbackProperty("nativeCommandType"); } C_QanExecPlanNode.prototype.F_GetNativeCommand = function() { return this.f_getFeedbackProperty("nativeCommandText"); } C_QanExecPlanNode.prototype.F_GetCognosCommand = function() { return this.f_getFeedbackProperty("CognosCommandText"); } C_QanExecPlanNode.prototype.F_GetConnections = function() { if( !this.m_nQueryFeedbackResult ) return; var v_nlConnections = this.m_nQueryFeedbackResult.selectSingleNode( "property[@name='connections']/connection" ); return v_nlConnections; } C_QanExecPlanNode.prototype.f_getProvider2OperationName = function() { if( C_QanExecPlanNode.prototype.m_provider2OperationName ) return C_QanExecPlanNode.prototype.m_provider2OperationName; C_QanExecPlanNode.prototype.m_provider2OperationName = []; C_QanExecPlanNode.prototype.m_provider2OperationName["RelationalQueryProvider"] = "SQL"; C_QanExecPlanNode.prototype.m_provider2OperationName["OlapQueryProvider"] = "MDX"; C_QanExecPlanNode.prototype.m_provider2OperationName["CubeBuildProvider"] = "Dynamic Cube"; C_QanExecPlanNode.prototype.m_provider2OperationName["MDProvider"] = "Master-Detail"; C_QanExecPlanNode.prototype.m_provider2OperationName["ZeroSuppressionProvider"] = "Zero/Null Suppression"; C_QanExecPlanNode.prototype.m_provider2OperationName["ReporterModeProvider"] = "Stitching"; C_QanExecPlanNode.prototype.m_provider2OperationName["NoDataModeProvider"] = "Data emulation"; C_QanExecPlanNode.prototype.m_provider2OperationName["MDOperationProvider"] = "Member names fix up"; return C_QanExecPlanNode.prototype.m_provider2OperationName; } C_QanExecPlanNode.prototype.F_GetOperationName = function() { if( this.m_sOperationName ) return this.m_sOperationName; var v_sProvider = this.F_GetProvider(); if( v_sProvider == "MDOperationProvider" && this.m_aNestedRootNodes ) return "@cube"; this.m_sOperationName = this.f_getProvider2OperationName()[v_sProvider]; if( !this.m_sOperationName ) this.m_sOperationName = v_sProvider + " operation"; return this.m_sOperationName; } C_QanExecPlanNode.prototype.f_getProvider2BoxHtml = function() { if( C_QanExecPlanNode.prototype.m_provider2BoxHtml ) return C_QanExecPlanNode.prototype.m_provider2BoxHtml; C_QanExecPlanNode.prototype.m_provider2BoxHtml = []; C_QanExecPlanNode.prototype.m_provider2BoxHtml["RelationalQueryProvider"] = "SQL"; C_QanExecPlanNode.prototype.m_provider2BoxHtml["OlapQueryProvider"] = "MDX"; C_QanExecPlanNode.prototype.m_provider2BoxHtml["CubeBuildProvider"] = "Dynamic
Cube"; C_QanExecPlanNode.prototype.m_provider2BoxHtml["MDProvider"] = "Master-Detail"; C_QanExecPlanNode.prototype.m_provider2BoxHtml["ZeroSuppressionProvider"] = "Zero/Null
Suppression"; C_QanExecPlanNode.prototype.m_provider2BoxHtml["ReporterModeProvider"] = "Stitching"; C_QanExecPlanNode.prototype.m_provider2BoxHtml["NoDataModeProvider"] = "Data
emulation"; C_QanExecPlanNode.prototype.m_provider2BoxHtml["MDOperationProvider"] = "Member names
fix up"; return C_QanExecPlanNode.prototype.m_provider2BoxHtml; } C_QanExecPlanNode.prototype.F_GetOperationBoxHtml = function() { if( this.m_sOperationBoxHtml ) return this.m_sOperationBoxHtml; var v_sProvider = this.F_GetProvider(); if( v_sProvider == "MDOperationProvider" && this.m_aNestedRootNodes ) return "@cube"; this.m_sOperationBoxHtml = this.f_getProvider2BoxHtml()[v_sProvider]; if( !this.m_sOperationBoxHtml ) this.m_sOperationBoxHtml = v_sProvider + " operation"; return this.m_sOperationBoxHtml; }