Skip to main content


class %CSP.UI.Portal.SQL.QButtons.IndexAnalyzer extends %CSP.UI.Template.Property, %CSP.UI.Portal.UtilsNav, %CSP.UI.Portal.SQL.QButtons.Utils

System Management Portal - SQL Performance Tool

Property Inventory

Method Inventory


parameter CSPURL = /csp/sys/exp/%CSP.UI.Portal.SQL.QButtons.IndexAnalyzer.zen;
Inherited description: This parameter is used to make sure that if multiple CSP applications are mapped to the same namespace that the CSP engine can correctly identify which class corresponds with which URL. If 'LockCSPName' is true (the default, defined in the CSP application) then you can only access this page if the url exactly matches this 'CSPURL'. You can set this parameter to "" if you wish to disable this check for this class. This check is applied for all CSP urls (cls/csp/zen).
If this page was compiled from a .csp file, then this parameter is automatically set to contain the url of this file used for compilation.
parameter HELPADDRESS = Home,SQL Index Analyzer;
Inherited description: Each SMP page should set this link which points to the documentation anchor name.
parameter PAGENAME = SQL.QButtons.IndexAnalyzer;
Displayed name of this page.
parameter RESOURCE = %Development:USE;
Inherited description: This is a comma-delimited list of system Resources and associated permissions. A user must hold the specified permissions on at least one of the specified resources in order to view this page or invoke any of its server-side methods from the client.
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.


property PlanPage as %String;
Property methods: PlanPageDisplayToLogical(), PlanPageGet(), PlanPageIsValid(), PlanPageLogicalToDisplay(), PlanPageLogicalToOdbc(), PlanPageNormalize(), PlanPageSet()
property QUERYNAME as %ZEN.Datatype.string [ InitialExpression = "indexUsage" ];
Property methods: QUERYNAMEDisplayToLogical(), QUERYNAMEGet(), QUERYNAMEIsValid(), QUERYNAMELogicalToDisplay(), QUERYNAMELogicalToOdbc(), QUERYNAMENormalize(), QUERYNAMESet()
property RuntimePage as %ZEN.Datatype.string [ InitialExpression = ..Link("%25CSP.UI.Portal.SQL.QButtons.RuntimeStats.zen") ];
Property methods: RuntimePageDisplayToLogical(), RuntimePageGet(), RuntimePageIsValid(), RuntimePageLogicalToDisplay(), RuntimePageLogicalToOdbc(), RuntimePageNormalize(), RuntimePageSet()
property SCHEMANAME as %ZEN.Datatype.string;
Property methods: SCHEMANAMEDisplayToLogical(), SCHEMANAMEGet(), SCHEMANAMEIsValid(), SCHEMANAMELogicalToDisplay(), SCHEMANAMELogicalToOdbc(), SCHEMANAMENormalize(), SCHEMANAMESet()
property SYSTEMFLAG as %Integer [ InitialExpression = 0 ];
Whether to include System items (0=Not to include; 1=Include; this flag is used by "%SQL.Manager.Catalog:Schemas" which is opposite of the SkipSys on the UI)
Property methods: SYSTEMFLAGDisplayToLogical(), SYSTEMFLAGGet(), SYSTEMFLAGIsValid(), SYSTEMFLAGLogicalToDisplay(), SYSTEMFLAGNormalize(), SYSTEMFLAGSet(), SYSTEMFLAGXSDToLogical()
property ShowPlanOutput as %ZEN.Datatype.string [ InitialExpression = $P(..Link("/csp/sys/exp/%25CSP.UI.Portal.SQL.QButtons.ShowPlanOutput.zen"),"?$NAMESPACE",1) ];
Property methods: ShowPlanOutputDisplayToLogical(), ShowPlanOutputGet(), ShowPlanOutputIsValid(), ShowPlanOutputLogicalToDisplay(), ShowPlanOutputLogicalToOdbc(), ShowPlanOutputNormalize(), ShowPlanOutputSet()
property dots as %String;
Property methods: dotsDisplayToLogical(), dotsGet(), dotsIsValid(), dotsLogicalToDisplay(), dotsLogicalToOdbc(), dotsNormalize(), dotsSet()
property gatherStatus as %Boolean;
Property methods: gatherStatusDisplayToLogical(), gatherStatusGet(), gatherStatusIsValid(), gatherStatusLogicalToDisplay(), gatherStatusLogicalToXSD(), gatherStatusNormalize(), gatherStatusSet(), gatherStatusXSDToLogical()
property iTimeoutInterval as %ZEN.Datatype.integer [ InitialExpression = 1000 ];
Property methods: iTimeoutIntervalDisplayToLogical(), iTimeoutIntervalGet(), iTimeoutIntervalIsValid(), iTimeoutIntervalLogicalToDisplay(), iTimeoutIntervalLogicalToOdbc(), iTimeoutIntervalNormalize(), iTimeoutIntervalSet()
property msgGather as %ZEN.Datatype.string [ InitialExpression = $$$TextJS("Gathering SQL statements ...") ];
Property methods: msgGatherDisplayToLogical(), msgGatherGet(), msgGatherIsValid(), msgGatherLogicalToDisplay(), msgGatherLogicalToOdbc(), msgGatherNormalize(), msgGatherSet()


