Class Reference
IRIS for UNIX 2024.1.2
InterSystems: The power behind what matters   
Documentation  Search
  [USER] >  [%CSP] >  [UI] >  [Portal] >  [SQL] >  [QButtons] >  [IndexAnalyzer]
Private  Storage   

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

Inventory

Parameters Properties Methods Queries Indices ForeignKeys Triggers
4 10 38


Summary

This is a Zen Page class. It belongs to the application %CSP.UI.Portal.Application.

Properties
%condition %import %includeFiles %page
%resource Filter FirstFailed HelpAddress
ISREADONLY InvalidParam IsEMSReadOnly IsEditForm
LocatorHeader NAMESPACE OnclickArray PID
ParentURL PlanPage QUERYNAME RuntimePage
SCHEMANAME SQLHomePage SYSTEMFLAG ShowPlanOutput
StdTitle TableMaxRows TablePageSize ValidationErrorMsg
aboutPage align aux backgroundTimerInterval
cellAlign cellSize cellStyle cellVAlign
children composite contactPage containerStyle
cssLevel currSortMode currStep currViewMode
disabled dots dragAndDrop dragEnabled
dropEnabled enableAutoRefresh enclosingClass enclosingStyle
error gatherStatus groupClass groupStyle
height hidden hint hintClass
hintStyle home homePage iTimeoutInterval
id index label labelClass
labelDisabledClass labelPosition labelStyle layout
lblTitle limitPopups msgGather name
onafterdrag onbeforedrag onclick ondrag
ondrop onhide onrefresh onshow
onupdate pageModified parent searchKey
showLabel slice title tuple
useSVG useSoftModals valign visible
width window zenPersistentPopup

Methods
%AddChild %AddChildAfter %AddChildBefore %AddComponent
%AddImportedComponents %AddLocatorLinks %AddToSaveSet %ApplyURLParms
%Attr %BindExport %ClassIsLatestVersion %ClassName
%ConstructClone %DispatchClassMethod %DispatchGetModified %DispatchGetProperty
%DispatchMethod %DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty
%DrawAutoLogout %DrawClassDefinitions %DrawComponentHTML %DrawHTML
%DrawHTMLPage %DrawJSStrings %DrawObjectDefinitions %EnclosingDivId
%EndBackgroundMethod %EndScript %Eval %EvalC
%Extends %ForceClientRender %GetChildIndex %GetComponent
%GetComponentById %GetComponentByName %GetEventHandlers %GetHomePage
%GetHomeParam %GetLinks %GetLocatorLinks %GetNavTableState
%GetPageName %GetParameter %GetProductName %GetValueById
%GetValueByName %GetXMLName %IsA %IsModified
%Link %LinkCSS %LinkScript %MakeId
%New %NormalizeObject %ObjectModified %OnAddToPageAfter
%OnAddToPageBefore %OnAfterCreatePage %OnBeforeCreatePage %OnCreateApplication
%OnCreatePage %OnDetermineCSSLevel %OnDrawEnclosingDiv %OnDrawHTMLBody
%OnDrawHTMLHead %OnDrawHTMLMeta %OnDrawObjectProperties %OnFinishBackgroundTask
%OnGetPageName %OnGetProductName %OnGetSmallMenu %OnGetTitle
%OnMonitorBackgroundTask %OnMutateChildren %OnObjectSynch %OnPreHTTP
%OnSubmit %OnUseSoftModals %OnZENDeserialize %OriginalNamespace
%PackageName %QuoteValue %QuoteValueL10N %Register
%RemoveChild %RemoveChildren %RemoveComponent %RemoveFromSaveSet
%RunBackgroundMethod %Self %SerializeObject %SetBackgroundMethodStatus
%SetErrorById %SetErrorByName %SetModified %SetValueById
%SetValueByName %SetValuesByName %StartScript %ValidateObject
%ZENVersion BuildMenu CheckAllBlanks CheckButtonStatus
CheckContextLinks CheckEnterpriseManager CheckJobStatus CheckOptionStatus
ConvertParameter CreateRS Decrypt DoLogout
DrawDetailsTitle DrawLocator DrawQueryText DrawRibbon
DrawSQLStatements DrawTitle DrawUpto40Text Encrypt
EscapeHTML EscapeURL EvalResult ExecuteRS
GatherStatements GetCSPURL GetContextLinks GetDocURL
GetHomePage GetImportSchema GetIndexAnalyzerProperties GetNewURL
GetQueryData GetQueryHistoryText GetQueryProperties GetQueryText
GetQuickLinks GetSQLPageData GetSettingsData GetSettingsInfo
HyperEventCall HyperEventHead Include InsertHiddenField
InsertHiddenFields IsPrivate JavaInstalled JobShowPlan
Link ListSchemas OnDrawRibbon OnGetRibbonInfo
OnHTTPHeader OnPage OnPageError OnPostHTTP
OnPostHyperEvent OnPreHTTP OnPreHyperEvent Page
PrepareAnalysis PrepareShowPlan PurgeQuery PurgeStats
QuoteJS RegisterRecent RewriteURL SaveLast
ShowError StartTimer StopTimer ThrowError
UnescapeHTML UnescapeURL UpdateTableNavState XMLDTD
XMLExport XMLExportToStream XMLExportToString XMLNew
XMLSchema XMLSchemaNamespace XMLSchemaType addChild
addChildAfter addChildBefore adjustSizes afterSave
afterValidate cancelPopup changePassword checkReportStatus
checkStatus childrenMutated clearOptionData clearSQLAnalysisDB
clearSQLStatements correctIELayering createComponent createComponentNS
deleteComponent disableCommandButton doCancel doModified
doPurgeStats doSelectRow dragFinishHandler dragHandler
dragNotifyHandler dragStartHandler dropHandler dropStartHandler
enableCommandButton endModal endReportOption exposeComponent
findElement fireOnResizeEvent fireOnUnloadEvent fireOnUpdateEvent
firePopupAction getChildIndex getComponent getComponentById
getEnclosingDiv getHidden getHintElement getLabelElement
getOpener getPageTitle getProperty getSettingMessages
getSettings getTitleAreaHeight getType goHome
goMenu gotoNamespace gotoPToolsPage gotoPage
hideCommandButton invokeSuper isButtonDisabled isOfType
launchPopupWindow logout makeId navMaxRowsChanged
navPageSizeChanged navigate onCreate onDelete
onDisplayHandler onEndModalHandler onPopupAction onRefreshContents
onSerialize onServerMethodCall onServerMethodError onServerMethodReturn
onStartModalHandler ondisabledHandler onhandleAutoLogoutWarn onkeydownHandler
onkeyupHandler onlayoutHandler onloadHandler onlogoutHandler
onoverlayHandler onresizeHandler onunloadHandler onupdateHandler
popupActionHandler refreshButton refreshContents refreshOption
refreshStatementTable removeChild render renderContents
renderSVG resetMsg resetToDefaults saveLastValues
schemaSort searchBlur searchBoxHandler searchFocus
searchKeyDown searchKeyPress setComponentId setConnectivityStatusMsg
setHidden setModified setOverlayMode setPageTitle
setProperty setPropertyAll setSortMode setSortModeHandler
setTraceOption setViewMode setViewModeHandler showAbout
showCommandButton showContact showDocumentation showExpand
showHelp showMsg startButtonGather startModal
startProgressBar startReportOption stopProgressBar switchNamespace
timeout toggleButtons toggleClearText toggleSettings
trimSpace validateRequired


