AECustomScalarFn Class Reference

A class that models a custom Scalar Function. More...

Inherits Simba::SQLEngine::AEValueExpr.

List of all members.

Public Member Functions

virtual void AcceptVisitor (AENodeVisitor &in_visitor)
 Calls the correct method on the visitor.
 AECustomScalarFn (const AECustomScalarFn &in_other)
 Copy constructor.
 AECustomScalarFn (SharedPtr< DSIExtScalarFunction > in_scalarFn, AutoPtr< AEValueList > in_arguments)
 Constructor.
virtual AECustomScalarFnClone () const
 Creates a clone of this node object.
AEValueListGetArguments ()
 Gets a reference to the Arguments list.
virtual const AECustomScalarFnGetAsCustomScalarFn () const
 Retrieves the object as an AECustomScalarFn object.
virtual AECustomScalarFnGetAsCustomScalarFn ()
 Retrieves the object as an AECustomScalarFn object.
virtual const AENodeGetChild (simba_size_t in_index) const
 Get a pointers reference to the specified child node.
virtual AENodeGetChild (simba_size_t in_index)
 Get a pointers reference to the specified child node.
virtual simba_size_t GetChildCount () const
 Gets the number of child nodes that this node has.
const std::vector
< SqlTypeMetadata * > & 
GetExpectedArgMetadata ()
 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.
SharedPtr< DSIExtScalarFunctionGetScalarFn ()
 Get access to the underlying DSI scalar function.
const simba_wstringGetScalarFnName () const
 Returns the name which identifies the Scalar Function.
bool HasArguments () const
 Returns whether this object has a arguments list.
void SetArguments (AutoPtr< AEValueList > in_arguments)
 Grants the ownership of the arguments list to this object.
AutoPtr< AEValueListTakeArguments ()
 Takes the ownership of the Arguments list away from this object. The caller of this method owns the returned object. If the caller only wants to access the Arguments list, call GetParams() instead.
virtual bool UpdateMetadata (Simba::SQLEngine::DSIExtDataEngineContext *in_deContext)
 Updates the SqlTypeMetadata* describing the column, if needed.
virtual ~AECustomScalarFn ()
 Destructor.

Protected Member Functions

virtual bool IsEqual (const AENode *in_another) const
 Indicates if two nodes are "equal".

Detailed Description

A class that models a custom Scalar Function.

Will have zero or one children (GetChildCount() returns 0 or 1). Will have one child only if there are arguments for the scalar function:


Constructor & Destructor Documentation

AECustomScalarFn ( SharedPtr< DSIExtScalarFunction in_scalarFn,
AutoPtr< AEValueList in_arguments 
)

Constructor.

Parameters:
in_scalarFn The DSI custom scalar function.
in_arguments The Argument List. (OWN)
AECustomScalarFn ( const AECustomScalarFn in_other  ) 

Copy constructor.

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

Parameters:
in_other The other node to create copy from.
virtual ~AECustomScalarFn (  )  [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 AECustomScalarFn* Clone (  )  const [virtual]

Creates a clone of this node object.

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

Implements AEValueExpr.

AEValueList* GetArguments (  ) 

Gets a reference to the Arguments list.

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

Note that if there are no arguments, GetArguments() will return NULL.

Returns:
A pointer reference to the Arguments list node. (NOT OWN)
virtual const AECustomScalarFn* GetAsCustomScalarFn (  )  const [virtual]

Retrieves the object as an AECustomScalarFn object.

Overrides the method defined in AEValueExpr.

Exceptions:
SEInvalidOperationException if this object is not of expected type.
Returns:
This object as an AECustomScalarFn object. (NOT OWN)

Reimplemented from AEValueExpr.

virtual AECustomScalarFn* GetAsCustomScalarFn (  )  [virtual]

Retrieves the object as an AECustomScalarFn object.

Overrides the method defined in AEValueExpr.

Exceptions:
SEInvalidOperationException if this object is not of expected type.
Returns:
This object as an AECustomScalarFn object. (NOT OWN)

Reimplemented from AEValueExpr.

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

Get a pointers 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]

Get a pointers 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.

const std::vector<SqlTypeMetadata*>& GetExpectedArgMetadata (  ) 

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.

SharedPtr<DSIExtScalarFunction> GetScalarFn (  )  [inline]

Get access to the underlying DSI scalar function.

Returns:
The DSI scalar function.
const simba_wstring& GetScalarFnName (  )  const

Returns the name which identifies the Scalar Function.

Returns:
The name which identifies the Scalar Function.
bool HasArguments (  )  const

Returns whether this object has a arguments list.

Returns:
True if this object has a arguments list; false otherwise.
virtual bool IsEqual ( const AENode in_another  )  const [protected, virtual]

Indicates if two nodes are "equal".

Two AEAggrFunction's are equal if IsEqualComprehensive() returns true.

Parameters:
in_another Another node to compare to. (NOT OWN)
Returns:
True if two nodes are equal, false otherwise.

Reimplemented from AENode.

void SetArguments ( AutoPtr< AEValueList in_arguments  ) 

Grants the ownership of the arguments list to this object.

Parameters:
in_arguments The arguments list (OWN)
Exceptions:
SEInvalidOperationException when this object already has a params list object.
AutoPtr<AEValueList> TakeArguments (  ) 

Takes the ownership of the Arguments list away from this object. The caller of this method owns the returned object. If the caller only wants to access the Arguments list, call GetParams() instead.

Exceptions:
SEInvalidOperationException when m_params.IsNull() returns true
Returns:
The Arguments list (OWN)
virtual bool UpdateMetadata ( Simba::SQLEngine::DSIExtDataEngineContext in_deContext  )  [virtual]

Updates the SqlTypeMetadata* describing the column, if needed.

Parameters:
in_deContext The current DataEngine context. (NOT OWN)
Returns:
True if the metadata was updated; false otherwise.

Reimplemented from AEValueExpr.


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

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