class %SQL.Manager.ShowPlan extends %CSP.Util.AutoPage
SQL Manager Class to Show Query Plan
parameter DOMAIN = "%Utility";
Default Localization Domainparameter SECURITYRESOURCE = "%Development:USE";
This is a comma-delimited list of system Resources and associated permissions. A user must hold the specified permissions on all of the specified resources in order to view this page.
The format of each item in the list should be as follows:
Permission is optional, and defaults to USE if not supplied. If it is supplied, it should be one of USE, READ or WRITE. You can also specify or grouping using the '|' character, so 'R1,R2|R3,R3|R4' means you must have resource R1 and one of R2 or R3 and one of R3 or R4. So if you have R1,R3 it will pass, if you have R1,R4 it will not as it does not meet the R2|R3 condition. So the '|' or condition takes precedence over the ',' and condition.
classmethod OnPage() as %Status
Event handler for PAGE event: this is invoked in order to generate the content of a csp page.classmethod ShowPlan(querytext, ImportPackage="", preparse, frozenplan As %Boolean = 0, selectmode="Runtime", addDeclare=0, schemaPath="", stats="", AltPlan="", minStats=0, nofplan=0, silent=1, verbose=0, isbackground=0) as %String
This method is called from %CSP.UI.SQL.ShowPlanPane to display HTML for show plan. "" is always returned.classmethod ShowPlanError(querytext, noPlanReasonTxt="") as %String
This method is called from %CSP.UI.Portal.Dialog.SQLStatementDetails to display HTML for sql text. "" is always returned. Plan itself cannot be shown because the frozen plan has an error. Or there is another reason the plan cannot be show and that reason is passed in via noPlanReasonTxt argumentclassmethod ShowPlanSQLError(sqlError)
This method is called from several locations to process & display SQL Errors with proper formatting: - %SQL.Manager.ShowPlan.CLS - ShowPlan() - %SYS.PTools.SQLUtilities.CLS - PossiblePlansExecute() - PossiblePlansStatsExecute()classmethod fullErrorMsg(errorMsg, error) as %String
Process the 'errorMsg' and replace all references to <<<#>>> with $LG(error,#)