IDistinctHandler Class Reference

Defines the interface for passing down a relational DISTINCT operation to the DSII. More...

List of all members.

Public Member Functions

virtual SharedPtr
< DSIExtResultSet
Passdown (AEDistinct *in_node)=0
 Pass down the DISTINCT operation.
virtual ~IDistinctHandler ()
 Destructor.

Protected Member Functions

 IDistinctHandler ()
 Constructor.

Detailed Description

Defines the interface for passing down a relational DISTINCT operation to the DSII.

A relational DISTINCT operation is used to remove duplicates from the result set of a select statement. When there is only one column provided in the table on which DISTINCT is operated, the result will be the unique values of that column. When there are multiple columns provided in the table, the result will be the unique combinations of the columns.

Simba SQLEngine will attempt to pass down the DISTINCT operation to the DSII. If the DSII is able to operate DISTINCT, the table with unique rows representing the result set of DISTINCT will be returned to the engine. Otherwise, NULL will be returned and the engine will do the DISTINCT operation.


Constructor & Destructor Documentation

virtual ~IDistinctHandler (  )  [inline, virtual]

Destructor.

IDistinctHandler (  )  [inline, protected]

Constructor.


Member Function Documentation

virtual SharedPtr<DSIExtResultSet> Passdown ( AEDistinct in_node  )  [pure virtual]

Pass down the DISTINCT operation.

An implementation should ensure that this method returns the table representing the distinct result if the distinct operation is successfully passed down. Otherwise, it should return NULL and in_node remains intact.

Parameters:
in_node The distinct operation node. Cannot be NULL. (NOT OWN)
Returns:
the table with unique rows that represents the distinct result if passing down distinct operation is successful, NULL otherwise.

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

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