Return the array of links to show in the locator bar.
method %OnAfterCreatePage() as %Status
Inherited description: Be sure to do ##super() when overriding.
method %OnGetPageName() as %String
Get the (localized) name of the page. This should be implemented in a subclass.
method CheckButtonStatus() as %Boolean [ ZenMethod ]
this method is used to see if a server side query is done yet. you can only run one thing at a time so we reuse the same lock to test
method CheckOptionStatus() as %Status [ ZenMethod ]
This method is used to see if a server side query is done yet. you can only run one thing at a time so we reuse the same lock to test
method CreateRS(Output tSC As %Status, pInfo As %ZEN.Auxiliary.QueryInfo) as %ResultSet
pInfo holds details on how to create the query.
method DrawDetailsTitle(pSeed) as %Status
Draw html for details title: Routine name and Query text
method DrawQueryText(pTable As %ZEN.Component.tablePane, pName As %String, pSeed As %String) as %Status
Write upto 80 characters of query statement in tablePane
method DrawSQLStatements(pSeed) as %Status
method ExecuteRS(pRS As %Library.ResultSet, Output tSC As %Status, pInfo As %ZEN.Auxiliary.QueryInfo) as %Boolean
Method for executing the process query.
method GatherStatements(skipSysObj, skipInsStmts) as %Status [ ZenMethod ]
method GetQueryProperties(ByRef pParms, Output pObject As %RegisteredObject) as %Status
method ListSchemas(pRS As %Library.ResultSet, Output tSC As %Status, pInfo As %ZEN.Auxiliary.QueryInfo) as %Boolean
Method for executing the query for list schemas.
method OnGetRibbonInfo(Output pDisplay As %Boolean, Output pViewIcons As %List, Output pSortOptions As %List, Output pSearchBox As %Boolean, Output pRibbonTitle As %String, Output pCommands As %List) as %Status
Get information to display in the ribbon bar.
method PrepareAnalysis(option, skipSysObj, skipIDkeys, skipInsStmts, schema) as %Status [ ZenMethod ]
skipSysObj - Skip all System Object (Classes & Routines) that start with: { % | DeepSee | Ens | HS | INFORMATION.SCHEMA }
classmethod PurgeStats(pNamespace, pPurteType) as %ZEN.proxyObject [ ZenMethod ]
This method clears Stats in the current namespace if user clicked the Purge Statements or Purge Data button. Returns the number of Stats deleted from the '%SYS.PTools.Stats' class; Otherwise, returns an error message if an error occurred.
method SaveLast(skipSysObj, skipIDkeys, skipInsStmts, schema) [ ZenMethod ]
clientmethod adjustSizes() [ Language = javascript ]
clientmethod checkReportStatus() [ Language = javascript ]
Timeout Method used by the report timer
clientmethod checkStatus() [ Language = javascript ]
Timeout Method used by the statement gathering timer
clientmethod clearOptionData(skipSysChanged) [ Language = javascript ]
user checked/unchecked a "skip" checkbox. hide existing table and save the selection.
classmethod clearSQLAnalysisDB() as %Status [ ZenMethod ]
classmethod clearSQLStatements() as %Status [ ZenMethod ]
clientmethod doPurgeStats(purgeType) [ Language = javascript ]
clientmethod doSelectRow() [ Language = javascript ]
User clicked a Query Text row. We will job off the show plan process in the background and start timer.
clientmethod endReportOption(newOption) [ Language = javascript ]
Prepare to refresh the result table - update query name based on the option selected
clientmethod onPopupAction(popupName, action, value) [ Language = javascript ]
This client event is fired when the a popup page launched from this page fires an action.
clientmethod onloadHandler() [ Language = javascript ]
Inherited description: Disable save button for EMS-managed pages. Be sure to use this.invokeSuper('onloadHandler',arguments); when overriding.
clientmethod refreshButton(string) [ Language = javascript ]
Method used by the statement gathering timer
clientmethod refreshOption(string) [ Language = javascript ]
clientmethod refreshStatementTable() [ Language = javascript ]
clientmethod resetToDefaults() [ Language = javascript ]
clientmethod saveLastValues() [ Language = javascript ]
Save User's report options to server. This is saved per username per namespace so the next time you come into this page your previous selections will become defaults.
clientmethod schemaSort(schema) [ Language = javascript ]
user selected a schema option. update the table with selected schema and save the selection.
clientmethod startButtonGather() [ Language = javascript ]
Invoke method to gather SQL Statements and update SQL Statement Count table. During this time, disable the rasio buttons.
clientmethod startReportOption(newOption) [ Language = javascript ]
clientmethod timeout() [ Language = javascript ]
Show Plan timeout function
clientmethod toggleButtons(flag) [ Language = javascript ]
diable or enable action buttons on this page

Inherited Members

Inherited Properties

Inherited Methods

FeedbackOpens in a new tab