AEProcedure Class Reference

A class that models a stored procedure. More...

Inherits Simba::SQLEngine::AERelationalExpr.

List of all members.

Public Member Functions

virtual void AcceptVisitor (AENodeVisitor &in_visitor)
 Calls the correct method on the visitor.
 AEProcedure (const AEProcedure &in_other)
 Copy constructor.
 AEProcedure (SharedPtr< DSIExtProcedure > in_procedure, AutoPtr< AEValueList > in_arguments=AutoPtr< AEValueList >(NULL), bool in_hasRetVal=false)
 Constructor.
virtual AEProcedureClone () const
 Creates a clone of this node object.
AEValueListGetArguments ()
 Get a reference to the Arguments list.
virtual const AEProcedureGetAsProcedure () const
 Retrieves the object as an AEProcedure object.
virtual AEProcedureGetAsProcedure ()
 Retrieves the object as an AEProcedure object.
virtual const AENodeGetChild (simba_size_t in_index) const
 Gets a pointer reference to the specified child node.
virtual AENodeGetChild (simba_size_t in_index)
 Gets a pointer reference to the specified child node.
virtual simba_size_t GetChildCount () const
 Gets the number of child nodes that this node has.
virtual Simba::DSI::IColumnGetColumn (simba_uint16 in_columnNum)
 Retrieves the column metadata for the given column.
virtual simba_uint16 GetColumnCount ()
 Returns the number of columns in this query operation.
Simba::DSI::IResultGetCurrentResult ()
 Returns the current result for the stored procedure.
const std::vector
< SqlTypeMetadata * > & 
GetExpectedArgMetadata () const
 Gets a reference to the expected metadata for the arguments.
virtual simba_wstring GetLogString () const
 Returns a string name for this node for the purpose of logging.
virtual AENodeType GetNodeType () const
 Returns an integer that uniquely identifies the node class. See the definition of AENodeType for values defined.
DSIExtProcedureGetProcedure ()
 Get a reference to the DSIExtProcedure.
bool HasArguments () const
 Returns whether this object has an arguments list.
bool HasReturnValue () const
 Returns whether this object has a procedure return value.
void SetArguments (AutoPtr< AEValueList > in_arguments)
 Grants the ownership of the arguments list to this object.
virtual void SetDataNeeded (simba_uint16 in_column, bool in_isNeeded)
 Indicates whether RetrieveData(...) might be called on the given column. This applies to any subsequent Move(...) calls.
AutoPtr< AEValueListTakeArguments ()
 Takes the ownership of the Arguments list away from this object.
virtual void Validate ()
 Validates the node.
virtual ~AEProcedure ()
 Destructor.

Detailed Description

A class that models a stored procedure.

Will have zero or one child (GetChildCount() returns 0 or 1). Only if there are arguments for the stored procedure will there be one child.


Constructor & Destructor Documentation

AEProcedure ( SharedPtr< DSIExtProcedure in_procedure,
AutoPtr< AEValueList in_arguments = AutoPtrAEValueList >(NULL),
bool  in_hasRetVal = false 
)

Constructor.

The ownership of the operand object passed in through the constructor is transferred to this object.

The list of valid stored procedure calls is not known until the catalog function SQLProcedures is called. If there is a procedure call return value, then all parameters must be bound by calling SQLBindParameter prior to calling SQLPrepare.

A procedure call return value has the syntax "? =". A dynamic parameter followed by an equals sign is specified on the left hand side before calling the procedure as in the following example: {? = call Procedure}

If in_arguments is not NULL, then SetArguments() must be called immediately after construction of an AEProcedureCall.

Note: An Argument List is optional for an AEProcedure.

Parameters:
in_procedure The stored procedure from the DSII that this AEProcedureCall represents.
in_arguments The Argument List. NULL if there are no arguments. (OWN)
in_hasRetVal True if there is a procedure call return value; false otherwise.
AEProcedure ( const AEProcedure in_other  ) 

Copy constructor.

To support "cloning". See Clone() method.

Parameters:
in_other The other node to create copy from.
virtual ~AEProcedure (  )  [virtual]

Destructor.


Member Function Documentation

virtual void AcceptVisitor ( AENodeVisitor in_visitor  )  [virtual]

Calls the correct method on the visitor.

Parameters:
in_visitor The visiting object.

Implements AENode.

virtual AEProcedure* Clone (  )  const [virtual]

Creates a clone of this node object.

Returns:
A clone of this node object. (OWN)

Implements AERelationalExpr.

AEValueList* GetArguments (  ) 

Get a reference to the Arguments list.

If the caller wishes to take control of the ownership of the Arguments list object, call TakeArguments() instead.

