Skip to main content

INFORMATION.SCHEMA.ROUTINES

Class INFORMATION.SCHEMA.ROUTINES Extends %Library.Persistent [ ClassType = persistent, Final, Owner = {_PUBLIC}, SqlRowIdPrivate, SqlTableName = ROUTINES, StorageStrategy = SQLStorage, System = 4 ]

Returns one row for each stored procedure and function that can be accessed by the current user in the current namespace.

Parameters

READONLY

Parameter READONLY = 1;

Properties

SchemaUpper

Property SchemaUpper As %String(MAXLEN = 128) [ Internal, Private, Required, SqlColumnNumber = 60 ];

TableUpper

Property TableUpper As %String(MAXLEN = 128) [ Internal, Private, Required, SqlColumnNumber = 61 ];

SystemRoutine

Property SystemRoutine As %Boolean [ Calculated, Internal, Private, Required, SqlColumnNumber = 62, SqlComputeCode = { set {*}=$s($e({ROUTINE_SCHEMA})="%"||({ROUTINE_SCHEMA}="INFORMATION_SCHEMA"):1,1:0) }, SqlComputed ];

Is the table a system routine (1 or 0)

ExtentQuery

Property ExtentQuery As %Boolean [ Calculated, Internal, Private, Required, SqlColumnNumber = 63, SqlComputeCode = { set {*}=$s($$$PROCprocedure($$$pPROC,{SchemaUpper},{TableUpper})="Extent":1,1:0) }, SqlComputed ];

Is the routine an Extent Query(1 or 0)

SPECIFICCATALOG

Property SPECIFICCATALOG As %String(MAXLEN = 128) [ Calculated, SqlColumnNumber = 2, SqlComputeCode = { set {*}=""}, SqlComputed, SqlFieldName = SPECIFIC_CATALOG ];

Reserved for future use. Specific qualifier - always NULL in InterSystems IRIS.

SPECIFICSCHEMA

Property SPECIFICSCHEMA As %String(COLLATION = "Upper", MAXLEN = 128) [ Required, SqlColumnNumber = 3, SqlFieldName = SPECIFIC_SCHEMA ];

Name of schema that contains the routine.

SPECIFICNAME

Property SPECIFICNAME As %String(COLLATION = "Upper", MAXLEN = 128) [ Required, SqlColumnNumber = 4, SqlFieldName = SPECIFIC_NAME ];

Specific name.

ROUTINECATALOG

Property ROUTINECATALOG As %String(MAXLEN = 3) [ Calculated, SqlColumnNumber = 5, SqlComputeCode = { set {*}="" }, SqlComputed, SqlFieldName = ROUTINE_CATALOG ];

Reserved for future use. Routine qualifier - always NULL in InterSystems IRIS.

ROUTINESCHEMA

Property ROUTINESCHEMA As %String(COLLATION = "Upper", MAXLEN = 128) [ Required, SqlColumnNumber = 6, SqlFieldName = ROUTINE_SCHEMA ];

Name of schema that contains the routine, same as SPECIFIC_SCHEMA.

ROUTINENAME

Property ROUTINENAME As %String(COLLATION = "Upper", MAXLEN = 128) [ Required, SqlColumnNumber = 7, SqlFieldName = ROUTINE_NAME ];

Routine name, same as SPECIFIC_NAME.

MODULECATALOG

Property MODULECATALOG As %String(MAXLEN = 3) [ Calculated, SqlColumnNumber = 8, SqlComputeCode = { set {*}="" }, SqlComputed, SqlFieldName = MODULE_CATALOG ];

Reserved for future use. For InterSystems IRIS, MODULE_CATALOG is always NULL.

MODULESCHEMA

Property MODULESCHEMA As %String(MAXLEN = 3) [ Calculated, SqlColumnNumber = 9, SqlComputeCode = { set {*}="" }, SqlComputed, SqlFieldName = MODULE_SCHEMA ];

Reserved for future use. For InterSystems IRIS, MODULE_SCHEMA is always NULL.

MODULENAME

Property MODULENAME As %String(MAXLEN = 3) [ Calculated, SqlColumnNumber = 10, SqlComputeCode = { set {*}="" }, SqlComputed, SqlFieldName = MODULE_NAME ];

Reserved for future use. For InterSystems IRIS, MODULE_NAME is always NULL.

USERDEFINEDTYPECATALOG

