IRISLIB database
IProcedureContext Class Reference

Base procedure context interface. More...

Inheritance diagram for IProcedureContext:
Collaboration diagram for IProcedureContext:

Public Member Functions

_.Library.Status CloseCurrentResult ()
 Close the current resultset object, used to allow the cleanup code to run and the cursor to close.
 
_.Library.RegisteredObject NextResult ()
 Called to return the next resultset object. More...
 
- Public Member Functions inherited from RegisteredObject
_.Library.Status OnAddToSaveSet (_.Library.Integer depth, _.Library.Integer insert, _.Library.Integer callcount)
 This callback method is invoked when the current object is added to the SaveSet,. More...
 
_.Library.Status OnClose ()
 This callback method is invoked by the <METHOD>Close</METHOD> method to. More...
 
_.Library.Status OnConstructClone (_.Library.RegisteredObject object, _.Library.Boolean deep, _.Library.String cloned)
 This callback method is invoked by the <METHOD>ConstructClone</METHOD> method to. More...
 
_.Library.Status OnNew ()
 This callback method is invoked by the <METHOD>New</METHOD> method to. More...
 
_.Library.Status OnValidateObject ()
 This callback method is invoked by the <METHOD>ValidateObject</METHOD> method to. More...
 

Public Attributes

 Error
   More...
 

Private Member Functions

 Display (_.Library.String pDelimiter)
 Base procedure context interface. More...
 
 DisplayFormatted (_.Library.String pFormat, _.Library.String pFileName, _.SQL.Manager.Messages pMessages, _.Library.String pFilesUsed, _.Library.String pTranslateTable, _.Library.String pDelimiter)
 
_.Library.String Get (_.Library.String pColumnName)
 Returns the value of the column with the name pColumnName in the current row of the result set. More...
 
_.Library.String GetData (_.Library.Integer pColumnNumber)
 Returns the value of column pColumnNumber in the current row of the result set.
 
_.SQL.StatementMetadata GetMetadata ()
 Return the result set metadata as a SQL.StatementMetadata instance.
 
_.Library.Integer MoreResults ()
 MoreResults() will serially bind the next result set to the result object cursor More...
 
_.Library.Integer Next (_.Library.Status pStatus)
 Advance the procedural result set cursor to the next row. More...
 
_.Library.Status Print (_.Library.String pDelimiter)
 Print the contents of the current row on the current device.
 

Additional Inherited Members

- Static Public Attributes inherited from RegisteredObject
 CAPTION = None
 Optional name used by the Form Wizard for a class when generating forms. More...
 
 JAVATYPE = None
 The Java type to be used when exported.
 
 PROPERTYVALIDATION = None
 This parameter controls the default validation behavior for the object. More...
 

Detailed Description

Base procedure context interface.

Member Function Documentation

◆ Display()

Display ( _.Library.String  pDelimiter)
private

Base procedure context interface.

Display the contents of this object on the current device

◆ DisplayFormatted()

DisplayFormatted ( _.Library.String  pFormat,
_.Library.String  pFileName,
_.SQL.Manager.Messages  pMessages,
_.Library.String  pFilesUsed,
_.Library.String  pTranslateTable,
_.Library.String  pDelimiter 
)
private

Display the contents of the OutputValues() multidimentional property. If formatted display is available then format the results

using the requested format and, if appropriate, open the formatted results using the host OS. The output is directed to one or more files and messages are placed in a result set object. All file names used are returned in an array.


Parameters


NameDescription
pFormat

The format applied to the result content. This parameter is also used to determine the file name extension.

Supported formats are:

-1Display() format
0XML
1HTML
2PDF (requires a renderer such as FOP)
99TXT
100CSV

If pFormat is specified as any number not listed above then it will default to TXT.

pFormat can also be specified as XML, HTML, PDF, TXT or CSV.

NOTE: pFormat of CSV/100 is not a true comma separated value, but instead behaves the same as TXT, displaying each OutputValues() on a numbered line.

pFileName

The base file name to be used to generate actual file names used for output. If no value is specified then a file name will be generated, using the TEMP folder defined for the InterSystems IRIS instance. This value is not expected to include an extension. An extension is added to this value to form the actual file used. Also, if nested results exist then a number is appended to the file name specified to produce a unique name for each result.

pMessages

Instance of a system result set class. If no value is passed then the system message result class is instantiated. This parameter is passed by reference. It is up to the caller to process the result set oref that is returned. pMessages.Count() returns the number of messages contained in the result set. pMessages.Display() will display the messages on the current device. pMessages.DisplayFormatted() is also implemented and can be used to display the messages using the selected format.

pFilesUsed

This pass-by-reference parameter will contain the number of files used to display the result content and the name of each file. pFilesUsed is the number of files and pFilesUsed(file_number) is the name of the file. The sequence of the files is the same sequence as the results are processed. For simple result objects, there is a single file. For context objects that can contain result set sequences, the results are output in the order they are returned and the files used are present in pFilesUsed in that same order.

pTranslateTable

This is the translate table used for the output files when the format is CSV or TXT. This parameter is optional.


◆ Get()

_.Library.String Get ( _.Library.String  pColumnName)
private

Returns the value of the column with the name pColumnName in the current row of the result set.

If pColumnName is not a valid column name, this method returns an empty string.

Reimplemented in JGWResultSet, and GTWResultSet.

◆ MoreResults()

_.Library.Integer MoreResults ( )
private

MoreResults() will serially bind the next result set to the result object cursor

(implemented as Next()). If a result set was previously bound to the result object cursor (referred to as the "procedural cursor" by the SQL Standard) then it will be unbound and the reference to that result set removed. Under normal circumstances the previously bound result set is destructed.

Reimplemented from StatementResult.

◆ Next()

_.Library.Integer Next ( _.Library.Status  pStatus)
private

Advance the procedural result set cursor to the next row.

Returns 0 if the cursor is at the end of the

result set or if an error was encountered. Errors are reported in dynamic SQL using the SQLCODE and Message properties of the statement result. An optional argument will contain a Status value on return. This Status value indicates success or failure of the Next call but it should be considered to be a secondary error reporting interface, <property>SQLCODE</property> being the primary error reporting mechanism. This implementation can be overridden by classes that implement the procedural cursor interface.

Reimplemented in JGWResultSet, and GTWResultSet.

◆ NextResult()

Called to return the next resultset object.

This also removes the reference to the existing object so it can cleanup and close itself

Reimplemented from StatementResult.

Reimplemented in ProcedureContext, ProcedureContext, JGWResultSet, and GTWResultSet.

Member Data Documentation

◆ Error

Error