class %SQL.Manager.ShowPlan
extends %CSP.Util.AutoPage
SQL Manager Class to Show Query Plan
parameter DOMAIN = "%Utility";
Default Localization Domain
parameter 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:
Resource[:Permission]
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, noRTPC=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 argument
classmethod 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,#)