Parameters

• parameter CSPURL = "/csp/sys/exp/%CSP.UI.Portal.SQL.QButtons.IndexAnalyzer.zen";
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";
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";
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:
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.

Properties

• property PlanPage as %String;
• property QUERYNAME as %ZEN.Datatype.string [ InitialExpression = "indexUsage" ];
• property RuntimePage as %ZEN.Datatype.string [ InitialExpression = ..Link("%25CSP.UI.Portal.SQL.QButtons.RuntimeStats.zen") ];
• property SCHEMANAME as %ZEN.Datatype.string;
• 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 ShowPlanOutput as %ZEN.Datatype.string [ InitialExpression = $P(..Link("/csp/sys/exp/%25CSP.UI.Portal.SQL.QButtons.ShowPlanOutput.zen"),"?$NAMESPACE",1) ];
• property dots as %String;
• property gatherStatus as %Boolean;
• property iTimeoutInterval as %ZEN.Datatype.integer [ InitialExpression = 1000 ];
• property msgGather as %ZEN.Datatype.string [ InitialExpression = $$$TextJS("Gathering SQL statements ...") ];

Methods

• method %GetLocatorLinks(Output pLink) as %Status
Return the array of links to show in the locator bar.
pLink(n)=$LB(caption,link)
• method %OnAfterCreatePage() as %Status
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 ]
• method adjustSizes() [ Language = javascript ]
• method checkReportStatus() [ Language = javascript ]
Timeout Method used by the report timer
• method checkStatus() [ Language = javascript ]
Timeout Method used by the statement gathering timer
• method 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 ]
• method doPurgeStats(purgeType) [ Language = javascript ]
• method doSelectRow() [ Language = javascript ]
User clicked a Query Text row. We will job off the show plan process in the background and start timer.
• method endReportOption(newOption) [ Language = javascript ]
Prepare to refresh the result table - update query name based on the option selected
• method onPopupAction(popupName, action, value) [ Language = javascript ]
This client event is fired when the a popup page launched from this page fires an action.
• method onloadHandler() [ Language = javascript ]
Disable save button for EMS-managed pages. Be sure to use this.invokeSuper('onloadHandler',arguments); when overriding.
• method refreshButton(string) [ Language = javascript ]
Method used by the statement gathering timer
• method refreshOption(string) [ Language = javascript ]
• method refreshStatementTable() [ Language = javascript ]
• method resetToDefaults() [ Language = javascript ]
• method 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.
• method schemaSort(schema) [ Language = javascript ]
user selected a schema option. update the table with selected schema and save the selection.
• method startButtonGather() [ Language = javascript ]
Invoke method to gather SQL Statements and update SQL Statement Count table. During this time, disable the rasio buttons.
• method startReportOption(newOption) [ Language = javascript ]
• method timeout() [ Language = javascript ]
Show Plan timeout function
• method toggleButtons(flag) [ Language = javascript ]
diable or enable action buttons on this page


Copyright (c) 2025 by InterSystems Corporation. Cambridge, Massachusetts, U.S.A. All rights reserved. Confidential property of InterSystems Corporation.