AEAggrFunction Class Reference

A class that models the Set Functions in SQL-92 (aka Aggregate Functions). More...

Inherits Simba::SQLEngine::AEUnaryValueExpr.

List of all members.

Public Member Functions

virtual void AcceptVisitor (AENodeVisitor &in_visitor)
 Calls the correct method on the visitor.
 AEAggrFunction (const AEAggrFunction &in_other)
 Copy constructor.
 AEAggrFunction (SEAggrFunctionID in_functionID, SESetQuantifier in_setQuantifierID, SharedPtr< AEValueExpr > in_expr)
 Constructor.
virtual AEAggrFunctionClone () const
 Creates a clone of this node object.
virtual const AEAggrFunctionGetAsAggrFunction () const
 Retrieves the object as an AEAggrFunction object.
virtual AEAggrFunctionGetAsAggrFunction ()
 Retrieves the object as an AEAggrFunction object.
virtual const
Simba::DSI::DSIColumnMetadata
GetColumnMetadata () const
 Gets a reference to the DSIColumnMetadata describing the column.
virtual simba_uint32 GetColumnSize () const
 Returns the size for the column for character or binary data.
SEAggrFunctionID GetFunctionID () const
 This method returns the aggregate function id.
virtual simba_wstring GetLogString () const
 Returns a string name for this node for the purpose of logging.
virtual SqlTypeMetadataGetMetadata () const
 Returns the SqlTypeMetadata associated with this aggregate function.
virtual AENodeType GetNodeType () const
 Returns an integer that uniquely identifies the node class.
SESetQuantifier GetSetQuantifier () const
 This method returns the set quantifier id.
virtual void Validate ()
 Validates the node.
virtual ~AEAggrFunction ()
 Destructor.

Protected Member Functions

virtual bool IsEqual (const AENode *in_another) const
 Tell whether two nodes are "equal".

Detailed Description

A class that models the Set Functions in SQL-92 (aka Aggregate Functions).

NOTE: See AECountStartAggrFunction for a COUNT(*) function.

Will always have one child (GetChildCount() returns 1):


Constructor & Destructor Documentation

AEAggrFunction ( SEAggrFunctionID  in_functionID,
SESetQuantifier  in_setQuantifierID,
SharedPtr< AEValueExpr in_expr 
)

Constructor.

Parameters:
in_functionID The ID that uniquely identifies the function.
in_setQuantifierID The ID that identifies the Set Quantifier that will be applied.
in_expr The expression for this function.
AEAggrFunction ( const AEAggrFunction in_other  ) 

Copy constructor.

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

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

Creates a clone of this node object.

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

Implements AEUnaryValueExpr.

virtual const AEAggrFunction* GetAsAggrFunction (  )  const [virtual]

Retrieves the object as an AEAggrFunction object.

Overrides the method defined in AEValueExpr.

Returns:
This object as an AEAggrFunction object. (NOT OWN)

Reimplemented from AEValueExpr.

virtual AEAggrFunction* GetAsAggrFunction (  )  [virtual]

Retrieves the object as an AEAggrFunction object.

Overrides the method defined in AEValueExpr.

Returns:
This object as an AEAggrFunction object. (NOT OWN)

Reimplemented from AEValueExpr.

virtual const Simba::DSI::DSIColumnMetadata& GetColumnMetadata (  )  const [virtual]

Gets a reference to the DSIColumnMetadata describing the column.

Returns:
Reference to the DSIColumnMetadata describing the column.

Reimplemented from AEUnaryValueExpr.

virtual simba_uint32 GetColumnSize (  )  const [virtual]

Returns the size for the column for character or binary data.

For character data, this size should be in terms of the number of characters, not the number of bytes. For example, VARCHAR(10) and NVARCHAR(10) would both correspond to size of 10, even if NVARCHAR used 2 bytes per character.

This method is not used for non-character/binary data types.

Returns:
The size for character or binary data.

Reimplemented from AEUnaryValueExpr.

SEAggrFunctionID GetFunctionID (  )  const

This method returns the aggregate function id.

Returns:
The aggregate function id.
virtual simba_wstring GetLogString (  )  const [virtual]

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

Exceptions:
SEInvalidArgumentException when m_functionID is an invalid function ID.
Returns:
A string representation of this node for logging purposes.

Implements AENode.

virtual SqlTypeMetadata* GetMetadata (  )  const [virtual]

Returns the SqlTypeMetadata associated with this aggregate function.

Returns:
The SqlTypeMetadata associated with this aggregate function. (NOT OWN)

Reimplemented from AEUnaryValueExpr.

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.

SESetQuantifier GetSetQuantifier (  )  const

This method returns the set quantifier id.

Returns:
The set quantifier id.
virtual bool IsEqual ( const AENode in_another  )  const [protected, virtual]

Tell whether 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.

virtual void Validate (  )  [virtual]

Validates the node.

Exceptions:
AEInvalidAetException if the node is not valid.
SESqlErrorException when the SQL data type of the expression is invalid for the given Set Function.

Reimplemented from AENode.


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