Property USERDEFINEDTYPECATALOG As %String(MAXLEN = 3) [ Calculated, SqlColumnNumber = 11, SqlComputeCode = { set {*}="" }, SqlComputed, SqlFieldName = USER_DEFINED_TYPE_CATALOG ];

Reserved for future use. For InterSystems IRIS, USER_DEFINED_TYPE_CATALOG is always NULL.

USERDEFINEDTYPESCHEMA

Property USERDEFINEDTYPESCHEMA As %String(MAXLEN = 3) [ Calculated, SqlColumnNumber = 12, SqlComputeCode = { set {*}="" }, SqlComputed, SqlFieldName = USER_DEFINED_TYPE_SCHEMA ];

Reserved for future use. For InterSystems IRIS, USER_DEFINED_TYPE_SCHEMA is always NULL.

USERDEFINEDTYPENAME

Property USERDEFINEDTYPENAME As %String(MAXLEN = 3) [ Calculated, SqlColumnNumber = 13, SqlComputeCode = { set {*}="" }, SqlComputed, SqlFieldName = USER_DEFINED_TYPE_NAME ];

Reserved for future use. For InterSystems IRIS, USER_DEFINED_TYPE_NAME is always NULL.

ROUTINETYPE

Property ROUTINETYPE As %String(MAXLEN = 9, VALUELIST = ",PROCEDURE,FUNCTION") [ SqlColumnNumber = 14, SqlFieldName = ROUTINE_TYPE ];

The values of ROUTINE_TYPE have the following meanings:

  • PROCEDURE - The SQL-invoked routine is a query projected as a procedure.
  • FUNCTION - The SQL-invoked routine is a function (method) projected as a procedure.

DTDIDENTIFIER

Property DTDIDENTIFIER As %String(MAXLEN = 3) [ Calculated, SqlColumnNumber = 15, SqlComputeCode = { set {*}="" }, SqlComputed, SqlFieldName = DTD_IDENTIFIER ];

Reserved for future use. For InterSystems IRIS, DTD_IDENTIFIER is always NULL.

ROUTINEBODY

