ETBinaryLeftRelationalExpr< OperandT, OperandPtrT > Class Template Reference

An abstract base class for all relational operations that take one relational operand as the left child, and another node as the right child. More...

Inherits ETBinaryExprT< ETRelationalExpr, ETRelationalExpr, OperandT, AutoPtr< ETRelationalExpr >, OperandPtrT >.

List of all members.

Public Member Functions

virtual void GetBookmark (simba_byte *out_bookmark)
virtual simba_uint16 GetBookmarkSize ()
virtual bool GetDataNeeded (simba_uint16 in_column)
virtual bool GotoBookmark (const simba_byte *in_bookmark)
 Move the cursor to the row identified by the given bookmark.
virtual ~ETBinaryLeftRelationalExpr ()
 Destructor.

Protected Member Functions

 ETBinaryLeftRelationalExpr (AutoPtr< ETRelationalExpr > in_leftOperand, AutoPtr< OperandT > in_rightOperand)
 Constructor.

Detailed Description

template<typename OperandT, typename OperandPtrT = AutoPtr<OperandT>>
class Simba::SQLEngine::ETBinaryLeftRelationalExpr< OperandT, OperandPtrT >

An abstract base class for all relational operations that take one relational operand as the left child, and another node as the right child.

Parameters:
OperandT The operand type.
OperandPtrT The pointer type of the operand. Must either be AutoPtr or SharedPtr.

Constructor & Destructor Documentation

virtual ~ETBinaryLeftRelationalExpr (  )  [inline, virtual]

Destructor.

ETBinaryLeftRelationalExpr ( AutoPtr< ETRelationalExpr in_leftOperand,
AutoPtr< OperandT >  in_rightOperand 
) [inline, explicit, protected]

Constructor.

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

Parameters:
in_leftOperand The left operand. (OWN)
in_rightOperand The right operand. (OWN)
Exceptions:
SEInvalidArgumentException when either of the operands does not own an operand object.

Member Function Documentation

virtual void GetBookmark ( simba_byte *  out_bookmark  )  [inline, virtual]

Retrieve a bookmark uniquely identifying the current row. The size of the bookmark should always be that of returned by GetBookmarkSize().

Parameters:
out_bookmark The output buffer for the bookmark. The length of the buffer is assumed to be greater than or equal to the bookmark size.
Exceptions:
SEInvalidOperationException if bookmark is not supported.

Implements IBookmarkable.

virtual simba_uint16 GetBookmarkSize (  )  [inline, virtual]

Retrieve the length in bytes of the bookmark on the table.

If the table does not support bookmarks, this method returns BOOKMARK_NOT_SUPPORTED.

Returns:
the length in bytes of the bookmark if bookmark is supported, BOOKMARK_NOT_SUPPORTED otherwise.

Implements IBookmarkable.

virtual bool GetDataNeeded ( simba_uint16  in_column  )  [inline, virtual]

Gets the data needed status of the column as set by SetDataNeeded. If SetDataNeeded was not called, the value is assumed to be false.

Parameters:
in_column A zero-based column index.
Exceptions:
SEInvalidArgumentException if in_column is invalid.
Returns:
true if the column is indicated to be needed, false otherwise.

Reimplemented from ETRelationalExpr.

virtual bool GotoBookmark ( const simba_byte *  in_bookmark  )  [inline, virtual]

Move the cursor to the row identified by the given bookmark.

NOTE: The bookmark should have been obtained through GetBookmark() and the size of the bookmark is of that returned by GetBookmarkSize().

Parameters:
in_bookmark The bookmark uniquely identifying a row in the table.
Exceptions:
SEInvalidOperationException if bookmark is not supported.
DSIException if the given bookmark is invalid.
Returns:
true if successfully moved to the bookmarked row, false otherwise.

Implements IBookmarkable.


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