Returns:
a pointer reference to the Arguments list node. (NOT OWN)
virtual const AEProcedure* GetAsProcedure (  )  const [inline, virtual]

Retrieves the object as an AEProcedure object.

Overrides the method defined in AERelationalExpr.

Returns:
this object always. (NOT OWN)

Reimplemented from AERelationalExpr.

virtual AEProcedure* GetAsProcedure (  )  [inline, virtual]

Retrieves the object as an AEProcedure object.

Overrides the method defined in AERelationalExpr.

Returns:
this object always. (NOT OWN)

Reimplemented from AERelationalExpr.

virtual const AENode* GetChild ( simba_size_t  in_index  )  const [virtual]

Gets a pointer reference to the specified child node.

Parameters:
in_index The zero-based index for the child.
Exceptions:
SEInvalidOperationException if the index is invalid.
Returns:
A pointer reference to the requested child node. (NOT OWN)

Implements AENode.

virtual AENode* GetChild ( simba_size_t  in_index  )  [virtual]

Gets a pointer reference to the specified child node.

Parameters:
in_index The zero-based index for the child.
Exceptions:
SEInvalidOperationException if the index is invalid.
Returns:
A pointer reference to the requested child node. (NOT OWN)

Implements AENode.

virtual simba_size_t GetChildCount (  )  const [virtual]

Gets the number of child nodes that this node has.

Returns:
The number of child nodes.

Implements AENode.

virtual Simba::DSI::IColumn* GetColumn ( simba_uint16  in_columnNum  )  [virtual]

Retrieves the column metadata for the given column.

Parameters:
in_columnNum The zero-base column index.
Exceptions:
SEInvalidArgumentException when the given column number is invalid
Returns:
the column metadata for the given column. (NOT OWN)

Implements AEQueryOperation.

virtual simba_uint16 GetColumnCount (  )  [virtual]

Returns the number of columns in this query operation.

Returns:
The number of columns in this query operation.

Implements AEQueryOperation.

Simba::DSI::IResult* GetCurrentResult (  ) 

Returns the current result for the stored procedure.

Will return NULL if there is no current result.

Returns:
the current result for the stored procedure. (NOT OWN)
const std::vector<SqlTypeMetadata*>& GetExpectedArgMetadata (  )  const

Gets a reference to the expected metadata for the arguments.

Returns:
a reference to the Arguments metadata list. (NOT OWN)
virtual simba_wstring GetLogString (  )  const [virtual]

Returns a string name for this node for the purpose of logging.

Returns:
A string representation of this node for logging purposes.

Implements AENode.

virtual AENodeType GetNodeType (  )  const [virtual]

Returns an integer that uniquely identifies the node class. See the definition of AENodeType for values defined.

Returns:
The ID that uniquely identifies this type of nodes.

Implements AENode.

DSIExtProcedure* GetProcedure (  ) 

Get a reference to the DSIExtProcedure.

Returns:
a pointer reference to the DSIExtProcedure. (NOT OWN)
bool HasArguments (  )  const

Returns whether this object has an arguments list.

Returns:
True if this object has an arguments list; false otherwise.
bool HasReturnValue (  )  const

Returns whether this object has a procedure return value.

Returns:
True if this object has a procedure return value; false otherwise.
void SetArguments ( AutoPtr< AEValueList in_arguments  ) 

Grants the ownership of the arguments list to this object.

Parameters:
in_arguments The arguments list. (OWN)
Exceptions:
SEInvalidArgumentException when in_arguments.IsNull() returns true.
SEInvalidOperationException when this object already has an arguments list object.
virtual void SetDataNeeded ( simba_uint16  in_column,
bool  in_isNeeded 
) [virtual]

Indicates whether RetrieveData(...) might be called on the given column. This applies to any subsequent Move(...) calls.

Parameters:
in_column A zero-based column index.
in_isNeeded Indicates whether data may be retrieved from the given column by the ODBC layer or not.
Exceptions:
SEInvalidArgumentException if in_column is invalid.

Implements AERelationalExpr.

AutoPtr<AEValueList> TakeArguments (  ) 

Takes the ownership of the Arguments list away from this object.

If the caller only wants to access the Arguments list, call GetArguments() instead.

Exceptions:
SEInvalidOperationException when m_arguments.IsNull() returns true.
Returns:
The Arguments list. (OWN)
virtual void Validate (  )  [virtual]

Validates the node.

This is a default base implementation does nothing and it cascades to any children.

Exceptions:
AEInvalidAetException if the node is not valid.

Reimplemented from AENode.


The documentation for this class was generated from the following file:

Generated on Wed May 17 14:21:17 2017 for SimbaEngine 10.1.3.1011 by simba