ETUnaryRelationalExpr Class Reference

An abstract base class for all "physical" relational operations that take one relational expression as the operand. More...

Inherits ETUnaryExprT< ETRelationalExpr, ETRelationalExpr >.

Inherited by ETRelationalCache.

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 ~ETUnaryRelationalExpr ()
 Destructor.

Protected Member Functions

 ETUnaryRelationalExpr (AutoPtr< ETRelationalExpr > in_operand)
 Constructor.

Detailed Description

An abstract base class for all "physical" relational operations that take one relational expression as the operand.

Please note a derived relational operation may have other nodes other than a relational operand. For example, a projection operation will have a list of attributes.


Constructor & Destructor Documentation

virtual ~ETUnaryRelationalExpr (  )  [inline, virtual]

Destructor.

ETUnaryRelationalExpr ( AutoPtr< ETRelationalExpr in_operand  )  [inline, explicit, protected]

Constructor.

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

Parameters:
in_operand The operand. (OWN)
Exceptions:
SEInvalidArgumentException when in_operand does not own an operand object

Member Function Documentation

virtual void GetBookmark ( simba_byte *  out_bookmark  )  [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 (  )  [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  )  [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  )  [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