This is documentation for Caché & Ensemble.

For information on converting to InterSystems IRIS, see the InterSystems IRIS Adoption Guide and the InterSystems IRIS In-Place Conversion Guide, both available on the WRC Distributions page (login required).

Home > Class Reference > %SYS namespace > %ZEN.Auxiliary.QueryInfo


class %ZEN.Auxiliary.QueryInfo extends %Library.RegisteredObject

This is a server-class used to pass information specifying how to build a result set object.
This is used by classes that inherit from the querySource class. Some of these properties are only relevant for tables.

Property Inventory (Including Private)

Method Inventory (Including Private)

Properties (Including Private)

property columnExpression as %ZEN.Datatype.string [ MultiDimensional ];
Optional SQL expression to use for a column, subcripted by column name:
..columnExpression(colname) = expr
This will be provided for tables that use *auto sql* mode.
Property methods: columnExpressionDisplayToLogical(), columnExpressionGet(), columnExpressionIsValid(), columnExpressionLogicalToDisplay(), columnExpressionLogicalToOdbc(), columnExpressionNormalize(), columnExpressionSet()
property columnName as %ZEN.Datatype.string;
Name of column used to provide data. This is used for tables that are auto-generated when no other column information is available.
Property methods: columnNameDisplayToLogical(), columnNameGet(), columnNameIsValid(), columnNameLogicalToDisplay(), columnNameLogicalToOdbc(), columnNameNormalize(), columnNameSet()
property columns as %ZEN.Datatype.string [ MultiDimensional ];
Names of columns within the query, subcripted by column number:
..columns(n) = colName
This will be provided for tables that use *auto sql* mode.
Property methods: columnsDisplayToLogical(), columnsGet(), columnsIsValid(), columnsLogicalToDisplay(), columnsLogicalToOdbc(), columnsNormalize(), columnsSet()
property filterOps as %ZEN.Datatype.string [ MultiDimensional ];
Set of column filter operations subscripted by column name:
..filterOps(colName) = op
Where op is an SQL operation: %STARTSWITH, =, etc.
Property methods: filterOpsDisplayToLogical(), filterOpsGet(), filterOpsIsValid(), filterOpsLogicalToDisplay(), filterOpsLogicalToOdbc(), filterOpsNormalize(), filterOpsSet()
property filterTypes as %ZEN.Datatype.string [ MultiDimensional ];
Set of column filter types subscripted by column name:
..filterTypes(colName) = type
Property methods: filterTypesDisplayToLogical(), filterTypesGet(), filterTypesIsValid(), filterTypesLogicalToDisplay(), filterTypesLogicalToOdbc(), filterTypesNormalize(), filterTypesSet()
property filters as %ZEN.Datatype.string [ MultiDimensional ];
Set of column filter values subscripted by column name:
..filters(colName) = filterValue
Property methods: filtersDisplayToLogical(), filtersGet(), filtersIsValid(), filtersLogicalToDisplay(), filtersLogicalToOdbc(), filtersNormalize(), filtersSet()
property groupByClause as %ZEN.Datatype.string;
Optional GROUP BY clause for tables in *auto sql* mode.
Property methods: groupByClauseDisplayToLogical(), groupByClauseGet(), groupByClauseIsValid(), groupByClauseLogicalToDisplay(), groupByClauseLogicalToOdbc(), groupByClauseNormalize(), groupByClauseSet()
property orderByClause as %ZEN.Datatype.string;
Optional ORDER BY clause for tables in *auto sql* mode.
Property methods: orderByClauseDisplayToLogical(), orderByClauseGet(), orderByClauseIsValid(), orderByClauseLogicalToDisplay(), orderByClauseLogicalToOdbc(), orderByClauseNormalize(), orderByClauseSet()
property parms as %ZEN.Datatype.string [ MultiDimensional ];
Set of query parameter values subscripted by parameter number:
..parms(n) = value
Property methods: parmsDisplayToLogical(), parmsGet(), parmsIsValid(), parmsLogicalToDisplay(), parmsLogicalToOdbc(), parmsNormalize(), parmsSet()
property queryExecuted as %ZEN.Datatype.boolean [ InitialExpression = 0 ];
Output property.
Set this property to true in OnCreateResultSet method to indicate that the newly created ResultSet has already been executed.
Property methods: queryExecutedDisplayToLogical(), queryExecutedGet(), queryExecutedIsValid(), queryExecutedLogicalToDisplay(), queryExecutedLogicalToOdbc(), queryExecutedNormalize(), queryExecutedSet()
property queryText as %ZEN.Datatype.string;
Output property.
This is also used for the output of the %CreateQuery() method.
When a query is executed, the text of the query (either sql or query name) is placed here (for diagnostic purposes).
Property methods: queryTextDisplayToLogical(), queryTextGet(), queryTextIsValid(), queryTextLogicalToDisplay(), queryTextLogicalToOdbc(), queryTextNormalize(), queryTextSet()
property rowCount as %ZEN.Datatype.string;
Output property.
Query will place number of rows in query here if it wants to report this value to the client.
Property methods: rowCountDisplayToLogical(), rowCountGet(), rowCountIsValid(), rowCountLogicalToDisplay(), rowCountLogicalToOdbc(), rowCountNormalize(), rowCountSet()
property rows as %ZEN.Datatype.integer;
The number of rows that the component will display. For a "snapshot" query this will be the size of the snapshot.
Property methods: rowsDisplayToLogical(), rowsGet(), rowsIsValid(), rowsLogicalToDisplay(), rowsLogicalToOdbc(), rowsNormalize(), rowsSet()
property sortColumn as %ZEN.Datatype.string;
Optional name of column to sort results by. If the table is in *auto sql* mode, then this is used as the first part of the generated ORDER BY clause.
Property methods: sortColumnDisplayToLogical(), sortColumnGet(), sortColumnIsValid(), sortColumnLogicalToDisplay(), sortColumnLogicalToOdbc(), sortColumnNormalize(), sortColumnSet()
property sortOrder as %ZEN.Datatype.string (VALUELIST = ",asc,desc");
Specifies direction of sorting, if any. This applies to the column specified by sortColumn.
Property methods: sortOrderDisplayToLogical(), sortOrderGet(), sortOrderIsValid(), sortOrderLogicalToDisplay(), sortOrderLogicalToOdbc(), sortOrderNormalize(), sortOrderSet()
property tableName as %ZEN.Datatype.string;
Name of table used to provide data. This will be provided for tables that use *auto sql* mode.
Property methods: tableNameDisplayToLogical(), tableNameGet(), tableNameIsValid(), tableNameLogicalToDisplay(), tableNameLogicalToOdbc(), tableNameNormalize(), tableNameSet()
property whereClause as %ZEN.Datatype.string;
Optional WHERE clause for tables in *auto sql* mode.
Property methods: whereClauseDisplayToLogical(), whereClauseGet(), whereClauseIsValid(), whereClauseLogicalToDisplay(), whereClauseLogicalToOdbc(), whereClauseNormalize(), whereClauseSet()

Methods (Including Private)

method %CreateSQL(pComputeRowCount As %Boolean = 1, pInfo As %ZEN.Auxiliary.QueryInfo) as %Status
Utility method: construct a (very simple) SQL statement based on the specifications contains within this object's properties. The resulting query is placed within the queryText property.
classmethod %IsValidSQLName(pName As %String) as %Boolean
Test if pName is a valid SQL name.
classmethod QuoteSQL(pVal As %String, pType As %String = "")
Take a value and return an SQL literal (with quotes and escaped quotes as needed).
pType is the "filter" type: if "date" quote as ODBC literal.

Inherited Members

Inherited Methods (Including Private)