#include <flaim.h>
Public Member Functions | |
virtual RCODE | searchCost (HFDB hDb, FLMBOOL bNotted, FLMBOOL bExistential, FLMUINT *puiCost, FLMUINT *puiDrnCost, FLMUINT *puiTestRecordCost, FLMBOOL *pbPassesEmptyRec)=0 |
Method that returns the search cost of this object in providing records for a query. | |
virtual RCODE | testAllRecordCost (HFDB hDb, FLMUINT *puiCost)=0 |
Method that returns the cost of testing ALL record. | |
virtual RCODE | firstRecord (HFDB hDb, FLMUINT *puiDrn, FlmRecord **ppRecord)=0 |
Position to and return the first record that satisfies the predicate. | |
virtual RCODE | lastRecord (HFDB hDb, FLMUINT *puiDrn, FlmRecord **ppRecord)=0 |
Position to and return the last record that satisfies the predicate. | |
virtual RCODE | nextRecord (HFDB hDb, FLMUINT *puiDrn, FlmRecord **ppRecord)=0 |
Position to and return the next record that satisfies the predicate. | |
virtual RCODE | prevRecord (HFDB hDb, FLMUINT *puiDrn, FlmRecord **ppRecord)=0 |
Position to and return the previous record that satisfies the predicate. | |
virtual RCODE | testRecord (HFDB hDb, FlmRecord *pRecord, FLMUINT uiDrn, FLMUINT *puiResult)=0 |
Test a record to see if it passes the criteria of the predicate. | |
virtual FLMUINT | getIndex (FLMUINT *puiIndex)=0 |
Return index being used for this predicate. | |
virtual FlmUserPredicate * | copy (void)=0 |
Copy the predicate. | |
virtual HFCURSOR | getCursor (void)=0 |
Return predicate's FLAIM query handle, if any. | |
virtual RCODE | positionTo (HFDB hDb, FlmUserPredicate *pPredicate)=0 |
Position this predicate to the same position as another predicate. | |
virtual RCODE | savePosition (void)=0 |
Save current position of predicate. | |
virtual RCODE | restorePosition (void)=0 |
Restore last saved position of predicate. | |
virtual RCODE | isAbsPositionable (HFDB hDb, FLMBOOL *pbIsAbsPositionable)=0 |
Determine if predicate is absolute positionable. | |
virtual RCODE | getAbsCount (HFDB hDb, FLMUINT *puiCount)=0 |
Get absolute record count. | |
virtual RCODE | getAbsPosition (HFDB hDb, FLMUINT *puiPosition)=0 |
Get absolute position. | |
virtual RCODE | positionToAbs (HFDB hDb, FLMUINT uiPosition, FLMBOOL bFallForward, FLMUINT uiTimeLimit, FLMUINT *puiPosition, FLMUINT *puiDrn)=0 |
Set absolute position. | |
virtual void | releaseResources (void)=0 |
Release any resources held by this predicate. |
|
Copy the predicate. In the new object, it should be as if the predicate had just been defined. The current position, calculated score, etc. should not be preserved in the new predicate. Only the predicate criteria - however that is represented - should be preserved. This method should return NULL if a new predicate cannot be created. FLAIM will call this method whenever it needs to copy an application-defined predicate - such as when a query or some part of a query is cloned. |
|
Position to and return the first record that satisfies the predicate.
|
|
Get absolute record count. NOTE: This method should only be called if the predicate is "absolute" positionable (see FlmUserPredicate::isAbsPositionable()).
|
|
Get absolute position. NOTE: This method should only be called if the predicate is "absolute" positionable (see FlmUserPredicate::isAbsPositionable()).
|
|
Return predicate's FLAIM query handle, if any. This is useful if an application-defined predicate is implemented as a FLAIM query. It is often very useful to embed one FLAIM query inside another. |
|
Return index being used for this predicate.
|
|
Determine if predicate is absolute positionable.
|
|
Position to and return the last record that satisfies the predicate.
|
|
Position to and return the next record that satisfies the predicate. If no prior positioning has been done, position to and return the first record.
|
|
Position this predicate to the same position as another predicate.
|
|
Set absolute position. NOTE: This method should only be called if the predicate is "absolute" positionable (see FlmUserPredicate::isAbsPositionable()).
|
|
Position to and return the previous record that satisfies the predicate. If no prior positioning has been done, position to and return the last record.
|
|
Release any resources held by this predicate. This method should release any resources (memory, etc.) consumed by the predicate except those that would be needed to show the predicate's query criteria. At the point in time where FLAIM calls this method, the predicate is no longer going to be used to retrieve or test records, but the query is being kept around to allow a user to see information about queries that have been run. Thus, enough information should be preserved to allow the predicate to show its query criteria and any statistics it may have collected if it was called to get records (firstRecord, lastRecord, nextRecord, prevRecord). |
|
Method that returns the search cost of this object in providing records for a query. FLAIM uses the information returned from this method to determine how to optimize the query.
|
|
Method that returns the cost of testing ALL record.
|
|
Test a record to see if it passes the criteria of the predicate.
|