A comparator for comparing a relation's bookmarks. More...
Public Member Functions
|virtual simba_int32||Compare (const simba_byte *in_left, simba_uint32 in_leftNumBytes, const simba_byte *in_right, simba_uint32 in_rightNumBytes) const =0|
|Compares two bookmarks for order. |
|virtual simba_uint16||GetBookmarkSize () const =0|
|Gets the size, in bytes, of bookmarks this object compares. |
|virtual bool||ShouldAlwaysSortBookmarks () const =0|
|Whether a set of bookmarks should always be sorted using this object before using them to access a table. |
Protected Member Functions
A comparator for comparing a relation's bookmarks.
This object should define a total order on the bookmarks of the relation it comes from.
This order should be such that visiting a set of bookmarks in this order in the relation should be as efficient as possible (for example, in clustered order).
|virtual simba_int32 Compare||(||const simba_byte *||in_left,|
|const simba_byte *||in_right,|
Compares two bookmarks for order.
|in_left||The first byte buffer to compare. Must not be NULL. (NOT OWN)|
|in_leftNumBytes||This parameter should be ignored.|
|in_right||The second byte buffer to compare with in_left. Must not be NULL. (NOT OWN)|
|in_rightNumBytes||This parameter should be ignored.|
|virtual simba_uint16 GetBookmarkSize||(||)|| const
Gets the size, in bytes, of bookmarks this object compares.
|virtual bool ShouldAlwaysSortBookmarks||(||)|| const
Whether a set of bookmarks should always be sorted using this object before using them to access a table.
This should return True if accessing a set of rows in the associated table using a set of bookmarks is more efficient if they are put into the order defined by this object, and the difference in efficiency is worth the overhead involved in sorting.
If this function returns false, the SQLEngine will use this object to sort a set of bookmarks for the associated table only if it needs to. Otherwise, in cases where the order of rows retrieved is immaterial, it will always sort bookmarks using this object before applying them to the associated table.