Property ROUTINEBODY As %String(MAXLEN = 8, VALUELIST = ",SQL,EXTERNAL") [ Calculated, SqlColumnNumber = 16, SqlComputeCode = {

The values of ROUTINE_BODY have the following meanings:

  • SQL - Means this routine is a class query with language SQL.
  • EXTERNAL - Means this is not a class query with language SQL.

ROUTINEDEFINITION

Property ROUTINEDEFINITION As %String(MAXLEN = 8192) [ Calculated, SqlColumnNumber = 17, SqlComputeCode = {

/// The routine's query expression. If longer than 8192 characters, or the routine is not an SQL class query, NULL is returned.

EXTERNALNAME

Property EXTERNALNAME As %String(MAXLEN = 3) [ Calculated, SqlColumnNumber = 18, SqlComputeCode = { set {*}="" }, SqlComputed, SqlFieldName = EXTERNAL_NAME ];

Reserved for future use. For InterSystems IRIS, EXTERNAL_NAME is always NULL.

EXTERNALLANGUAGE

Property EXTERNALLANGUAGE As %String(MAXLEN = 3) [ Calculated, SqlColumnNumber = 19, SqlComputeCode = { set {*}="" }, SqlComputed, SqlFieldName = EXTERNAL_LANGUAGE ];

Reserved for future use. For InterSystems IRIS, EXTERNAL_LANGUAGE is always NULL.

PARAMETERSTYLE

Property PARAMETERSTYLE As %String(MAXLEN = 3) [ Calculated, SqlColumnNumber = 20, SqlComputeCode = { set {*}="" }, SqlComputed, SqlFieldName = PARAMETER_STYLE ];

Reserved for future use. For InterSystems IRIS, PARAMETER_STYLE is always NULL.

ISDETERMINISTIC

Property ISDETERMINISTIC As %String(MAXLEN = 3) [ Calculated, SqlColumnNumber = 21, SqlComputeCode = { set {*}="" }, SqlComputed, SqlFieldName = IS_DETERMINISTIC ];

Reserved for future use. For InterSystems IRIS, IS_DETERMINISTIC is always NULL.

SQLDATAACCESS

Property SQLDATAACCESS As %String(MAXLEN = 17, VALUELIST = ",NO SQL,CONTAINS SQL,READS SQL DATA,MODIFIES SQL DATA") [ Calculated, SqlColumnNumber = 22, SqlComputeCode = {

SQL_DATA_ACCESS Returns one of the following values:

  • NO SQL = Function does not contain SQL.
  • CONTAINS SQL = Function possibly contains SQL.
  • READS SQL DATA = Function possibly reads SQL data.
  • MODIFIES SQL DATA = Function possibly modifies SQL data. Returns CONTAINS SQL for all functions, and READS SQL DATA for all class query procedure.

ISNULLCALL

Property ISNULLCALL As %String(MAXLEN = 3, VALUELIST = ",YES,NO") [ Calculated, SqlColumnNumber = 23, SqlComputeCode = { set {*}=$s({ROUTINE_BODY}="SQL":"",1:"NO") }, SqlComputed, SqlFieldName = IS_NULL_CALL ];

The values of IS_NULL_CALL have the following meanings:

  • YES - The routine is a function and returns null if any of its parameters are null.
  • NO - The routine is a function and its return value is determined by invoking the routine.
  • null - The routine being described is a class query procedure. For InterSystems IRIS, if the routine is a function IS_NULL_CALL is always NO.

SQLPATH

Property SQLPATH As %String(MAXLEN = 3) [ Calculated, SqlColumnNumber = 24, SqlComputeCode = { set {*}="" }, SqlComputed, SqlFieldName = SQL_PATH ];

Reserved for future use. For InterSystems IRIS, SQL_PATH is always NULL.

SCHEMALEVELROUTINE

Property SCHEMALEVELROUTINE As %String(MAXLEN = 3, VALUELIST = ",YES,NO") [ Calculated, Required, SqlColumnNumber = 25, SqlComputeCode = { set {*}="YES" }, SqlComputed, SqlFieldName = SCHEMA_LEVEL_ROUTINE ];

The values of SCHEMA_LEVEL_ROUTINE have the following meanings:

  • YES - If the routine is a schema-level routine.
  • NO - If the routine is not a schema-level routine. For InterSystems IRIS, SCHEMA_LEVEL_ROUTINE is always YES.

MAXDYNAMICRESULTSETS

Property MAXDYNAMICRESULTSETS As %SmallInt [ Calculated, SqlColumnNumber = 26, SqlComputeCode = { set {*}="" }, SqlComputed, SqlFieldName = MAX_DYNAMIC_RESULT_SETS ];

Reserved for future use. For InterSystems IRIS, MAX_DYNAMIC_RESULT_SETS is always NULL.

ISUSERDEFINEDCAST

Property ISUSERDEFINEDCAST As %String(MAXLEN = 3, VALUELIST = ",YES,NO") [ Calculated, SqlColumnNumber = 27, SqlComputeCode = { set {*}=$s({ROUTINE_BODY}="SQL":"",1:"NO") }, SqlComputed, SqlFieldName = IS_USER_DEFINED_CAST ];

The values of IS_USER_DEFINED_CAST have the following meanings:

  • YES - The routine is a function that is a user-defined cast function.
  • NO - The routine is a function that is not a user-defined cast function.
  • null - The routine being described is a class query procedure. For InterSystems IRIS, if the routine is a function IS_USER_DEFINED_CAST is always NO.

ISIMPLICITLYINVOCABLE

Property ISIMPLICITLYINVOCABLE As %String(MAXLEN = 3) [ Calculated, SqlColumnNumber = 28, SqlComputeCode = { set {*}="" }, SqlComputed, SqlFieldName = IS_IMPLICITLY_INVOCABLE ];

The values of IS_IMPLICITLY_INVOCABLE have the following meanings:

  • YES - The user-defined cast function is implicitly invocable.
  • NO - The user-defined cast function is not implicitly invocable.
  • null - The routine is not a user-defined cast function. Reserved for future use. For InterSystems IRIS, IS_IMPLICITLY_INVOCABLE is always null.

SECURITYTYPE

Property SECURITYTYPE As %String(MAXLEN = 22, VALUELIST = ",DEFINER,INVOKER,IMPLEMENTATION DEFINED") [ Calculated, SqlColumnNumber = 29, SqlComputeCode = { set {*}="" }, SqlComputed, SqlFieldName = SECURITY_TYPE ];

The values of SECURITY_TYPE have the following meanings:

  • DEFINER - The routine has the security characteristic DEFINER.
  • INVOKER - The routine has the security characteristic INVOKER.
  • IMPLEMENTATION DEFINED - The external routine has the security characteristic IMPLEMENTATION DEFINED.
  • null - Unknown security type. For InterSystems IRIS, SECURITY_TYPE is always null.

TOSQLSPECIFICCATALOG

Property TOSQLSPECIFICCATALOG As %String(MAXLEN = 3) [ Calculated, SqlColumnNumber = 30, SqlComputeCode = { set {*}="" }, SqlComputed, SqlFieldName = TO_SQL_SPECIFIC_CATALOG ];

Reserved for future use. For InterSystems IRIS, TO_SQL_SPECIFIC_CATALOG is always NULL.

TOSQLSPECIFICSCHEMA

Property TOSQLSPECIFICSCHEMA As %String(MAXLEN = 3) [ Calculated, SqlColumnNumber = 31, SqlComputeCode = { set {*}="" }, SqlComputed, SqlFieldName = TO_SQL_SPECIFIC_SCHEMA ];

Reserved for future use. For InterSystems IRIS, TO_SQL_SPECIFIC_SCHEMA is always NULL.

TOSQLSPECIFICNAME

Property TOSQLSPECIFICNAME As %String(MAXLEN = 3) [ Calculated, SqlColumnNumber = 32, SqlComputeCode = { set {*}="" }, SqlComputed, SqlFieldName = TO_SQL_SPECIFIC_NAME ];

Reserved for future use. For InterSystems IRIS, TO_SQL_SPECIFIC_NAME is always NULL.

ASLOCATOR

Property ASLOCATOR As %String(MAXLEN = 3, VALUELIST = ",YES,NO") [ Calculated, SqlColumnNumber = 33, SqlComputeCode = {

Returns YES or NO based on if the return value of the function is a LOB oref value and not the actual data value of the LOB.
AS_LOCATOR have the following meanings:

  • YES - The return value of the routine being described is an stream oref.
  • NO - The return value of the routine being described is not an stream oref.
  • null - The routine is a class query procedure. For InterSystems IRIS, AS_LOCATOR is always null unless the return value is a stream, then it is YES.

CREATED

Property CREATED As %TimeStamp [ Calculated, SqlColumnNumber = 34, SqlComputeCode = { set {*}="" }, SqlComputed, SqlFieldName = CREATED ];

For InterSystems IRIS, CREATED is always NULL.

LASTALTERED

Property LASTALTERED As %TimeStamp [ Calculated, SqlColumnNumber = 35, SqlComputeCode = { set {*}="" }, SqlComputed, SqlFieldName = LAST_ALTERED ];

For InterSystems IRIS, LAST_ALTERED is always NULL.

NEWSAVEPOINTLEVEL

Property NEWSAVEPOINTLEVEL As %String(MAXLEN = 3, VALUELIST = ",YES,NO") [ Calculated, SqlColumnNumber = 36, SqlComputeCode = { set {*}="" }, SqlComputed, SqlFieldName = NEW_SAVEPOINT_LEVEL ];

Reserved for future use. For InterSystems IRIS, NEW_SAVEPOINT_LEVEL is always NULL.

ISUDTDEPENDENT

Property ISUDTDEPENDENT As %String(MAXLEN = 3, VALUELIST = ",YES,NO") [ Calculated, SqlColumnNumber = 37, SqlComputeCode = { set {*}="" }, SqlComputed, SqlFieldName = IS_UDT_DEPENDENT ];

Reserved for future use. For InterSystems IRIS, IS_UDT_DEPENDENT is always NULL.

RESULTCASTFROMDTDIDENTIFIER

Property RESULTCASTFROMDTDIDENTIFIER As %String(MAXLEN = 3) [ Calculated, SqlColumnNumber = 38, SqlComputeCode = { set {*}="" }, SqlComputed, SqlFieldName = RESULT_CAST_FROM_DTD_IDENTIFIER ];

Reserved for future use. For InterSystems IRIS, RESULT_CAST_FROM_DTD_IDENTIFIER is always NULL.

RESULTCASTASLOCATOR

Property RESULTCASTASLOCATOR As %String(MAXLEN = 3, VALUELIST = ",YES,NO") [ Calculated, SqlColumnNumber = 39, SqlComputeCode = { set {*}="" }, SqlComputed, SqlFieldName = RESULT_CAST_AS_LOCATOR ];

Reserved for future use. For InterSystems IRIS, RESULT_CAST_AS_LOCATOR is always NULL.

DATATYPE

Property DATATYPE As %String(MAXLEN = 30) [ Calculated, SqlColumnNumber = 40, SqlComputeCode = {

Data type of the return value of the function. Returns null if the procedure has no return value.

CHARACTERMAXIMUMLENGTH

Property CHARACTERMAXIMUMLENGTH As %Integer [ Calculated, SqlColumnNumber = 41, SqlComputeCode = {

Maximum length in characters, if the return type is a character type. If not a character type, returns null.

CHARACTEROCTETLENGTH

Property CHARACTEROCTETLENGTH As %Integer [ Calculated, SqlColumnNumber = 42, SqlComputeCode = { set {*}="" }, SqlComputed, SqlFieldName = CHARACTER_OCTET_LENGTH ];

Reserved for future use. For InterSystems IRIS, CHARACTER_OCTET_LENGTH is always NULL.

NUMERICPRECISION

Property NUMERICPRECISION As %SmallInt [ Calculated, SqlColumnNumber = 43, SqlComputeCode = {

Numeric precision of the return value. For the nonnumeric types, returns NULL.

NUMERICPRECISIONRADIX

Property NUMERICPRECISIONRADIX As %Integer [ Calculated, SqlColumnNumber = 44, SqlComputeCode = {

Numeric precision radix of the return value. For nonnumeric types, returns NULL.

NUMERICSCALE

Property NUMERICSCALE As %Integer [ Calculated, SqlColumnNumber = 45, SqlComputeCode = {

Scale of the return value. For nonnumeric types, returns NULL.

DATETIMEPRECISION

Property DATETIMEPRECISION As %Integer [ Calculated, SqlColumnNumber = 46, SqlComputeCode = { set {*}="" }, SqlComputed, SqlFieldName = DATETIME_PRECISION ];

Reserved for future use. For InterSystems IRIS, DATETIME_PRECISION is always NULL.

COLLATIONCATALOG

Property COLLATIONCATALOG As %String(MAXLEN = 3) [ Calculated, SqlColumnNumber = 47, SqlComputeCode = { set {*}="" }, SqlComputed, SqlFieldName = COLLATION_CATALOG ];

Reserved for future use. For InterSystems IRIS, COLLATION_CATALOG is always NULL.

COLLATIONSCHEMA

Property COLLATIONSCHEMA As %String(MAXLEN = 3) [ Calculated, SqlColumnNumber = 48, SqlComputeCode = { set {*}="" }, SqlComputed, SqlFieldName = COLLATION_SCHEMA ];

Reserved for future use. For InterSystems IRIS, COLLATION_SCHEMA is always NULL.

COLLATIONNAME

Property COLLATIONNAME As %String(MAXLEN = 3) [ Calculated, SqlColumnNumber = 49, SqlComputeCode = { set {*}="" }, SqlComputed, SqlFieldName = COLLATION_NAME ];

Reserved for future use. For InterSystems IRIS, COLLATION_NAME is always NULL.

CHARACTERSETCATALOG

Property CHARACTERSETCATALOG As %String(MAXLEN = 3) [ Calculated, SqlColumnNumber = 50, SqlComputeCode = { set {*}="" }, SqlComputed, SqlFieldName = CHARACTER_SET_CATALOG ];

Reserved for future use. For InterSystems IRIS, CHARACTER_SET_CATALOG is always NULL.

CHARACTERSETSCHEMA

Property CHARACTERSETSCHEMA As %String(MAXLEN = 3) [ Calculated, SqlColumnNumber = 51, SqlComputeCode = { set {*}="" }, SqlComputed, SqlFieldName = CHARACTER_SET_SCHEMA ];

Reserved for future use. For InterSystems IRIS, CHARACTER_SET_SCHEMA is always NULL.

CHARACTERSETNAME

Property CHARACTERSETNAME As %String(MAXLEN = 3) [ Calculated, SqlColumnNumber = 52, SqlComputeCode = { set {*}="" }, SqlComputed, SqlFieldName = CHARACTER_SET_NAME ];

Reserved for future use. For InterSystems IRIS, CHARACTER_SET_NAME is always NULL.

Classname

Property Classname As %String(MAXLEN = 255) [ SqlColumnNumber = 53, SqlFieldName = CLASSNAME ];

Name of the class that projected the Stored Procedure

MethodQueryName

Property MethodQueryName As %String(MAXLEN = 255) [ SqlColumnNumber = 54, SqlFieldName = METHOD_OR_QUERY_NAME ];

Name of the class method or class query that projected this procedure